diff --git a/apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx b/apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx index 750ab38f2..ed495f83a 100644 --- a/apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +++ b/apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx @@ -3,12 +3,13 @@ import { useCurrentOrganisation } from '@documenso/lib/client-only/providers/org import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION } from '@documenso/lib/constants/trpc'; import { AppError } from '@documenso/lib/errors/app-error'; import { extractDocumentAuthMethods } from '@documenso/lib/utils/document-auth'; +import { hasOverlappingFields } from '@documenso/lib/utils/fields-overlap'; import { getRecipientsWithMissingFields } from '@documenso/lib/utils/recipients'; import { zEmail } from '@documenso/lib/utils/zod'; import { trpc, trpc as trpcReact } from '@documenso/trpc/react'; import { DocumentSendEmailMessageHelper } from '@documenso/ui/components/document/document-send-email-message-helper'; import { cn } from '@documenso/ui/lib/utils'; -import { Alert, AlertDescription } from '@documenso/ui/primitives/alert'; +import { Alert, AlertDescription, AlertTitle } from '@documenso/ui/primitives/alert'; import { Button } from '@documenso/ui/primitives/button'; import { Dialog, @@ -32,7 +33,7 @@ import { zodResolver } from '@hookform/resolvers/zod'; import { Trans, useLingui } from '@lingui/react/macro'; import { DocumentDistributionMethod, DocumentStatus, EnvelopeType } from '@prisma/client'; import { AnimatePresence, motion } from 'framer-motion'; -import { InfoIcon } from 'lucide-react'; +import { AlertTriangleIcon, InfoIcon } from 'lucide-react'; import { useEffect, useMemo, useState } from 'react'; import { useForm } from 'react-hook-form'; import { useNavigate } from 'react-router'; @@ -138,6 +139,27 @@ export const EnvelopeDistributeDialog = ({ }); }, [recipientsWithIndex, envelope.authOptions]); + /** + * Whether any fields significantly overlap each other. This is surfaced as a + * non-blocking warning since overlapping fields still allow sending, but can + * complicate the signing process or cause fields to behave unexpectedly. + */ + const hasOverlappingEnvelopeFields = useMemo( + () => + hasOverlappingFields( + envelope.fields.map((field) => ({ + id: field.id, + envelopeItemId: field.envelopeItemId, + page: field.page, + positionX: Number(field.positionX), + positionY: Number(field.positionY), + width: Number(field.width), + height: Number(field.height), + })), + ), + [envelope.fields], + ); + const invalidEnvelopeCode = useMemo(() => { if (recipientsMissingSignatureFields.length > 0) { return 'MISSING_SIGNATURES'; @@ -206,6 +228,11 @@ export const EnvelopeDistributeDialog = ({ }; useEffect(() => { + // Default the distribution method tab to the envelope's configured setting. + if (isOpen && envelope.documentMeta) { + setValue('meta.distributionMethod', envelope.documentMeta.distributionMethod); + } + // Resync the whole envelope if the envelope is mid saving. if (isOpen && (isAutosaving || autosaveError)) { void handleSync(); @@ -235,6 +262,24 @@ export const EnvelopeDistributeDialog = ({
+ {hasOverlappingEnvelopeFields && ( + + + +
+ + Overlapping fields detected + + + + Some fields are placed on top of each other. This may complicate the signing process or cause + fields to not work as expected. + + +
+
+ )} + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions diff --git a/apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx b/apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx index a5676dc60..db8f6ffbb 100644 --- a/apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx +++ b/apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx @@ -1,3 +1,4 @@ +import { useDebouncedValue } from '@documenso/lib/client-only/hooks/use-debounced-value'; import type { TLocalField } from '@documenso/lib/client-only/hooks/use-editor-fields'; import { usePageRenderer } from '@documenso/lib/client-only/hooks/use-page-renderer'; import { useCurrentEnvelopeEditor } from '@documenso/lib/client-only/providers/envelope-editor-provider'; @@ -13,6 +14,7 @@ import { } from '@documenso/lib/universal/field-renderer/field-renderer'; import { renderField } from '@documenso/lib/universal/field-renderer/render-field'; import { getClientSideFieldTranslations } from '@documenso/lib/utils/fields'; +import { getOverlappingFieldPairs } from '@documenso/lib/utils/fields-overlap'; import { canRecipientFieldsBeModified } from '@documenso/lib/utils/recipients'; import { Command, @@ -62,6 +64,36 @@ export const EnvelopeEditorFieldsPageRenderer = ({ pageData }: { pageData: PageR [editorFields.localFields, pageNumber, currentEnvelopeItem?.id], ); + /** + * Debounce the fields used for overlap highlighting so we don't recompute on every + * small drag/resize tick. Overlaps only occur within the same page and envelope + * item, so computing from this page's fields alone is sufficient. + */ + const debouncedPageFields = useDebouncedValue(localPageFields, 300); + + const overlappingFieldFormIds = useMemo(() => { + const formIds = new Set(); + + const pairs = getOverlappingFieldPairs( + debouncedPageFields.map((field) => ({ + id: field.formId, + envelopeItemId: field.envelopeItemId, + page: field.page, + positionX: field.positionX, + positionY: field.positionY, + width: field.width, + height: field.height, + })), + ); + + for (const pair of pairs) { + formIds.add(pair.fieldA.id); + formIds.add(pair.fieldB.id); + } + + return formIds; + }, [debouncedPageFields]); + const handleResizeOrMove = (event: KonvaEventObject) => { const isDragEvent = event.type === 'dragend'; @@ -113,6 +145,62 @@ export const EnvelopeEditorFieldsPageRenderer = ({ pageData }: { pageData: PageR pageLayer.current?.batchDraw(); }; + /** + * Draws (or removes) a dashed warning outline over a field that significantly + * overlaps another field. The highlight is a child of the field group so it moves + * and resizes with the field, and sits on top of the field's own rect (which is + * re-styled on every render and would otherwise clobber a direct stroke change). + */ + const syncOverlapHighlight = (fieldGroup: Konva.Group, isOverlapping: boolean) => { + const existingHighlight = fieldGroup.findOne('.field-overlap-highlight'); + + // Skip while a field is actively being dragged/resized. The highlight is driven + // by debounced field data, so it would lag behind and distort during the gesture. + // It is repainted once the gesture settles (the effect re-runs on isFieldChanging). + if (isFieldChanging) { + existingHighlight?.destroy(); + return; + } + + if (!isOverlapping) { + existingHighlight?.destroy(); + return; + } + + const fieldRect = fieldGroup.findOne('.field-rect'); + + if (!fieldRect) { + return; + } + + const highlightAttrs = { + x: 0, + y: 0, + width: fieldRect.width(), + height: fieldRect.height(), + stroke: '#f59e0b', + strokeWidth: 2, + dash: [6, 4], + cornerRadius: 2, + strokeScaleEnabled: false, + listening: false, + } satisfies Partial; + + if (existingHighlight instanceof Konva.Rect) { + existingHighlight.setAttrs(highlightAttrs); + existingHighlight.moveToTop(); + return; + } + + const highlight = new Konva.Rect({ + name: 'field-overlap-highlight', + ...highlightAttrs, + }); + + fieldGroup.add(highlight); + highlight.moveToTop(); + }; + const unsafeRenderFieldOnLayer = (field: TLocalField) => { if (!pageLayer.current) { return; @@ -139,6 +227,8 @@ export const EnvelopeEditorFieldsPageRenderer = ({ pageData }: { pageData: PageR mode: 'edit', }); + syncOverlapHighlight(fieldGroup, overlappingFieldFormIds.has(field.formId)); + if (!isFieldEditable) { return; } @@ -435,7 +525,7 @@ export const EnvelopeEditorFieldsPageRenderer = ({ pageData }: { pageData: PageR interactiveTransformer.current?.forceUpdate(); pageLayer.current.batchDraw(); - }, [localPageFields, selectedKonvaFieldGroups]); + }, [localPageFields, selectedKonvaFieldGroups, overlappingFieldFormIds, isFieldChanging]); const setSelectedFields = (nodes: Konva.Node[]) => { // eslint-disable-next-line @typescript-eslint/consistent-type-assertions diff --git a/apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx b/apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx index a5ec4ed16..945d3c308 100644 --- a/apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +++ b/apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx @@ -1,3 +1,4 @@ +import { useDebouncedValue } from '@documenso/lib/client-only/hooks/use-debounced-value'; import { useCurrentEnvelopeEditor } from '@documenso/lib/client-only/providers/envelope-editor-provider'; import { useCurrentEnvelopeRender } from '@documenso/lib/client-only/providers/envelope-render-provider'; import { PDF_VIEWER_ERROR_MESSAGES } from '@documenso/lib/constants/pdf-viewer-i18n'; @@ -17,6 +18,7 @@ import { type TTextFieldMeta, } from '@documenso/lib/types/field-meta'; import { getEnvelopeItemPermissions } from '@documenso/lib/utils/envelope'; +import { getOverlappingFieldPairs } from '@documenso/lib/utils/fields-overlap'; import { canRecipientFieldsBeModified } from '@documenso/lib/utils/recipients'; import { AnimateGenericFadeInOut } from '@documenso/ui/components/animate/animate-generic-fade-in-out'; import { cn } from '@documenso/ui/lib/utils'; @@ -28,7 +30,7 @@ import { msg } from '@lingui/core/macro'; import { useLingui } from '@lingui/react'; import { Trans } from '@lingui/react/macro'; import { DocumentStatus, FieldType, RecipientRole } from '@prisma/client'; -import { FileTextIcon, PencilIcon, SparklesIcon } from 'lucide-react'; +import { AlertTriangleIcon, FileTextIcon, PencilIcon, SparklesIcon } from 'lucide-react'; import { useEffect, useMemo, useRef, useState } from 'react'; import { useRevalidator, useSearchParams } from 'react-router'; import { isDeepEqual } from 'remeda'; @@ -78,7 +80,7 @@ export const EnvelopeEditorFieldsPage = () => { const { envelope, editorFields, navigateToStep, editorConfig } = useCurrentEnvelopeEditor(); - const { currentEnvelopeItem } = useCurrentEnvelopeRender(); + const { currentEnvelopeItem, setCurrentEnvelopeItem } = useCurrentEnvelopeRender(); const { _ } = useLingui(); @@ -93,6 +95,53 @@ export const EnvelopeEditorFieldsPage = () => { const selectedField = useMemo(() => structuredClone(editorFields.selectedField), [editorFields.selectedField]); + /** + * Debounce the fields used for overlap detection so we don't recompute on every + * small drag/resize movement, which is expensive on large field counts and can + * bog down lower-end devices. + */ + const debouncedLocalFields = useDebouncedValue(editorFields.localFields, 300); + + /** + * Fields that significantly overlap each other. Overlapping fields render poorly in + * the editor and can behave unexpectedly during signing, so we warn the author here. + */ + const overlappingFieldPairs = useMemo( + () => + getOverlappingFieldPairs( + debouncedLocalFields.map((field) => ({ + id: field.formId, + envelopeItemId: field.envelopeItemId, + page: field.page, + positionX: field.positionX, + positionY: field.positionY, + width: field.width, + height: field.height, + })), + ), + [debouncedLocalFields], + ); + + const handleReviewOverlappingField = () => { + const firstPair = overlappingFieldPairs[0]; + + if (!firstPair) { + return; + } + + const targetField = editorFields.localFields.find((field) => field.formId === firstPair.fieldA.id); + + if (!targetField) { + return; + } + + if (targetField.envelopeItemId !== currentEnvelopeItem?.id) { + setCurrentEnvelopeItem(targetField.envelopeItemId); + } + + editorFields.setSelectedField(targetField.formId); + }; + const updateSelectedFieldMeta = (fieldMeta: TFieldMetaSchema) => { if (!selectedField) { return; @@ -211,6 +260,29 @@ export const EnvelopeEditorFieldsPage = () => { )} + {overlappingFieldPairs.length > 0 && ( + +
+ + +
+ + Overlapping fields detected + + + + Some fields are placed on top of each other. This may complicate the signing process or cause + fields to not work as expected. + + +
+
+
+ )} + {currentEnvelopeItem !== null ? ( { + let user: User, team: Team, token: string; + + test.beforeEach(async () => { + ({ user, team } = await seedUser()); + ({ token } = await createApiToken({ + userId: user.id, + teamId: team.id, + tokenName: 'test', + expiresIn: null, + })); + }); + + test('marks a NOT_SENT signer as SENT after a successful resend', async ({ request }) => { + const document = await seedPendingDocument(user, team.id, ['recipient@test.documenso.com']); + + const [recipient] = document.recipients; + + // Simulate a recipient that is stuck at NOT_SENT on a pending document + // (e.g. the initial send did not dispatch an email for them). + await prisma.recipient.update({ + where: { id: recipient.id }, + data: { + sendStatus: SendStatus.NOT_SENT, + signingStatus: SigningStatus.NOT_SIGNED, + sentAt: null, + }, + }); + + const res = await request.post(`${baseUrl}/document/redistribute`, { + headers: { Authorization: `Bearer ${token}` }, + data: { + documentId: mapSecondaryIdToDocumentId(document.secondaryId), + recipients: [recipient.id], + }, + }); + + expect(res.ok(), `redistribute should succeed: ${await res.text()}`).toBeTruthy(); + + const updatedRecipient = await prisma.recipient.findFirstOrThrow({ + where: { id: recipient.id }, + }); + + expect(updatedRecipient.sendStatus).toBe(SendStatus.SENT); + expect(updatedRecipient.sentAt).not.toBeNull(); + }); +}); diff --git a/packages/app-tests/e2e/api/v2/reject-recipient-on-behalf-of.spec.ts b/packages/app-tests/e2e/api/v2/reject-recipient-on-behalf-of.spec.ts new file mode 100644 index 000000000..afe5a3cd9 --- /dev/null +++ b/packages/app-tests/e2e/api/v2/reject-recipient-on-behalf-of.spec.ts @@ -0,0 +1,260 @@ +import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app'; +import { createApiToken } from '@documenso/lib/server-only/public-api/create-api-token'; +import { prisma } from '@documenso/prisma'; +import { DocumentVisibility, SigningStatus, TeamMemberRole } from '@documenso/prisma/client'; +import { seedPendingDocument } from '@documenso/prisma/seed/documents'; +import { seedTeam, seedTeamMember } from '@documenso/prisma/seed/teams'; +import { seedUser } from '@documenso/prisma/seed/users'; +import type { TRejectEnvelopeRecipientOnBehalfOfRequest } from '@documenso/trpc/server/envelope-router/envelope-recipients/reject-envelope-recipient-on-behalf-of.types'; +import { type APIRequestContext, expect, test } from '@playwright/test'; +import type { Team, User } from '@prisma/client'; + +const WEBAPP_BASE_URL = NEXT_PUBLIC_WEBAPP_URL(); +const baseUrl = `${WEBAPP_BASE_URL}/api/v2-beta`; + +test.describe.configure({ + mode: 'parallel', +}); + +const rejectRecipient = ( + request: APIRequestContext, + authToken: string, + envelopeId: string, + recipientId: number, + reason: string, + actAsEmail?: string, +) => { + return request.post(`${baseUrl}/envelope/recipient/${recipientId}/reject`, { + headers: { Authorization: `Bearer ${authToken}`, 'Content-Type': 'application/json' }, + data: { + envelopeId, + recipientId, + reason, + actAsEmail, + } satisfies TRejectEnvelopeRecipientOnBehalfOfRequest, + }); +}; + +test.describe('Reject recipient on behalf of', () => { + let user: User; + let team: Team; + let token: string; + + test.beforeEach(async () => { + ({ user, team } = await seedUser()); + ({ token } = await createApiToken({ + userId: user.id, + teamId: team.id, + tokenName: 'test-reject-recipient', + expiresIn: null, + })); + }); + + test('should reject a recipient and record an external rejection audit log', async ({ request }) => { + const envelope = await seedPendingDocument(user, team.id, ['recipient@test.documenso.com']); + const recipient = envelope.recipients[0]; + + const res = await rejectRecipient(request, token, envelope.id, recipient.id, 'Declined out of band'); + + expect(res.ok()).toBeTruthy(); + expect(res.status()).toBe(200); + + const updatedRecipient = await prisma.recipient.findUniqueOrThrow({ + where: { id: recipient.id }, + }); + + expect(updatedRecipient.signingStatus).toBe(SigningStatus.REJECTED); + expect(updatedRecipient.rejectionReason).toBe('Declined out of band'); + + const auditLog = await prisma.documentAuditLog.findFirst({ + where: { + envelopeId: envelope.id, + type: 'DOCUMENT_RECIPIENT_REJECTED', + }, + orderBy: { createdAt: 'desc' }, + }); + + expect(auditLog).not.toBeNull(); + + const auditData = auditLog!.data as Record; + + expect(auditData.recipientId).toBe(recipient.id); + expect(auditData.recipientEmail).toBe(recipient.email); + expect(auditData.reason).toBe('Declined out of band'); + expect(auditData.isExternal).toBe(true); + + // No actAsEmail supplied - the rejection defaults to the API user. + expect(auditLog!.userId).toBe(user.id); + expect(auditLog!.email).toBe(user.email); + expect(auditData.onBehalfOfUserEmail).toBeUndefined(); + }); + + test('should attribute the rejection to the elected team member when actAsEmail is supplied', async ({ request }) => { + const member = await seedTeamMember({ teamId: team.id }); + + const envelope = await seedPendingDocument(user, team.id, ['recipient@test.documenso.com']); + const recipient = envelope.recipients[0]; + + const res = await rejectRecipient(request, token, envelope.id, recipient.id, 'Declined out of band', member.email); + + expect(res.ok()).toBeTruthy(); + expect(res.status()).toBe(200); + + const auditLog = await prisma.documentAuditLog.findFirstOrThrow({ + where: { + envelopeId: envelope.id, + type: 'DOCUMENT_RECIPIENT_REJECTED', + }, + orderBy: { createdAt: 'desc' }, + }); + + // The audit log actor must be the elected member, not the API user. + expect(auditLog.userId).toBe(member.id); + expect(auditLog.email).toBe(member.email); + + const auditData = auditLog.data as Record; + + expect(auditData.isExternal).toBe(true); + expect(auditData.onBehalfOfUserEmail).toBe(member.email); + }); + + test('should reject when actAsEmail is not a member of the team', async ({ request }) => { + // A user that exists but belongs to a different team. + const { user: outsider } = await seedUser(); + + const envelope = await seedPendingDocument(user, team.id, ['recipient@test.documenso.com']); + const recipient = envelope.recipients[0]; + + const res = await rejectRecipient( + request, + token, + envelope.id, + recipient.id, + 'Declined out of band', + outsider.email, + ); + + expect(res.ok()).toBeFalsy(); + expect(res.status()).toBe(401); + + // The recipient must remain untouched. + const untouchedRecipient = await prisma.recipient.findUniqueOrThrow({ + where: { id: recipient.id }, + }); + + expect(untouchedRecipient.signingStatus).toBe(SigningStatus.NOT_SIGNED); + expect(untouchedRecipient.rejectionReason).toBeNull(); + }); + + test('should deny rejecting a recipient that has already actioned the document', async ({ request }) => { + const envelope = await seedPendingDocument(user, team.id, ['recipient@test.documenso.com']); + const recipient = envelope.recipients[0]; + + // Reject once - succeeds. + const firstRes = await rejectRecipient(request, token, envelope.id, recipient.id, 'First rejection'); + expect(firstRes.ok()).toBeTruthy(); + + // Reject again - the recipient is no longer NOT_SIGNED. + const secondRes = await rejectRecipient(request, token, envelope.id, recipient.id, 'Second rejection'); + + expect(secondRes.ok()).toBeFalsy(); + expect(secondRes.status()).toBe(400); + + // The original rejection reason must remain unchanged. + const updatedRecipient = await prisma.recipient.findUniqueOrThrow({ + where: { id: recipient.id }, + }); + + expect(updatedRecipient.rejectionReason).toBe('First rejection'); + }); + + test('should not allow rejecting a recipient in another team', async ({ request }) => { + // Seed a separate team/user that owns the document. + const { user: otherUser, team: otherTeam } = await seedUser(); + + const envelope = await seedPendingDocument(otherUser, otherTeam.id, ['recipient@test.documenso.com']); + const recipient = envelope.recipients[0]; + + // Use the original team's token - it must not be able to reject. + const res = await rejectRecipient(request, token, envelope.id, recipient.id, 'Should not work'); + + expect(res.ok()).toBeFalsy(); + expect(res.status()).toBe(404); + + // The recipient must remain untouched. + const untouchedRecipient = await prisma.recipient.findUniqueOrThrow({ + where: { id: recipient.id }, + }); + + expect(untouchedRecipient.signingStatus).toBe(SigningStatus.NOT_SIGNED); + expect(untouchedRecipient.rejectionReason).toBeNull(); + }); + + test('should return 404 for a non-existent recipient', async ({ request }) => { + const envelope = await seedPendingDocument(user, team.id, ['recipient@test.documenso.com']); + + const res = await rejectRecipient(request, token, envelope.id, 999999999, 'No such recipient'); + + expect(res.ok()).toBeFalsy(); + expect(res.status()).toBe(404); + }); + + test('should return 404 when the recipient does not belong to the supplied envelope', async ({ request }) => { + const targetEnvelope = await seedPendingDocument(user, team.id, ['recipient@test.documenso.com']); + const otherEnvelope = await seedPendingDocument(user, team.id, ['other-recipient@test.documenso.com']); + + const recipient = targetEnvelope.recipients[0]; + + // Valid recipient ID, but paired with the wrong envelope ID. + const res = await rejectRecipient(request, token, otherEnvelope.id, recipient.id, 'Mismatched envelope'); + + expect(res.ok()).toBeFalsy(); + expect(res.status()).toBe(404); + + // The recipient must remain untouched. + const untouchedRecipient = await prisma.recipient.findUniqueOrThrow({ + where: { id: recipient.id }, + }); + + expect(untouchedRecipient.signingStatus).toBe(SigningStatus.NOT_SIGNED); + expect(untouchedRecipient.rejectionReason).toBeNull(); + }); + + test('should enforce document visibility: manager cannot reject on an ADMIN-only document', async ({ request }) => { + // The API token belongs to a MANAGER, who cannot see ADMIN-visibility docs. + const { team: visTeam, owner } = await seedTeam(); + const manager = await seedTeamMember({ teamId: visTeam.id, role: TeamMemberRole.MANAGER }); + + const { token: managerToken } = await createApiToken({ + userId: manager.id, + teamId: visTeam.id, + tokenName: 'manager-reject-token', + expiresIn: null, + }); + + // ADMIN-visibility document owned by the team owner. + const envelope = await seedPendingDocument(owner, visTeam.id, ['recipient@test.documenso.com'], { + createDocumentOptions: { visibility: DocumentVisibility.ADMIN }, + }); + const recipient = envelope.recipients[0]; + + const res = await rejectRecipient( + request, + managerToken, + envelope.id, + recipient.id, + 'Should be hidden by visibility', + ); + + // Visibility failure surfaces as not-found, matching the canonical checks. + expect(res.ok()).toBeFalsy(); + expect(res.status()).toBe(404); + + const untouchedRecipient = await prisma.recipient.findUniqueOrThrow({ + where: { id: recipient.id }, + }); + + expect(untouchedRecipient.signingStatus).toBe(SigningStatus.NOT_SIGNED); + expect(untouchedRecipient.rejectionReason).toBeNull(); + }); +}); diff --git a/packages/ee/server-only/signing/csc/execute-tsp-sign.ts b/packages/ee/server-only/signing/csc/execute-tsp-sign.ts index 5045b33d8..3c95720f6 100644 --- a/packages/ee/server-only/signing/csc/execute-tsp-sign.ts +++ b/packages/ee/server-only/signing/csc/execute-tsp-sign.ts @@ -1,6 +1,5 @@ import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import { jobs } from '@documenso/lib/jobs/client'; -import { sendPendingEmail } from '@documenso/lib/server-only/document/send-pending-email'; import { getRecipientByToken } from '@documenso/lib/server-only/recipient/get-recipient-by-token'; import { triggerWebhook } from '@documenso/lib/server-only/webhooks/trigger/trigger-webhook'; import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs'; @@ -474,9 +473,12 @@ export const executeTspSign = async (opts: ExecuteTspSignOptions): Promise 0) { - await sendPendingEmail({ - id: { type: 'envelopeId', id: envelope.id }, - recipientId: recipient.id, + await jobs.triggerJob({ + name: 'send.document.pending.email', + payload: { + envelopeId: envelope.id, + recipientId: recipient.id, + }, }); // TSP envelopes are forced SEQUENTIAL at send-time; this branch always diff --git a/packages/lib/constants/envelope-reminder.ts b/packages/lib/constants/envelope-reminder.ts index 0eb8cdf93..b000ed844 100644 --- a/packages/lib/constants/envelope-reminder.ts +++ b/packages/lib/constants/envelope-reminder.ts @@ -36,6 +36,12 @@ export const DEFAULT_ENVELOPE_REMINDER_SETTINGS: TEnvelopeReminderSettings = { */ export const MAX_REMINDER_WINDOW_DAYS = 30; +/** + * Maximum number of automated reminders sent to a recipient before reminders + * stop. A manual resend resets the count, re-arming reminders. + */ +export const MAX_REMINDERS_BEFORE_RESEND = 5; + const UNIT_TO_LUXON_KEY: Record = { day: 'days', week: 'weeks', @@ -53,24 +59,29 @@ export const getEnvelopeReminderDuration = (period: TEnvelopeReminderDurationPer * - `{ sendAfter: { disabled: true }, ... }` means never send the first reminder. * - `{ repeatEvery: { disabled: true }, ... }` means don't repeat after the first reminder. * - * A hard cap of `MAX_REMINDER_WINDOW_DAYS` days from `sentAt` is enforced — - * any computed reminder beyond that point returns null so reminders stop. + * Reminders stop (returns null) once either cap is hit: `MAX_REMINDER_WINDOW_DAYS` + * from `sentAt`, or `MAX_REMINDERS_BEFORE_RESEND` reminders already sent. * * `sentAt` is when the signing request was sent to this specific recipient. * - * Returns the next Date the reminder should be sent, or null if no reminder should be sent. + * Returns the next Date the reminder should be sent, or null if none. */ export const resolveNextReminderAt = (options: { config: TEnvelopeReminderSettings | null; sentAt: Date; lastReminderSentAt: Date | null; + reminderCount: number; }): Date | null => { - const { config, sentAt, lastReminderSentAt } = options; + const { config, sentAt, lastReminderSentAt, reminderCount } = options; if (!config) { return null; } + if (reminderCount >= MAX_REMINDERS_BEFORE_RESEND) { + return null; + } + const maxReminderAt = new Date(sentAt.getTime() + Duration.fromObject({ days: MAX_REMINDER_WINDOW_DAYS }).toMillis()); let candidate: Date; diff --git a/packages/lib/jobs/client.ts b/packages/lib/jobs/client.ts index ae23cb092..397108f61 100644 --- a/packages/lib/jobs/client.ts +++ b/packages/lib/jobs/client.ts @@ -4,11 +4,14 @@ import { SEND_CONFIRMATION_EMAIL_JOB_DEFINITION } from './definitions/emails/sen import { SEND_DOCUMENT_CANCELLED_EMAILS_JOB_DEFINITION } from './definitions/emails/send-document-cancelled-emails'; import { SEND_DOCUMENT_COMPLETED_EMAILS_JOB_DEFINITION } from './definitions/emails/send-document-completed-emails'; import { SEND_DOCUMENT_CREATED_FROM_DIRECT_TEMPLATE_EMAIL_JOB_DEFINITION } from './definitions/emails/send-document-created-from-direct-template-email'; +import { SEND_DOCUMENT_DELETED_EMAILS_JOB_DEFINITION } from './definitions/emails/send-document-deleted-emails'; +import { SEND_DOCUMENT_PENDING_EMAIL_JOB_DEFINITION } from './definitions/emails/send-document-pending-email'; import { SEND_ORGANISATION_LIMIT_ALERT_EMAIL_JOB_DEFINITION } from './definitions/emails/send-organisation-limit-alert-email'; import { SEND_ORGANISATION_MEMBER_JOINED_EMAIL_JOB_DEFINITION } from './definitions/emails/send-organisation-member-joined-email'; import { SEND_ORGANISATION_MEMBER_LEFT_EMAIL_JOB_DEFINITION } from './definitions/emails/send-organisation-member-left-email'; import { SEND_OWNER_RECIPIENT_EXPIRED_EMAIL_JOB_DEFINITION } from './definitions/emails/send-owner-recipient-expired-email'; import { SEND_PASSWORD_RESET_SUCCESS_EMAIL_JOB_DEFINITION } from './definitions/emails/send-password-reset-success-email'; +import { SEND_RECIPIENT_REMOVED_EMAIL_JOB_DEFINITION } from './definitions/emails/send-recipient-removed-email'; import { SEND_RECIPIENT_SIGNED_EMAIL_JOB_DEFINITION } from './definitions/emails/send-recipient-signed-email'; import { SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION } from './definitions/emails/send-rejection-emails'; import { SEND_SIGNING_EMAIL_JOB_DEFINITION } from './definitions/emails/send-signing-email'; @@ -44,9 +47,12 @@ export const jobsClient = new JobClient([ SEND_PASSWORD_RESET_SUCCESS_EMAIL_JOB_DEFINITION, SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION, SEND_RECIPIENT_SIGNED_EMAIL_JOB_DEFINITION, + SEND_RECIPIENT_REMOVED_EMAIL_JOB_DEFINITION, SEND_DOCUMENT_COMPLETED_EMAILS_JOB_DEFINITION, + SEND_DOCUMENT_DELETED_EMAILS_JOB_DEFINITION, SEND_DOCUMENT_CANCELLED_EMAILS_JOB_DEFINITION, SEND_DOCUMENT_CREATED_FROM_DIRECT_TEMPLATE_EMAIL_JOB_DEFINITION, + SEND_DOCUMENT_PENDING_EMAIL_JOB_DEFINITION, SEND_OWNER_RECIPIENT_EXPIRED_EMAIL_JOB_DEFINITION, BACKPORT_SUBSCRIPTION_CLAIM_JOB_DEFINITION, BULK_SEND_TEMPLATE_JOB_DEFINITION, diff --git a/packages/lib/jobs/definitions/emails/send-document-deleted-emails.handler.ts b/packages/lib/jobs/definitions/emails/send-document-deleted-emails.handler.ts new file mode 100644 index 000000000..4e1aa9fea --- /dev/null +++ b/packages/lib/jobs/definitions/emails/send-document-deleted-emails.handler.ts @@ -0,0 +1,70 @@ +import DocumentCancelTemplate from '@documenso/email/templates/document-cancel'; +import { msg } from '@lingui/core/macro'; +import { createElement } from 'react'; + +import { getI18nInstance } from '../../../client-only/providers/i18n-server'; +import { NEXT_PUBLIC_WEBAPP_URL } from '../../../constants/app'; +import { getEmailContext } from '../../../server-only/email/get-email-context'; +import { isRecipientEmailValidForSending } from '../../../utils/recipients'; +import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n'; +import type { JobRunIO } from '../../client/_internal/job'; +import type { TSendDocumentDeletedEmailsJobDefinition } from './send-document-deleted-emails'; + +export const run = async ({ payload, io }: { payload: TSendDocumentDeletedEmailsJobDefinition; io: JobRunIO }) => { + const { teamId, documentName, inviterName, inviterEmail, meta, recipients } = payload; + + if (recipients.length === 0) { + return; + } + + const { branding, emailLanguage, senderEmail, replyToEmail, emailsDisabled, emailTransport } = await getEmailContext({ + emailType: 'RECIPIENT', + source: { + type: 'team', + teamId, + }, + meta, + }); + + // Don't send cancellation emails if the organisation has email sending + // disabled. Re-checked here (not just at enqueue time) because the org can be + // disabled between the delete request and this job running. + if (emailsDisabled) { + return; + } + + const assetBaseUrl = NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000'; + const i18n = await getI18nInstance(emailLanguage); + + for (const recipient of recipients) { + await io.runTask(`send-document-deleted-emails-${recipient.email}`, async () => { + if (!isRecipientEmailValidForSending(recipient)) { + return; + } + + const template = createElement(DocumentCancelTemplate, { + documentName, + inviterName: inviterName || undefined, + inviterEmail, + assetBaseUrl, + }); + + const [html, text] = await Promise.all([ + renderEmailWithI18N(template, { lang: emailLanguage, branding }), + renderEmailWithI18N(template, { lang: emailLanguage, branding, plainText: true }), + ]); + + await emailTransport.sendMail({ + to: { + address: recipient.email, + name: recipient.name, + }, + from: senderEmail, + replyTo: replyToEmail, + subject: i18n._(msg`Document Cancelled`), + html, + text, + }); + }); + } +}; diff --git a/packages/lib/jobs/definitions/emails/send-document-deleted-emails.ts b/packages/lib/jobs/definitions/emails/send-document-deleted-emails.ts new file mode 100644 index 000000000..e63de8f6e --- /dev/null +++ b/packages/lib/jobs/definitions/emails/send-document-deleted-emails.ts @@ -0,0 +1,52 @@ +import { z } from 'zod'; + +import type { JobDefinition } from '../../client/_internal/job'; + +const SEND_DOCUMENT_DELETED_EMAILS_JOB_DEFINITION_ID = 'send.document.deleted.emails'; + +const SEND_DOCUMENT_DELETED_EMAILS_JOB_DEFINITION_SCHEMA = z.object({ + teamId: z.number(), + documentName: z.string(), + inviterName: z.string().optional(), + inviterEmail: z.string(), + /** + * The document's email meta (sender, reply-to, language). Captured before the + * envelope is hard-deleted so `getEmailContext` resolves the exact same + * sender/reply-to/language the inline send used. + */ + meta: z + .object({ + emailId: z.string().nullable().optional(), + emailReplyTo: z.string().nullable().optional(), + language: z.string().optional(), + }) + .nullable(), + recipients: z + .object({ + email: z.string(), + name: z.string(), + }) + .array(), +}); + +export type TSendDocumentDeletedEmailsJobDefinition = z.infer< + typeof SEND_DOCUMENT_DELETED_EMAILS_JOB_DEFINITION_SCHEMA +>; + +export const SEND_DOCUMENT_DELETED_EMAILS_JOB_DEFINITION = { + id: SEND_DOCUMENT_DELETED_EMAILS_JOB_DEFINITION_ID, + name: 'Send Document Deleted Emails', + version: '1.0.0', + trigger: { + name: SEND_DOCUMENT_DELETED_EMAILS_JOB_DEFINITION_ID, + schema: SEND_DOCUMENT_DELETED_EMAILS_JOB_DEFINITION_SCHEMA, + }, + handler: async ({ payload, io }) => { + const handler = await import('./send-document-deleted-emails.handler'); + + await handler.run({ payload, io }); + }, +} as const satisfies JobDefinition< + typeof SEND_DOCUMENT_DELETED_EMAILS_JOB_DEFINITION_ID, + TSendDocumentDeletedEmailsJobDefinition +>; diff --git a/packages/lib/server-only/document/send-pending-email.ts b/packages/lib/jobs/definitions/emails/send-document-pending-email.handler.ts similarity index 66% rename from packages/lib/server-only/document/send-pending-email.ts rename to packages/lib/jobs/definitions/emails/send-document-pending-email.handler.ts index 4d803f5dd..3a7bf3e96 100644 --- a/packages/lib/server-only/document/send-pending-email.ts +++ b/packages/lib/jobs/definitions/emails/send-document-pending-email.handler.ts @@ -1,27 +1,24 @@ import { DocumentPendingEmailTemplate } from '@documenso/email/templates/document-pending'; +import { unsafeBuildEnvelopeIdQuery } from '@documenso/lib/utils/envelope'; import { prisma } from '@documenso/prisma'; import { msg } from '@lingui/core/macro'; import { EnvelopeType } from '@prisma/client'; import { createElement } from 'react'; +import { getI18nInstance } from '../../../client-only/providers/i18n-server'; +import { NEXT_PUBLIC_WEBAPP_URL } from '../../../constants/app'; +import { getEmailContext } from '../../../server-only/email/get-email-context'; +import { extractDerivedDocumentEmailSettings } from '../../../types/document-email'; +import { isRecipientEmailValidForSending } from '../../../utils/recipients'; +import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n'; +import type { JobRunIO } from '../../client/_internal/job'; +import type { TSendDocumentPendingEmailJobDefinition } from './send-document-pending-email'; -import { getI18nInstance } from '../../client-only/providers/i18n-server'; -import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; -import { extractDerivedDocumentEmailSettings } from '../../types/document-email'; -import type { EnvelopeIdOptions } from '../../utils/envelope'; -import { unsafeBuildEnvelopeIdQuery } from '../../utils/envelope'; -import { isRecipientEmailValidForSending } from '../../utils/recipients'; -import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; -import { getEmailContext } from '../email/get-email-context'; +export const run = async ({ payload }: { payload: TSendDocumentPendingEmailJobDefinition; io: JobRunIO }) => { + const { envelopeId, recipientId } = payload; -export interface SendPendingEmailOptions { - id: EnvelopeIdOptions; - recipientId: number; -} - -export const sendPendingEmail = async ({ id, recipientId }: SendPendingEmailOptions) => { const envelope = await prisma.envelope.findFirst({ where: { - ...unsafeBuildEnvelopeIdQuery(id, EnvelopeType.DOCUMENT), + ...unsafeBuildEnvelopeIdQuery({ type: 'envelopeId', id: envelopeId }, EnvelopeType.DOCUMENT), recipients: { some: { id: recipientId, @@ -38,12 +35,8 @@ export const sendPendingEmail = async ({ id, recipientId }: SendPendingEmailOpti }, }); - if (!envelope) { - throw new Error('Document not found'); - } - - if (envelope.recipients.length === 0) { - throw new Error('Document has no recipients'); + if (!envelope || envelope.recipients.length === 0) { + return; } const { branding, emailLanguage, senderEmail, replyToEmail, emailsDisabled, emailTransport } = await getEmailContext({ diff --git a/packages/lib/jobs/definitions/emails/send-document-pending-email.ts b/packages/lib/jobs/definitions/emails/send-document-pending-email.ts new file mode 100644 index 000000000..ff6b885c7 --- /dev/null +++ b/packages/lib/jobs/definitions/emails/send-document-pending-email.ts @@ -0,0 +1,30 @@ +import { z } from 'zod'; + +import type { JobDefinition } from '../../client/_internal/job'; + +const SEND_DOCUMENT_PENDING_EMAIL_JOB_DEFINITION_ID = 'send.document.pending.email'; + +const SEND_DOCUMENT_PENDING_EMAIL_JOB_DEFINITION_SCHEMA = z.object({ + envelopeId: z.string(), + recipientId: z.number(), +}); + +export type TSendDocumentPendingEmailJobDefinition = z.infer; + +export const SEND_DOCUMENT_PENDING_EMAIL_JOB_DEFINITION = { + id: SEND_DOCUMENT_PENDING_EMAIL_JOB_DEFINITION_ID, + name: 'Send Document Pending Email', + version: '1.0.0', + trigger: { + name: SEND_DOCUMENT_PENDING_EMAIL_JOB_DEFINITION_ID, + schema: SEND_DOCUMENT_PENDING_EMAIL_JOB_DEFINITION_SCHEMA, + }, + handler: async ({ payload, io }) => { + const handler = await import('./send-document-pending-email.handler'); + + await handler.run({ payload, io }); + }, +} as const satisfies JobDefinition< + typeof SEND_DOCUMENT_PENDING_EMAIL_JOB_DEFINITION_ID, + TSendDocumentPendingEmailJobDefinition +>; diff --git a/packages/lib/jobs/definitions/emails/send-recipient-removed-email.handler.ts b/packages/lib/jobs/definitions/emails/send-recipient-removed-email.handler.ts new file mode 100644 index 000000000..8f402704e --- /dev/null +++ b/packages/lib/jobs/definitions/emails/send-recipient-removed-email.handler.ts @@ -0,0 +1,105 @@ +import RecipientRemovedFromDocumentTemplate from '@documenso/email/templates/recipient-removed-from-document'; +import { prisma } from '@documenso/prisma'; +import { msg } from '@lingui/core/macro'; +import { createElement } from 'react'; + +import { getI18nInstance } from '../../../client-only/providers/i18n-server'; +import { NEXT_PUBLIC_WEBAPP_URL } from '../../../constants/app'; +import { getEmailContext } from '../../../server-only/email/get-email-context'; +import { assertOrganisationRatesAndLimits } from '../../../server-only/rate-limit/assert-organisation-rates-and-limits'; +import { extractDerivedDocumentEmailSettings } from '../../../types/document-email'; +import { isRecipientEmailValidForSending } from '../../../utils/recipients'; +import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n'; +import type { JobRunIO } from '../../client/_internal/job'; +import type { TSendRecipientRemovedEmailJobDefinition } from './send-recipient-removed-email'; + +export const run = async ({ payload, io }: { payload: TSendRecipientRemovedEmailJobDefinition; io: JobRunIO }) => { + const { envelopeId, recipientEmail, recipientName, inviterName } = payload; + + const envelope = await prisma.envelope.findFirst({ + where: { + id: envelopeId, + }, + include: { + documentMeta: true, + }, + }); + + // The envelope may have been deleted between the recipient removal and this + // job running. Treat as a no-op so the job doesn't retry forever. + if (!envelope || !recipientEmail || !isRecipientEmailValidForSending({ email: recipientEmail })) { + return; + } + + // Re-checked at send time (not just at enqueue) so the email honors the + // document's current "recipient removed" setting. + const isRecipientRemovedEmailEnabled = extractDerivedDocumentEmailSettings(envelope.documentMeta).recipientRemoved; + + if (!isRecipientRemovedEmailEnabled) { + return; + } + + const { branding, emailLanguage, senderEmail, replyToEmail, organisationId, claims, emailsDisabled, emailTransport } = + await getEmailContext({ + emailType: 'RECIPIENT', + source: { + type: 'team', + teamId: envelope.teamId, + }, + meta: envelope.documentMeta, + }); + + // Don't send the removal email if the organisation has email sending disabled. + if (emailsDisabled) { + return; + } + + // Meter the removal email against the organisation email quota/stats. + // Add/remove churn can be used to blast unsolicited removal emails outside + // the email limits. + try { + await assertOrganisationRatesAndLimits({ + organisationId, + organisationClaim: claims, + type: 'email', + count: 1, + }); + } catch (_err) { + io.logger.warn({ + msg: 'Recipient removed email dropped: org email limit exceeded', + organisationId, + envelopeId: envelope.id, + }); + + return; + } + + const assetBaseUrl = NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000'; + + const template = createElement(RecipientRemovedFromDocumentTemplate, { + documentName: envelope.title, + inviterName: inviterName || undefined, + assetBaseUrl, + }); + + const i18n = await getI18nInstance(emailLanguage); + + await io.runTask('send-recipient-removed-email', async () => { + const [html, text] = await Promise.all([ + renderEmailWithI18N(template, { lang: emailLanguage, branding }), + renderEmailWithI18N(template, { lang: emailLanguage, branding, plainText: true }), + ]); + + await emailTransport.sendMail({ + to: { + address: recipientEmail, + name: recipientName, + }, + from: senderEmail, + replyTo: replyToEmail, + subject: i18n._(msg`You have been removed from a document`), + html, + text, + }); + }); +}; diff --git a/packages/lib/jobs/definitions/emails/send-recipient-removed-email.ts b/packages/lib/jobs/definitions/emails/send-recipient-removed-email.ts new file mode 100644 index 000000000..484c70ac0 --- /dev/null +++ b/packages/lib/jobs/definitions/emails/send-recipient-removed-email.ts @@ -0,0 +1,34 @@ +import { z } from 'zod'; + +import type { JobDefinition } from '../../client/_internal/job'; + +const SEND_RECIPIENT_REMOVED_EMAIL_JOB_DEFINITION_ID = 'send.recipient.removed.email'; + +const SEND_RECIPIENT_REMOVED_EMAIL_JOB_DEFINITION_SCHEMA = z.object({ + envelopeId: z.string(), + recipientEmail: z.string(), + recipientName: z.string(), + inviterName: z.string().optional(), +}); + +export type TSendRecipientRemovedEmailJobDefinition = z.infer< + typeof SEND_RECIPIENT_REMOVED_EMAIL_JOB_DEFINITION_SCHEMA +>; + +export const SEND_RECIPIENT_REMOVED_EMAIL_JOB_DEFINITION = { + id: SEND_RECIPIENT_REMOVED_EMAIL_JOB_DEFINITION_ID, + name: 'Send Recipient Removed Email', + version: '1.0.0', + trigger: { + name: SEND_RECIPIENT_REMOVED_EMAIL_JOB_DEFINITION_ID, + schema: SEND_RECIPIENT_REMOVED_EMAIL_JOB_DEFINITION_SCHEMA, + }, + handler: async ({ payload, io }) => { + const handler = await import('./send-recipient-removed-email.handler'); + + await handler.run({ payload, io }); + }, +} as const satisfies JobDefinition< + typeof SEND_RECIPIENT_REMOVED_EMAIL_JOB_DEFINITION_ID, + TSendRecipientRemovedEmailJobDefinition +>; diff --git a/packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts b/packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts index 7f73e9542..2d08d7c36 100644 --- a/packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts +++ b/packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts @@ -52,6 +52,7 @@ export const run = async ({ payload, io }: { payload: TProcessSigningReminderJob data: { lastReminderSentAt: now, nextReminderAt: null, + reminderCount: { increment: 1 }, }, }); @@ -243,13 +244,15 @@ export const run = async ({ payload, io }: { payload: TProcessSigningReminderJob }); } - // Compute the next reminder time (repeat interval). + // reminderCount was incremented in the atomic claim above, so the value read + // here includes the reminder we just sent and gates the next one. if (recipient.sentAt) { await updateRecipientNextReminder({ recipientId: recipient.id, envelopeId: envelope.id, sentAt: recipient.sentAt, lastReminderSentAt: now, + reminderCount: recipient.reminderCount, }); } }; diff --git a/packages/lib/server-only/branding/load-recipient-branding.ts b/packages/lib/server-only/branding/load-recipient-branding.ts index b9a58b68c..75b32dce1 100644 --- a/packages/lib/server-only/branding/load-recipient-branding.ts +++ b/packages/lib/server-only/branding/load-recipient-branding.ts @@ -31,9 +31,13 @@ export const loadRecipientBrandingByTeamId = async ({ billingEnabled ? getOrganisationClaimByTeamId({ teamId }).catch(() => null) : Promise.resolve(null), ]); - const allowCustomBranding = !billingEnabled || claim?.flags?.embedSigningWhiteLabel === true; + let allowCustomBranding = !billingEnabled || claim?.flags?.embedSigningWhiteLabel === true; const hidePoweredBy = !billingEnabled || claim?.flags?.hidePoweredBy === true; + if (!settings.brandingEnabled) { + allowCustomBranding = false; + } + if (!allowCustomBranding) { return { allowCustomBranding: false, diff --git a/packages/lib/server-only/document/complete-document-with-token.ts b/packages/lib/server-only/document/complete-document-with-token.ts index 531cc59f4..10aefd189 100644 --- a/packages/lib/server-only/document/complete-document-with-token.ts +++ b/packages/lib/server-only/document/complete-document-with-token.ts @@ -29,7 +29,6 @@ import { assertRecipientNotExpired } from '../../utils/recipients'; import { getIsRecipientsTurnToSign } from '../recipient/get-is-recipient-turn'; import { triggerWebhook } from '../webhooks/trigger/trigger-webhook'; import { isRecipientAuthorized } from './is-recipient-authorized'; -import { sendPendingEmail } from './send-pending-email'; export type CompleteDocumentWithTokenOptions = { token: string; @@ -389,7 +388,13 @@ export const completeDocumentWithToken = async ({ }); if (pendingRecipients.length > 0) { - await sendPendingEmail({ id, recipientId: recipient.id }); + await jobs.triggerJob({ + name: 'send.document.pending.email', + payload: { + envelopeId: envelope.id, + recipientId: recipient.id, + }, + }); if (envelope.documentMeta?.signingOrder === DocumentSigningOrder.SEQUENTIAL) { const [nextRecipient] = pendingRecipients; diff --git a/packages/lib/server-only/document/delete-document.ts b/packages/lib/server-only/document/delete-document.ts index 3711921c6..8eed2702f 100644 --- a/packages/lib/server-only/document/delete-document.ts +++ b/packages/lib/server-only/document/delete-document.ts @@ -1,13 +1,9 @@ -import DocumentCancelTemplate from '@documenso/email/templates/document-cancel'; import { prisma } from '@documenso/prisma'; -import { msg } from '@lingui/core/macro'; import type { DocumentMeta, Envelope, Recipient, User } from '@prisma/client'; import { DocumentStatus, EnvelopeType, RecipientRole, SendStatus, WebhookTriggerEvents } from '@prisma/client'; -import { createElement } from 'react'; -import { getI18nInstance } from '../../client-only/providers/i18n-server'; -import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; import { AppError, AppErrorCode } from '../../errors/app-error'; +import { jobs } from '../../jobs/client'; import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs'; import { extractDerivedDocumentEmailSettings } from '../../types/document-email'; import { mapEnvelopeToWebhookDocumentPayload, ZWebhookDocumentSchema } from '../../types/webhook-payload'; @@ -16,7 +12,6 @@ import { isDocumentCompleted } from '../../utils/document'; import { createDocumentAuditLogData } from '../../utils/document-audit-logs'; import { type EnvelopeIdOptions, unsafeBuildEnvelopeIdQuery } from '../../utils/envelope'; import { isRecipientEmailValidForSending } from '../../utils/recipients'; -import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; import { getEmailContext } from '../email/get-email-context'; import { getMemberRoles } from '../team/get-member-roles'; import { triggerWebhook } from '../webhooks/trigger/trigger-webhook'; @@ -125,7 +120,7 @@ const handleDocumentOwnerDelete = async ({ envelope, user, requestMetadata }: Ha return; } - const { branding, emailLanguage, senderEmail, replyToEmail, emailsDisabled, emailTransport } = await getEmailContext({ + const { emailLanguage, emailsDisabled } = await getEmailContext({ emailType: 'RECIPIENT', source: { type: 'team', @@ -192,50 +187,40 @@ const handleDocumentOwnerDelete = async ({ envelope, user, requestMetadata }: Ha return deletedEnvelope; } - // Send cancellation emails to recipients. - await Promise.all( - envelope.recipients.map(async (recipient) => { - if ( - recipient.sendStatus !== SendStatus.SENT || - !isRecipientEmailValidForSending(recipient) || - recipient.role === RecipientRole.CC - ) { - return; - } + // Enqueue cancellation emails as a background job. The envelope (and its + // documentMeta) is hard-deleted above, so the job can't look it up later — + // pass a self-contained payload with the recipients to notify. + const recipientsToNotify = envelope.recipients + .filter( + (recipient) => + recipient.sendStatus === SendStatus.SENT && + recipient.role !== RecipientRole.CC && + isRecipientEmailValidForSending(recipient), + ) + .map((recipient) => ({ + email: recipient.email, + name: recipient.name, + })); - const assetBaseUrl = NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000'; - - const template = createElement(DocumentCancelTemplate, { + if (recipientsToNotify.length > 0) { + await jobs.triggerJob({ + name: 'send.document.deleted.emails', + payload: { + teamId: envelope.teamId, documentName: envelope.title, inviterName: user.name || undefined, inviterEmail: user.email, - assetBaseUrl, - }); - - const [html, text] = await Promise.all([ - renderEmailWithI18N(template, { lang: emailLanguage, branding }), - renderEmailWithI18N(template, { - lang: emailLanguage, - branding, - plainText: true, - }), - ]); - - const i18n = await getI18nInstance(emailLanguage); - - await emailTransport.sendMail({ - to: { - address: recipient.email, - name: recipient.name, - }, - from: senderEmail, - replyTo: replyToEmail, - subject: i18n._(msg`Document Cancelled`), - html, - text, - }); - }), - ); + meta: envelope.documentMeta + ? { + emailId: envelope.documentMeta.emailId, + emailReplyTo: envelope.documentMeta.emailReplyTo, + language: emailLanguage, + } + : null, + recipients: recipientsToNotify, + }, + }); + } return deletedEnvelope; }; diff --git a/packages/lib/server-only/document/reject-document-on-behalf-of.ts b/packages/lib/server-only/document/reject-document-on-behalf-of.ts new file mode 100644 index 000000000..4816b797f --- /dev/null +++ b/packages/lib/server-only/document/reject-document-on-behalf-of.ts @@ -0,0 +1,215 @@ +// This is closely related to `reject-document-with-token.ts` but is intentionally +// kept as a separate method rather than merged into one. This file focuses on +// rejection from an API/programmatic perspective (an authenticated API user acting +// on behalf of a recipient), whereas `reject-document-with-token.ts` focuses on it +// from a recipient perspective (the recipient rejecting via their token). +// +// Code changes in one should probably be mirrored to the other, particularly in +// relation to the jobs triggered after a rejection. +import { jobs } from '@documenso/lib/jobs/client'; +import { prisma } from '@documenso/prisma'; +import { DocumentStatus, EnvelopeType, SigningStatus } from '@prisma/client'; + +import { AppError, AppErrorCode } from '../../errors/app-error'; +import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs'; +import type { ApiRequestMetadata } from '../../universal/extract-request-metadata'; +import { createDocumentAuditLogData } from '../../utils/document-audit-logs'; +import { mapSecondaryIdToDocumentId } from '../../utils/envelope'; +import { assertRecipientNotExpired } from '../../utils/recipients'; +import { buildTeamWhereQuery } from '../../utils/teams'; +import { getEnvelopeWhereInput } from '../envelope/get-envelope-by-id'; + +export type RejectDocumentOnBehalfOfOptions = { + /** + * The ID of the envelope the recipient belongs to. Required so the caller + * targets an explicit envelope/recipient combination rather than resolving the + * envelope implicitly from the recipient ID. + */ + envelopeId: string; + recipientId: number; + userId: number; + teamId: number; + reason: string; + /** + * The email of a team member to attribute the rejection to. Must be a member + * of the team. When omitted the rejection is attributed to the API user that + * owns the token (`userId`). + * + * This exists so external applications can elect which team member is acting + * on behalf of the recipient, rather than always defaulting to the API user. + */ + actAsEmail?: string; + requestMetadata: ApiRequestMetadata; +}; + +/** + * Reject a document on behalf of a recipient as an authenticated API user. + * + * This is used to programmatically record a rejection for cases where the + * recipient declined to sign outside of the platform (e.g. before ever + * reaching it). The rejection is flagged as `isExternal` in the audit log to + * distinguish it from a rejection performed by the recipient directly. + * + * The action can optionally be attributed to a specific team member via + * `actAsEmail`; otherwise it is attributed to the API user. + */ +export async function rejectDocumentOnBehalfOf({ + envelopeId, + recipientId, + userId, + teamId, + reason, + actAsEmail, + requestMetadata, +}: RejectDocumentOnBehalfOfOptions) { + // Build the access-controlled envelope query. This enforces team membership + // AND document visibility (and owner / team-email access), mirroring the + // canonical envelope access checks used across the app. + const { envelopeWhereInput } = await getEnvelopeWhereInput({ + id: { type: 'envelopeId', id: envelopeId }, + type: EnvelopeType.DOCUMENT, + userId, + teamId, + }); + + const recipient = await prisma.recipient.findFirst({ + where: { + id: recipientId, + envelope: envelopeWhereInput, + }, + include: { + envelope: true, + }, + }); + + const envelope = recipient?.envelope; + + if (!recipient || !envelope) { + throw new AppError(AppErrorCode.NOT_FOUND, { + message: 'Document or recipient not found', + }); + } + + if (envelope.status !== DocumentStatus.PENDING) { + throw new AppError(AppErrorCode.INVALID_REQUEST, { + message: `Document ${envelope.id} must be pending to reject`, + }); + } + + if (recipient.signingStatus !== SigningStatus.NOT_SIGNED) { + throw new AppError(AppErrorCode.INVALID_REQUEST, { + message: `Recipient ${recipient.id} has already actioned this document`, + }); + } + + assertRecipientNotExpired(recipient); + + // Resolve the user the rejection should be attributed to. When `actAsEmail` + // is supplied it must resolve to a member of the team; otherwise the rejection + // is attributed to the API user that owns the token. + const electedUser = await getValidatedElectedUser({ actAsEmail, teamId }); + const actingUser = electedUser ?? (await prisma.user.findFirstOrThrow({ where: { id: userId } })); + + // Update the recipient status to rejected and record an external rejection + // audit log within the same transaction. + const [updatedRecipient] = await prisma.$transaction([ + prisma.recipient.update({ + where: { + id: recipient.id, + }, + data: { + signedAt: new Date(), + signingStatus: SigningStatus.REJECTED, + rejectionReason: reason, + }, + }), + prisma.documentAuditLog.create({ + data: createDocumentAuditLogData({ + envelopeId: envelope.id, + type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED, + // Always attribute the audit log to a concrete user: the elected team + // member when supplied, otherwise the API user that owns the token. + user: { id: actingUser.id, email: actingUser.email, name: actingUser.name }, + metadata: requestMetadata, + data: { + recipientEmail: recipient.email, + recipientName: recipient.name, + recipientId: recipient.id, + recipientRole: recipient.role, + reason, + isExternal: true, + // Only set when a member was explicitly elected via `actAsEmail`. + onBehalfOfUserEmail: electedUser?.email, + onBehalfOfUserName: electedUser?.name, + }, + }), + }), + ]); + + const legacyDocumentId = mapSecondaryIdToDocumentId(envelope.secondaryId); + + // Trigger the seal document job to process the document asynchronously. + await jobs.triggerJob({ + name: 'internal.seal-document', + payload: { + documentId: legacyDocumentId, + requestMetadata: requestMetadata.requestMetadata, + }, + }); + + // Send email notifications to the rejecting recipient. + await jobs.triggerJob({ + name: 'send.signing.rejected.emails', + payload: { + recipientId: recipient.id, + documentId: legacyDocumentId, + }, + }); + + // Send cancellation emails to other recipients. + await jobs.triggerJob({ + name: 'send.document.cancelled.emails', + payload: { + documentId: legacyDocumentId, + cancellationReason: reason, + requestMetadata: requestMetadata.requestMetadata, + }, + }); + + return updatedRecipient; +} + +/** + * Resolve and validate the team member elected via `actAsEmail`. Returns `null` + * when no `actAsEmail` is supplied (the rejection is then attributed to the API + * user). Throws when the email does not resolve to a member of the team. + */ +const getValidatedElectedUser = async ({ actAsEmail, teamId }: { actAsEmail?: string; teamId: number }) => { + if (!actAsEmail) { + return null; + } + + const electedUser = await prisma.user.findFirst({ + where: { + email: actAsEmail, + }, + }); + + if (!electedUser) { + throw new AppError(AppErrorCode.UNAUTHORIZED, { + message: 'The user to act on behalf of must be a member of the team', + }); + } + + const isTeamMember = await prisma.team.findFirst({ + where: buildTeamWhereQuery({ teamId, userId: electedUser.id }), + }); + + if (!isTeamMember) { + throw new AppError(AppErrorCode.UNAUTHORIZED, { + message: 'The user to act on behalf of must be a member of the team', + }); + } + + return electedUser; +}; diff --git a/packages/lib/server-only/document/reject-document-with-token.ts b/packages/lib/server-only/document/reject-document-with-token.ts index f5cc18a2e..a8555b42b 100644 --- a/packages/lib/server-only/document/reject-document-with-token.ts +++ b/packages/lib/server-only/document/reject-document-with-token.ts @@ -1,3 +1,11 @@ +// This is closely related to `reject-document-on-behalf-of.ts` but is intentionally +// kept as a separate method rather than merged into one. This file focuses on +// rejection from a recipient perspective (the recipient rejecting via their token), +// whereas `reject-document-on-behalf-of.ts` focuses on it from an API/programmatic +// perspective (an authenticated API user acting on behalf of a recipient). +// +// Code changes in one should probably be mirrored to the other, particularly in +// relation to the jobs triggered after a rejection. import { jobs } from '@documenso/lib/jobs/client'; import { prisma } from '@documenso/prisma'; import { DocumentStatus, EnvelopeType, SigningStatus } from '@prisma/client'; diff --git a/packages/lib/server-only/document/resend-document.ts b/packages/lib/server-only/document/resend-document.ts index 050d973c7..29b20ed15 100644 --- a/packages/lib/server-only/document/resend-document.ts +++ b/packages/lib/server-only/document/resend-document.ts @@ -13,6 +13,7 @@ import { EnvelopeType, OrganisationType, RecipientRole, + SendStatus, SigningStatus, WebhookTriggerEvents, } from '@prisma/client'; @@ -30,6 +31,7 @@ import { buildEnvelopeEmailHeaders } from '../email/build-envelope-email-headers import { getEmailContext } from '../email/get-email-context'; import { getEnvelopeWhereInput } from '../envelope/get-envelope-by-id'; import { assertOrganisationRatesAndLimits } from '../rate-limit/assert-organisation-rates-and-limits'; +import { updateRecipientNextReminder } from '../recipient/update-recipient-next-reminder'; import { assertUserNotDisabled } from '../user/assert-user-not-disabled'; import { triggerWebhook } from '../webhooks/trigger/trigger-webhook'; @@ -117,7 +119,6 @@ export const resendDocument = async ({ id, userId, recipients, teamId, requestMe }); } - // Refresh the expiresAt on each resent recipient. const expiresAt = resolveExpiresAt(envelope.documentMeta?.envelopeExpirationPeriod ?? null); const recipientsToRemind = envelope.recipients.filter( @@ -127,7 +128,6 @@ export const resendDocument = async ({ id, userId, recipients, teamId, requestMe recipient.role !== RecipientRole.CC, ); - // Extend the expiration deadline for recipients being resent. if (expiresAt && recipientsToRemind.length > 0) { await prisma.recipient.updateMany({ where: { @@ -142,6 +142,22 @@ export const resendDocument = async ({ id, userId, recipients, teamId, requestMe }); } + // A manual resend restarts the reminder cycle from scratch, mirroring the + // initial send, so a recipient that hit the threshold can be reminded again. + const resentAt = new Date(); + + await Promise.all( + recipientsToRemind.map((recipient) => + updateRecipientNextReminder({ + recipientId: recipient.id, + envelopeId: envelope.id, + sentAt: resentAt, + lastReminderSentAt: null, + resetReminderCount: true, + }), + ), + ); + const isRecipientSigningRequestEmailEnabled = extractDerivedDocumentEmailSettings( envelope.documentMeta, ).recipientSigningRequest; @@ -276,6 +292,18 @@ export const resendDocument = async ({ id, userId, recipients, teamId, requestMe }), }); + // Mark the recipient as sent if they were not already sent. + await prisma.recipient.updateMany({ + where: { + id: recipient.id, + sendStatus: SendStatus.NOT_SENT, + }, + data: { + sendStatus: SendStatus.SENT, + sentAt: new Date(), + }, + }); + await prisma.documentAuditLog.create({ data: createDocumentAuditLogData({ type: DOCUMENT_AUDIT_LOG_TYPE.EMAIL_SENT, diff --git a/packages/lib/server-only/recipient/delete-envelope-recipient.ts b/packages/lib/server-only/recipient/delete-envelope-recipient.ts index 06d90ca46..e2e99feed 100644 --- a/packages/lib/server-only/recipient/delete-envelope-recipient.ts +++ b/packages/lib/server-only/recipient/delete-envelope-recipient.ts @@ -1,24 +1,16 @@ -import RecipientRemovedFromDocumentTemplate from '@documenso/email/templates/recipient-removed-from-document'; import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs'; import type { ApiRequestMetadata } from '@documenso/lib/universal/extract-request-metadata'; import { prisma } from '@documenso/prisma'; -import { msg } from '@lingui/core/macro'; import { EnvelopeType, RecipientRole, SendStatus } from '@prisma/client'; -import { createElement } from 'react'; -import { getI18nInstance } from '../../client-only/providers/i18n-server'; -import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; import { AppError, AppErrorCode } from '../../errors/app-error'; +import { jobs } from '../../jobs/client'; import { extractDerivedDocumentEmailSettings } from '../../types/document-email'; import { createDocumentAuditLogData } from '../../utils/document-audit-logs'; -import { logger } from '../../utils/logger'; import { canRecipientBeModified, isRecipientEmailValidForSending } from '../../utils/recipients'; -import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; import { buildTeamWhereQuery } from '../../utils/teams'; -import { getEmailContext } from '../email/get-email-context'; import { assertEnvelopeMutable } from '../envelope/assert-envelope-mutable'; import { getEnvelopeWhereInput } from '../envelope/get-envelope-by-id'; -import { assertOrganisationRatesAndLimits } from '../rate-limit/assert-organisation-rates-and-limits'; export interface DeleteEnvelopeRecipientOptions { userId: number; @@ -148,75 +140,16 @@ export const deleteEnvelopeRecipient = async ({ envelope.type === EnvelopeType.DOCUMENT && isRecipientEmailValidForSending(recipientToDelete) ) { - const assetBaseUrl = NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000'; - - const template = createElement(RecipientRemovedFromDocumentTemplate, { - documentName: envelope.title, - inviterName: envelope.team?.name || user.name || undefined, - assetBaseUrl, - }); - - const { - branding, - emailLanguage, - senderEmail, - replyToEmail, - organisationId, - claims, - emailsDisabled, - emailTransport, - } = await getEmailContext({ - emailType: 'RECIPIENT', - source: { - type: 'team', - teamId: envelope.teamId, - }, - meta: envelope.documentMeta, - }); - - // Don't send the removal email if the organisation has email sending disabled. - if (emailsDisabled) { - return deletedRecipient; - } - - // Meter the removal email against the organisation email quota/stats. - // Add/remove churn can be used to blast unsolicited removal emails - // outside the email limits. - try { - await assertOrganisationRatesAndLimits({ - organisationId, - organisationClaim: claims, - type: 'email', - count: 1, - }); - } catch (_err) { - logger.warn({ - msg: 'Recipient removed email dropped: org email limit exceeded', - organisationId, - recipientId: recipientToDelete.id, + // Enqueue the "removed from document" email as a background job so a + // transient mail outage doesn't fail the request and the send is retried. + await jobs.triggerJob({ + name: 'send.recipient.removed.email', + payload: { envelopeId: envelope.id, - }); - - return deletedRecipient; - } - - const [html, text] = await Promise.all([ - renderEmailWithI18N(template, { lang: emailLanguage, branding }), - renderEmailWithI18N(template, { lang: emailLanguage, branding, plainText: true }), - ]); - - const i18n = await getI18nInstance(emailLanguage); - - await emailTransport.sendMail({ - to: { - address: recipientToDelete.email, - name: recipientToDelete.name, + recipientEmail: recipientToDelete.email, + recipientName: recipientToDelete.name, + inviterName: envelope.team?.name || user.name || undefined, }, - from: senderEmail, - replyTo: replyToEmail, - subject: i18n._(msg`You have been removed from a document`), - html, - text, }); } diff --git a/packages/lib/server-only/recipient/set-document-recipients.ts b/packages/lib/server-only/recipient/set-document-recipients.ts index 7defdfbb4..19e4194ed 100644 --- a/packages/lib/server-only/recipient/set-document-recipients.ts +++ b/packages/lib/server-only/recipient/set-document-recipients.ts @@ -1,4 +1,3 @@ -import RecipientRemovedFromDocumentTemplate from '@documenso/email/templates/recipient-removed-from-document'; import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs'; import type { TRecipientAccessAuthTypes } from '@documenso/lib/types/document-auth'; import { type TRecipientActionAuthTypes, ZRecipientAuthOptionsSchema } from '@documenso/lib/types/document-auth'; @@ -7,28 +6,21 @@ import { nanoid } from '@documenso/lib/universal/id'; import { createDocumentAuditLogData, diffRecipientChanges } from '@documenso/lib/utils/document-audit-logs'; import { createRecipientAuthOptions } from '@documenso/lib/utils/document-auth'; import { prisma } from '@documenso/prisma'; -import { msg } from '@lingui/core/macro'; import type { Recipient } from '@prisma/client'; import { EnvelopeType, RecipientRole, SendStatus, SigningStatus } from '@prisma/client'; -import { createElement } from 'react'; import { isDeepEqual } from 'remeda'; -import { getI18nInstance } from '../../client-only/providers/i18n-server'; -import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; import { AppError, AppErrorCode } from '../../errors/app-error'; +import { jobs } from '../../jobs/client'; import { extractDerivedDocumentEmailSettings } from '../../types/document-email'; import { type EnvelopeIdOptions, mapSecondaryIdToDocumentId } from '../../utils/envelope'; -import { logger } from '../../utils/logger'; import { canRecipientBeModified, getRecipientSigningOrder, isRecipientEmailValidForSending, } from '../../utils/recipients'; -import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; -import { getEmailContext } from '../email/get-email-context'; import { assertEnvelopeMutable } from '../envelope/assert-envelope-mutable'; import { getEnvelopeWhereInput } from '../envelope/get-envelope-by-id'; -import { assertOrganisationRatesAndLimits } from '../rate-limit/assert-organisation-rates-and-limits'; import { assertCompatibleRecipientRole } from '../signature-level/assert-compatible-recipient-role'; export interface SetDocumentRecipientsOptions { @@ -92,16 +84,6 @@ export const setDocumentRecipients = async ({ throw new Error('Document already complete'); } - const { branding, emailLanguage, senderEmail, replyToEmail, organisationId, claims, emailsDisabled, emailTransport } = - await getEmailContext({ - emailType: 'RECIPIENT', - source: { - type: 'team', - teamId, - }, - meta: envelope.documentMeta, - }); - const recipientsHaveActionAuth = recipients.some( (recipient) => recipient.actionAuth && recipient.actionAuth.length > 0, ); @@ -294,67 +276,29 @@ export const setDocumentRecipients = async ({ const isRecipientRemovedEmailEnabled = extractDerivedDocumentEmailSettings(envelope.documentMeta).recipientRemoved; - // Send emails to deleted recipients who have emails. - await Promise.all( - removedRecipients.map(async (recipient) => { - if ( - emailsDisabled || - recipient.sendStatus !== SendStatus.SENT || - recipient.role === RecipientRole.CC || - !isRecipientRemovedEmailEnabled || - !isRecipientEmailValidForSending(recipient) - ) { - return; - } + if (isRecipientRemovedEmailEnabled) { + await Promise.all( + removedRecipients.map(async (recipient) => { + if ( + recipient.sendStatus !== SendStatus.SENT || + recipient.role === RecipientRole.CC || + !isRecipientEmailValidForSending(recipient) + ) { + return; + } - // Meter against the organisation email quota/stats so add/remove churn - // can't be used to send unsolicited "removed" emails outside the limits. - try { - await assertOrganisationRatesAndLimits({ - organisationId, - organisationClaim: claims, - type: 'email', - count: 1, + await jobs.triggerJob({ + name: 'send.recipient.removed.email', + payload: { + envelopeId: envelope.id, + recipientEmail: recipient.email, + recipientName: recipient.name, + inviterName: user.name || undefined, + }, }); - } catch (_err) { - logger.warn({ - msg: 'Recipient removed email dropped: org email limit exceeded', - organisationId, - recipientId: recipient.id, - envelopeId: envelope.id, - }); - - return; - } - - const assetBaseUrl = NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000'; - - const template = createElement(RecipientRemovedFromDocumentTemplate, { - documentName: envelope.title, - inviterName: user.name || undefined, - assetBaseUrl, - }); - - const [html, text] = await Promise.all([ - renderEmailWithI18N(template, { lang: emailLanguage, branding }), - renderEmailWithI18N(template, { lang: emailLanguage, branding, plainText: true }), - ]); - - const i18n = await getI18nInstance(emailLanguage); - - await emailTransport.sendMail({ - to: { - address: recipient.email, - name: recipient.name, - }, - from: senderEmail, - replyTo: replyToEmail, - subject: i18n._(msg`You have been removed from a document`), - html, - text, - }); - }), - ); + }), + ); + } } // Filter out recipients that have been removed or have been updated. diff --git a/packages/lib/server-only/recipient/update-recipient-next-reminder.ts b/packages/lib/server-only/recipient/update-recipient-next-reminder.ts index 142cc6a3f..117c149cb 100644 --- a/packages/lib/server-only/recipient/update-recipient-next-reminder.ts +++ b/packages/lib/server-only/recipient/update-recipient-next-reminder.ts @@ -6,22 +6,20 @@ import { resolveNextReminderAt, ZEnvelopeReminderSettings } from '../../constant /** * Compute and store `nextReminderAt` for a single recipient. * - * Call this after: - * - Sending the signing email (sentAt is set) - * - Sending a reminder (lastReminderSentAt is updated) - * - * If `reminderSettings` is provided it's used directly, avoiding a query. - * Otherwise it's read from the envelope's documentMeta (already resolved - * from the org/team cascade at envelope creation time). + * Pass `resetReminderCount: true` to restart the reminder cycle (e.g. on a + * manual resend): the count is zeroed and the schedule recomputed as if the + * request was freshly sent at `sentAt`. */ export const updateRecipientNextReminder = async (options: { recipientId: number; envelopeId: string; sentAt: Date; lastReminderSentAt: Date | null; + reminderCount?: number; + resetReminderCount?: boolean; reminderSettings?: ReturnType | null; }) => { - const { recipientId, envelopeId, sentAt, lastReminderSentAt } = options; + const { recipientId, envelopeId, sentAt, lastReminderSentAt, reminderCount = 0, resetReminderCount } = options; let settings = options.reminderSettings; @@ -40,11 +38,15 @@ export const updateRecipientNextReminder = async (options: { config: settings, sentAt, lastReminderSentAt, + reminderCount: resetReminderCount ? 0 : reminderCount, }); await prisma.recipient.update({ where: { id: recipientId }, - data: { nextReminderAt }, + data: { + nextReminderAt, + ...(resetReminderCount ? { reminderCount: 0 } : {}), + }, }); }; @@ -82,7 +84,7 @@ export const recomputeNextReminderForEnvelope = async (envelopeId: string) => { // Don't reschedule reminders for recipients whose deadline has passed. OR: [{ expiresAt: null }, { expiresAt: { gt: now } }], }, - select: { id: true, sentAt: true, lastReminderSentAt: true }, + select: { id: true, sentAt: true, lastReminderSentAt: true, reminderCount: true }, }); await Promise.all( @@ -95,6 +97,7 @@ export const recomputeNextReminderForEnvelope = async (envelopeId: string) => { config: settings, sentAt: recipient.sentAt, lastReminderSentAt: recipient.lastReminderSentAt, + reminderCount: recipient.reminderCount, }); await prisma.recipient.update({ diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index d748ef36c..f1f748764 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-12 07:37\n" +"PO-Revision-Date: 2026-06-22 13:53\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -49,6 +49,10 @@ msgstr "„{documentName}“ wurde von allen Unterzeichnern signiert" msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" im Auftrag des \"Team Name\" hat Sie eingeladen, das \"Beispieldokument\" zu unterschreiben." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "\"{title}\" wurde erfolgreich storniert" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" wurde erfolgreich gelöscht" @@ -102,6 +106,17 @@ msgstr "{0, plural, one {# Zeichen verbleibend} other {# Zeichen verbleibend}}" msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" msgstr "{0, plural, one {# CSS-Regel wurde während der Bereinigung entfernt.} other {# CSS-Regeln wurden während der Bereinigung entfernt.}}" +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "{0, plural, one {# Dokument storniert.} other {# Dokumente storniert.}} {1, plural, one {# Dokument konnte nicht storniert werden.} other {# Dokumente konnten nicht storniert werden.}}" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "{0, plural, one {# Dokument wurde storniert.} other {# Dokumente wurden storniert.}}" + #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx msgid "{0, plural, one {# document} other {# documents}}" @@ -246,6 +261,11 @@ msgstr "{0, plural, one {Wir haben # Feld in Ihrem Dokument gefunden.} other {Wi msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "{0, plural, one {Wir haben # Empfänger in Ihrem Dokument gefunden.} other {Wir haben # Empfänger in Ihrem Dokument gefunden.}}" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "{0, plural, one {Sie sind dabei, das ausgewählte Dokument zu stornieren.} other {Sie sind dabei, # Dokumente zu stornieren.}}" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -483,6 +503,18 @@ msgstr "{user} hat einen Empfänger hinzugefügt" msgid "{user} approved the document" msgstr "{user} hat das Dokument genehmigt" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "{user} wurde beim Signaturanbieter authentifiziert" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "{user} hat die Remote-Signatur autorisiert" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "{user} hat das Dokument storniert" + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "{user} hat das Dokument in CC gesetzt" @@ -546,6 +578,10 @@ msgstr "{user} hat das PDF für das Umschlag-Element {0} ersetzt" msgid "{user} requested a 2FA token for the document" msgstr "{user} hat ein 2FA-Token für das Dokument angefordert" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "{user} hat eine Remote-Signatur angefordert" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -617,6 +653,14 @@ msgstr "{user} hat ein 2FA-Token für das Dokument verifiziert" msgid "{user} viewed the document" msgstr "{user} hat das Dokument angesehen" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "Die Remote-Signatur von {user} wurde angewendet" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "Die Authentifizierung von {user} beim Signaturanbieter ist fehlgeschlagen" + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -1256,6 +1300,14 @@ msgstr "Fügen Sie dem Dokument eine externe ID hinzu. Diese kann verwendet werd msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Fügen Sie der Vorlage eine externe ID hinzu. Diese kann zur Identifizierung in externen Systemen verwendet werden." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "Geben Sie einen optionalen Grund für die Stornierung dieser Dokumente an" + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "Geben Sie einen optionalen Grund für die Stornierung dieses Dokuments an" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "Mehrere Dokumente hinzufügen und konfigurieren" @@ -1714,6 +1766,10 @@ msgstr "Beim automatischen Speichern der Vorlageneinstellungen ist ein Fehler au msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "Beim automatischen Signieren des Dokuments ist ein Fehler aufgetreten, einige Felder wurden möglicherweise nicht signiert. Bitte überprüfen Sie und signieren Sie alle verbleibenden Felder manuell." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "Beim Stornieren der Dokumente ist ein Fehler aufgetreten." + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "Beim Abschließen des Dokuments ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut." @@ -1758,18 +1814,10 @@ msgstr "Ein Fehler ist aufgetreten, während der Benutzer aktiviert wurde." msgid "An error occurred while loading the document." msgstr "Ein Fehler ist beim Laden des Dokuments aufgetreten." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "Ein Fehler ist aufgetreten, während das Dokument verschoben wurde." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "Beim Verschieben der Elemente ist ein Fehler aufgetreten." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "Ein Fehler ist aufgetreten, während die Vorlage verschoben wurde." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "Beim Ablehnen des Dokuments ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut." @@ -1857,6 +1905,14 @@ msgstr "Ein Fehler ist aufgetreten, während dein Dokument hochgeladen wurde." msgid "An error occurred. Please try again later." msgstr "Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut." +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "Eine Organisation hat ihre Fair-Use-Grenzwerte überschritten" + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "Eine Organisation nähert sich ihren Fair-Use-Grenzwerten" + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "Eine Organisation möchte ein Konto für Sie erstellen. Bitte überprüfen Sie die Details unten." @@ -1981,10 +2037,28 @@ msgstr "API-Anfragen wurden vorübergehend angehalten." msgid "API Tokens" msgstr "API-Token" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "Die API-Nutzung nähert sich den Fair-Use-Grenzwerten" + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "App-Version" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "Ihre Signatur wird angewendet" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "Annäherung an das Fair-Use-Limit" + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "Sie nähern sich den Grenzen Ihres Tarifs" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2070,6 +2144,7 @@ msgstr "Sind Sie sicher, dass Sie diese Organisation löschen möchten?" msgid "Are you sure you wish to delete this team?" msgstr "Bist du dir sicher, dass du dieses Team löschen möchtest?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2474,12 +2549,11 @@ msgstr "Person nicht gefunden?" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2488,6 +2562,7 @@ msgstr "Person nicht gefunden?" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2534,7 +2609,6 @@ msgstr "Person nicht gefunden?" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2559,6 +2633,8 @@ msgstr "Person nicht gefunden?" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2569,6 +2645,24 @@ msgstr "Person nicht gefunden?" msgid "Cancel" msgstr "Abbrechen" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "Dokument stornieren" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "Dokumente stornieren" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "Dokumente stornieren" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "Storniert" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "Vom Benutzer abgebrochen" @@ -4108,6 +4202,16 @@ msgstr "Dokument Alle" msgid "Document Approved" msgstr "Dokument genehmigt" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "Dokument storniert" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "Dokument storniert" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4265,10 +4369,6 @@ msgstr "Dokumentenlimit überschritten!" msgid "Document metrics" msgstr "Dokumentmetrik" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "Dokument verschoben" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4309,10 +4409,6 @@ msgstr "Dokumentpräferenzen aktualisiert" msgid "Document rate limits" msgstr "Dokumenten-Rate-Limits" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "Dokument erneut gesendet" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx msgid "Document rejected" @@ -4328,6 +4424,10 @@ msgstr "Dokument Abgelehnt" msgid "Document Renamed" msgstr "Dokument umbenannt" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "Dokument erneut gesendet" + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "Dokument gesendet" @@ -4403,6 +4503,10 @@ msgstr "Dokumenten-Upload deaktiviert aufgrund unbezahlter Rechnungen" msgid "Document uploaded" msgstr "Dokument hochgeladen" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "Die Dokumentnutzung nähert sich den Fair-Use-Grenzwerten" + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4463,6 +4567,10 @@ msgstr "Dokumente" msgid "Documents and resources related to this envelope." msgstr "Dokumente und Ressourcen im Zusammenhang mit diesem Umschlag." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "Dokumente storniert" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4480,6 +4588,10 @@ msgstr "Dokumente erstellt aus Vorlage" msgid "Documents deleted" msgstr "Dokumente gelöscht" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "Dokumente teilweise storniert" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "Dokumente teilweise gelöscht" @@ -4964,6 +5076,10 @@ msgstr "E-Mail-Transport" msgid "Email Transports" msgstr "E-Mail-Transporte" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "Die E-Mail-Nutzung nähert sich den Fair-Use-Grenzwerten" + #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" msgstr "E-Mail-Verifizierung" @@ -5263,14 +5379,10 @@ msgstr "Umschlag aktualisiert" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5687,9 +5799,7 @@ msgstr "Nach Status filtern" msgid "Focus ring colour." msgstr "Fokus-Ringfarbe." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "Ordner" @@ -6069,9 +6179,7 @@ msgstr "Lizenzschlüssel ausblenden" msgid "Home" msgstr "Startseite" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "Startseite (kein Ordner)" @@ -6180,6 +6288,10 @@ msgstr "Wenn Sie die angegebene Authentifizierung nicht verwenden möchten, kön msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "Wenn Sie den Bestätigungslink nicht in Ihrem Posteingang finden, können Sie unten einen neuen anfordern." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "Wenn Sie voraussichtlich höhere Limits benötigen, kontaktieren Sie bitte den Support unter {SUPPORT_EMAIL}, und wir werden Ihr Konto prüfen." + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "Wenn Ihre Authenticator-App keine QR-Codes unterstützt, können Sie stattdessen den folgenden Code verwenden:" @@ -6208,10 +6320,12 @@ msgstr "Posteingang Dokumente" msgid "Include audit log" msgstr "Prüfprotokoll einbeziehen" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "Felder einschließen" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "Empfänger einschließen" @@ -7085,22 +7199,12 @@ msgstr "Monatliches Dokumentenkontingent" msgid "Monthly email quota" msgstr "Monatliches E-Mail-Kontingent" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "Verschieben" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "\"{templateTitle}\" in einen Ordner verschieben" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "Dokument in Ordner verschieben" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "Dokumente in Ordner verschieben" @@ -7115,10 +7219,6 @@ msgstr "Ordner verschieben" msgid "Move Subscription" msgstr "Abonnement verschieben" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "Vorlage in Ordner verschieben" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "Vorlagen in Ordner verschieben" @@ -7312,9 +7412,7 @@ msgstr "Kein Feldtyp passend zu dieser Beschreibung gefunden." msgid "No fields were detected in your document." msgstr "In Ihrem Dokument wurden keine Felder erkannt." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "Keine Ordner gefunden" @@ -7417,6 +7515,10 @@ msgstr "Keine Ergebnisse gefunden." msgid "No signature field found" msgstr "Kein Unterschriftsfeld gefunden" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "Keine Signatur-Anmeldedaten verfügbar" + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "Kein Stripe-Kunde angehängt" @@ -7491,6 +7593,10 @@ msgstr "Nicht festgelegt" msgid "Not supported" msgstr "Nicht unterstützt" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "Nichts storniert" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7553,7 +7659,9 @@ msgstr "Auf dieser Seite können Sie API-Token erstellen und verwalten. Weitere msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "Auf dieser Seite können Sie neue Webhooks erstellen und die vorhandenen verwalten." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "Sobald dies bestätigt ist, wird Folgendes geschehen:" @@ -7594,6 +7702,10 @@ msgstr "Es kann jeweils nur eine Datei hochgeladen werden." msgid "Only PDF files are allowed" msgstr "Nur PDF-Dateien sind erlaubt" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "Nur ausstehende Dokumente, zu deren Verwaltung Sie berechtigt sind, werden storniert." + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7728,9 +7840,9 @@ msgstr "Organisationsname" msgid "Organisation not found" msgstr "Organisation nicht gefunden" -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" msgstr "Überprüfung der Organisation erforderlich" @@ -8172,7 +8284,7 @@ msgstr "Bitte bestätige deine E-Mail-Adresse" msgid "Please contact <0>support if you have any questions." msgstr "Bitte kontaktieren Sie <0>den Support, wenn Sie Fragen haben." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." msgstr "Bitte kontaktiere den Support unter {SUPPORT_EMAIL}, und wir werden dein Konto überprüfen." @@ -8184,6 +8296,10 @@ msgstr "Bitte kontaktieren Sie den Support, wenn Sie diese Aktion rückgängig m msgid "Please contact the site owner for further assistance." msgstr "Bitte kontaktieren Sie den Webseiteninhaber für weitere Unterstützung." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "Bitte schließen Sie diesen Tab nicht. Der Signaturanbieter finalisiert Ihre Signatur." + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "Bitte geben Sie einen aussagekräftigen Namen für Ihr Token ein. Dies wird Ihnen helfen, es später zu identifizieren." @@ -8553,6 +8669,11 @@ msgstr "Bereit" msgid "Reason" msgstr "Grund" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "Grund (optional)" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "Stornierungsgrund: {cancellationReason}" @@ -8573,6 +8694,10 @@ msgstr "Der Grund muss weniger als 500 Zeichen lang sein" msgid "Reauthentication is required to sign this field" msgstr "Eine erneute Authentifizierung ist erforderlich, um dieses Feld zu unterschreiben" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "Erneut autorisieren und erneut versuchen" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "Erhält Kopie" @@ -8614,6 +8739,14 @@ msgstr "Empfängeraktion Authentifizierung" msgid "Recipient approved the document" msgstr "Der Empfänger hat das Dokument genehmigt" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "Empfänger wurde beim Signaturanbieter authentifiziert" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "Empfänger hat die Remote-Signatur autorisiert" + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "Der Empfänger hat das Dokument in CC gesetzt" @@ -8644,6 +8777,10 @@ msgstr "Empfänger-ID:" msgid "Recipient rejected the document" msgstr "Der Empfänger hat das Dokument abgelehnt" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient rejected the document externally" +msgstr "Der Empfänger hat das Dokument extern abgelehnt" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient removed" msgstr "Empfänger entfernt" @@ -8656,6 +8793,10 @@ msgstr "E-Mail des entfernten Empfängers" msgid "Recipient requested a 2FA token for the document" msgstr "Der Empfänger hat ein 2FA-Token für das Dokument angefordert" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "Empfänger hat eine Remote-Signatur angefordert" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "Empfänger hat unterschrieben" @@ -8693,6 +8834,14 @@ msgstr "Der Empfänger hat ein 2FA-Token für das Dokument verifiziert" msgid "Recipient viewed the document" msgstr "Der Empfänger hat das Dokument angesehen" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "Die Remote-Signatur des Empfängers wurde angewendet" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "Die Authentifizierung des Unterzeichnungsanbieters des Empfängers ist fehlgeschlagen" + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8716,6 +8865,11 @@ msgstr "Empfänger, die neuen Dokumenten automatisch hinzugefügt werden." msgid "Recipients will be able to sign the document once sent" msgstr "Empfänger können das Dokument nach dem Versand unterschreiben" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "Empfänger werden darüber benachrichtigt, dass das Dokument storniert wurde" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Empfänger behalten weiterhin ihre Kopie des Dokuments" @@ -9008,8 +9162,9 @@ msgstr "Erneut versiegeln" msgid "Reseal document" msgstr "Dokument wieder versiegeln" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9299,10 +9454,8 @@ msgstr "Nach Organisationsname, URL oder ID suchen" msgid "Search documents..." msgstr "Dokumente suchen..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9360,10 +9513,6 @@ msgstr "Wählen Sie ein Ziel für diesen Ordner aus." msgid "Select a field type" msgstr "Wähle einen Feldtyp aus" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "Wählen Sie einen Ordner, um dieses Dokument zu verschieben." - #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" msgstr "Einen Plan auswählen" @@ -9618,7 +9767,6 @@ msgstr "Im Namen des Teams senden" msgid "Send recipient expired email to the owner" msgstr "E-Mail über abgelaufenen Empfänger an den Besitzer senden" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "Erinnerung senden" @@ -9965,11 +10113,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "Unterzeichnung" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "Der Signaturalgorithmus wird nicht unterstützt" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "Unterzeichnungszertifikat" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "Das Signaturzertifikat ist ungültig" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9984,6 +10140,10 @@ msgstr "Unterzeichnung abgeschlossen!" msgid "Signing Deadline Expired" msgstr "Signaturfrist abgelaufen" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "Unterzeichnung fehlgeschlagen" + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "Unterzeichne für" @@ -10063,6 +10223,7 @@ msgstr "Überspringen" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Einige Unterzeichner haben noch kein Unterschriftsfeld zugewiesen bekommen. Bitte weisen Sie jedem Unterzeichner mindestens ein Unterschriftsfeld zu, bevor Sie fortfahren." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10110,6 +10271,10 @@ msgstr "Einige Unterzeichner haben noch kein Unterschriftsfeld zugewiesen bekomm msgid "Something went wrong" msgstr "Etwas ist schief gelaufen" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "Beim Anwenden Ihrer Signatur ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut." + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10131,6 +10296,10 @@ msgstr "Beim Laden des Dokuments ist ein Fehler aufgetreten." msgid "Something went wrong while loading your passkeys." msgstr "Etwas ist schiefgelaufen beim Laden Ihrer Passkeys." +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "Beim Vorbereiten der Fernsignatur ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut." + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." msgstr "Beim Rendern des Dokuments ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut oder kontaktieren Sie unseren Support." @@ -10698,14 +10867,14 @@ msgstr "Vorlagen-ID (Legacy)" msgid "Template is using legacy field insertion" msgstr "Vorlage verwendet Altfeld-Integration" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "Vorlage verschoben" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "Vorlage umbenannt" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "Vorlage erneut gesendet" + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "Vorlage gespeichert" @@ -10891,10 +11060,6 @@ msgstr "Das Dokument konnte aufgrund fehlender oder ungültiger Informationen ni msgid "The Document has been deleted successfully." msgstr "Das Dokument wurde erfolgreich gelöscht." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "Das Dokument wurde erfolgreich verschoben." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "Das Dokument wurde erfolgreich abgelehnt." @@ -10923,10 +11088,32 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "Das Dokumenteigentum wurde im Namen von {1} an {0} delegiert" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "Der Signaturvorgang für das Dokument wird gestoppt" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "Das Dokument wurde erstellt, konnte aber nicht an die Empfänger versendet werden." +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of {user}" +msgstr "Das Dokument wurde extern von {onBehalfOf} im Auftrag von {user} abgelehnt" + +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of the recipient" +msgstr "Das Dokument wurde extern von {onBehalfOf} im Auftrag des Empfängers abgelehnt" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of {user}" +msgstr "Das Dokument wurde extern im Auftrag von {user} abgelehnt" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of the recipient" +msgstr "Das Dokument wurde extern im Auftrag des Empfängers abgelehnt" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "Das Dokument wird von Ihrem Konto verborgen werden" @@ -10935,6 +11122,10 @@ msgstr "Das Dokument wird von Ihrem Konto verborgen werden" msgid "The document will be immediately sent to recipients if this is checked." msgstr "Das Dokument wird sofort an die Empfänger gesendet, wenn dies angehakt ist." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "Das Dokument bleibt in Ihrem Dashboard und wird als „Storniert“ markiert" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "Das gesuchte Dokument konnte nicht gefunden werden." @@ -10948,6 +11139,10 @@ msgstr "Das gesuchte Dokument wurde möglicherweise entfernt, umbenannt oder exi msgid "The document's name" msgstr "Der Name des Dokuments" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "Die Dokumente bleiben in Ihrem Dashboard und werden als „Storniert“ markiert" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "Die E-Mail-Adresse, die im \"Antwort an\"-Feld in E-Mails angezeigt wird" @@ -10985,18 +11180,10 @@ msgstr "Der Order, den Sie löschen möchten, existiert nicht." msgid "The folder you are trying to move does not exist." msgstr "Der Order, den Sie verschieben möchten, existiert nicht." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "Der Ordner, in den Sie das Dokument verschieben möchten, existiert nicht." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "Der Ordner, in den Sie die Elemente verschieben möchten, ist nicht vorhanden." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "Der Ordner, in den Sie die Vorlage verschieben möchten, existiert nicht." - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "Die folgenden Fehler sind aufgetreten:" @@ -11148,6 +11335,10 @@ msgstr "Die Signaturfrist für dieses Dokument ist abgelaufen. Bitte kontaktiere msgid "The signing link has been copied to your clipboard." msgstr "Der Signierlink wurde in die Zwischenablage kopiert." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "Der Unterzeichnungsanbieter hat nicht rechtzeitig geantwortet. Bitte versuchen Sie es erneut." + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "Der Signaturzeitraum für \"{recipientName}\" im Dokument \"{documentName}\" ist abgelaufen." @@ -11171,10 +11362,6 @@ msgstr "Die Team-E-Mail <0>{teamEmail} wurde aus dem folgenden Team entfernt msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "Das Team, das Sie suchen, wurde möglicherweise entfernt, umbenannt oder hat möglicherweise nie existiert." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "Die Vorlage wurde erfolgreich verschoben." - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." msgstr "Die Vorlage oder einer ihrer Empfänger konnte nicht gefunden werden." @@ -11264,6 +11451,10 @@ msgstr "Dann wiederholen alle" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Es gibt derzeit keine aktiven Entwürfe. Sie können ein Dokument hochladen, um mit dem Entwerfen zu beginnen." +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "Es gibt keine stornierten Dokumente. Dokumente, die Sie stornieren, bleiben hier als Nachweis dafür, dass sie verteilt wurden." + #: apps/remix/app/components/tables/documents-table-empty-state.tsx 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." @@ -11329,6 +11520,10 @@ msgstr "Dieses Dokument kann nicht wiederhergestellt werden. Wenn du den Grund f msgid "This document cannot be changed" msgstr "Dieses Dokument kann nicht geändert werden" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "Dieses Dokument konnte derzeit nicht storniert werden. Bitte versuchen Sie es erneut." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Dieses Dokument konnte derzeit nicht gelöscht werden. Bitte versuchen Sie es erneut." @@ -11350,6 +11545,10 @@ msgstr "Dieses Dokument konnte derzeit nicht als Vorlage gespeichert werden. Bit msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "Dieses Dokument wurde bereits an diesen Empfänger gesendet. Sie können diesen Empfänger nicht mehr bearbeiten." +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "Dieses Dokument wurde storniert" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx 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." @@ -11473,6 +11672,10 @@ msgstr "Dieses Element kann nicht gelöscht werden" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "Dieser Link ist ungültig oder abgelaufen. Bitte kontaktieren Sie Ihr Team, um eine neue Bestätigungsanfrage zu senden." +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "Dieses Mitglied wird von einer Gruppe geerbt und kann nicht direkt aus dem Team entfernt werden." + #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "This organisation is awaiting payment. Complete checkout to unlock it." msgstr "Für diese Organisation steht eine Zahlung aus. Schließen Sie den Checkout ab, um sie freizuschalten." @@ -11876,6 +12079,7 @@ msgstr "Auslöser" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "Erneut versuchen" @@ -12028,6 +12232,10 @@ msgstr "Zwei-Faktor-Authentifizierung kann nicht eingerichtet werden" msgid "Unable to sign in" msgstr "Anmeldung nicht möglich" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "Der Signaturvorgang kann nicht gestartet werden" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12124,6 +12332,7 @@ msgstr "Unbetitelte Gruppe" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "Aktualisieren" @@ -12621,6 +12830,7 @@ msgstr "Dokument anzeigen" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "Dokument ansehen" @@ -13140,15 +13350,15 @@ msgstr "Wir warten noch darauf, dass andere Unterzeichner dieses Dokument unterz msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "Wir haben dein Passwort wie gewünscht geändert. Du kannst dich jetzt mit deinem neuen Passwort anmelden." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." msgstr "Wir haben API-Aktivitäten in deinem Konto festgestellt, die die Fair-Use-Grenzen deines aktuellen Tarifs überschreiten. Vorsorglich wurde neue API-Aktivität vorübergehend bis zur Überprüfung pausiert." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." msgstr "Wir haben Dokumentenaktivitäten in deinem Konto festgestellt, die die Fair-Use-Grenzen deines aktuellen Tarifs überschreiten. Vorsorglich wurde neue Dokumentenaktivität vorübergehend bis zur Überprüfung pausiert." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." msgstr "Wir haben E-Mail-Versandaktivitäten in deinem Konto festgestellt, die die Fair-Use-Grenzen deines aktuellen Tarifs überschreiten. Vorsorglich wurde neue E-Mail-Aktivität vorübergehend bis zur Überprüfung pausiert." @@ -13275,10 +13485,6 @@ msgstr "Während Sie darauf warten, können Sie Ihr eigenes Documenso-Konto erst msgid "Whitelabeling, unlimited members and more" msgstr "Whitelabeling, unbegrenzte Mitglieder und mehr" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "Wen möchten Sie erinnern?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13323,6 +13529,10 @@ msgstr "Sie haben einen Empfänger hinzugefügt" msgid "You approved the document" msgstr "Sie haben das Dokument genehmigt" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "Sie sind dabei, <0>\"{title}\" zu stornieren" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "Sie sind im Begriff, die Genehmigung des folgenden Dokuments abzuschließen" @@ -13477,10 +13687,6 @@ msgstr "Sie aktualisieren derzeit die Teamgruppe <0>{teamGroupName}." msgid "You are not allowed to move these items." msgstr "Sie dürfen diese Elemente nicht verschieben." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "You are not allowed to move this document." -msgstr "Sie dürfen dieses Dokument nicht verschieben." - #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx msgid "You are not authorized to access this page." @@ -13502,6 +13708,14 @@ msgstr "Sie sind nicht berechtigt, diesen Benutzer zu aktivieren." msgid "You are not authorized to reset two factor authentcation for this user." msgstr "Sie sind nicht berechtigt, die Zwei-Faktor-Authentifizierung für diesen Benutzer zurückzusetzen." +#: packages/lib/utils/document-audit-logs.ts +msgid "You authenticated with the signing provider" +msgstr "Sie haben sich beim Unterzeichnungsanbieter authentifiziert" + +#: packages/lib/utils/document-audit-logs.ts +msgid "You authorised the remote signature" +msgstr "Sie haben die Fernsignatur autorisiert" + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "You can add fields manually in the editor." msgstr "Sie können im Editor manuell Felder hinzufügen." @@ -13563,6 +13777,10 @@ msgstr "Sie können die erstellten Dokumente in Ihrem Dashboard unter der Rubrik msgid "You can view the document and its status by clicking the button below." msgstr "Sie können das Dokument und seinen Status einsehen, indem Sie auf die Schaltfläche unten klicken." +#: packages/lib/utils/document-audit-logs.ts +msgid "You cancelled the document" +msgstr "Sie haben das Dokument storniert" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -13590,8 +13808,16 @@ msgid "You cannot modify a team member who has a higher role than you." msgstr "Sie können ein Teammitglied, das eine höhere Rolle als Sie hat, nicht ändern." #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx -msgid "You cannot remove members from this team if the inherit member feature is enabled." -msgstr "Sie können keine Mitglieder aus diesem Team entfernen, wenn die Funktion Mitglied übernehmen aktiviert ist." +msgid "You cannot remove a member with a role higher than your own." +msgstr "Sie können kein Mitglied entfernen, das eine höhere Rolle als Sie selbst hat." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team while the inherit member feature is enabled." +msgstr "Sie können keine Mitglieder aus diesem Team entfernen, solange die Funktion zum Vererben von Mitgliedern aktiviert ist." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove the organisation owner from the team." +msgstr "Sie können den Organisationsinhaber nicht aus dem Team entfernen." #: packages/ui/primitives/document-dropzone.tsx #: packages/ui/primitives/document-upload-button.tsx @@ -13973,6 +14199,10 @@ msgstr "Sie haben die PDF für das Umschlagelement {0} ersetzt" msgid "You requested a 2FA token for the document" msgstr "Sie haben ein 2FA-Token für das Dokument angefordert" +#: packages/lib/utils/document-audit-logs.ts +msgid "You requested a remote signature" +msgstr "Sie haben eine Fernsignatur angefordert" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "You resent an email to {0}" @@ -14182,8 +14412,8 @@ msgstr "Ihr Dokument wurde erfolgreich erstellt" msgid "Your document has been deleted by an admin!" msgstr "Dein Dokument wurde von einem Administrator gelöscht!" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Your document has been re-sent successfully." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your document has been resent successfully." msgstr "Ihr Dokument wurde erfolgreich erneut gesendet." #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx @@ -14303,18 +14533,38 @@ msgstr "Ihre Organisation hat eine Fair-Use-Grenze überschritten. Bitte kontakt msgid "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." msgstr "Ihre Organisation hat die Fair-Use-Grenze Ihres Tarifs erreicht. Bitte kontaktieren Sie den Administrator Ihrer Organisation oder den Support, um fortzufahren." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit" +msgstr "Ihre Organisation nähert sich einem Fair-Use-Limit." + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." +msgstr "Ihre Organisation nähert sich einem Fair-Use-Limit. Wenn Sie höhere Limits benötigen, kontaktieren Sie bitte den <0>Support, um die Limits Ihres Tarifs zu überprüfen." + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." msgstr "Deine Organisation erzeugt API-Anfragen schneller als gewöhnlich, daher werden einige Anfragen vorübergehend gedrosselt." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." msgstr "Deine Organisation erzeugt Dokumente schneller als gewöhnlich, daher werden einige Anfragen vorübergehend gedrosselt." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." msgstr "Deine Organisation erzeugt E-Mails schneller als gewöhnlich, daher werden einige Anfragen vorübergehend gedrosselt." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "Ihre Organisation nähert sich den Fair-Use-Limits für das Erstellen von Dokumenten in Ihrem aktuellen Tarif. Sobald das Limit erreicht ist, wird neue Dokumentenaktivität vorübergehend pausiert." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "Ihre Organisation nähert sich den Fair-Use-Limits für API-Anfragen in Ihrem aktuellen Tarif. Sobald das Limit erreicht ist, wird neue API-Aktivität vorübergehend pausiert." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "Ihre Organisation nähert sich den Fair-Use-Limits für das Versenden von E-Mails in Ihrem aktuellen Tarif. Sobald das Limit erreicht ist, wird neue E-Mail-Aktivität vorübergehend pausiert." + #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx msgid "Your password has been updated successfully." @@ -14361,6 +14611,30 @@ msgstr "Ihr Wiederherstellungscode wurde in die Zwischenablage kopiert." msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "Ihre Wiederherstellungscodes sind unten aufgeführt. Bitte bewahren Sie sie an einem sicheren Ort auf." +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "Ihre Fernsignatur wurde angewendet" + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "Ihre Unterzeichnungsautorisierung ist abgelaufen, bevor die Signatur angewendet werden konnte. Bitte autorisieren Sie erneut, um es noch einmal zu versuchen." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "Ihr Signaturzertifikat ist ungültig, abgelaufen oder es fehlt ein erforderlicher Schlüssel. Wenden Sie sich an Ihren Administrator oder Unterzeichnungsanbieter, um Unterstützung zu erhalten." + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "Ihre Authentifizierung beim Unterzeichnungsanbieter ist fehlgeschlagen" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "Ihr Unterzeichnungsanbieter gibt keinen Signaturalgorithmus an, der von diesem Dokument akzeptiert wird. Wenden Sie sich an Ihren Administrator oder Unterzeichnungsanbieter, um Unterstützung zu erhalten." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "Ihr Unterzeichnungsanbieter hat für dieses Konto keine verwendbaren Anmeldedaten zurückgegeben. Wenden Sie sich an Ihren Administrator oder Unterzeichnungsanbieter, um Unterstützung zu erhalten." + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "Ihr Signaturzeitraum für dieses Dokument ist abgelaufen. Bitte kontaktieren Sie den Absender für eine neue Einladung." @@ -14386,6 +14660,10 @@ msgstr "Ihr Team wurde erfolgreich aktualisiert." msgid "Your template has been created successfully" msgstr "Ihre Vorlage wurde erfolgreich erstellt" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "Ihre Vorlage wurde erfolgreich erneut gesendet." + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "Ihre Vorlage wurde erfolgreich dupliziert." diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index 677380c11..454a46e1e 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -44,6 +44,10 @@ msgstr "“{documentName}” was signed by all signers" msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "\"{title}\" has been successfully cancelled" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" has been successfully deleted" @@ -97,6 +101,17 @@ msgstr "{0, plural, one {# character remaining} other {# characters remaining}}" msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" msgstr "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" + #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx msgid "{0, plural, one {# document} other {# documents}}" @@ -241,6 +256,11 @@ msgstr "{0, plural, one {We found # field in your document.} other {We found # f msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -478,6 +498,18 @@ msgstr "{user} added a recipient" msgid "{user} approved the document" msgstr "{user} approved the document" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "{user} authenticated with the signing provider" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "{user} authorised the remote signature" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "{user} cancelled the document" + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "{user} CC'd the document" @@ -541,6 +573,10 @@ msgstr "{user} replaced the PDF for envelope item {0}" msgid "{user} requested a 2FA token for the document" msgstr "{user} requested a 2FA token for the document" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "{user} requested a remote signature" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -612,6 +648,14 @@ msgstr "{user} validated a 2FA token for the document" msgid "{user} viewed the document" msgstr "{user} viewed the document" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "{user}'s remote signature was applied" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "{user}'s signing provider authentication failed" + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -637,8 +681,8 @@ msgstr "{visibleRows, plural, one {Showing # result.} other {Showing # results.} #. placeholder {0}: envelope.title #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx -msgid "<0>\"{0}\"is no longer available to sign" -msgstr "<0>\"{0}\"is no longer available to sign" +msgid "<0>\"{0}\" is no longer available to sign" +msgstr "<0>\"{0}\" is no longer available to sign" #: packages/email/templates/organisation-account-link-confirmation.tsx msgid "<0>{organisationName} has requested to create an account on your behalf." @@ -1251,6 +1295,14 @@ msgstr "Add an external ID to the document. This can be used to identify the doc msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Add an external ID to the template. This can be used to identify in external systems." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "Add an optional reason for cancelling these documents" + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "Add an optional reason for cancelling this document" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "Add and configure multiple documents" @@ -1709,6 +1761,10 @@ msgstr "An error occurred while auto-saving the template settings." msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "An error occurred while cancelling the documents." + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "An error occurred while completing the document. Please try again." @@ -1753,18 +1809,10 @@ msgstr "An error occurred while enabling the user." msgid "An error occurred while loading the document." msgstr "An error occurred while loading the document." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "An error occurred while moving the document." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "An error occurred while moving the items." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "An error occurred while moving the template." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "An error occurred while rejecting the document. Please try again." @@ -1852,6 +1900,14 @@ msgstr "An error occurred while uploading your document." msgid "An error occurred. Please try again later." msgstr "An error occurred. Please try again later." +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "An organisation has exceeded their fair use limits" + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "An organisation is nearing their fair use limits" + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "An organisation wants to create an account for you. Please review the details below." @@ -1976,10 +2032,28 @@ msgstr "API requests have been temporarily paused" msgid "API Tokens" msgstr "API Tokens" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "API usage is approaching fair use limits" + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "App Version" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "Applying your signature" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "Approaching fair use limit" + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "Approaching Your Plan Limits" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2065,6 +2139,7 @@ msgstr "Are you sure you wish to delete this organisation?" msgid "Are you sure you wish to delete this team?" msgstr "Are you sure you wish to delete this team?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2469,12 +2544,11 @@ msgstr "Can't find someone?" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2483,6 +2557,7 @@ msgstr "Can't find someone?" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2529,7 +2604,6 @@ msgstr "Can't find someone?" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2554,6 +2628,8 @@ msgstr "Can't find someone?" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2564,6 +2640,24 @@ msgstr "Can't find someone?" msgid "Cancel" msgstr "Cancel" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "Cancel document" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "Cancel documents" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "Cancel Documents" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "Cancelled" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "Cancelled by user" @@ -2610,6 +2704,10 @@ msgstr "Ccers" msgid "Center" msgstr "Center" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx +msgid "Change Field Type" +msgstr "Change Field Type" + #: apps/remix/app/components/general/app-command-menu.tsx msgid "Change language" msgstr "Change language" @@ -4099,6 +4197,16 @@ msgstr "Document All" msgid "Document Approved" msgstr "Document Approved" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "Document cancelled" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "Document cancelled" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4256,10 +4364,6 @@ msgstr "Document Limit Exceeded!" msgid "Document metrics" msgstr "Document metrics" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "Document moved" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4300,10 +4404,6 @@ msgstr "Document preferences updated" msgid "Document rate limits" msgstr "Document rate limits" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "Document re-sent" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx msgid "Document rejected" @@ -4319,6 +4419,10 @@ msgstr "Document Rejected" msgid "Document Renamed" msgstr "Document Renamed" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "Document resent" + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "Document sent" @@ -4394,6 +4498,10 @@ msgstr "Document upload disabled due to unpaid invoices" msgid "Document uploaded" msgstr "Document uploaded" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "Document usage is approaching fair use limits" + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4454,6 +4562,10 @@ msgstr "Documents" msgid "Documents and resources related to this envelope." msgstr "Documents and resources related to this envelope." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "Documents cancelled" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4471,6 +4583,10 @@ msgstr "Documents created from template" msgid "Documents deleted" msgstr "Documents deleted" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "Documents partially cancelled" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "Documents partially deleted" @@ -4955,6 +5071,10 @@ msgstr "Email transport" msgid "Email Transports" msgstr "Email Transports" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "Email usage is approaching fair use limits" + #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" msgstr "Email verification" @@ -5254,14 +5374,10 @@ msgstr "Envelope updated" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5678,9 +5794,7 @@ msgstr "Filter by status" msgid "Focus ring colour." msgstr "Focus ring colour." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "Folder" @@ -5769,6 +5883,11 @@ msgctxt "Subscription status" msgid "Free" msgstr "Free" +#: apps/remix/app/components/tables/user-billing-organisations-table.tsx +msgctxt "Subscription status" +msgid "Free (Pending)" +msgstr "Free (Pending)" + #: packages/lib/utils/fields.ts #: packages/ui/primitives/document-flow/types.ts msgid "Free Signature" @@ -6055,9 +6174,7 @@ msgstr "Hide license key" msgid "Home" msgstr "Home" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "Home (No Folder)" @@ -6137,6 +6254,7 @@ msgstr "Identifying input fields" msgid "Identifying recipients" msgstr "Identifying recipients" +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "If there is any issue with your subscription, please contact us at <0>{SUPPORT_EMAIL}." msgstr "If there is any issue with your subscription, please contact us at <0>{SUPPORT_EMAIL}." @@ -6165,6 +6283,10 @@ msgstr "If you do not want to use the authenticator prompted, you can close it, msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "If you don't find the confirmation link in your inbox, you can request a new one below." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "If your authenticator app does not support QR codes, you can use the following code instead:" @@ -6193,10 +6315,12 @@ msgstr "Inbox documents" msgid "Include audit log" msgstr "Include audit log" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "Include Fields" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "Include Recipients" @@ -6771,6 +6895,7 @@ msgstr "Manage and view template" msgid "Manage billing" msgstr "Manage billing" +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx #: apps/remix/app/components/tables/user-billing-organisations-table.tsx msgid "Manage Billing" @@ -7069,22 +7194,12 @@ msgstr "Monthly document quota" msgid "Monthly email quota" msgstr "Monthly email quota" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "Move" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "Move \"{templateTitle}\" to a folder" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "Move Document to Folder" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "Move Documents to Folder" @@ -7099,10 +7214,6 @@ msgstr "Move Folder" msgid "Move Subscription" msgstr "Move Subscription" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "Move Template to Folder" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "Move Templates to Folder" @@ -7288,13 +7399,15 @@ msgstr "No emails configured for this domain." msgid "No features enabled" msgstr "No features enabled" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx +msgid "No field type matching this description was found." +msgstr "No field type matching this description was found." + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "No fields were detected in your document." msgstr "No fields were detected in your document." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "No folders found" @@ -7397,6 +7510,10 @@ msgstr "No results found." msgid "No signature field found" msgstr "No signature field found" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "No signing credentials available" + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "No Stripe customer attached" @@ -7471,6 +7588,10 @@ msgstr "Not set" msgid "Not supported" msgstr "Not supported" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "Nothing cancelled" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7533,7 +7654,9 @@ msgstr "On this page, you can create and manage API tokens. See our <0>Documenta msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "On this page, you can create new Webhooks and manage the existing ones." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "Once confirmed, the following will occur:" @@ -7574,6 +7697,10 @@ msgstr "Only one file can be uploaded at a time" msgid "Only PDF files are allowed" msgstr "Only PDF files are allowed" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "Only pending documents you have permission to manage will be cancelled." + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7708,9 +7835,9 @@ msgstr "Organisation Name" msgid "Organisation not found" msgstr "Organisation not found" -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" msgstr "Organisation Review Required" @@ -7961,6 +8088,11 @@ msgstr "Past Due" msgid "Payment overdue" msgstr "Payment overdue" +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "Payment required" +msgstr "Payment required" + #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx msgid "PDF Document" msgstr "PDF Document" @@ -8147,7 +8279,7 @@ msgstr "Please confirm your email address" msgid "Please contact <0>support if you have any questions." msgstr "Please contact <0>support if you have any questions." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." msgstr "Please contact support at {SUPPORT_EMAIL} and we will review your account." @@ -8159,6 +8291,10 @@ msgstr "Please contact support if you would like to revert this action." msgid "Please contact the site owner for further assistance." msgstr "Please contact the site owner for further assistance." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "Please don't close this tab. The signing provider is finalising your signature." + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "Please enter a meaningful name for your token. This will help you identify it later." @@ -8528,6 +8664,11 @@ msgstr "Ready" msgid "Reason" msgstr "Reason" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "Reason (optional)" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "Reason for cancellation: {cancellationReason}" @@ -8548,6 +8689,10 @@ msgstr "Reason must be less than 500 characters" msgid "Reauthentication is required to sign this field" msgstr "Reauthentication is required to sign this field" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "Reauthorise and retry" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "Receives copy" @@ -8589,6 +8734,14 @@ msgstr "Recipient action authentication" msgid "Recipient approved the document" msgstr "Recipient approved the document" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "Recipient authenticated with the signing provider" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "Recipient authorised the remote signature" + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "Recipient CC'd the document" @@ -8631,6 +8784,10 @@ msgstr "Recipient removed email" msgid "Recipient requested a 2FA token for the document" msgstr "Recipient requested a 2FA token for the document" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "Recipient requested a remote signature" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "Recipient signed" @@ -8668,6 +8825,14 @@ msgstr "Recipient validated a 2FA token for the document" msgid "Recipient viewed the document" msgstr "Recipient viewed the document" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "Recipient's remote signature was applied" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "Recipient's signing provider authentication failed" + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8691,6 +8856,11 @@ msgstr "Recipients that will be automatically added to new documents." msgid "Recipients will be able to sign the document once sent" msgstr "Recipients will be able to sign the document once sent" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "Recipients will be notified that the document was cancelled" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Recipients will still retain their copy of the document" @@ -8983,8 +9153,9 @@ msgstr "Reseal" msgid "Reseal document" msgstr "Reseal document" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9274,10 +9445,8 @@ msgstr "Search by organisation name, URL or ID" msgid "Search documents..." msgstr "Search documents..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9331,9 +9500,9 @@ msgstr "Select" msgid "Select a destination for this folder." msgstr "Select a destination for this folder." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "Select a folder to move this document to." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx +msgid "Select a field type" +msgstr "Select a field type" #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" @@ -9589,7 +9758,6 @@ msgstr "Send on Behalf of Team" msgid "Send recipient expired email to the owner" msgstr "Send recipient expired email to the owner" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "Send reminder" @@ -9936,11 +10104,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "Signing" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "Signing algorithm is not supported" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "Signing Certificate" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "Signing certificate is invalid" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9955,6 +10131,10 @@ msgstr "Signing Complete!" msgid "Signing Deadline Expired" msgstr "Signing Deadline Expired" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "Signing failed" + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "Signing for" @@ -10034,6 +10214,7 @@ msgstr "Skip" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10081,6 +10262,10 @@ msgstr "Some signers have not been assigned a signature field. Please assign at msgid "Something went wrong" msgstr "Something went wrong" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "Something went wrong while applying your signature. Please retry." + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10102,6 +10287,10 @@ msgstr "Something went wrong while loading the document." msgid "Something went wrong while loading your passkeys." msgstr "Something went wrong while loading your passkeys." +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "Something went wrong while preparing the remote signature. Please try again." + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." msgstr "Something went wrong while rendering the document, please try again or contact our support." @@ -10669,14 +10858,14 @@ msgstr "Template ID (Legacy)" msgid "Template is using legacy field insertion" msgstr "Template is using legacy field insertion" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "Template moved" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "Template Renamed" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "Template resent" + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "Template saved" @@ -10862,10 +11051,6 @@ msgstr "The document could not be created because of missing or invalid informat msgid "The Document has been deleted successfully." msgstr "The Document has been deleted successfully." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "The document has been moved successfully." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "The document has been successfully rejected." @@ -10894,6 +11079,11 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "The document ownership was delegated to {0} on behalf of {1}" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "The document signing process will be stopped" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "The document was created but could not be sent to recipients." @@ -10906,6 +11096,10 @@ msgstr "The document will be hidden from your account" msgid "The document will be immediately sent to recipients if this is checked." msgstr "The document will be immediately sent to recipients if this is checked." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "The document will remain in your dashboard marked as Cancelled" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "The document you are looking for could not be found." @@ -10919,6 +11113,10 @@ msgstr "The document you are looking for may have been removed, renamed or may h msgid "The document's name" msgstr "The document's name" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "The documents will remain in your dashboard marked as Cancelled" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "The email address which will show up in the \"Reply To\" field in emails" @@ -10956,18 +11154,10 @@ msgstr "The folder you are trying to delete does not exist." msgid "The folder you are trying to move does not exist." msgstr "The folder you are trying to move does not exist." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "The folder you are trying to move the document to does not exist." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "The folder you are trying to move the items to does not exist." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "The folder you are trying to move the template to does not exist." - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "The following errors occurred:" @@ -11119,6 +11309,10 @@ msgstr "The signing deadline for this document has passed. Please contact the do msgid "The signing link has been copied to your clipboard." msgstr "The signing link has been copied to your clipboard." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "The signing provider did not respond in time. Please retry." + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." @@ -11142,10 +11336,6 @@ msgstr "The team email <0>{teamEmail} has been removed from the following te msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "The team you are looking for may have been removed, renamed or may have never existed." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "The template has been moved successfully." - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." msgstr "The template or one of its recipients could not be found." @@ -11235,6 +11425,10 @@ msgstr "Then repeat every" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "There are no active drafts at the current moment. You can upload a document to start drafting." +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." + #: apps/remix/app/components/tables/documents-table-empty-state.tsx 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." @@ -11300,6 +11494,10 @@ msgstr "This document can not be recovered, if you would like to dispute the rea msgid "This document cannot be changed" msgstr "This document cannot be changed" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "This document could not be cancelled at this time. Please try again." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "This document could not be deleted at this time. Please try again." @@ -11321,6 +11519,10 @@ msgstr "This document could not be saved as a template at this time. Please try msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "This document has already been sent to this recipient. You can no longer edit this recipient." +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "This document has been cancelled" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx 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." @@ -11444,6 +11646,14 @@ msgstr "This item cannot be deleted" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "This link is invalid or has expired. Please contact your team to resend a verification." +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "This member is inherited from a group and cannot be removed from the team directly." + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "This organisation is awaiting payment. Complete checkout to unlock it." +msgstr "This organisation is awaiting payment. Complete checkout to unlock it." + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "This organisation will have administrative control over your account. You can revoke this access later, but they will retain access to any data they've already collected." msgstr "This organisation will have administrative control over your account. You can revoke this access later, but they will retain access to any data they've already collected." @@ -11843,6 +12053,7 @@ msgstr "Triggers" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "Try again" @@ -11995,6 +12206,10 @@ msgstr "Unable to setup two-factor authentication" msgid "Unable to sign in" msgstr "Unable to sign in" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "Unable to start the signing flow" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12091,6 +12306,7 @@ msgstr "Untitled Group" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "Update" @@ -12588,6 +12804,7 @@ msgstr "View document" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "View Document" @@ -13107,15 +13324,15 @@ msgstr "We're still waiting for other signers to sign this document.<0/>We'll no msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "We've changed your password as you asked. You can now sign in with your new password." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." msgstr "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." msgstr "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." msgstr "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." @@ -13242,10 +13459,6 @@ msgstr "While waiting for them to do so you can create your own Documenso accoun msgid "Whitelabeling, unlimited members and more" msgstr "Whitelabeling, unlimited members and more" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "Who do you want to remind?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13290,6 +13503,10 @@ msgstr "You added a recipient" msgid "You approved the document" msgstr "You approved the document" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "You are about to cancel <0>\"{title}\"" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "You are about to complete approving the following document" @@ -13444,10 +13661,6 @@ msgstr "You are currently updating the <0>{teamGroupName} team group." msgid "You are not allowed to move these items." msgstr "You are not allowed to move these items." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "You are not allowed to move this document." -msgstr "You are not allowed to move this document." - #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx msgid "You are not authorized to access this page." @@ -13469,6 +13682,14 @@ msgstr "You are not authorized to enable this user." msgid "You are not authorized to reset two factor authentcation for this user." msgstr "You are not authorized to reset two factor authentcation for this user." +#: packages/lib/utils/document-audit-logs.ts +msgid "You authenticated with the signing provider" +msgstr "You authenticated with the signing provider" + +#: packages/lib/utils/document-audit-logs.ts +msgid "You authorised the remote signature" +msgstr "You authorised the remote signature" + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "You can add fields manually in the editor." msgstr "You can add fields manually in the editor." @@ -13530,6 +13751,10 @@ msgstr "You can view the created documents in your dashboard under the \"Documen msgid "You can view the document and its status by clicking the button below." msgstr "You can view the document and its status by clicking the button below." +#: packages/lib/utils/document-audit-logs.ts +msgid "You cancelled the document" +msgstr "You cancelled the document" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -13557,8 +13782,16 @@ msgid "You cannot modify a team member who has a higher role than you." msgstr "You cannot modify a team member who has a higher role than you." #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx -msgid "You cannot remove members from this team if the inherit member feature is enabled." -msgstr "You cannot remove members from this team if the inherit member feature is enabled." +msgid "You cannot remove a member with a role higher than your own." +msgstr "You cannot remove a member with a role higher than your own." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team while the inherit member feature is enabled." +msgstr "You cannot remove members from this team while the inherit member feature is enabled." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove the organisation owner from the team." +msgstr "You cannot remove the organisation owner from the team." #: packages/ui/primitives/document-dropzone.tsx #: packages/ui/primitives/document-upload-button.tsx @@ -13940,6 +14173,10 @@ msgstr "You replaced the PDF for envelope item {0}" msgid "You requested a 2FA token for the document" msgstr "You requested a 2FA token for the document" +#: packages/lib/utils/document-audit-logs.ts +msgid "You requested a remote signature" +msgstr "You requested a remote signature" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "You resent an email to {0}" @@ -14149,9 +14386,9 @@ msgstr "Your document has been created successfully" msgid "Your document has been deleted by an admin!" msgstr "Your document has been deleted by an admin!" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Your document has been re-sent successfully." -msgstr "Your document has been re-sent successfully." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your document has been resent successfully." +msgstr "Your document has been resent successfully." #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Your document has been saved as a template." @@ -14270,18 +14507,38 @@ msgstr "Your organisation has exceeded a fair use limit. Please contact <0>suppo msgid "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." msgstr "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit" +msgstr "Your organisation is approaching a fair use limit" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." +msgstr "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." msgstr "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." msgstr "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." msgstr "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." + #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx msgid "Your password has been updated successfully." @@ -14328,6 +14585,30 @@ msgstr "Your recovery code has been copied to your clipboard." msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "Your recovery codes are listed below. Please store them in a safe place." +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "Your remote signature was applied" + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "Your signing provider authentication failed" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "Your signing window for this document has expired. Please contact the sender for a new invitation." @@ -14353,6 +14634,10 @@ msgstr "Your team has been successfully updated." msgid "Your template has been created successfully" msgstr "Your template has been created successfully" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "Your template has been resent successfully." + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "Your template has been successfully duplicated." diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index b7cba4cad..4eef75f10 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-12 07:37\n" +"PO-Revision-Date: 2026-06-22 13:53\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -49,6 +49,10 @@ msgstr "\"{documentName}\" fue firmado por todos los firmantes" msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" en nombre de \"Team Name\" te ha invitado a firmar \"example document\"." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "\"{title}\" se ha cancelado correctamente" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" ha sido eliminado con éxito" @@ -102,6 +106,17 @@ msgstr "{0, plural, one {# carácter restante} other {# caracteres restantes}}" msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" msgstr "{0, plural, one {Se descartó # regla CSS durante la sanitización.} other {Se descartaron # reglas CSS durante la sanitización.}}" +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "{0, plural, one {Se canceló # documento.} other {Se cancelaron # documentos.}} {1, plural, one {No se pudo cancelar # documento.} other {No se pudieron cancelar # documentos.}}" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "{0, plural, one {Se ha cancelado # documento.} other {Se han cancelado # documentos.}}" + #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx msgid "{0, plural, one {# document} other {# documents}}" @@ -246,6 +261,11 @@ msgstr "{0, plural, one {Hemos encontrado # campo en tu documento.} other {Hemos msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "{0, plural, one {Hemos encontrado # destinatario en tu documento.} other {Hemos encontrado # destinatarios en tu documento.}}" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "{0, plural, one {Está a punto de cancelar el documento seleccionado.} other {Está a punto de cancelar # documentos.}}" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -483,6 +503,18 @@ msgstr "{user} agregó un destinatario" msgid "{user} approved the document" msgstr "{user} aprobó el documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "{user} se autenticó con el proveedor de firma" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "{user} autorizó la firma remota" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "{user} canceló el documento" + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "{user} envió una copia del documento" @@ -546,6 +578,10 @@ msgstr "{user} reemplazó el PDF del elemento de sobre {0}" msgid "{user} requested a 2FA token for the document" msgstr "{user} solicitó un token 2FA para el documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "{user} solicitó una firma remota" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -617,6 +653,14 @@ msgstr "{user} validó un token 2FA para el documento" msgid "{user} viewed the document" msgstr "{user} vio el documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "Se aplicó la firma remota de {user}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "Falló la autenticación de {user} con el proveedor de firma" + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -1256,6 +1300,14 @@ msgstr "Agregue un ID externo al documento. Esto se puede usar para identificar msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Agregue un ID externo a la plantilla. Esto se puede usar para identificar en sistemas externos." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "Añada un motivo opcional para cancelar estos documentos" + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "Añada un motivo opcional para cancelar este documento" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "Agregar y configurar múltiples documentos" @@ -1714,6 +1766,10 @@ msgstr "Ocurrió un error al guardar automáticamente la configuración de la pl msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "Se produjo un error al firmar automáticamente el documento, es posible que algunos campos no estén firmados. Por favor, revise y firme manualmente cualquier campo restante." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "Se produjo un error al cancelar los documentos." + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "Se produjo un error al completar el documento. Inténtalo de nuevo." @@ -1758,18 +1814,10 @@ msgstr "Se produjo un error al habilitar al usuario." msgid "An error occurred while loading the document." msgstr "Se produjo un error al cargar el documento." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "Ocurrió un error al mover el documento." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "Se produjo un error al mover los elementos." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "Ocurrió un error al mover la plantilla." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "Se produjo un error al rechazar el documento. Inténtalo de nuevo." @@ -1857,6 +1905,14 @@ msgstr "Ocurrió un error al subir tu documento." msgid "An error occurred. Please try again later." msgstr "Ocurrió un error. Por favor intenta de nuevo más tarde." +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "Una organización ha superado sus límites de uso justo" + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "Una organización se está acercando a sus límites de uso justo" + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "Una organización quiere crear una cuenta para ti. Por favor, revisa los detalles a continuación." @@ -1981,10 +2037,28 @@ msgstr "Las solicitudes a la API se han pausado temporalmente." msgid "API Tokens" msgstr "Tokens de API" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "El uso de la API se está acercando a los límites de uso justo" + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "Versión de la Aplicación" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "Aplicando tu firma" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "Límite de uso justo próximo a alcanzarse" + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "Estás alcanzando los límites de tu plan" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2070,6 +2144,7 @@ msgstr "¿Está seguro de que desea eliminar esta organización?" msgid "Are you sure you wish to delete this team?" msgstr "¿Estás seguro de que deseas eliminar este equipo?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2474,12 +2549,11 @@ msgstr "¿No puedes encontrar a alguien?" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2488,6 +2562,7 @@ msgstr "¿No puedes encontrar a alguien?" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2534,7 +2609,6 @@ msgstr "¿No puedes encontrar a alguien?" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2559,6 +2633,8 @@ msgstr "¿No puedes encontrar a alguien?" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2569,6 +2645,24 @@ msgstr "¿No puedes encontrar a alguien?" msgid "Cancel" msgstr "Cancelar" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "Cancelar documento" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "Cancelar documentos" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "Cancelar documentos" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "Cancelado" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "Cancelado por el usuario" @@ -4108,6 +4202,16 @@ msgstr "Documentar Todo" msgid "Document Approved" msgstr "Documento Aprobado" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "Documento cancelado" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "Documento cancelado" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4265,10 +4369,6 @@ msgstr "¡Límite de documentos excedido!" msgid "Document metrics" msgstr "Métricas de documento" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "Documento movido" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4309,10 +4409,6 @@ msgstr "Preferencias del documento actualizadas" msgid "Document rate limits" msgstr "Límites de velocidad de documentos" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "Documento reenviado" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx msgid "Document rejected" @@ -4328,6 +4424,10 @@ msgstr "Documento Rechazado" msgid "Document Renamed" msgstr "Documento renombrado" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "Documento reenviado" + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "Documento enviado" @@ -4403,6 +4503,10 @@ msgstr "La carga de documentos está deshabilitada debido a facturas impagadas" msgid "Document uploaded" msgstr "Documento subido" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "El uso de documentos se está acercando a los límites de uso justo" + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4463,6 +4567,10 @@ msgstr "Documentos" msgid "Documents and resources related to this envelope." msgstr "Documentos y recursos relacionados con este sobre." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "Documentos cancelados" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4480,6 +4588,10 @@ msgstr "Documentos creados a partir de la plantilla" msgid "Documents deleted" msgstr "Documentos eliminados" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "Documentos cancelados parcialmente" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "Documentos eliminados parcialmente" @@ -4964,6 +5076,10 @@ msgstr "Transporte de correo electrónico" msgid "Email Transports" msgstr "Transportes de correo electrónico" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "El uso de correos electrónicos se está acercando a los límites de uso justo" + #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" msgstr "Verificación de Correo Electrónico" @@ -5263,14 +5379,10 @@ msgstr "Sobre actualizado" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5687,9 +5799,7 @@ msgstr "Filtrar por estado" msgid "Focus ring colour." msgstr "Color del anillo de enfoque." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "Carpeta" @@ -6069,9 +6179,7 @@ msgstr "Ocultar clave de licencia" msgid "Home" msgstr "Inicio" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "Inicio (Sin Carpeta)" @@ -6180,6 +6288,10 @@ msgstr "Si no deseas usar el autenticador solicitado, puedes cerrarlo, lo que mo msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "Si no encuentras el enlace de confirmación en tu bandeja de entrada, puedes solicitar uno nuevo a continuación." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "Si crees que necesitarás límites más altos, contacta con el equipo de soporte en {SUPPORT_EMAIL} y revisaremos tu cuenta." + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "Si tu aplicación de autenticación no admite códigos QR, puedes usar el siguiente código en su lugar:" @@ -6208,10 +6320,12 @@ msgstr "Documentos en bandeja de entrada" msgid "Include audit log" msgstr "Incluir registro de auditoría" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "Incluir campos" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "Incluir destinatarios" @@ -7085,22 +7199,12 @@ msgstr "Cuota mensual de documentos" msgid "Monthly email quota" msgstr "Cuota mensual de correos electrónicos" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "Mover" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "Mover \"{templateTitle}\" a una carpeta" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "Mover Documento a Carpeta" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "Mover documentos a la carpeta" @@ -7115,10 +7219,6 @@ msgstr "Mover Carpeta" msgid "Move Subscription" msgstr "Mover suscripción" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "Mover Plantilla a Carpeta" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "Mover plantillas a la carpeta" @@ -7312,9 +7412,7 @@ msgstr "No se encontró ningún tipo de campo que coincidiera con esta descripci msgid "No fields were detected in your document." msgstr "No se detectaron campos en tu documento." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "No se encontraron carpetas" @@ -7417,6 +7515,10 @@ msgstr "No se encontraron resultados." msgid "No signature field found" msgstr "No se encontró campo de firma" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "No hay credenciales de firma disponibles" + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "No hay cliente de Stripe adjunto" @@ -7491,6 +7593,10 @@ msgstr "No establecido" msgid "Not supported" msgstr "No soportado" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "Nada cancelado" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7553,7 +7659,9 @@ msgstr "En esta página, puedes crear y gestionar tokens de API. Consulta nuestr msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "En esta página, puedes editar el webhook y sus configuraciones." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "Una vez confirmado, ocurrirá lo siguiente:" @@ -7594,6 +7702,10 @@ msgstr "Solo se puede cargar un archivo a la vez" msgid "Only PDF files are allowed" msgstr "Solo se permiten archivos PDF" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "Solo se cancelarán los documentos pendientes que tenga permiso para gestionar." + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7728,9 +7840,9 @@ msgstr "Nombre de la Organización" msgid "Organisation not found" msgstr "Organización no encontrada" -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" msgstr "Revisión de la organización requerida" @@ -8172,7 +8284,7 @@ msgstr "Por favor confirma tu dirección de correo electrónico" msgid "Please contact <0>support if you have any questions." msgstr "Comunícate con el <0>soporte si tienes alguna pregunta." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." msgstr "Ponte en contacto con soporte en {SUPPORT_EMAIL} y revisaremos tu cuenta." @@ -8184,6 +8296,10 @@ msgstr "Por favor, contacta al soporte si deseas revertir esta acción." msgid "Please contact the site owner for further assistance." msgstr "Por favor, contacte al propietario del sitio para más asistencia." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "Por favor, no cierres esta pestaña. El proveedor de firma está finalizando tu firma." + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "Por favor, ingresa un nombre significativo para tu token. Esto te ayudará a identificarlo más tarde." @@ -8553,6 +8669,11 @@ msgstr "Listo" msgid "Reason" msgstr "Razón" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "Motivo (opcional)" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "Razón de cancelación: {cancellationReason}" @@ -8573,6 +8694,10 @@ msgstr "Reason must be less than 500 characters" msgid "Reauthentication is required to sign this field" msgstr "Se requiere reautenticación para firmar este campo" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "Volver a autorizar e intentar de nuevo" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "Recibe copia" @@ -8614,6 +8739,14 @@ msgstr "Autenticación de acción de destinatario" msgid "Recipient approved the document" msgstr "El destinatario aprobó el documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "El destinatario se autenticó con el proveedor de firma" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "El destinatario autorizó la firma remota" + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "El destinatario envió una copia del documento" @@ -8644,6 +8777,10 @@ msgstr "ID de destinatario:" msgid "Recipient rejected the document" msgstr "El destinatario rechazó el documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient rejected the document externally" +msgstr "El destinatario rechazó el documento externamente" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient removed" msgstr "Destinatario eliminado" @@ -8656,6 +8793,10 @@ msgstr "Correo electrónico de destinatario eliminado" msgid "Recipient requested a 2FA token for the document" msgstr "El destinatario solicitó un token 2FA para el documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "El destinatario solicitó una firma remota" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "Destinatario firmó" @@ -8693,6 +8834,14 @@ msgstr "El destinatario validó un token 2FA para el documento" msgid "Recipient viewed the document" msgstr "El destinatario vio el documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "Se aplicó la firma remota del destinatario" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "Falló la autenticación del proveedor de firma del destinatario" + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8716,6 +8865,11 @@ msgstr "Destinatarios que se agregarán automáticamente a los nuevos documentos msgid "Recipients will be able to sign the document once sent" msgstr "Los destinatarios podrán firmar el documento una vez enviado" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "Se notificará a los destinatarios que el documento fue cancelado" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Los destinatarios aún conservarán su copia del documento" @@ -9008,8 +9162,9 @@ msgstr "Volver a sellar" msgid "Reseal document" msgstr "Re-sellar documento" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9299,10 +9454,8 @@ msgstr "Buscar por nombre de organización, URL o ID" msgid "Search documents..." msgstr "Buscar documentos..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9360,10 +9513,6 @@ msgstr "Selecciona un destino para esta carpeta." msgid "Select a field type" msgstr "Selecciona un tipo de campo" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "Selecciona una carpeta para mover este documento." - #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" msgstr "Seleccionar un plan" @@ -9618,7 +9767,6 @@ msgstr "Enviar en nombre del equipo" msgid "Send recipient expired email to the owner" msgstr "Enviar correo electrónico de destinatario vencido al propietario" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "Enviar recordatorio" @@ -9965,11 +10113,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "Firmando" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "El algoritmo de firma no es compatible" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "Certificado de Firma" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "El certificado de firma no es válido" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9984,6 +10140,10 @@ msgstr "¡Firma completa!" msgid "Signing Deadline Expired" msgstr "Fecha límite de firma vencida" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "La firma ha fallado" + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "Firmando para" @@ -10063,6 +10223,7 @@ msgstr "Omitir" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Algunos firmantes no han sido asignados a un campo de firma. Asigne al menos 1 campo de firma a cada firmante antes de continuar." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10110,6 +10271,10 @@ msgstr "Algunos firmantes no han sido asignados a un campo de firma. Asigne al m msgid "Something went wrong" msgstr "Algo salió mal" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "Se ha producido un error al aplicar tu firma. Vuelve a intentarlo." + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10131,6 +10296,10 @@ msgstr "Algo salió mal al cargar el documento." msgid "Something went wrong while loading your passkeys." msgstr "Algo salió mal al cargar tus claves de acceso." +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "Se ha producido un error al preparar la firma remota. Vuelve a intentarlo." + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." msgstr "Se ha producido un error al renderizar el documento, inténtalo de nuevo o contacta con nuestro soporte." @@ -10698,14 +10867,14 @@ msgstr "ID de plantilla (Legado)" msgid "Template is using legacy field insertion" msgstr "La plantilla utiliza inserción de campos heredada" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "Plantilla movida" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "Plantilla renombrada" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "Plantilla reenviada" + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "Plantilla guardada" @@ -10891,10 +11060,6 @@ msgstr "No se pudo crear el documento debido a información faltante o no válid msgid "The Document has been deleted successfully." msgstr "El documento se ha eliminado correctamente." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "El documento se ha movido exitosamente." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "El documento se ha rechazado correctamente." @@ -10923,10 +11088,32 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "La propiedad del documento se delegó a {0} en nombre de {1}" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "El proceso de firma del documento se detendrá" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "El documento fue creado pero no se pudo enviar a los destinatarios." +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of {user}" +msgstr "El documento fue rechazado externamente por {onBehalfOf} en nombre de {user}" + +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of the recipient" +msgstr "El documento fue rechazado externamente por {onBehalfOf} en nombre del destinatario" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of {user}" +msgstr "El documento fue rechazado externamente en nombre de {user}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of the recipient" +msgstr "El documento fue rechazado externamente en nombre del destinatario" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "El documento será ocultado de tu cuenta" @@ -10935,6 +11122,10 @@ msgstr "El documento será ocultado de tu cuenta" msgid "The document will be immediately sent to recipients if this is checked." msgstr "El documento se enviará inmediatamente a los destinatarios si esto está marcado." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "El documento permanecerá en su panel marcado como Cancelado" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "No se pudo encontrar el documento que está buscando." @@ -10948,6 +11139,10 @@ msgstr "El documento que estás buscando puede haber sido eliminado, renombrado msgid "The document's name" msgstr "El nombre del documento" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "Los documentos permanecerán en su panel marcados como Cancelados" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "La dirección de correo que aparecerá en el campo \"Responder a\" en los correos electrónicos" @@ -10985,18 +11180,10 @@ msgstr "La carpeta que intenta eliminar no existe." msgid "The folder you are trying to move does not exist." msgstr "La carpeta que intenta mover no existe." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "La carpeta a la que intenta mover el documento no existe." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "La carpeta a la que intentas mover los elementos no existe." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "La carpeta a la que intenta mover la plantilla no existe." - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "Se produjeron los siguientes errores:" @@ -11148,6 +11335,10 @@ msgstr "La fecha límite de firma de este documento ha pasado. Ponte en contacto msgid "The signing link has been copied to your clipboard." msgstr "El enlace de firma ha sido copiado a tu portapapeles." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "El proveedor de firma no respondió a tiempo. Vuelve a intentarlo." + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "La ventana de firma para \"{recipientName}\" en el documento \"{documentName}\" ha vencido." @@ -11171,10 +11362,6 @@ msgstr "El correo electrónico del equipo <0>{teamEmail} ha sido eliminado d msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "El equipo que estás buscando puede haber sido eliminado, renombrado o quizás nunca existió." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "La plantilla se ha movido exitosamente." - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." msgstr "No se pudo encontrar la plantilla o uno de sus destinatarios." @@ -11264,6 +11451,10 @@ msgstr "Luego repetir cada" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "No hay borradores activos en este momento. Puedes subir un documento para comenzar a redactar." +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "No hay documentos cancelados. Los documentos que cancele permanecerán aquí como registro de que fueron distribuidos." + #: apps/remix/app/components/tables/documents-table-empty-state.tsx 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." @@ -11329,6 +11520,10 @@ msgstr "Este documento no se puede recuperar, si deseas impugnar la razón para msgid "This document cannot be changed" msgstr "Este documento no se puede cambiar" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "Este documento no se pudo cancelar en este momento. Por favor, inténtelo de nuevo." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Este documento no se pudo eliminar en este momento. Por favor, inténtalo de nuevo." @@ -11350,6 +11545,10 @@ msgstr "Este documento no se pudo guardar como plantilla en este momento. Por fa msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "Este documento ya ha sido enviado a este destinatario. Ya no puede editar a este destinatario." +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "Este documento ha sido cancelado" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx 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." @@ -11473,6 +11672,10 @@ msgstr "Este elemento no se puede eliminar" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "Este enlace es inválido o ha expirado. Por favor, contacta a tu equipo para reenviar una verificación." +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "Este miembro se hereda de un grupo y no se puede eliminar directamente del equipo." + #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "This organisation is awaiting payment. Complete checkout to unlock it." msgstr "Esta organización está a la espera de pago. Completa el proceso de pago para desbloquearla." @@ -11876,6 +12079,7 @@ msgstr "Desencadenadores" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "Intentar de nuevo" @@ -12028,6 +12232,10 @@ msgstr "No se pudo configurar la autenticación de dos factores" msgid "Unable to sign in" msgstr "No se pudo iniciar sesión" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "No se puede iniciar el flujo de firma" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12124,6 +12332,7 @@ msgstr "Grupo sin título" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "Actualizar" @@ -12621,6 +12830,7 @@ msgstr "Ver documento" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "Ver Documento" @@ -13140,15 +13350,15 @@ msgstr "Aún estamos esperando a que otros firmantes firmen este documento.<0/>T msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "Hemos cambiado tu contraseña como solicitaste. Ahora puedes iniciar sesión con tu nueva contraseña." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." msgstr "Hemos detectado actividad de la API en tu cuenta que excede los límites de uso razonable de tu plan actual. Como medida de precaución, la nueva actividad de la API se ha pausado temporalmente a la espera de una revisión." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." msgstr "Hemos detectado actividad de documentos en tu cuenta que excede los límites de uso razonable de tu plan actual. Como medida de precaución, la nueva actividad de documentos se ha pausado temporalmente a la espera de una revisión." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." msgstr "Hemos detectado actividad de envío de correos electrónicos en tu cuenta que excede los límites de uso razonable de tu plan actual. Como medida de precaución, la nueva actividad de correos electrónicos se ha pausado temporalmente a la espera de una revisión." @@ -13275,10 +13485,6 @@ msgstr "Mientras esperas a que ellos lo hagan, puedes crear tu propia cuenta de msgid "Whitelabeling, unlimited members and more" msgstr "Etiqueta blanca, miembros ilimitados y más" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "¿A quién deseas recordar?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13323,6 +13529,10 @@ msgstr "Has agregado un destinatario" msgid "You approved the document" msgstr "Has aprobado el documento" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "Está a punto de cancelar <0>\"{title}\"" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "Está a punto de completar la aprobación del siguiente documento" @@ -13477,10 +13687,6 @@ msgstr "Actualmente estás actualizando el grupo de equipo <0>{teamGroupName}support to review your plan's limits." +msgstr "Tu organización está acercándose a un límite de uso justo. Si crees que necesitarás límites más altos, ponte en contacto con el <0>soporte para revisar los límites de tu plan." + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." msgstr "Tu organización está generando solicitudes de API más rápido de lo normal, por lo que algunas solicitudes se están limitando temporalmente." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." msgstr "Tu organización está generando documentos más rápido de lo normal, por lo que algunas solicitudes se están limitando temporalmente." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." msgstr "Tu organización está generando correos electrónicos más rápido de lo normal, por lo que algunas solicitudes se están limitando temporalmente." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "Tu organización está acercándose a sus límites de uso justo para crear documentos en tu plan actual. Una vez que se alcance el límite, la actividad de nuevos documentos se pausará temporalmente." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "Tu organización está acercándose a sus límites de uso justo para realizar solicitudes de API en tu plan actual. Una vez que se alcance el límite, la nueva actividad de la API se pausará temporalmente." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "Tu organización está acercándose a sus límites de uso justo para enviar correos electrónicos en tu plan actual. Una vez que se alcance el límite, la nueva actividad de correo electrónico se pausará temporalmente." + #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx msgid "Your password has been updated successfully." @@ -14361,6 +14611,30 @@ msgstr "Tu código de recuperación ha sido copiado en tu portapapeles." msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "Tus códigos de recuperación se enumeran a continuación. Por favor, guárdalos en un lugar seguro." +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "Tu firma remota se ha aplicado" + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "Tu autorización de firma caducó antes de que se pudiera aplicar la firma. Vuelve a autorizar para reintentar." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "Tu certificado de firma no es válido, ha caducado o le falta una clave obligatoria. Ponte en contacto con tu administrador o con tu proveedor de firma para obtener ayuda." + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "Falló tu autenticación con el proveedor de firma" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "Tu proveedor de firma no publica un algoritmo de firma que este documento acepte. Ponte en contacto con tu administrador o con tu proveedor de firma para obtener ayuda." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "Tu proveedor de firma no devolvió credenciales utilizables para esta cuenta. Ponte en contacto con tu administrador o con tu proveedor de firma para obtener ayuda." + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "Tu ventana de firma para este documento ha vencido. Ponte en contacto con el remitente para recibir una nueva invitación." @@ -14386,6 +14660,10 @@ msgstr "Tu equipo ha sido actualizado con éxito." msgid "Your template has been created successfully" msgstr "Tu plantilla se ha creado exitosamente" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "Tu plantilla se ha reenviado correctamente." + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "Su plantilla se ha duplicado correctamente." diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index cb5e87a58..1305373bc 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-12 07:37\n" +"PO-Revision-Date: 2026-06-22 13:53\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -49,6 +49,10 @@ msgstr "“{documentName}” a été signé par tous les signataires" msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" représentant \"Team Name\" vous a invité à signer \"example document\"." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "\"{title}\" a été annulé avec succès." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" a été supprimé avec succès" @@ -102,6 +106,17 @@ msgstr "{0, plural, one {# caractère restant} other {# caractères restants}}" msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" msgstr "{0, plural, one {# règle CSS a été supprimée lors de la sécurisation.} other {# règles CSS ont été supprimées lors de la sécurisation.}}" +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "{0, plural, one {# document annulé.} other {# documents annulés.}} {1, plural, one {# document n’a pas pu être annulé.} other {# documents n’ont pas pu être annulés.}}" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "{0, plural, one {# document a été annulé.} other {# documents ont été annulés.}}" + #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx msgid "{0, plural, one {# document} other {# documents}}" @@ -246,6 +261,11 @@ msgstr "{0, plural, one {Nous avons trouvé # champ dans votre document.} other msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "{0, plural, one {Nous avons trouvé # destinataire dans votre document.} other {Nous avons trouvé # destinataires dans votre document.}}" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "{0, plural, one {Vous êtes sur le point d’annuler le document sélectionné.} other {Vous êtes sur le point d’annuler # documents.}}" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -483,6 +503,18 @@ msgstr "{user} a ajouté un destinataire" msgid "{user} approved the document" msgstr "{user} a approuvé le document" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "{user} s’est authentifié auprès du fournisseur de signature" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "{user} a autorisé la signature à distance" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "{user} a annulé le document" + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "{user} a mis en copie le document" @@ -546,6 +578,10 @@ msgstr "{user} a remplacé le PDF pour l’élément d’enveloppe {0}" msgid "{user} requested a 2FA token for the document" msgstr "{user} a demandé un jeton 2FA pour le document" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "{user} a demandé une signature à distance" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -617,6 +653,14 @@ msgstr "{user} a validé un jeton 2FA pour le document" msgid "{user} viewed the document" msgstr "{user} a consulté le document" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "La signature à distance de {user} a été appliquée" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "L’authentification de {user} auprès du fournisseur de signature a échoué" + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -1256,6 +1300,14 @@ msgstr "Ajouter un ID externe au document. Cela peut être utilisé pour identif msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Ajouter un ID externe au modèle. Cela peut être utilisé pour l'identifier dans les systèmes externes." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "Ajoutez une raison facultative pour l’annulation de ces documents" + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "Ajoutez une raison facultative pour l’annulation de ce document" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "Ajouter et configurer plusieurs documents" @@ -1714,6 +1766,10 @@ msgstr "Une erreur s'est produite lors de la sauvegarde automatique des paramèt msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "Une erreur est survenue lors de la signature automatique du document, certains champs peuvent ne pas être signés. Veuillez vérifier et signer manuellement tous les champs restants." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "Une erreur s’est produite lors de l’annulation des documents." + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "Une erreur s'est produite lors de la finalisation du document. Veuillez réessayer." @@ -1758,18 +1814,10 @@ msgstr "Une erreur est survenue lors de l'activation de l'utilisateur." msgid "An error occurred while loading the document." msgstr "Une erreur est survenue lors du chargement du document." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "Une erreur est survenue lors du déplacement du document." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "Une erreur s'est produite lors du déplacement des éléments." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "Une erreur est survenue lors du déplacement du modèle." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "Une erreur s'est produite lors du rejet du document. Veuillez réessayer." @@ -1857,6 +1905,14 @@ msgstr "Une erreur est survenue lors de l'importation de votre document." msgid "An error occurred. Please try again later." msgstr "Une erreur s'est produite. Veuillez réessayer plus tard." +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "Une organisation a dépassé ses limites d’utilisation équitable." + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "Une organisation approche de ses limites d’utilisation équitable." + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "Une organisation souhaite créer un compte pour vous. Veuillez examiner les détails ci-dessous." @@ -1981,10 +2037,28 @@ msgstr "Les requêtes API ont été temporairement suspendues." msgid "API Tokens" msgstr "Tokens API" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "L’utilisation de l’API approche des limites d’utilisation équitable." + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "Version de l'application" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "Application de votre signature" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "Limite d’utilisation équitable bientôt atteinte" + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "Vous approchez des limites de votre offre" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2070,6 +2144,7 @@ msgstr "Êtes-vous sûr de vouloir supprimer cette organisation?" msgid "Are you sure you wish to delete this team?" msgstr "Êtes-vous sûr de vouloir supprimer cette équipe ?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2474,12 +2549,11 @@ msgstr "Vous ne trouvez pas quelqu’un ?" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2488,6 +2562,7 @@ msgstr "Vous ne trouvez pas quelqu’un ?" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2534,7 +2609,6 @@ msgstr "Vous ne trouvez pas quelqu’un ?" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2559,6 +2633,8 @@ msgstr "Vous ne trouvez pas quelqu’un ?" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2569,6 +2645,24 @@ msgstr "Vous ne trouvez pas quelqu’un ?" msgid "Cancel" msgstr "Annuler" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "Annuler le document" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "Annuler les documents" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "Annuler les documents" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "Annulé" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "Annulé par l'utilisateur" @@ -4108,6 +4202,16 @@ msgstr "Document Tout" msgid "Document Approved" msgstr "Document Approuvé" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "Document annulé" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "Document annulé" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4265,10 +4369,6 @@ msgstr "Limite de documents dépassée !" msgid "Document metrics" msgstr "Métriques du document" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "Document déplacé" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4309,10 +4409,6 @@ msgstr "Préférences de document mises à jour" msgid "Document rate limits" msgstr "Limites de fréquence des documents" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "Document renvoyé" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx msgid "Document rejected" @@ -4328,6 +4424,10 @@ msgstr "Document Rejeté" msgid "Document Renamed" msgstr "Document renommé" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "Document renvoyé" + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "Document envoyé" @@ -4403,6 +4503,10 @@ msgstr "Importation de documents désactivé en raison de factures impayées" msgid "Document uploaded" msgstr "Document importé" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "L’utilisation des documents approche des limites d’utilisation équitable." + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4463,6 +4567,10 @@ msgstr "Documents" msgid "Documents and resources related to this envelope." msgstr "Documents et ressources liés à cette enveloppe." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "Documents annulés" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4480,6 +4588,10 @@ msgstr "Documents créés à partir du modèle" msgid "Documents deleted" msgstr "Documents supprimés" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "Documents partiellement annulés" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "Documents partiellement supprimés" @@ -4964,6 +5076,10 @@ msgstr "Transport d’email" msgid "Email Transports" msgstr "Transports d’email" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "L’utilisation des e-mails approche des limites d’utilisation équitable." + #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" msgstr "Vérification par email" @@ -5263,14 +5379,10 @@ msgstr "Enveloppe mise à jour" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5687,9 +5799,7 @@ msgstr "Filtrer par statut" msgid "Focus ring colour." msgstr "Couleur de l’anneau de focus." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "Dossier" @@ -6069,9 +6179,7 @@ msgstr "Masquer la clé de licence" msgid "Home" msgstr "Accueil" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "Accueil (Pas de Dossier)" @@ -6180,6 +6288,10 @@ msgstr "Si vous ne souhaitez pas utiliser l'authentificateur proposé, vous pouv msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "Si vous ne trouvez pas le lien de confirmation dans votre boîte de réception, vous pouvez demander un nouveau ci-dessous." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "Si vous prévoyez d’avoir besoin de limites plus élevées, veuillez contacter l’assistance à {SUPPORT_EMAIL} et nous examinerons votre compte." + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "Si votre application d'authentification ne prend pas en charge les codes QR, vous pouvez utiliser le code suivant à la place :" @@ -6208,10 +6320,12 @@ msgstr "Documents de la boîte de réception" msgid "Include audit log" msgstr "Inclure le journal d’audit" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "Inclure les champs" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "Inclure les destinataires" @@ -7085,22 +7199,12 @@ msgstr "Quota de documents mensuel" msgid "Monthly email quota" msgstr "Quota d’e-mails mensuel" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "Déplacer" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "Déplacer «{templateTitle}» vers un dossier" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "Déplacer le document vers un dossier" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "Déplacer les documents vers le dossier" @@ -7115,10 +7219,6 @@ msgstr "Déplacer le Dossier" msgid "Move Subscription" msgstr "Déplacer l’abonnement" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "Déplacer le modèle vers un dossier" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "Déplacer les modèles vers le dossier" @@ -7312,9 +7412,7 @@ msgstr "Aucun type de champ correspondant à cette description n'a été trouvé msgid "No fields were detected in your document." msgstr "Aucun champ n'a été détecté dans votre document." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "Aucun dossier trouvé" @@ -7417,6 +7515,10 @@ msgstr "Aucun résultat trouvé." msgid "No signature field found" msgstr "Aucun champ de signature trouvé" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "Aucun identifiant de signature disponible" + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "Aucun client Stripe attaché" @@ -7491,6 +7593,10 @@ msgstr "Non défini" msgid "Not supported" msgstr "Non pris en charge" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "Aucune annulation" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7553,7 +7659,9 @@ msgstr "Sur cette page, vous pouvez créer et gérer des tokens API. Consultez n msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "Sur cette page, vous pouvez créer de nouveaux webhooks et gérer ceux existants." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "Une fois confirmé, les éléments suivants se produiront :" @@ -7594,6 +7702,10 @@ msgstr "Un seul fichier peut être téléchargé à la fois" msgid "Only PDF files are allowed" msgstr "Seuls les fichiers PDF sont autorisés" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "Seuls les documents en attente que vous êtes autorisé à gérer seront annulés." + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7728,9 +7840,9 @@ msgstr "Nom de l'organisation" msgid "Organisation not found" msgstr "Organisation introuvable" -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" msgstr "Vérification de l’organisation requise" @@ -8172,7 +8284,7 @@ msgstr "Veuillez confirmer votre adresse email" msgid "Please contact <0>support if you have any questions." msgstr "Veuillez contacter <0>l’assistance si vous avez des questions." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." msgstr "Veuillez contacter l’assistance à {SUPPORT_EMAIL} et nous examinerons votre compte." @@ -8184,6 +8296,10 @@ msgstr "Veuillez contacter le support si vous souhaitez annuler cette action." msgid "Please contact the site owner for further assistance." msgstr "Veuillez contacter le propriétaire du site pour obtenir de l'aide supplémentaire." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "Veuillez ne pas fermer cet onglet. Le fournisseur de signature est en train de finaliser votre signature." + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "Veuillez entrer un nom significatif pour votre token. Cela vous aidera à l'identifier plus tard." @@ -8553,6 +8669,11 @@ msgstr "Prêt" msgid "Reason" msgstr "Raison" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "Raison (facultatif)" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "Raison de l'annulation: {cancellationReason}" @@ -8573,6 +8694,10 @@ msgstr "La raison doit contenir moins de 500 caractères" msgid "Reauthentication is required to sign this field" msgstr "Une nouvelle authentification est requise pour signer ce champ" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "Réautoriser et réessayer" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "Recevoir une copie" @@ -8614,6 +8739,14 @@ msgstr "Authentification d'action de destinataire" msgid "Recipient approved the document" msgstr "Le destinataire a approuvé le document" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "Le destinataire s’est authentifié auprès du fournisseur de signature" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "Le destinataire a autorisé la signature à distance" + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "Le destinataire a mis le document en copie" @@ -8644,6 +8777,10 @@ msgstr "ID du destinataire :" msgid "Recipient rejected the document" msgstr "Le destinataire a rejeté le document" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient rejected the document externally" +msgstr "Le destinataire a rejeté le document de manière externe" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient removed" msgstr "Destinataire supprimé" @@ -8656,6 +8793,10 @@ msgstr "E-mail de destinataire supprimé" msgid "Recipient requested a 2FA token for the document" msgstr "Le destinataire a demandé un jeton 2FA pour le document" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "Le destinataire a demandé une signature à distance" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "Destinataire ayant signé" @@ -8693,6 +8834,14 @@ msgstr "Le destinataire a validé un jeton 2FA pour le document" msgid "Recipient viewed the document" msgstr "Le destinataire a consulté le document" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "La signature à distance du destinataire a été appliquée" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "L’authentification du fournisseur de signature du destinataire a échoué" + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8716,6 +8865,11 @@ msgstr "Les destinataires qui seront automatiquement ajoutés aux nouveaux docum msgid "Recipients will be able to sign the document once sent" msgstr "Les destinataires pourront signer le document une fois envoyé" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "Les destinataires seront informés que le document a été annulé" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Les destinataires conservent toujours leur copie du document" @@ -9008,8 +9162,9 @@ msgstr "Rescellage" msgid "Reseal document" msgstr "Rescellage du document" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9299,10 +9454,8 @@ msgstr "Rechercher par nom d’organisation, URL ou ID" msgid "Search documents..." msgstr "Rechercher des documents..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9360,10 +9513,6 @@ msgstr "Sélectionnez une destination pour ce dossier." msgid "Select a field type" msgstr "Sélectionnez un type de champ" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "Sélectionnez un dossier pour déplacer ce document." - #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" msgstr "Sélectionnez un plan" @@ -9618,7 +9767,6 @@ msgstr "Envoyer au nom de l'équipe" msgid "Send recipient expired email to the owner" msgstr "Envoyer l’e-mail de destinataire expiré au propriétaire" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "Envoyer un rappel" @@ -9965,11 +10113,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "En train de signer" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "L’algorithme de signature n’est pas pris en charge" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "Certificat de signature" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "Le certificat de signature n’est pas valide" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9984,6 +10140,10 @@ msgstr "Signature Complète !" msgid "Signing Deadline Expired" msgstr "Délai de signature expiré" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "La signature a échoué" + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "Signé pour" @@ -10063,6 +10223,7 @@ msgstr "Ignorer" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Certains signataires n'ont pas été assignés à un champ de signature. Veuillez assigner au moins 1 champ de signature à chaque signataire avant de continuer." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10110,6 +10271,10 @@ msgstr "Certains signataires n'ont pas été assignés à un champ de signature. msgid "Something went wrong" msgstr "Quelque chose a mal tourné" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "Une erreur s’est produite lors de l’application de votre signature. Veuillez réessayer." + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10131,6 +10296,10 @@ msgstr "Une erreur s'est produite lors du chargement du document." msgid "Something went wrong while loading your passkeys." msgstr "Quelque chose a mal tourné lors du chargement de vos clés d'authentification." +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "Une erreur s’est produite lors de la préparation de la signature à distance. Veuillez réessayer." + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." msgstr "Une erreur s’est produite lors du rendu du document, veuillez réessayer ou contacter notre support." @@ -10698,14 +10867,14 @@ msgstr "ID de Modèle (Legacy)" msgid "Template is using legacy field insertion" msgstr "Le modèle utilise l'insertion de champ héritée" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "Modèle déplacé" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "Modèle renommé" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "Modèle renvoyé" + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "Modèle enregistré" @@ -10891,10 +11060,6 @@ msgstr "Le document n'a pas pu être créé en raison d'informations manquantes msgid "The Document has been deleted successfully." msgstr "Le document a été supprimé avec succès." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "Le document a été déplacé avec succès." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "Le document a été rejeté avec succès." @@ -10923,10 +11088,32 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "La propriété du document a été déléguée à {0} au nom de {1}" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "Le processus de signature du document sera arrêté" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "Le document a été créé mais n'a pas pu être envoyé aux destinataires." +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of {user}" +msgstr "Le document a été rejeté de manière externe par {onBehalfOf} au nom de {user}" + +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of the recipient" +msgstr "Le document a été rejeté de manière externe par {onBehalfOf} au nom du destinataire" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of {user}" +msgstr "Le document a été rejeté de manière externe au nom de {user}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of the recipient" +msgstr "Le document a été rejeté de manière externe au nom du destinataire" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "Le document sera caché de votre compte" @@ -10935,6 +11122,10 @@ msgstr "Le document sera caché de votre compte" msgid "The document will be immediately sent to recipients if this is checked." msgstr "Le document sera immédiatement envoyé aux destinataires si cela est coché." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "Le document restera dans votre tableau de bord avec le statut Annulé" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "Le document que vous cherchez n'a pas pu être trouvé." @@ -10948,6 +11139,10 @@ msgstr "Le document que vous recherchez a peut-être été supprimé, renommé o msgid "The document's name" msgstr "Le nom du document" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "Les documents resteront dans votre tableau de bord avec le statut Annulé" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "L'adresse e-mail qui apparaîtra dans le champ \"Répondre à\" dans les courriels" @@ -10985,18 +11180,10 @@ msgstr "Le dossier que vous essayez de supprimer n'existe pas." msgid "The folder you are trying to move does not exist." msgstr "Le dossier que vous essayez de déplacer n'existe pas." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "Le dossier vers lequel vous essayez de déplacer le document n'existe pas." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "Le dossier vers lequel vous essayez de déplacer les éléments n’existe pas." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "Le dossier vers lequel vous essayez de déplacer le modèle n'existe pas." - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "Les erreurs suivantes se sont produites :" @@ -11148,6 +11335,10 @@ msgstr "Le délai de signature pour ce document est dépassé. Veuillez contacte msgid "The signing link has been copied to your clipboard." msgstr "Le lien de signature a été copié dans votre presse-papiers." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "Le fournisseur de signature n’a pas répondu à temps. Veuillez réessayer." + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "La fenêtre de signature pour \"{recipientName}\" sur le document \"{documentName}\" a expiré." @@ -11171,10 +11362,6 @@ msgstr "L'email d'équipe <0>{teamEmail} a été supprimé de l'équipe suiv msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "L'équipe que vous recherchez a peut-être été supprimée, renommée ou n'a jamais existé." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "Le modèle a été déplacé avec succès." - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." msgstr "Le modèle ou l'un de ses destinataires est introuvable." @@ -11264,6 +11451,10 @@ msgstr "Puis répéter tous les" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Il n'y a pas de brouillons actifs pour le moment. Vous pouvez importer un document pour commencer un brouillon." +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "Il n’y a aucun document annulé. Les documents que vous annulez resteront ici comme preuve de leur distribution." + #: apps/remix/app/components/tables/documents-table-empty-state.tsx 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." @@ -11329,6 +11520,10 @@ msgstr "Ce document ne peut pas être récupéré, si vous souhaitez contester l msgid "This document cannot be changed" msgstr "Ce document ne peut pas être modifié" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "Ce document n’a pas pu être annulé pour le moment. Veuillez réessayer." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Ce document n'a pas pu être supprimé pour le moment. Veuillez réessayer." @@ -11350,6 +11545,10 @@ msgstr "Ce document n'a pas pu être enregistré comme modèle pour le moment. V msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "Ce document a déjà été envoyé à ce destinataire. Vous ne pouvez plus modifier ce destinataire." +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "Ce document a été annulé" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx 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." @@ -11473,6 +11672,10 @@ msgstr "Cet élément ne peut pas être supprimé" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "Ce lien est invalide ou a expiré. Veuillez contacter votre équipe pour renvoyer une vérification." +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "Ce membre est hérité d’un groupe et ne peut pas être retiré directement de l’équipe." + #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "This organisation is awaiting payment. Complete checkout to unlock it." msgstr "Cette organisation est en attente de paiement. Terminez le paiement pour la déverrouiller." @@ -11876,6 +12079,7 @@ msgstr "Déclencheurs" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "Réessayer" @@ -12028,6 +12232,10 @@ msgstr "Impossible de configurer l'authentification à deux facteurs" msgid "Unable to sign in" msgstr "Impossible de se connecter" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "Impossible de démarrer le flux de signature" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12124,6 +12332,7 @@ msgstr "Groupe sans titre" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "Mettre à jour" @@ -12621,6 +12830,7 @@ msgstr "Voir le document" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "Voir le document" @@ -13140,15 +13350,15 @@ msgstr "Nous attendons encore que d'autres signataires signent ce document.<0/>N msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "Nous avons changé votre mot de passe comme demandé. Vous pouvez maintenant vous connecter avec votre nouveau mot de passe." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." msgstr "Nous avons constaté une activité API sur votre compte qui dépasse les limites d’utilisation équitable de votre formule actuelle. Par mesure de précaution, la nouvelle activité API a été temporairement suspendue en attendant un examen." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." msgstr "Nous avons constaté une activité de documents sur votre compte qui dépasse les limites d’utilisation équitable de votre formule actuelle. Par mesure de précaution, la nouvelle activité de documents a été temporairement suspendue en attendant un examen." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." msgstr "Nous avons constaté une activité d’envoi d’e-mails sur votre compte qui dépasse les limites d’utilisation équitable de votre formule actuelle. Par mesure de précaution, la nouvelle activité d’e-mails a été temporairement suspendue en attendant un examen." @@ -13275,10 +13485,6 @@ msgstr "En attendant qu'ils le fassent, vous pouvez créer votre propre compte D msgid "Whitelabeling, unlimited members and more" msgstr "Marque blanche, membres illimités et plus" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "Qui voulez-vous rappeler ?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13323,6 +13529,10 @@ msgstr "Vous avez ajouté un destinataire" msgid "You approved the document" msgstr "Vous avez approuvé le document" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "Vous êtes sur le point d’annuler <0>\"{title}\"" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "Vous êtes sur le point de terminer l'approbation du document suivant" @@ -13477,10 +13687,6 @@ msgstr "Vous mettez actuellement à jour le groupe d'équipe <0>{teamGroupName}< msgid "You are not allowed to move these items." msgstr "Vous n’êtes pas autorisé à déplacer ces éléments." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "You are not allowed to move this document." -msgstr "Vous n'êtes pas autorisé à déplacer ce document." - #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx msgid "You are not authorized to access this page." @@ -13502,6 +13708,14 @@ msgstr "Vous n'êtes pas autorisé à activer cet utilisateur." msgid "You are not authorized to reset two factor authentcation for this user." msgstr "Vous n'êtes pas autorisé à réinitialiser l'authentification à deux facteurs pour cet utilisateur." +#: packages/lib/utils/document-audit-logs.ts +msgid "You authenticated with the signing provider" +msgstr "Vous vous êtes authentifié auprès du fournisseur de signature" + +#: packages/lib/utils/document-audit-logs.ts +msgid "You authorised the remote signature" +msgstr "Vous avez autorisé la signature à distance" + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "You can add fields manually in the editor." msgstr "Vous pouvez ajouter des champs manuellement dans l'éditeur." @@ -13563,6 +13777,10 @@ msgstr "Vous pouvez voir les documents créés dans votre tableau de bord sous l msgid "You can view the document and its status by clicking the button below." msgstr "Vous pouvez voir le document et son statut en cliquant sur le bouton ci-dessous." +#: packages/lib/utils/document-audit-logs.ts +msgid "You cancelled the document" +msgstr "Vous avez annulé le document" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -13590,8 +13808,16 @@ msgid "You cannot modify a team member who has a higher role than you." msgstr "Vous ne pouvez pas modifier un membre de l'équipe qui a un rôle plus élevé que vous." #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx -msgid "You cannot remove members from this team if the inherit member feature is enabled." -msgstr "Vous ne pouvez pas retirer des membres de cette équipe si la fonctionnalité d'héritage de membre est activée." +msgid "You cannot remove a member with a role higher than your own." +msgstr "Vous ne pouvez pas retirer un membre ayant un rôle supérieur au vôtre." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team while the inherit member feature is enabled." +msgstr "Vous ne pouvez pas retirer des membres de cette équipe tant que la fonctionnalité d’héritage des membres est activée." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove the organisation owner from the team." +msgstr "Vous ne pouvez pas retirer le propriétaire de l’organisation de l’équipe." #: packages/ui/primitives/document-dropzone.tsx #: packages/ui/primitives/document-upload-button.tsx @@ -13973,6 +14199,10 @@ msgstr "Vous avez remplacé le PDF pour l'élément d'enveloppe {0}" msgid "You requested a 2FA token for the document" msgstr "Vous avez demandé un jeton 2FA pour le document" +#: packages/lib/utils/document-audit-logs.ts +msgid "You requested a remote signature" +msgstr "Vous avez demandé une signature à distance" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "You resent an email to {0}" @@ -14182,8 +14412,8 @@ msgstr "Votre document a été créé avec succès" msgid "Your document has been deleted by an admin!" msgstr "Votre document a été supprimé par un administrateur !" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Your document has been re-sent successfully." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your document has been resent successfully." msgstr "Votre document a été renvoyé avec succès." #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx @@ -14303,18 +14533,38 @@ msgstr "Votre organisation a dépassé une limite d’utilisation équitable. Ve msgid "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." msgstr "Votre organisation a atteint la limite d’utilisation équitable de son abonnement. Veuillez contacter l’administrateur de votre organisation ou l’assistance pour continuer." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit" +msgstr "Votre organisation approche de sa limite d’utilisation équitable." + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." +msgstr "Votre organisation approche de sa limite d’utilisation équitable. Si vous pensez avoir besoin de limites plus élevées, veuillez contacter le <0>support pour revoir les limites de votre offre." + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." msgstr "Votre organisation génère des requêtes API plus rapidement que la normale, certaines requêtes sont donc temporairement limitées." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." msgstr "Votre organisation génère des documents plus rapidement que la normale, certaines requêtes sont donc temporairement limitées." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." msgstr "Votre organisation génère des e-mails plus rapidement que la normale, certaines requêtes sont donc temporairement limitées." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "Votre organisation approche de ses limites d’utilisation équitable pour la création de documents avec votre offre actuelle. Une fois la limite atteinte, toute nouvelle activité de création de documents sera temporairement suspendue." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "Votre organisation approche de ses limites d’utilisation équitable pour les requêtes API avec votre offre actuelle. Une fois la limite atteinte, toute nouvelle activité API sera temporairement suspendue." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "Votre organisation approche de ses limites d’utilisation équitable pour l’envoi d’e-mails avec votre offre actuelle. Une fois la limite atteinte, toute nouvelle activité d’e-mail sera temporairement suspendue." + #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx msgid "Your password has been updated successfully." @@ -14361,6 +14611,30 @@ msgstr "Votre code de récupération a été copié dans votre presse-papiers." msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "Vos codes de récupération sont listés ci-dessous. Veuillez les conserver dans un endroit sûr." +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "Votre signature à distance a été appliquée" + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "Votre autorisation de signature a expiré avant que la signature ne puisse être appliquée. Veuillez renouveler votre autorisation pour réessayer." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "Votre certificat de signature est invalide, expiré ou ne contient pas une clé requise. Contactez votre administrateur ou votre fournisseur de signature pour obtenir de l’aide." + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "L’authentification auprès de votre fournisseur de signature a échoué" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "Votre fournisseur de signature n’annonce aucun algorithme de signature accepté par ce document. Contactez votre administrateur ou votre fournisseur de signature pour obtenir de l’aide." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "Votre fournisseur de signature n’a renvoyé aucun identifiant utilisable pour ce compte. Contactez votre administrateur ou votre fournisseur de signature pour obtenir de l’aide." + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "Votre fenêtre de signature pour ce document a expiré. Veuillez contacter l’expéditeur pour recevoir une nouvelle invitation." @@ -14386,6 +14660,10 @@ msgstr "Votre équipe a été mise à jour avec succès." msgid "Your template has been created successfully" msgstr "Votre modèle a été créé avec succès" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "Votre modèle a été renvoyé avec succès." + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "Votre modèle a été dupliqué avec succès." diff --git a/packages/lib/translations/it/web.po b/packages/lib/translations/it/web.po index 9fe90e2b8..d59511b72 100644 --- a/packages/lib/translations/it/web.po +++ b/packages/lib/translations/it/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-12 07:37\n" +"PO-Revision-Date: 2026-06-22 13:53\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -49,6 +49,10 @@ msgstr "“{documentName}” è stato firmato da tutti i firmatari" msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" per conto di \"Team Name\" ti ha invitato a firmare \"documento esempio\"." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "\"{title}\" è stato annullato correttamente" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" è stato eliminato correttamente" @@ -102,6 +106,17 @@ msgstr "{0, plural, one {# carattere rimanente} other {# caratteri rimanenti}}" msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" msgstr "{0, plural, one {# regola CSS è stata rimossa durante la sanitizzazione.} other {# regole CSS sono state rimosse durante la sanitizzazione.}}" +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "{0, plural, one {# documento annullato.} other {# documenti annullati.}} {1, plural, one {# documento non è potuto essere annullato.} other {# documenti non sono potuti essere annullati.}}" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "{0, plural, one {# documento è stato annullato.} other {# documenti sono stati annullati.}}" + #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx msgid "{0, plural, one {# document} other {# documents}}" @@ -246,6 +261,11 @@ msgstr "{0, plural, one {Abbiamo trovato # campo nel tuo documento.} other {Abbi msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "{0, plural, one {Abbiamo trovato # destinatario nel tuo documento.} other {Abbiamo trovato # destinatari nel tuo documento.}}" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "{0, plural, one {Stai per annullare il documento selezionato.} other {Stai per annullare # documenti.}}" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -483,6 +503,18 @@ msgstr "{user} ha aggiunto un destinatario" msgid "{user} approved the document" msgstr "{user} ha approvato il documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "{user} si è autenticato con il provider di firma" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "{user} ha autorizzato la firma remota" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "{user} ha annullato il documento" + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "{user} ha messo il documento in CC" @@ -546,6 +578,10 @@ msgstr "{user} ha sostituito il PDF per l’elemento della busta {0}" msgid "{user} requested a 2FA token for the document" msgstr "{user} ha richiesto un token 2FA per il documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "{user} ha richiesto una firma remota" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -617,6 +653,14 @@ msgstr "{user} ha convalidato un token 2FA per il documento" msgid "{user} viewed the document" msgstr "{user} ha visualizzato il documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "La firma remota di {user} è stata applicata" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "L’autenticazione del provider di firma di {user} non è andata a buon fine" + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -1256,6 +1300,14 @@ msgstr "Aggiungi un ID esterno al documento. Questo può essere usato per identi msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Aggiungi un ID esterno al modello. Questo può essere usato per identificare in sistemi esterni." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "Aggiungi un motivo facoltativo per l’annullamento di questi documenti" + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "Aggiungi un motivo facoltativo per l’annullamento di questo documento" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "Aggiungi e configura più documenti" @@ -1714,6 +1766,10 @@ msgstr "Si è verificato un errore durante il salvataggio automatico delle impos msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "Si è verificato un errore durante la firma automatica del documento, alcuni campi potrebbero non essere firmati. Si prega di controllare e firmare manualmente eventuali campi rimanenti." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "Si è verificato un errore durante l’annullamento dei documenti." + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "Si è verificato un errore durante il completamento del documento. Riprova." @@ -1758,18 +1814,10 @@ msgstr "Si è verificato un errore durante l'abilitazione dell'utente." msgid "An error occurred while loading the document." msgstr "Si è verificato un errore durante il caricamento del documento." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "Si è verificato un errore durante lo spostamento del documento." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "Si è verificato un errore durante lo spostamento degli elementi." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "Si è verificato un errore durante lo spostamento del modello." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "Si è verificato un errore durante il rifiuto del documento. Riprova." @@ -1857,6 +1905,14 @@ msgstr "Si è verificato un errore durante il caricamento del tuo documento." msgid "An error occurred. Please try again later." msgstr "Si è verificato un errore. Per favore riprova più tardi." +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "Un'organizzazione ha superato i propri limiti di utilizzo equo (fair use)" + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "Un'organizzazione si sta avvicinando ai propri limiti di utilizzo equo (fair use)" + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "Un'organizzazione vuole creare un account per te. Per favore controlla i dettagli qui sotto." @@ -1981,10 +2037,28 @@ msgstr "Le richieste API sono state temporaneamente sospese." msgid "API Tokens" msgstr "Token API" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "L'utilizzo dell'API si sta avvicinando ai limiti di utilizzo equo (fair use)" + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "Versione dell'app" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "Applicazione della tua firma in corso" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "Limite di utilizzo equo (fair use) in avvicinamento" + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "Stai per raggiungere i limiti del tuo piano" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2070,6 +2144,7 @@ msgstr "Sei sicuro di voler eliminare questa organizzazione?" msgid "Are you sure you wish to delete this team?" msgstr "Sei sicuro di voler eliminare questo team?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2474,12 +2549,11 @@ msgstr "Non riesci a trovare qualcuno?" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2488,6 +2562,7 @@ msgstr "Non riesci a trovare qualcuno?" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2534,7 +2609,6 @@ msgstr "Non riesci a trovare qualcuno?" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2559,6 +2633,8 @@ msgstr "Non riesci a trovare qualcuno?" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2569,6 +2645,24 @@ msgstr "Non riesci a trovare qualcuno?" msgid "Cancel" msgstr "Annulla" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "Annulla documento" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "Annulla documenti" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "Annulla documenti" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "Annullato" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "Annullato dall'utente" @@ -4108,6 +4202,16 @@ msgstr "Documenta Tutto" msgid "Document Approved" msgstr "Documento Approvato" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "Documento annullato" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "Documento annullato" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4265,10 +4369,6 @@ msgstr "Limite di documenti superato!" msgid "Document metrics" msgstr "Metriche del documento" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "Documento spostato" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4309,10 +4409,6 @@ msgstr "Preferenze del documento aggiornate" msgid "Document rate limits" msgstr "Limiti di velocità documento" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "Documento rinviato" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx msgid "Document rejected" @@ -4328,6 +4424,10 @@ msgstr "Documento Rifiutato" msgid "Document Renamed" msgstr "Documento rinominato" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "Documento reinviato" + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "Documento inviato" @@ -4403,6 +4503,10 @@ msgstr "Caricamento del documento disabilitato a causa di fatture non pagate" msgid "Document uploaded" msgstr "Documento caricato" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "L'utilizzo dei documenti si sta avvicinando ai limiti di utilizzo equo (fair use)" + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4463,6 +4567,10 @@ msgstr "Documenti" msgid "Documents and resources related to this envelope." msgstr "Documenti e risorse relative a questa busta." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "Documenti annullati" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4480,6 +4588,10 @@ msgstr "Documenti creati da modello" msgid "Documents deleted" msgstr "Documenti eliminati" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "Documenti parzialmente annullati" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "Documenti eliminati parzialmente" @@ -4964,6 +5076,10 @@ msgstr "Trasporto email" msgid "Email Transports" msgstr "Trasporti email" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "L'utilizzo delle email si sta avvicinando ai limiti di utilizzo equo (fair use)" + #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" msgstr "Verifica Email" @@ -5263,14 +5379,10 @@ msgstr "Busta aggiornata" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5687,9 +5799,7 @@ msgstr "Filtra per stato" msgid "Focus ring colour." msgstr "Colore dell’anello di focus." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "Cartella" @@ -6069,9 +6179,7 @@ msgstr "Nascondi chiave di licenza" msgid "Home" msgstr "Home" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "Home (Nessuna Cartella)" @@ -6180,6 +6288,10 @@ msgstr "Se non vuoi utilizzare l'autenticatore richiesto, puoi chiuderlo, dopodi msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "Se non trovi il link di conferma nella tua casella di posta, puoi richiederne uno nuovo qui sotto." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "Se pensi di aver bisogno di limiti più alti, contatta l'assistenza all'indirizzo {SUPPORT_EMAIL} e verificheremo il tuo account." + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "Se la tua app autenticatrice non supporta i codici QR, puoi usare il seguente codice:" @@ -6208,10 +6320,12 @@ msgstr "Documenti in arrivo" msgid "Include audit log" msgstr "Includi registro di controllo" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "Includi campi" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "Includi destinatari" @@ -7085,22 +7199,12 @@ msgstr "Quota documenti mensile" msgid "Monthly email quota" msgstr "Quota email mensile" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "Sposta" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "Sposta \"{templateTitle}\" in una cartella" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "Sposta documento nella cartella" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "Sposta documenti nella cartella" @@ -7115,10 +7219,6 @@ msgstr "Sposta Cartella" msgid "Move Subscription" msgstr "Sposta abbonamento" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "Sposta modello nella cartella" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "Sposta modelli nella cartella" @@ -7312,9 +7412,7 @@ msgstr "Nessun tipo di campo corrispondente a questa descrizione è stato trovat msgid "No fields were detected in your document." msgstr "Nel tuo documento non è stato rilevato alcun campo." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "Nessuna cartella trovata" @@ -7417,6 +7515,10 @@ msgstr "Nessun risultato trovato." msgid "No signature field found" msgstr "Nessun campo di firma trovato" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "Nessuna credenziale di firma disponibile" + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "Nessun cliente Stripe collegato" @@ -7491,6 +7593,10 @@ msgstr "Non impostato" msgid "Not supported" msgstr "Non supportato" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "Nessun annullamento effettuato" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7553,7 +7659,9 @@ msgstr "Su questa pagina, puoi creare e gestire token API. Consulta la nostra <0 msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "In questa pagina, puoi creare nuovi Webhook e gestire quelli esistenti." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "Una volta confermato, si verificherà quanto segue:" @@ -7594,6 +7702,10 @@ msgstr "È possibile caricare un solo file alla volta" msgid "Only PDF files are allowed" msgstr "Sono consentiti solo file PDF" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "Verranno annullati solo i documenti in sospeso per i quali hai l’autorizzazione alla gestione." + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7728,9 +7840,9 @@ msgstr "Nome dell'organizzazione" msgid "Organisation not found" msgstr "Organizzazione non trovata" -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" msgstr "Revisione dell’organizzazione richiesta" @@ -8172,7 +8284,7 @@ msgstr "Per favore conferma il tuo indirizzo email" msgid "Please contact <0>support if you have any questions." msgstr "Contatta il <0>supporto se hai domande." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." msgstr "Contatta l’assistenza all’indirizzo {SUPPORT_EMAIL} e procederemo a esaminare il tuo account." @@ -8184,6 +8296,10 @@ msgstr "Si prega di contattare il supporto se si desidera annullare questa azion msgid "Please contact the site owner for further assistance." msgstr "Si prega di contattare il proprietario del sito per ulteriori assistenza." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "Non chiudere questa scheda. Il provider di firma sta finalizzando la tua firma." + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "Si prega di inserire un nome significativo per il proprio token. Questo ti aiuterà a identificarlo più tardi." @@ -8553,6 +8669,11 @@ msgstr "Pronto" msgid "Reason" msgstr "Motivo" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "Motivo (facoltativo)" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "Motivo dell'annullamento: {cancellationReason}" @@ -8573,6 +8694,10 @@ msgstr "Il motivo deve essere inferiore a 500 caratteri" msgid "Reauthentication is required to sign this field" msgstr "È richiesta una riautenticazione per firmare questo campo" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "Autorizza nuovamente e riprova" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "Riceve copia" @@ -8614,6 +8739,14 @@ msgstr "Autenticazione azione destinatario" msgid "Recipient approved the document" msgstr "Il destinatario ha approvato il documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "Il destinatario si è autenticato con il provider di firma" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "Il destinatario ha autorizzato la firma remota" + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "Il destinatario ha messo in CC il documento" @@ -8644,6 +8777,10 @@ msgstr "ID destinatario:" msgid "Recipient rejected the document" msgstr "Il destinatario ha rifiutato il documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient rejected the document externally" +msgstr "Il destinatario ha rifiutato il documento esternamente" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient removed" msgstr "Destinatario rimosso" @@ -8656,6 +8793,10 @@ msgstr "Email destinatario rimosso" msgid "Recipient requested a 2FA token for the document" msgstr "Il destinatario ha richiesto un token 2FA per il documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "Il destinatario ha richiesto una firma remota" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "Destinatario ha firmato" @@ -8693,6 +8834,14 @@ msgstr "Il destinatario ha convalidato un token 2FA per il documento" msgid "Recipient viewed the document" msgstr "Il destinatario ha visualizzato il documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "La firma remota del destinatario è stata applicata" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "L'autenticazione del provider di firma del destinatario non è riuscita" + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8716,6 +8865,11 @@ msgstr "Destinatari che verranno aggiunti automaticamente ai nuovi documenti." msgid "Recipients will be able to sign the document once sent" msgstr "I destinatari potranno firmare il documento una volta inviato" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "I destinatari saranno informati che il documento è stato annullato" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "I destinatari conserveranno comunque la loro copia del documento" @@ -9008,8 +9162,9 @@ msgstr "Sigilla di nuovo" msgid "Reseal document" msgstr "Risigilla documento" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9299,10 +9454,8 @@ msgstr "Cerca per nome dell’organizzazione, URL o ID" msgid "Search documents..." msgstr "Cerca documenti..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9360,10 +9513,6 @@ msgstr "Seleziona una destinazione per questa cartella." msgid "Select a field type" msgstr "Seleziona un tipo di campo" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "Seleziona una cartella in cui spostare questo documento." - #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" msgstr "Seleziona un piano" @@ -9618,7 +9767,6 @@ msgstr "Invia per conto del team" msgid "Send recipient expired email to the owner" msgstr "Invia l'email di scadenza del destinatario al proprietario" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "Invia promemoria" @@ -9965,11 +10113,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "Firma in corso" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "L'algoritmo di firma non è supportato" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "Certificato di Firma" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "Il certificato di firma non è valido" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9984,6 +10140,10 @@ msgstr "Firma completata!" msgid "Signing Deadline Expired" msgstr "Scadenza del termine di firma" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "La firma non è riuscita" + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "Firma per" @@ -10063,6 +10223,7 @@ msgstr "Salta" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Alcuni firmatari non hanno un campo firma assegnato. Assegna almeno 1 campo di firma a ciascun firmatario prima di procedere." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10110,6 +10271,10 @@ msgstr "Alcuni firmatari non hanno un campo firma assegnato. Assegna almeno 1 ca msgid "Something went wrong" msgstr "Qualcosa è andato storto" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "Si è verificato un problema durante l'applicazione della firma. Riprova." + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10131,6 +10296,10 @@ msgstr "Qualcosa è andato storto durante il caricamento del documento." msgid "Something went wrong while loading your passkeys." msgstr "Qualcosa è andato storto durante il caricamento delle tue chiavi di accesso." +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "Si è verificato un problema durante la preparazione della firma remota. Riprova." + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." msgstr "Si è verificato un errore durante il rendering del documento, riprova oppure contatta il nostro supporto." @@ -10698,14 +10867,14 @@ msgstr "ID Modello (Legacy)" msgid "Template is using legacy field insertion" msgstr "Il modello utilizza l'inserimento campo legacy" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "Modello spostato" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "Template rinominato" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "Modello reinviato" + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "Modello salvato" @@ -10891,10 +11060,6 @@ msgstr "Non è stato possibile creare il documento a causa di informazioni manca msgid "The Document has been deleted successfully." msgstr "Il documento è stato eliminato correttamente." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "Il documento è stato spostato con successo." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "Il documento è stato rifiutato correttamente." @@ -10923,10 +11088,32 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "La proprietà del documento è stata delegata a {0} per conto di {1}" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "Il processo di firma del documento verrà interrotto" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "Il documento è stato creato ma non è stato possibile inviarlo ai destinatari." +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of {user}" +msgstr "Il documento è stato rifiutato esternamente da {onBehalfOf} per conto di {user}" + +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of the recipient" +msgstr "Il documento è stato rifiutato esternamente da {onBehalfOf} per conto del destinatario" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of {user}" +msgstr "Il documento è stato rifiutato esternamente per conto di {user}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of the recipient" +msgstr "Il documento è stato rifiutato esternamente per conto del destinatario" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "Il documento verrà nascosto dal tuo account" @@ -10935,6 +11122,10 @@ msgstr "Il documento verrà nascosto dal tuo account" msgid "The document will be immediately sent to recipients if this is checked." msgstr "Il documento sarà immediatamente inviato ai destinatari se selezionato." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "Il documento rimarrà nella tua dashboard contrassegnato come Annullato" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "Il documento che stai cercando non è stato trovato." @@ -10948,6 +11139,10 @@ msgstr "Il documento che stai cercando potrebbe essere stato rimosso, rinominato msgid "The document's name" msgstr "Il nome del documento" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "I documenti rimarranno nella tua dashboard contrassegnati come Annullati" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "L'indirizzo email che verrà visualizzato nel campo \"Rispondi a\" nelle email" @@ -10985,18 +11180,10 @@ msgstr "La cartella che stai cercando di eliminare non esiste." msgid "The folder you are trying to move does not exist." msgstr "La cartella che stai cercando di spostare non esiste." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "La cartella in cui stai cercando di spostare il documento non esiste." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "La cartella in cui stai cercando di spostare gli elementi non esiste." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "La cartella in cui stai cercando di spostare il modello non esiste." - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "Si sono verificati i seguenti errori:" @@ -11148,6 +11335,10 @@ msgstr "La scadenza per firmare questo documento è passata. Contatta il proprie msgid "The signing link has been copied to your clipboard." msgstr "Il link di firma è stato copiato negli appunti." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "Il provider di firma non ha risposto in tempo. Riprova." + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "La finestra di firma per \"{recipientName}\" sul documento \"{documentName}\" è scaduta." @@ -11171,10 +11362,6 @@ msgstr "L'email del team <0>{teamEmail} è stata rimossa dal seguente team" msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "Il team che stai cercando potrebbe essere stato rimosso, rinominato o potrebbe non essere mai esistito." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "Il modello è stato spostato con successo." - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." msgstr "Il modello o uno dei suoi destinatari non è stato trovato." @@ -11264,6 +11451,10 @@ msgstr "Quindi ripeti ogni" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Non ci sono bozze attive al momento attuale. Puoi caricare un documento per iniziare a redigere." +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "Non ci sono documenti annullati. I documenti che annulli rimarranno qui come traccia del fatto che sono stati distribuiti." + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." msgstr "Non ci sono ancora documenti completati. I documenti che hai creato o ricevuto appariranno qui una volta completati." @@ -11329,6 +11520,10 @@ msgstr "Questo documento non può essere recuperato, se vuoi contestare la ragio msgid "This document cannot be changed" msgstr "Questo documento non può essere modificato" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "Questo documento non può essere annullato in questo momento. Riprova più tardi." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Questo documento non può essere eliminato in questo momento. Riprova." @@ -11350,6 +11545,10 @@ msgstr "Questo documento non può essere salvato come modello in questo momento. msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "Questo documento è già stato inviato a questo destinatario. Non puoi più modificare questo destinatario." +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "Questo documento è stato annullato" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx msgid "This document has been cancelled by the owner and is no longer available for others to sign." msgstr "Questo documento è stato annullato dal proprietario e non è più disponibile per la firma di altri." @@ -11473,6 +11672,10 @@ msgstr "Questo elemento non può essere eliminato" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "Questo link è invalido o è scaduto. Si prega di contattare il tuo team per inviare nuovamente una verifica." +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "Questo membro è ereditato da un gruppo e non può essere rimosso direttamente dal team." + #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "This organisation is awaiting payment. Complete checkout to unlock it." msgstr "Questa organizzazione è in attesa di pagamento. Completa il checkout per sbloccarla." @@ -11876,6 +12079,7 @@ msgstr "Trigger" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "Riprova" @@ -12028,6 +12232,10 @@ msgstr "Impossibile configurare l'autenticazione a due fattori" msgid "Unable to sign in" msgstr "Impossibile accedere" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "Impossibile avviare il flusso di firma" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12124,6 +12332,7 @@ msgstr "Gruppo senza nome" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "Aggiorna" @@ -12621,6 +12830,7 @@ msgstr "Visualizza documento" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "Visualizza documento" @@ -13140,15 +13350,15 @@ msgstr "Stiamo ancora aspettando che altri firmatari firmino questo documento.<0 msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "Abbiamo cambiato la tua password come richiesto. Ora puoi accedere con la tua nuova password." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." msgstr "Abbiamo rilevato un’attività API sul tuo account che supera i limiti di utilizzo corretto previsti dal tuo piano attuale. Come precauzione, la nuova attività API è stata temporaneamente messa in pausa in attesa di revisione." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." msgstr "Abbiamo rilevato un’attività sui documenti del tuo account che supera i limiti di utilizzo corretto previsti dal tuo piano attuale. Come precauzione, la nuova attività sui documenti è stata temporaneamente messa in pausa in attesa di revisione." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." msgstr "Abbiamo rilevato un’attività di invio email sul tuo account che supera i limiti di utilizzo corretto previsti dal tuo piano attuale. Come precauzione, la nuova attività email è stata temporaneamente messa in pausa in attesa di revisione." @@ -13275,10 +13485,6 @@ msgstr "Mentre aspetti che lo facciano, puoi creare il tuo account Documenso e i msgid "Whitelabeling, unlimited members and more" msgstr "White label, membri illimitati e altro" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "Chi vuoi ricordare?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13323,6 +13529,10 @@ msgstr "Hai aggiunto un destinatario" msgid "You approved the document" msgstr "Hai approvato il documento" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "Stai per annullare <0>\"{title}\"" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "Stai per completare l'approvazione del seguente documento" @@ -13477,10 +13687,6 @@ msgstr "Stai attualmente aggiornando il gruppo di team <0>{teamGroupName}." msgid "You are not allowed to move these items." msgstr "Non ti è consentito spostare questi elementi." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "You are not allowed to move this document." -msgstr "Non sei autorizzato a spostare questo documento." - #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx msgid "You are not authorized to access this page." @@ -13502,6 +13708,14 @@ msgstr "Non sei autorizzato ad abilitare questo utente." msgid "You are not authorized to reset two factor authentcation for this user." msgstr "Non sei autorizzato a reimpostare l'autenticazione a due fattori per questo utente." +#: packages/lib/utils/document-audit-logs.ts +msgid "You authenticated with the signing provider" +msgstr "Ti sei autenticato con il provider di firma" + +#: packages/lib/utils/document-audit-logs.ts +msgid "You authorised the remote signature" +msgstr "Hai autorizzato la firma remota" + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "You can add fields manually in the editor." msgstr "Puoi aggiungere manualmente i campi nell'editor." @@ -13563,6 +13777,10 @@ msgstr "Puoi visualizzare i documenti creati nel tuo dashboard nella sezione \"D msgid "You can view the document and its status by clicking the button below." msgstr "Puoi visualizzare il documento e il suo stato cliccando sul pulsante qui sotto." +#: packages/lib/utils/document-audit-logs.ts +msgid "You cancelled the document" +msgstr "Hai annullato il documento" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -13590,8 +13808,16 @@ msgid "You cannot modify a team member who has a higher role than you." msgstr "Non puoi modificare un membro del team che ha un ruolo superiore al tuo." #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx -msgid "You cannot remove members from this team if the inherit member feature is enabled." -msgstr "Non puoi rimuovere membri da questo team se la funzione di ereditarietà membri è abilitata." +msgid "You cannot remove a member with a role higher than your own." +msgstr "Non puoi rimuovere un membro con un ruolo più alto del tuo." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team while the inherit member feature is enabled." +msgstr "Non puoi rimuovere membri da questo team mentre la funzionalità di ereditarietà dei membri è abilitata." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove the organisation owner from the team." +msgstr "Non puoi rimuovere il proprietario dell’organizzazione dal team." #: packages/ui/primitives/document-dropzone.tsx #: packages/ui/primitives/document-upload-button.tsx @@ -13973,6 +14199,10 @@ msgstr "Hai sostituito il PDF per l'elemento della busta {0}" msgid "You requested a 2FA token for the document" msgstr "Hai richiesto un token 2FA per il documento" +#: packages/lib/utils/document-audit-logs.ts +msgid "You requested a remote signature" +msgstr "Hai richiesto una firma remota" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "You resent an email to {0}" @@ -14182,8 +14412,8 @@ msgstr "Il tuo documento è stato creato con successo" msgid "Your document has been deleted by an admin!" msgstr "Il tuo documento è stato eliminato da un amministratore!" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Your document has been re-sent successfully." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your document has been resent successfully." msgstr "Il tuo documento è stato reinviato correttamente." #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx @@ -14303,18 +14533,38 @@ msgstr "La tua organizzazione ha superato un limite di utilizzo corretto (fair u msgid "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." msgstr "La tua organizzazione ha raggiunto il limite di utilizzo corretto (fair use) previsto dal piano. Contatta l'amministratore della tua organizzazione o l'assistenza per continuare." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit" +msgstr "La tua organizzazione si sta avvicinando al limite di utilizzo corretto (fair use)" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." +msgstr "La tua organizzazione si sta avvicinando al limite di utilizzo corretto (fair use). Se prevedi di aver bisogno di limiti più elevati, contatta il <0>supporto per rivedere i limiti del tuo piano." + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." msgstr "La tua organizzazione sta generando richieste API più velocemente del normale, quindi alcune richieste vengono temporaneamente limitate." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." msgstr "La tua organizzazione sta generando documenti più velocemente del normale, quindi alcune richieste vengono temporaneamente limitate." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." msgstr "La tua organizzazione sta generando email più velocemente del normale, quindi alcune richieste vengono temporaneamente limitate." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "La tua organizzazione si sta avvicinando ai limiti di utilizzo corretto (fair use) per la creazione di documenti previsti dal tuo piano attuale. Una volta raggiunto il limite, la nuova attività sui documenti verrà temporaneamente sospesa." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "La tua organizzazione si sta avvicinando ai limiti di utilizzo corretto (fair use) per le richieste API previsti dal tuo piano attuale. Una volta raggiunto il limite, la nuova attività API verrà temporaneamente sospesa." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "La tua organizzazione si sta avvicinando ai limiti di utilizzo corretto (fair use) per l’invio di email previsti dal tuo piano attuale. Una volta raggiunto il limite, la nuova attività email verrà temporaneamente sospesa." + #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx msgid "Your password has been updated successfully." @@ -14361,6 +14611,30 @@ msgstr "Il tuo codice di recupero è stato copiato negli appunti." msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "I tuoi codici di recupero sono elencati di seguito. Si prega di conservarli in un luogo sicuro." +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "La tua firma remota è stata applicata" + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "La tua autorizzazione alla firma è scaduta prima che la firma potesse essere applicata. Autorizza di nuovo per riprovare." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "Il tuo certificato di firma non è valido, è scaduto o manca di una chiave richiesta. Contatta l'amministratore o il provider di firma per assistenza." + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "La tua autenticazione presso il provider di firma non è riuscita" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "Il tuo provider di firma non dichiara alcun algoritmo di firma accettato da questo documento. Contatta l'amministratore o il provider di firma per assistenza." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "Il tuo provider di firma non ha restituito credenziali utilizzabili per questo account. Contatta l'amministratore o il provider di firma per assistenza." + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "La tua finestra di firma per questo documento è scaduta. Contatta il mittente per un nuovo invito." @@ -14386,6 +14660,10 @@ msgstr "Il tuo team è stato aggiornato correttamente." msgid "Your template has been created successfully" msgstr "Il tuo modello è stato creato con successo" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "Il tuo modello è stato reinviato correttamente." + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "Il tuo modello è stato duplicato correttamente." diff --git a/packages/lib/translations/ja/web.po b/packages/lib/translations/ja/web.po index b2b2f78df..2c710627f 100644 --- a/packages/lib/translations/ja/web.po +++ b/packages/lib/translations/ja/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-12 07:37\n" +"PO-Revision-Date: 2026-06-22 13:53\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -49,6 +49,10 @@ msgstr "「{documentName}」はすべての署名者によって署名されま msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "「Team Name」を代表して「{placeholderEmail}」が「example document」への署名を依頼しています。" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "「{title}」は正常にキャンセルされました" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "「{title}」は正常に削除されました" @@ -102,6 +106,17 @@ msgstr "{0, plural, other {残り # 文字}}" msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" msgstr "{0, plural, other {# 個の CSS ルールがサニタイズ処理中に削除されました。}}" +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "{0, plural, other {# 件の文書がキャンセルされました。}} {1, plural, other {# 件の文書をキャンセルできませんでした。}}" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "{0, plural, other {# 件の文書がキャンセルされました。}}" + #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx msgid "{0, plural, one {# document} other {# documents}}" @@ -246,6 +261,11 @@ msgstr "{0, plural, other {ドキュメント内で # 個のフィールドが msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "{0, plural, other {ドキュメント内で # 人の受信者が見つかりました。}}" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "{0, plural, other {選択した文書をキャンセルしようとしています。}}" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -483,6 +503,18 @@ msgstr "{user} が受信者を追加しました。" msgid "{user} approved the document" msgstr "{user} が文書を承認しました。" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "{user} は署名プロバイダーで認証しました" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "{user} はリモート署名を承認しました" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "{user} が文書をキャンセルしました" + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "{user} が文書にCCしました。" @@ -546,6 +578,10 @@ msgstr "{user} が封筒アイテム {0} のPDFを差し替えました" msgid "{user} requested a 2FA token for the document" msgstr "{user} が文書用の2要素認証トークンをリクエストしました" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "{user} はリモート署名を要求しました" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -617,6 +653,14 @@ msgstr "{user} が文書用の2要素認証トークンを検証しました" msgid "{user} viewed the document" msgstr "{user} が文書を閲覧しました" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "{user} のリモート署名が適用されました" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "{user} の署名プロバイダーでの認証に失敗しました" + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -1256,6 +1300,14 @@ msgstr "ドキュメントに外部 ID を追加します。これは外部シ msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "テンプレートに外部 ID を追加します。これは外部システムで識別するために使用できます。" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "これらの文書をキャンセルする理由を任意で入力してください" + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "この文書をキャンセルする理由を任意で入力してください" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "複数の文書を追加して設定します" @@ -1714,6 +1766,10 @@ msgstr "テンプレート設定の自動保存中にエラーが発生しまし msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "ドキュメントの自動署名中にエラーが発生しました。一部のフィールドに署名されていない可能性があります。残りのフィールドを確認し、手動で署名してください。" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "文書のキャンセル中にエラーが発生しました。" + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "ドキュメントの完了処理中にエラーが発生しました。もう一度お試しください。" @@ -1758,18 +1814,10 @@ msgstr "ユーザーの有効化中にエラーが発生しました。" msgid "An error occurred while loading the document." msgstr "ドキュメントの読み込み中にエラーが発生しました。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "文書の移動中にエラーが発生しました。" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "アイテムの移動中にエラーが発生しました。" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "テンプレートの移動中にエラーが発生しました。" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "ドキュメントの却下処理中にエラーが発生しました。もう一度お試しください。" @@ -1857,6 +1905,14 @@ msgstr "文書のアップロード中にエラーが発生しました。" msgid "An error occurred. Please try again later." msgstr "エラーが発生しました。後でもう一度お試しください。" +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "組織がフェアユースの上限を超えました" + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "組織がフェアユースの上限に近づいています" + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "ある組織があなたのためにアカウントを作成しようとしています。以下の詳細を確認してください。" @@ -1981,10 +2037,28 @@ msgstr "API リクエストは一時的に一時停止されています" msgid "API Tokens" msgstr "API トークン" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "API の使用量がフェアユースの上限に近づいています" + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "アプリのバージョン" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "お客様の署名を適用しています" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "フェアユースの上限に近づいています" + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "ご利用プランの上限に近づいています" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2070,6 +2144,7 @@ msgstr "本当にこの組織を削除してもよろしいですか?" msgid "Are you sure you wish to delete this team?" msgstr "このチームを本当に削除しますか?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2474,12 +2549,11 @@ msgstr "メンバーが見つかりませんか?" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2488,6 +2562,7 @@ msgstr "メンバーが見つかりませんか?" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2534,7 +2609,6 @@ msgstr "メンバーが見つかりませんか?" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2559,6 +2633,8 @@ msgstr "メンバーが見つかりませんか?" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2569,6 +2645,24 @@ msgstr "メンバーが見つかりませんか?" msgid "Cancel" msgstr "キャンセル" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "文書を取り消す" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "文書を取り消す" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "文書を取り消す" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "取り消し済み" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "ユーザーによりキャンセルされました" @@ -4108,6 +4202,16 @@ msgstr "すべての文書" msgid "Document Approved" msgstr "文書が承認されました" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "文書は取り消されました" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "文書は取り消されました" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4265,10 +4369,6 @@ msgstr "文書数の上限を超えました" msgid "Document metrics" msgstr "文書メトリクス" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "文書を移動しました" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4309,10 +4409,6 @@ msgstr "文書設定を更新しました" msgid "Document rate limits" msgstr "ドキュメントのレート制限" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "文書を再送信しました" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx msgid "Document rejected" @@ -4328,6 +4424,10 @@ msgstr "ドキュメントを却下しました" msgid "Document Renamed" msgstr "ドキュメント名を変更しました" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "ドキュメントを再送信しました" + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "文書を送信しました" @@ -4403,6 +4503,10 @@ msgstr "未払いの請求書があるため、文書のアップロードは無 msgid "Document uploaded" msgstr "文書をアップロードしました" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "ドキュメントの使用量がフェアユースの上限に近づいています" + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4463,6 +4567,10 @@ msgstr "文書" msgid "Documents and resources related to this envelope." msgstr "この封筒に関連する文書およびリソースです。" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "文書は取り消されました" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4480,6 +4588,10 @@ msgstr "テンプレートから作成された文書" msgid "Documents deleted" msgstr "ドキュメントを削除しました" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "文書は一部のみ取り消されました" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "一部のドキュメントを削除しました" @@ -4964,6 +5076,10 @@ msgstr "メールトランスポート" msgid "Email Transports" msgstr "メールトランスポート一覧" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "メールの使用量がフェアユースの上限に近づいています" + #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" msgstr "メール認証" @@ -5263,14 +5379,10 @@ msgstr "封筒を更新しました" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5687,9 +5799,7 @@ msgstr "ステータスで絞り込む" msgid "Focus ring colour." msgstr "フォーカスリングの色。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "フォルダ" @@ -6069,9 +6179,7 @@ msgstr "ライセンスキーを非表示にする" msgid "Home" msgstr "ホーム" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "ホーム(フォルダなし)" @@ -6180,6 +6288,10 @@ msgstr "表示された認証手段を使いたくない場合は閉じてくだ msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "受信トレイに確認リンクが見当たらない場合は、下から新しいリンクをリクエストできます。" +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "より高い上限が必要になりそうな場合は、{SUPPORT_EMAIL} までサポートにご連絡ください。アカウントを確認させていただきます。" + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "認証アプリが QR コードに対応していない場合は、代わりに次のコードを使用できます。" @@ -6208,10 +6320,12 @@ msgstr "受信箱の文書" msgid "Include audit log" msgstr "監査ログを含める" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "フィールドを含める" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "受信者を含める" @@ -7085,22 +7199,12 @@ msgstr "月間ドキュメントクォータ" msgid "Monthly email quota" msgstr "月間メールクォータ" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "移動" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "「{templateTitle}」をフォルダに移動" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "ドキュメントをフォルダに移動" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "ドキュメントをフォルダーに移動" @@ -7115,10 +7219,6 @@ msgstr "フォルダを移動" msgid "Move Subscription" msgstr "サブスクリプションを移動" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "テンプレートをフォルダに移動" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "テンプレートをフォルダーに移動" @@ -7312,9 +7412,7 @@ msgstr "この説明に一致するフィールドタイプが見つかりませ msgid "No fields were detected in your document." msgstr "ドキュメント内でフィールドが検出されませんでした。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "フォルダが見つかりません" @@ -7417,6 +7515,10 @@ msgstr "結果が見つかりません。" msgid "No signature field found" msgstr "署名フィールドが見つかりません" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "利用可能な署名資格情報がありません" + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "Stripe 顧客が紐づいていません" @@ -7491,6 +7593,10 @@ msgstr "未設定" msgid "Not supported" msgstr "サポートされていません" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "取り消された文書はありません" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7553,7 +7659,9 @@ msgstr "このページでは、API トークンの作成と管理ができま msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "このページでは Webhook の新規作成と既存 Webhook の管理が行えます。" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "確認すると、次のことが行われます。" @@ -7594,6 +7702,10 @@ msgstr "一度にアップロードできるファイルは1件のみです" msgid "Only PDF files are allowed" msgstr "PDFファイルのみアップロードできます" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "あなたに管理権限がある保留中の文書のみが取り消されます。" + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7728,9 +7840,9 @@ msgstr "組織名" msgid "Organisation not found" msgstr "組織が見つかりません" -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" msgstr "組織の審査が必要です" @@ -8172,7 +8284,7 @@ msgstr "メールアドレスを確認してください" msgid "Please contact <0>support if you have any questions." msgstr "ご不明な点がありましたら、<0>サポートまでお問い合わせください。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." msgstr "アカウントを審査いたしますので、{SUPPORT_EMAIL} までサポート宛にご連絡ください。" @@ -8184,6 +8296,10 @@ msgstr "この操作を元に戻したい場合は、サポートまでお問い msgid "Please contact the site owner for further assistance." msgstr "詳しくはサイトのオーナーにお問い合わせください。" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "このタブを閉じないでください。署名プロバイダーが署名の最終処理を行っています。" + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "トークンの用途が分かる名前を入力してください。後から識別しやすくなります。" @@ -8553,6 +8669,11 @@ msgstr "準備完了" msgid "Reason" msgstr "理由" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "理由(任意)" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "キャンセル理由: {cancellationReason}" @@ -8573,6 +8694,10 @@ msgstr "理由は500文字未満で入力してください。" msgid "Reauthentication is required to sign this field" msgstr "このフィールドへの署名には再認証が必要です" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "再認証して再試行" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "コピーを受け取る" @@ -8614,6 +8739,14 @@ msgstr "受信者アクション認証" msgid "Recipient approved the document" msgstr "受信者が文書を承認しました" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "受信者は署名プロバイダーで認証しました" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "受信者はリモート署名を承認しました" + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "受信者が文書のCCに追加されました" @@ -8644,6 +8777,10 @@ msgstr "受信者ID:" msgid "Recipient rejected the document" msgstr "受信者が文書を却下しました" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient rejected the document externally" +msgstr "受信者はこの文書を外部で却下しました" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient removed" msgstr "受信者が削除されました" @@ -8656,6 +8793,10 @@ msgstr "受信者削除メール" msgid "Recipient requested a 2FA token for the document" msgstr "受信者が文書用の2要素認証トークンをリクエストしました" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "受信者はリモート署名を要求しました" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "受信者が署名しました" @@ -8693,6 +8834,14 @@ msgstr "受信者が文書用の2要素認証トークンを検証しました" msgid "Recipient viewed the document" msgstr "受信者が文書を閲覧しました" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "受信者のリモート署名が適用されました" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "受信者の署名プロバイダーでの認証に失敗しました" + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8716,6 +8865,11 @@ msgstr "新しいドキュメントに自動的に追加される受信者です msgid "Recipients will be able to sign the document once sent" msgstr "送信後、受信者は文書に署名できるようになります" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "受信者には、その文書が取り消されたことが通知されます" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "受信者は引き続きドキュメントのコピーを保持できます" @@ -9008,8 +9162,9 @@ msgstr "再封印" msgid "Reseal document" msgstr "文書を再封止" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9299,10 +9454,8 @@ msgstr "組織名、URL、またはIDで検索" msgid "Search documents..." msgstr "文書を検索..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9360,10 +9513,6 @@ msgstr "このフォルダの移動先を選択してください。" msgid "Select a field type" msgstr "フィールドの種類を選択してください" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "このドキュメントを移動するフォルダを選択してください。" - #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" msgstr "プランを選択" @@ -9618,7 +9767,6 @@ msgstr "チームを代表して送信" msgid "Send recipient expired email to the owner" msgstr "受信者の期限切れメールを所有者に送信する" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "リマインダーを送信" @@ -9965,11 +10113,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "署名中" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "署名アルゴリズムはサポートされていません" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "署名証明書" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "署名証明書が無効です" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9984,6 +10140,10 @@ msgstr "署名が完了しました" msgid "Signing Deadline Expired" msgstr "署名期限が切れました" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "署名に失敗しました" + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "署名対象" @@ -10063,6 +10223,7 @@ msgstr "スキップ" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "一部の署名者に署名フィールドが割り当てられていません。続行する前に、各署名者に少なくとも 1 つの署名フィールドを割り当ててください。" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10110,6 +10271,10 @@ msgstr "一部の署名者に署名フィールドが割り当てられていま msgid "Something went wrong" msgstr "問題が発生しました" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "署名の適用中に問題が発生しました。もう一度お試しください。" + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10131,6 +10296,10 @@ msgstr "ドキュメントの読み込み中に問題が発生しました。" msgid "Something went wrong while loading your passkeys." msgstr "パスキーの読み込み中に問題が発生しました。" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "リモート署名の準備中に問題が発生しました。もう一度お試しください。" + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." msgstr "ドキュメントの表示中に問題が発生しました。もう一度お試しいただくか、サポートまでご連絡ください。" @@ -10698,14 +10867,14 @@ msgstr "テンプレートID(レガシー)" msgid "Template is using legacy field insertion" msgstr "テンプレートは旧式のフィールド挿入を使用しています" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "テンプレートを移動しました" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "テンプレート名を変更しました" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "テンプレートを再送信しました" + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "テンプレートを保存しました" @@ -10891,10 +11060,6 @@ msgstr "不足または無効な情報があるため、文書を作成できま msgid "The Document has been deleted successfully." msgstr "ドキュメントは正常に削除されました。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "ドキュメントは正常に移動されました。" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "ドキュメントは正常に却下されました。" @@ -10923,10 +11088,32 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "文書の所有権は {1} を代表して {0} に委任されました" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "文書の署名プロセスは停止されます" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "文書は作成されましたが、受信者に送信できませんでした。" +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of {user}" +msgstr "この文書は、{user} に代わって {onBehalfOf} により外部で却下されました" + +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of the recipient" +msgstr "この文書は、受信者に代わって {onBehalfOf} により外部で却下されました" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of {user}" +msgstr "この文書は、{user} に代わって外部で却下されました" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of the recipient" +msgstr "この文書は、受信者に代わって外部で却下されました" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "文書はアカウントから非表示になります" @@ -10935,6 +11122,10 @@ msgstr "文書はアカウントから非表示になります" msgid "The document will be immediately sent to recipients if this is checked." msgstr "このチェックをオンにすると、文書はすぐに受信者へ送信されます。" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "その文書はダッシュボード上で「取り消し済み」と表示されたまま残ります" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "お探しの文書は見つかりませんでした。" @@ -10948,6 +11139,10 @@ msgstr "お探しの文書は削除されたか、名前が変更されたか、 msgid "The document's name" msgstr "ドキュメント名" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "それらの文書はダッシュボード上で「取り消し済み」と表示されたまま残ります" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "メールの「返信先」フィールドに表示されるメールアドレスです" @@ -10985,18 +11180,10 @@ msgstr "削除しようとしているフォルダは存在しません。" msgid "The folder you are trying to move does not exist." msgstr "移動しようとしているフォルダは存在しません。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "ドキュメントの移動先として指定されたフォルダは存在しません。" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "移動先のフォルダーは存在しません。" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "テンプレートの移動先として指定されたフォルダは存在しません。" - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "次のエラーが発生しました。" @@ -11148,6 +11335,10 @@ msgstr "この文書の署名期限はすでに過ぎています。新しい署 msgid "The signing link has been copied to your clipboard." msgstr "署名用リンクをクリップボードにコピーしました。" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "署名プロバイダーが時間内に応答しませんでした。もう一度お試しください。" + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "受信者「{recipientName}」の文書「{documentName}」に対する署名期間が終了しました。" @@ -11171,10 +11362,6 @@ msgstr "チームメール <0>{teamEmail} は、次のチームから削除 msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "お探しのチームは削除されたか、名前が変更されたか、もともと存在しなかった可能性があります。" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "テンプレートは正常に移動されました。" - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." msgstr "テンプレート、またはその受信者の一人が見つかりませんでした。" @@ -11264,6 +11451,10 @@ msgstr "その後の繰り返し間隔" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "現在、有効な下書きはありません。文書をアップロードすると、下書きを開始できます。" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "取り消された文書はありません。あなたが取り消した文書は、配布された記録としてここに残ります。" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." msgstr "まだ完了した文書はありません。作成または受信した文書は、完了するとここに表示されます。" @@ -11329,6 +11520,10 @@ msgstr "このドキュメントは復元できません。今後のドキュメ msgid "This document cannot be changed" msgstr "このドキュメントは変更できません" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "この文書は現在取り消すことができません。もう一度お試しください。" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "この文書は現在削除できません。もう一度お試しください。" @@ -11350,6 +11545,10 @@ msgstr "現在、このドキュメントをテンプレートとして保存で msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "このドキュメントはすでにこの受信者に送信されています。この受信者は編集できません。" +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "この文書は取り消されています" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx msgid "This document has been cancelled by the owner and is no longer available for others to sign." msgstr "この文書は所有者によりキャンセルされており、他のユーザーは署名できません。" @@ -11473,6 +11672,10 @@ msgstr "この項目は削除できません" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "このリンクは無効か有効期限が切れています。チームに連絡して、認証を再送してもらってください。" +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "このメンバーはグループから継承されており、チームから直接削除することはできません。" + #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "This organisation is awaiting payment. Complete checkout to unlock it." msgstr "この組織は支払い待ちの状態です。ロックを解除するにはチェックアウトを完了してください。" @@ -11876,6 +12079,7 @@ msgstr "トリガー" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "再試行" @@ -12028,6 +12232,10 @@ msgstr "二要素認証を設定できませんでした" msgid "Unable to sign in" msgstr "サインインできませんでした" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "署名フローを開始できませんでした" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12124,6 +12332,7 @@ msgstr "無題のグループ" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "更新" @@ -12621,6 +12830,7 @@ msgstr "ドキュメントを表示" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "文書を表示" @@ -13140,15 +13350,15 @@ msgstr "他の署名者がこのドキュメントに署名するのをまだ待 msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "ご要望どおりパスワードを変更しました。新しいパスワードでサインインできます。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." msgstr "現在ご利用中のプランのフェアユース上限を超える API アクティビティを検出しました。安全確保のため、審査が完了するまで新たな API アクティビティは一時的に停止されています。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." msgstr "現在ご利用中のプランのフェアユース上限を超えるドキュメントのアクティビティを検出しました。安全確保のため、審査が完了するまで新たなドキュメントのアクティビティは一時的に停止されています。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." msgstr "現在ご利用中のプランのフェアユース上限を超えるメール送信アクティビティを検出しました。安全確保のため、審査が完了するまで新たなメールのアクティビティは一時的に停止されています。" @@ -13275,10 +13485,6 @@ msgstr "相手からの対応を待つ間に、自分の Documenso アカウン msgid "Whitelabeling, unlimited members and more" msgstr "ホワイトラベリング、メンバー無制限など" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "誰にリマインドを送りますか?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13323,6 +13529,10 @@ msgstr "受信者を追加しました" msgid "You approved the document" msgstr "文書を承認しました" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "<0>「{title}」 を取り消そうとしています" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "次の文書の承認を完了しようとしています" @@ -13477,10 +13687,6 @@ msgstr "現在、チームグループ <0>{teamGroupName} を更新してい msgid "You are not allowed to move these items." msgstr "これらのアイテムを移動する権限がありません。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "You are not allowed to move this document." -msgstr "このドキュメントを移動する権限がありません。" - #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx msgid "You are not authorized to access this page." @@ -13502,6 +13708,14 @@ msgstr "このユーザーを有効化する権限がありません。" msgid "You are not authorized to reset two factor authentcation for this user." msgstr "このユーザーの二要素認証をリセットする権限がありません。" +#: packages/lib/utils/document-audit-logs.ts +msgid "You authenticated with the signing provider" +msgstr "署名プロバイダーで認証しました" + +#: packages/lib/utils/document-audit-logs.ts +msgid "You authorised the remote signature" +msgstr "リモート署名を承認しました" + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "You can add fields manually in the editor." msgstr "エディターでフィールドを手動で追加できます。" @@ -13563,6 +13777,10 @@ msgstr "作成されたドキュメントは、ダッシュボードの「テン msgid "You can view the document and its status by clicking the button below." msgstr "下のボタンをクリックすると、ドキュメントとそのステータスを表示できます。" +#: packages/lib/utils/document-audit-logs.ts +msgid "You cancelled the document" +msgstr "あなたはその文書を取り消しました" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -13590,8 +13808,16 @@ msgid "You cannot modify a team member who has a higher role than you." msgstr "自分より権限の高いチームメンバーは変更できません。" #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx -msgid "You cannot remove members from this team if the inherit member feature is enabled." -msgstr "継承メンバー機能が有効な場合、このチームからメンバーを削除することはできません。" +msgid "You cannot remove a member with a role higher than your own." +msgstr "自分より上位のロールを持つメンバーは削除できません。" + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team while the inherit member feature is enabled." +msgstr "メンバー継承機能が有効になっている間は、このチームからメンバーを削除できません。" + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove the organisation owner from the team." +msgstr "組織オーナーをチームから削除することはできません。" #: packages/ui/primitives/document-dropzone.tsx #: packages/ui/primitives/document-upload-button.tsx @@ -13973,6 +14199,10 @@ msgstr "封筒アイテム {0} の PDF を置き換えました。" msgid "You requested a 2FA token for the document" msgstr "文書用の2要素認証トークンをリクエストしました" +#: packages/lib/utils/document-audit-logs.ts +msgid "You requested a remote signature" +msgstr "リモート署名をリクエストしました" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "You resent an email to {0}" @@ -14182,9 +14412,9 @@ msgstr "ドキュメントは正常に作成されました" msgid "Your document has been deleted by an admin!" msgstr "管理者によってドキュメントが削除されました。" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Your document has been re-sent successfully." -msgstr "文書を正常に再送信しました。" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your document has been resent successfully." +msgstr "ドキュメントは正常に再送信されました。" #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Your document has been saved as a template." @@ -14303,18 +14533,38 @@ msgstr "ご利用の組織はフェアユースの上限を超えています。 msgid "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." msgstr "ご利用の組織はプランのフェアユース上限に達しました。続行するには、組織管理者またはサポートまでお問い合わせください。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit" +msgstr "ご利用の組織は、公正利用上限に近づいています。" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." +msgstr "ご利用の組織は、公正利用上限に近づいています。より高い上限が必要になりそうな場合は、プランの上限を確認するために<0>サポートまでお問い合わせください。" + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." msgstr "お客様の組織からの API リクエストが通常より高い頻度で発生しているため、一部のリクエストは一時的に制限されています。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." msgstr "お客様の組織で通常よりも速いペースでドキュメントが生成されているため、一部のリクエストは一時的に制限されています。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." msgstr "お客様の組織で通常よりも速いペースでメールが送信されているため、一部のリクエストは一時的に制限されています。" +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "現在のプランで作成できるドキュメント数の公正利用上限に、組織の利用状況が近づいています。上限に達すると、新しいドキュメントに関するアクティビティは一時的に停止されます。" + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "現在のプランで行える API リクエスト数の公正利用上限に、組織の利用状況が近づいています。上限に達すると、新しい API アクティビティは一時的に停止されます。" + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "現在のプランで送信できるメール数の公正利用上限に、組織の利用状況が近づいています。上限に達すると、新しいメールに関するアクティビティは一時的に停止されます。" + #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx msgid "Your password has been updated successfully." @@ -14361,6 +14611,30 @@ msgstr "リカバリーコードをクリップボードにコピーしました msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "リカバリーコードは以下のとおりです。安全な場所に保管してください。" +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "リモート署名が適用されました" + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "署名の認可が署名適用前に失効しました。再度認可してからやり直してください。" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "署名証明書が無効であるか、有効期限が切れているか、必要な鍵がありません。管理者または署名プロバイダーにお問い合わせください。" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "署名プロバイダーでの認証に失敗しました" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "ご利用の署名プロバイダーは、この文書で許可されている署名アルゴリズムを提供していません。管理者または署名プロバイダーにお問い合わせください。" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "ご利用の署名プロバイダーは、このアカウントで使用できる認証情報を返しませんでした。管理者または署名プロバイダーにお問い合わせください。" + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "この文書に対するあなたの署名期間は終了しました。新しい招待が必要な場合は、送信者に連絡してください。" @@ -14386,6 +14660,10 @@ msgstr "チームは正常に更新されました。" msgid "Your template has been created successfully" msgstr "テンプレートは正常に作成されました" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "テンプレートは正常に再送信されました。" + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "テンプレートが正常に複製されました。" diff --git a/packages/lib/translations/ko/web.po b/packages/lib/translations/ko/web.po index 7c345f934..802fe31f9 100644 --- a/packages/lib/translations/ko/web.po +++ b/packages/lib/translations/ko/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-12 07:37\n" +"PO-Revision-Date: 2026-06-22 13:53\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -49,6 +49,10 @@ msgstr "“{documentName}” 문서가 모든 서명자에게서 서명을 완 msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\"이(가) \"Team Name\"을(를) 대신하여 \"example document\"에 서명하도록 귀하를 초대했습니다." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "\"{title}\" 문서가 성공적으로 취소되었습니다." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\"이(가) 성공적으로 삭제되었습니다." @@ -102,6 +106,17 @@ msgstr "{0, plural, other {#자 남음}}" msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" msgstr "{0, plural, other {#개의 CSS 규칙이 정리 과정에서 제거되었습니다.}}" +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "{0, plural, other {#개의 문서가 취소되었습니다.}} {1, plural, other {#개의 문서를 취소하지 못했습니다.}}" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "{0, plural, other {#개의 문서가 취소되었습니다.}}" + #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx msgid "{0, plural, one {# document} other {# documents}}" @@ -246,6 +261,11 @@ msgstr "{0, plural, other {문서에서 필드 #개를 발견했습니다.}}" msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "{0, plural, other {문서에서 수신자 #명을 발견했습니다.}}" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "{0, plural, other {선택한 #개의 문서를 지금 취소하려고 합니다.}}" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -483,6 +503,18 @@ msgstr "{user}님이 수신자를 추가했습니다." msgid "{user} approved the document" msgstr "{user}님이 문서를 승인했습니다." +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "{user}님이 서명 제공자에 인증했습니다." + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "{user}님이 원격 서명을 승인했습니다." + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "{user} 님이 문서를 취소했습니다." + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "{user}님이 문서에 참조(CC)를 추가했습니다." @@ -546,6 +578,10 @@ msgstr "{user} 님이 봉투 항목 {0}의 PDF를 교체했습니다" msgid "{user} requested a 2FA token for the document" msgstr "{user}가 문서에 대한 2FA 토큰을 요청했습니다" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "{user}님이 원격 서명을 요청했습니다." + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -617,6 +653,14 @@ msgstr "{user}가 문서에 대한 2FA 토큰을 검증했습니다" msgid "{user} viewed the document" msgstr "{user}가 문서를 조회했습니다" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "{user}님의 원격 서명이 적용되었습니다." + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "{user}님의 서명 제공자 인증에 실패했습니다." + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -1256,6 +1300,14 @@ msgstr "문서에 외부 ID를 추가합니다. 외부 시스템에서 문서를 msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "템플릿에 외부 ID를 추가합니다. 외부 시스템에서 식별하는 데 사용할 수 있습니다." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "이 문서들을 취소하는 선택적인 사유를 입력하세요." + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "이 문서를 취소하는 선택적인 사유를 입력하세요." + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "여러 문서를 추가하고 구성하세요" @@ -1714,6 +1766,10 @@ msgstr "템플릿 설정을 자동 저장하는 동안 오류가 발생했습니 msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "문서를 자동 서명하는 동안 오류가 발생하여 일부 필드가 서명되지 않았을 수 있습니다. 남은 필드를 검토한 뒤 직접 서명해 주세요." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "문서를 취소하는 동안 오류가 발생했습니다." + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "문서를 완료하는 중 오류가 발생했습니다. 다시 시도해 주세요." @@ -1758,18 +1814,10 @@ msgstr "사용자를 활성화하는 동안 오류가 발생했습니다." msgid "An error occurred while loading the document." msgstr "문서를 불러오는 동안 오류가 발생했습니다." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "문서를 이동하는 중 오류가 발생했습니다." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "항목을 이동하는 동안 오류가 발생했습니다." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "템플릿을 이동하는 중 오류가 발생했습니다." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "문서를 거부하는 중 오류가 발생했습니다. 다시 시도해 주세요." @@ -1857,6 +1905,14 @@ msgstr "문서를 업로드하는 중 오류가 발생했습니다." msgid "An error occurred. Please try again later." msgstr "오류가 발생했습니다. 잠시 후 다시 시도해 주세요." +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "조직이 공정 이용 한도를 초과했습니다." + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "조직이 공정 이용 한도에 가까워지고 있습니다." + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "조직에서 귀하를 대신해 계정을 생성하려고 합니다. 아래 세부 정보를 확인해 주세요." @@ -1981,10 +2037,28 @@ msgstr "API 요청이 일시적으로 중지되었습니다." msgid "API Tokens" msgstr "API 토큰" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "API 사용량이 공정 이용 한도에 가까워지고 있습니다." + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "앱 버전" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "서명을 적용하는 중입니다." + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "공정 이용 한도에 가까워지고 있습니다." + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "요금제 한도에 가까워지고 있습니다." + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2070,6 +2144,7 @@ msgstr "이 조직을 삭제하시겠습니까?" msgid "Are you sure you wish to delete this team?" msgstr "이 팀을 정말 삭제하시겠습니까?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2474,12 +2549,11 @@ msgstr "누군가를 찾을 수 없나요?" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2488,6 +2562,7 @@ msgstr "누군가를 찾을 수 없나요?" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2534,7 +2609,6 @@ msgstr "누군가를 찾을 수 없나요?" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2559,6 +2633,8 @@ msgstr "누군가를 찾을 수 없나요?" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2569,6 +2645,24 @@ msgstr "누군가를 찾을 수 없나요?" msgid "Cancel" msgstr "취소" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "문서 취소하기" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "문서 취소하기" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "문서 취소하기" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "취소됨" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "사용자가 취소함" @@ -4108,6 +4202,16 @@ msgstr "문서 전체" msgid "Document Approved" msgstr "문서 승인됨" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "문서가 취소되었습니다" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "문서가 취소되었습니다" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4265,10 +4369,6 @@ msgstr "문서 한도 초과!" msgid "Document metrics" msgstr "문서 지표" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "문서가 이동되었습니다" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4309,10 +4409,6 @@ msgstr "문서 환경설정이 업데이트되었습니다" msgid "Document rate limits" msgstr "문서 요청 한도" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "문서가 재전송되었습니다" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx msgid "Document rejected" @@ -4328,6 +4424,10 @@ msgstr "문서가 거부되었습니다" msgid "Document Renamed" msgstr "문서 이름이 변경되었습니다." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "문서를 다시 보냈습니다." + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "문서가 발송되었습니다" @@ -4403,6 +4503,10 @@ msgstr "미납된 청구서로 인해 문서 업로드가 비활성화되었습 msgid "Document uploaded" msgstr "문서가 업로드되었습니다" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "문서 사용량이 공정 이용 한도에 가까워지고 있습니다." + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4463,6 +4567,10 @@ msgstr "문서" msgid "Documents and resources related to this envelope." msgstr "이 봉투와 관련된 문서와 자료입니다." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "문서들이 취소되었습니다" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4480,6 +4588,10 @@ msgstr "템플릿에서 생성된 문서" msgid "Documents deleted" msgstr "문서가 삭제되었습니다" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "일부 문서만 취소되었습니다" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "문서가 일부만 삭제되었습니다" @@ -4964,6 +5076,10 @@ msgstr "이메일 전송 방식" msgid "Email Transports" msgstr "이메일 전송 방식들" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "이메일 사용량이 공정 이용 한도에 가까워지고 있습니다." + #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" msgstr "이메일 인증" @@ -5263,14 +5379,10 @@ msgstr "봉투가 업데이트되었습니다" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5687,9 +5799,7 @@ msgstr "상태로 필터링" msgid "Focus ring colour." msgstr "포커스 링 색상입니다." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "폴더" @@ -6069,9 +6179,7 @@ msgstr "라이선스 키 숨기기" msgid "Home" msgstr "홈" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "홈(폴더 없음)" @@ -6180,6 +6288,10 @@ msgstr "표시된 인증 수단을 사용하고 싶지 않은 경우, 창을 닫 msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "받은편지함에서 확인 링크를 찾을 수 없다면 아래에서 새 링크를 요청할 수 있습니다." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "더 높은 한도가 필요할 것으로 예상되면 {SUPPORT_EMAIL}로 지원팀에 문의해 주시면 계정을 검토하겠습니다." + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "인증 앱이 QR 코드를 지원하지 않는 경우, 대신 다음 코드를 사용할 수 있습니다:" @@ -6208,10 +6320,12 @@ msgstr "받은편지함 문서" msgid "Include audit log" msgstr "감사 로그 포함" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "필드 포함" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "수신자 포함" @@ -7085,22 +7199,12 @@ msgstr "월간 문서 할당량" msgid "Monthly email quota" msgstr "월간 이메일 할당량" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "이동" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "\"{templateTitle}\"을(를) 폴더로 이동" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "문서를 폴더로 이동" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "문서를 폴더로 이동" @@ -7115,10 +7219,6 @@ msgstr "폴더 이동" msgid "Move Subscription" msgstr "구독 이동" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "템플릿을 폴더로 이동" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "템플릿을 폴더로 이동" @@ -7312,9 +7412,7 @@ msgstr "이 설명과 일치하는 필드 유형을 찾을 수 없습니다." msgid "No fields were detected in your document." msgstr "문서에서 감지된 필드가 없습니다." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "폴더를 찾을 수 없습니다." @@ -7417,6 +7515,10 @@ msgstr "결과가 없습니다." msgid "No signature field found" msgstr "서명 필드를 찾을 수 없습니다." +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "사용 가능한 서명 자격 증명이 없습니다." + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "연결된 Stripe 고객이 없습니다." @@ -7491,6 +7593,10 @@ msgstr "설정되지 않음" msgid "Not supported" msgstr "지원되지 않습니다" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "취소된 문서가 없습니다" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7553,7 +7659,9 @@ msgstr "이 페이지에서 API 토큰을 생성하고 관리할 수 있습니 msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "이 페이지에서 새 웹훅을 생성하고 기존 웹훅을 관리할 수 있습니다." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "확인되면 다음 작업이 수행됩니다:" @@ -7594,6 +7702,10 @@ msgstr "한 번에 하나의 파일만 업로드할 수 있습니다" msgid "Only PDF files are allowed" msgstr "PDF 파일만 허용됩니다" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "관리 권한이 있는 보류 중인 문서만 취소됩니다." + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7728,9 +7840,9 @@ msgstr "조직 이름" msgid "Organisation not found" msgstr "조직을 찾을 수 없습니다." -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" msgstr "조직 검토 필요" @@ -8172,7 +8284,7 @@ msgstr "이메일 주소를 확인해 주세요." msgid "Please contact <0>support if you have any questions." msgstr "궁금한 점이 있으시면 <0>지원팀에 문의해 주세요." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." msgstr "계정 검토를 위해 {SUPPORT_EMAIL}(으)로 지원팀에 문의해 주세요." @@ -8184,6 +8296,10 @@ msgstr "이 작업을 되돌리려면 지원팀에 문의해 주세요." msgid "Please contact the site owner for further assistance." msgstr "사이트 소유자에게 추가 지원을 요청해 주세요." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "이 탭을 닫지 마십시오. 서명 제공자가 서명을 마무리하고 있습니다." + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "토큰을 나중에 식별할 수 있도록 의미 있는 이름을 입력해 주세요." @@ -8553,6 +8669,11 @@ msgstr "준비됨" msgid "Reason" msgstr "이유" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "사유 (선택 사항)" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "취소 사유: {cancellationReason}" @@ -8573,6 +8694,10 @@ msgstr "이유는 500자 미만이어야 합니다." msgid "Reauthentication is required to sign this field" msgstr "이 필드에 서명하려면 재인증이 필요합니다" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "다시 승인하고 재시도" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "사본 수신" @@ -8614,6 +8739,14 @@ msgstr "수신자 액션 인증" msgid "Recipient approved the document" msgstr "수신자가 문서를 승인했습니다" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "수신자가 서명 제공자에 인증했습니다." + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "수신자가 원격 서명을 승인했습니다." + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "수신자가 문서의 참조(CC) 수신자가 되었습니다" @@ -8644,6 +8777,10 @@ msgstr "수신자 ID:" msgid "Recipient rejected the document" msgstr "수신자가 문서를 거부했습니다" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient rejected the document externally" +msgstr "수신자가 문서를 외부에서 거부했습니다." + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient removed" msgstr "수신자 제거됨" @@ -8656,6 +8793,10 @@ msgstr "수신자 제거 이메일" msgid "Recipient requested a 2FA token for the document" msgstr "수신자가 문서에 대한 2FA 토큰을 요청했습니다" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "수신자가 원격 서명을 요청했습니다." + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "수신자 서명 완료" @@ -8693,6 +8834,14 @@ msgstr "수신자가 문서에 대한 2FA 토큰을 검증했습니다" msgid "Recipient viewed the document" msgstr "수신자가 문서를 조회했습니다" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "수신자의 원격 서명이 적용되었습니다." + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "수신자의 서명 제공자 인증에 실패했습니다." + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8716,6 +8865,11 @@ msgstr "새 문서에 자동으로 추가될 수신인들입니다." msgid "Recipients will be able to sign the document once sent" msgstr "수신자는 문서가 전송된 후 서명할 수 있습니다" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "수신자는 문서가 취소되었다는 알림을 받게 됩니다" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "수신자는 여전히 문서 사본을 보관합니다" @@ -9008,8 +9162,9 @@ msgstr "다시 봉인" msgid "Reseal document" msgstr "문서 다시 봉인" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9299,10 +9454,8 @@ msgstr "조직 이름, URL 또는 ID로 검색" msgid "Search documents..." msgstr "문서 검색..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9360,10 +9513,6 @@ msgstr "이 폴더의 대상 위치를 선택하세요." msgid "Select a field type" msgstr "필드 유형을 선택하세요." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "이 문서를 이동할 폴더를 선택하세요." - #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" msgstr "요금제 선택" @@ -9618,7 +9767,6 @@ msgstr "팀을 대신해 발송" msgid "Send recipient expired email to the owner" msgstr "소유자에게 수신자 만료 이메일 보내기" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "리마인더 보내기" @@ -9965,11 +10113,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "서명 중" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "서명 알고리즘이 지원되지 않습니다." + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "서명 인증서" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "서명 인증서가 유효하지 않습니다." + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9984,6 +10140,10 @@ msgstr "서명이 완료되었습니다!" msgid "Signing Deadline Expired" msgstr "서명 마감 기한 만료" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "서명에 실패했습니다." + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "대리 서명 대상" @@ -10063,6 +10223,7 @@ msgstr "건너뛰기" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "일부 서명자에게 서명 필드가 할당되지 않았습니다. 진행하기 전에 각 서명자에게 최소 1개 이상의 서명 필드를 할당해 주세요." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10110,6 +10271,10 @@ msgstr "일부 서명자에게 서명 필드가 할당되지 않았습니다. msgid "Something went wrong" msgstr "문제가 발생했습니다" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "전자 서명을 적용하는 중 문제가 발생했습니다. 다시 시도해 주세요." + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10131,6 +10296,10 @@ msgstr "문서를 불러오는 중 문제가 발생했습니다." msgid "Something went wrong while loading your passkeys." msgstr "패스키를 불러오는 중 문제가 발생했습니다." +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "원격 전자 서명을 준비하는 중 문제가 발생했습니다. 다시 시도해 주세요." + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." msgstr "문서를 렌더링하는 동안 문제가 발생했습니다. 다시 시도하거나 지원팀에 문의해 주세요." @@ -10698,14 +10867,14 @@ msgstr "템플릿 ID(레거시)" msgid "Template is using legacy field insertion" msgstr "템플릿이 기존(레거시) 필드 삽입 방식을 사용하고 있습니다." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "템플릿이 이동되었습니다" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "템플릿 이름이 변경되었습니다." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "템플릿을 다시 보냈습니다." + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "템플릿이 저장되었습니다" @@ -10891,10 +11060,6 @@ msgstr "정보가 없거나 유효하지 않아 문서를 생성할 수 없습 msgid "The Document has been deleted successfully." msgstr "문서가 성공적으로 삭제되었습니다." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "문서가 성공적으로 이동되었습니다." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "문서가 성공적으로 거부되었습니다." @@ -10923,10 +11088,32 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "문서 소유권이 {1}를 대신하여 {0}에게 위임되었습니다" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "문서 서명 프로세스가 중단됩니다" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "문서는 생성되었지만 수신자에게 발송되지 않았습니다." +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of {user}" +msgstr "문서는 {user}를 대신하여 {onBehalfOf}가 외부에서 거부했습니다." + +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of the recipient" +msgstr "문서는 수신자를 대신하여 {onBehalfOf}가 외부에서 거부했습니다." + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of {user}" +msgstr "문서는 {user}를 대신하여 외부에서 거부되었습니다." + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of the recipient" +msgstr "문서는 수신자를 대신하여 외부에서 거부되었습니다." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "문서는 계정에서 숨겨집니다" @@ -10935,6 +11122,10 @@ msgstr "문서는 계정에서 숨겨집니다" msgid "The document will be immediately sent to recipients if this is checked." msgstr "이 옵션을 선택하면 문서가 즉시 수신자에게 발송됩니다." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "문서는 대시보드에 \"취소됨\"으로 표시된 상태로 유지됩니다" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "찾고 있는 문서를 찾을 수 없습니다." @@ -10948,6 +11139,10 @@ msgstr "찾고 있는 문서는 삭제되었거나 이름이 변경되었거나 msgid "The document's name" msgstr "문서 이름" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "문서들은 대시보드에 \"취소됨\"으로 표시된 상태로 유지됩니다" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "이메일의 \"회신 대상\" 필드에 표시될 이메일 주소입니다." @@ -10985,18 +11180,10 @@ msgstr "삭제하려는 폴더가 존재하지 않습니다." msgid "The folder you are trying to move does not exist." msgstr "이동하려는 폴더가 존재하지 않습니다." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "문서를 이동하려는 폴더가 존재하지 않습니다." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "이 항목들을 이동하려는 폴더가 존재하지 않습니다." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "템플릿을 이동하려는 폴더가 존재하지 않습니다." - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "다음 오류가 발생했습니다." @@ -11148,6 +11335,10 @@ msgstr "이 문서의 서명 마감 기한이 지났습니다. 새로 서명할 msgid "The signing link has been copied to your clipboard." msgstr "서명 링크가 클립보드에 복사되었습니다." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "서명 제공자가 제시간에 응답하지 않았습니다. 다시 시도해 주세요." + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "문서 \"{documentName}\" 에서 \"{recipientName}\" 님의 서명 가능 기간이 만료되었습니다." @@ -11171,10 +11362,6 @@ msgstr "팀 이메일 <0>{teamEmail}이 다음 팀에서 제거되었습니 msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "찾고 있는 팀은 삭제되었거나 이름이 변경되었거나 처음부터 존재하지 않았을 수 있습니다." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "템플릿이 성공적으로 이동되었습니다." - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." msgstr "템플릿 또는 그 수신인 중 하나를 찾을 수 없습니다." @@ -11264,6 +11451,10 @@ msgstr "그 후 반복 주기" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "현재 활성 초안이 없습니다. 문서를 업로드하여 초안을 작성할 수 있습니다." +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "취소된 문서가 없습니다. 사용자가 취소한 문서는 배포되었다는 기록으로 이곳에 남습니다." + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." msgstr "아직 완료된 문서가 없습니다. 생성하거나 받은 문서는 완료되면 이곳에 표시됩니다." @@ -11329,6 +11520,10 @@ msgstr "이 문서는 복구할 수 없습니다. 향후 문서에 대한 삭제 msgid "This document cannot be changed" msgstr "이 문서는 변경할 수 없습니다." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "현재 이 문서를 취소할 수 없습니다. 다시 시도해 주세요." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "현재 이 문서를 삭제할 수 없습니다. 다시 시도해 주세요." @@ -11350,6 +11545,10 @@ msgstr "현재 이 문서를 템플릿으로 저장할 수 없습니다. 다시 msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "이 문서는 이미 이 수신자에게 전송되었습니다. 더 이상 이 수신자를 편집할 수 없습니다." +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "이 문서는 취소되었습니다" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx msgid "This document has been cancelled by the owner and is no longer available for others to sign." msgstr "이 문서는 소유자가 취소했으며, 더 이상 다른 사람이 서명할 수 없습니다." @@ -11473,6 +11672,10 @@ msgstr "이 항목은 삭제할 수 없습니다" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "이 링크는 유효하지 않거나 만료되었습니다. 팀에 문의해 인증 메일을 다시 보내 달라고 요청해 주세요." +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "이 구성원은 그룹에서 상속된 멤버이므로 팀에서 직접 제거할 수 없습니다." + #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "This organisation is awaiting payment. Complete checkout to unlock it." msgstr "이 조직은 결제를 기다리고 있습니다. 잠금 해제를 위해 결제를 완료하세요." @@ -11876,6 +12079,7 @@ msgstr "트리거" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "다시 시도" @@ -12028,6 +12232,10 @@ msgstr "2단계 인증을 설정할 수 없습니다" msgid "Unable to sign in" msgstr "로그인할 수 없습니다" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "서명 플로우를 시작할 수 없습니다." + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12124,6 +12332,7 @@ msgstr "제목 없는 그룹" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "업데이트" @@ -12621,6 +12830,7 @@ msgstr "문서 보기" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "문서 보기" @@ -13140,15 +13350,15 @@ msgstr "아직 다른 서명자들이 이 문서에 서명하지 않았습니다 msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "요청하신 대로 비밀번호를 변경했습니다. 이제 새 비밀번호로 로그인할 수 있습니다." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." msgstr "현재 요금제의 공정 사용 한도를 초과하는 API 활동이 감지되었습니다. 안전을 위해 검토가 완료될 때까지 새로운 API 활동이 일시 중지되었습니다." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." msgstr "현재 요금제의 공정 사용 한도를 초과하는 문서 활동이 감지되었습니다. 안전을 위해 검토가 완료될 때까지 새로운 문서 활동이 일시 중지되었습니다." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." msgstr "현재 요금제의 공정 사용 한도를 초과하는 이메일 발송 활동이 감지되었습니다. 안전을 위해 검토가 완료될 때까지 새로운 이메일 활동이 일시 중지되었습니다." @@ -13275,10 +13485,6 @@ msgstr "상대방을 기다리는 동안, Documenso 계정을 생성하고 바 msgid "Whitelabeling, unlimited members and more" msgstr "화이트라벨, 무제한 구성원 등" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "누구에게 리마인더를 보내시겠습니까?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13323,6 +13529,10 @@ msgstr "수신자를 추가했습니다" msgid "You approved the document" msgstr "문서를 승인했습니다" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "곧 <0>\"{title}\" 문서를 취소하려고 합니다" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "다음 문서에 대한 승인을 완료하려고 합니다" @@ -13477,10 +13687,6 @@ msgstr "현재 <0>{teamGroupName} 팀 그룹을 업데이트하고 있습니 msgid "You are not allowed to move these items." msgstr "이 항목들을 이동할 권한이 없습니다." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "You are not allowed to move this document." -msgstr "이 문서를 이동할 권한이 없습니다." - #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx msgid "You are not authorized to access this page." @@ -13502,6 +13708,14 @@ msgstr "이 사용자를 활성화할 권한이 없습니다." msgid "You are not authorized to reset two factor authentcation for this user." msgstr "이 사용자의 2단계 인증을 재설정할 권한이 없습니다." +#: packages/lib/utils/document-audit-logs.ts +msgid "You authenticated with the signing provider" +msgstr "서명 제공자를 통해 인증했습니다." + +#: packages/lib/utils/document-audit-logs.ts +msgid "You authorised the remote signature" +msgstr "원격 전자 서명을 승인했습니다." + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "You can add fields manually in the editor." msgstr "편집기에서 필드를 수동으로 추가할 수 있습니다." @@ -13563,6 +13777,10 @@ msgstr "생성된 문서는 대시보드의 \"템플릿에서 생성된 문서\" msgid "You can view the document and its status by clicking the button below." msgstr "아래 버튼을 클릭하면 문서와 그 상태를 확인할 수 있습니다." +#: packages/lib/utils/document-audit-logs.ts +msgid "You cancelled the document" +msgstr "사용자가 문서를 취소했습니다" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -13590,8 +13808,16 @@ msgid "You cannot modify a team member who has a higher role than you." msgstr "자신보다 높은 역할을 가진 팀 구성원의 설정은 변경할 수 없습니다." #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx -msgid "You cannot remove members from this team if the inherit member feature is enabled." -msgstr "구성원 상속 기능이 활성화된 경우 이 팀에서 구성원을 제거할 수 없습니다." +msgid "You cannot remove a member with a role higher than your own." +msgstr "본인보다 높은 역할을 가진 구성원은 제거할 수 없습니다." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team while the inherit member feature is enabled." +msgstr "멤버 상속 기능이 활성화된 동안에는 이 팀에서 구성원을 제거할 수 없습니다." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove the organisation owner from the team." +msgstr "조직 소유자는 팀에서 제거할 수 없습니다." #: packages/ui/primitives/document-dropzone.tsx #: packages/ui/primitives/document-upload-button.tsx @@ -13973,6 +14199,10 @@ msgstr "봉투 항목 {0}에 대한 PDF를 교체했습니다." msgid "You requested a 2FA token for the document" msgstr "문서에 대한 2FA 토큰을 요청했습니다" +#: packages/lib/utils/document-audit-logs.ts +msgid "You requested a remote signature" +msgstr "원격 전자 서명을 요청했습니다." + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "You resent an email to {0}" @@ -14182,9 +14412,9 @@ msgstr "문서가 성공적으로 생성되었습니다." msgid "Your document has been deleted by an admin!" msgstr "관리자가 귀하의 문서를 삭제했습니다!" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Your document has been re-sent successfully." -msgstr "문서가 성공적으로 재전송되었습니다." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your document has been resent successfully." +msgstr "문서가 성공적으로 다시 전송되었습니다." #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Your document has been saved as a template." @@ -14303,18 +14533,38 @@ msgstr "귀하의 조직이 공정 사용 한도를 초과했습니다. 요금 msgid "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." msgstr "귀하의 조직이 현재 요금제의 공정 사용 한도에 도달했습니다. 계속 진행하려면 조직 관리자 또는 지원팀에 문의해 주세요." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit" +msgstr "귀하의 조직이 공정 사용 한도에 가까워지고 있습니다." + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." +msgstr "귀하의 조직이 공정 사용 한도에 가까워지고 있습니다. 더 높은 한도가 필요할 것으로 예상된다면, 요금제 한도 검토를 위해 <0>지원팀에 문의해 주세요." + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." msgstr "귀하의 조직에서 평소보다 빠르게 API 요청을 보내고 있어 일부 요청이 일시적으로 제한되고 있습니다." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." msgstr "귀하의 조직에서 평소보다 빠르게 문서를 생성하고 있어 일부 요청이 일시적으로 제한되고 있습니다." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." msgstr "귀하의 조직에서 평소보다 빠르게 이메일을 보내고 있어 일부 요청이 일시적으로 제한되고 있습니다." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "귀하의 조직이 현재 요금제에서 문서를 생성할 수 있는 공정 사용 한도에 가까워지고 있습니다. 한도에 도달하면 새 문서 활동이 일시 중지됩니다." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "귀하의 조직이 현재 요금제에서 API 요청을 수행할 수 있는 공정 사용 한도에 가까워지고 있습니다. 한도에 도달하면 새 API 활동이 일시 중지됩니다." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "귀하의 조직이 현재 요금제에서 이메일을 보낼 수 있는 공정 사용 한도에 가까워지고 있습니다. 한도에 도달하면 새 이메일 활동이 일시 중지됩니다." + #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx msgid "Your password has been updated successfully." @@ -14361,6 +14611,30 @@ msgstr "복구 코드가 클립보드에 복사되었습니다." msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "아래에 복구 코드가 표시됩니다. 안전한 곳에 보관해 주세요." +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "원격 전자 서명이 적용되었습니다." + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "전자 서명을 적용하기 전에 서명 권한이 만료되었습니다. 다시 승인한 후 재시도해 주세요." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "서명 인증서가 유효하지 않거나, 만료되었거나, 필요한 키가 없습니다. 관리자나 서명 제공자에게 문의해 도움을 받으세요." + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "서명 제공자 인증에 실패했습니다." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "사용 중인 서명 제공자가 이 문서에서 허용하는 서명 알고리즘을 제공하지 않습니다. 관리자나 서명 제공자에게 문의해 도움을 받으세요." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "사용 중인 서명 제공자가 이 계정에 사용할 수 있는 자격 증명을 반환하지 않았습니다. 관리자나 서명 제공자에게 문의해 도움을 받으세요." + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "이 문서에 대한 귀하의 서명 가능 기간이 만료되었습니다. 새 초대장을 받으려면 발신자에게 문의하세요." @@ -14386,6 +14660,10 @@ msgstr "팀이 성공적으로 업데이트되었습니다." msgid "Your template has been created successfully" msgstr "템플릿이 성공적으로 생성되었습니다." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "템플릿이 성공적으로 다시 전송되었습니다." + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "템플릿이 성공적으로 복제되었습니다." diff --git a/packages/lib/translations/nl/web.po b/packages/lib/translations/nl/web.po index c39321ca0..49953db32 100644 --- a/packages/lib/translations/nl/web.po +++ b/packages/lib/translations/nl/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-12 07:37\n" +"PO-Revision-Date: 2026-06-22 13:53\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -49,6 +49,10 @@ msgstr "\"{documentName}\" is door alle ondertekenaars ondertekend" msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" heeft namens \"Team Name\" je uitgenodigd om \"example document\" te ondertekenen." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "\"{title}\" is succesvol geannuleerd." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "\"{title}\" is succesvol verwijderd" @@ -102,6 +106,17 @@ msgstr "{0, plural, one {# teken resterend} other {# tekens resterend}}" msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" msgstr "{0, plural, one {# CSS-regel is verwijderd tijdens het opschonen.} other {# CSS-regels zijn verwijderd tijdens het opschonen.}}" +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "{0, plural, one {# document geannuleerd.} other {# documenten geannuleerd.}} {1, plural, one {# document kon niet worden geannuleerd.} other {# documenten konden niet worden geannuleerd.}}" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "{0, plural, one {# document is geannuleerd.} other {# documenten zijn geannuleerd.}}" + #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx msgid "{0, plural, one {# document} other {# documents}}" @@ -246,6 +261,11 @@ msgstr "{0, plural, one {We hebben # veld in je document gevonden.} other {We he msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "{0, plural, one {We hebben # ontvanger in je document gevonden.} other {We hebben # ontvangers in je document gevonden.}}" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "{0, plural, one {U staat op het punt het geselecteerde document te annuleren.} other {U staat op het punt # documenten te annuleren.}}" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -483,6 +503,18 @@ msgstr "{user} heeft een ontvanger toegevoegd" msgid "{user} approved the document" msgstr "{user} heeft het document goedgekeurd" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "{user} is geverifieerd bij de ondertekenprovider" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "{user} heeft de externe handtekening gemachtigd" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "{user} heeft het document geannuleerd" + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "{user} heeft het document in CC gezet" @@ -546,6 +578,10 @@ msgstr "{user} heeft de pdf vervangen voor envelopitem {0}" msgid "{user} requested a 2FA token for the document" msgstr "{user} heeft een 2FA-token voor het document aangevraagd" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "{user} heeft een externe handtekening aangevraagd" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -617,6 +653,14 @@ msgstr "{user} heeft een 2FA-token voor het document gevalideerd" msgid "{user} viewed the document" msgstr "{user} heeft het document bekeken" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "De externe handtekening van {user} is toegepast" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "Authenticatie van de ondertekenprovider voor {user} is mislukte" + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -1256,6 +1300,14 @@ msgstr "Voeg een externe ID toe aan het document. Deze kan worden gebruikt om he msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Voeg een externe ID toe aan de sjabloon. Deze kan worden gebruikt voor identificatie in externe systemen." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "Voeg een optionele reden toe voor het annuleren van deze documenten" + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "Voeg een optionele reden toe voor het annuleren van dit document" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "Voeg meerdere documenten toe en configureer ze" @@ -1714,6 +1766,10 @@ msgstr "Er is een fout opgetreden tijdens het automatisch opslaan van de sjabloo msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "Er is een fout opgetreden tijdens het automatisch ondertekenen van het document; mogelijk zijn sommige velden niet ondertekend. Controleer het document en onderteken eventueel resterende velden handmatig." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "Er is een fout opgetreden bij het annuleren van de documenten." + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "Er is een fout opgetreden bij het voltooien van het document. Probeer het opnieuw." @@ -1758,18 +1814,10 @@ msgstr "Er is een fout opgetreden tijdens het inschakelen van de gebruiker." msgid "An error occurred while loading the document." msgstr "Er is een fout opgetreden tijdens het laden van het document." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "Er is een fout opgetreden bij het verplaatsen van het document." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "Er is een fout opgetreden bij het verplaatsen van de items." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "Er is een fout opgetreden bij het verplaatsen van de sjabloon." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "Er is een fout opgetreden bij het afwijzen van het document. Probeer het opnieuw." @@ -1857,6 +1905,14 @@ msgstr "Er is een fout opgetreden bij het uploaden van je document." msgid "An error occurred. Please try again later." msgstr "Er is een fout opgetreden. Probeer het later opnieuw." +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "Een organisatie heeft haar fair-use limieten overschreden" + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "Een organisatie nadert haar fair-use limieten" + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "Een organisatie wil een account voor je aanmaken. Controleer de onderstaande details." @@ -1981,10 +2037,28 @@ msgstr "API-verzoeken zijn tijdelijk gepauzeerd." msgid "API Tokens" msgstr "API‑tokens" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "API-gebruik nadert de fair-use limieten" + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "App‑versie" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "Uw handtekening wordt toegepast" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "Nadering van fair-use limiet" + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "U nadert de limieten van uw abonnement" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2070,6 +2144,7 @@ msgstr "Weet je zeker dat je deze organisatie wilt verwijderen?" msgid "Are you sure you wish to delete this team?" msgstr "Weet je zeker dat je dit team wilt verwijderen?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2474,12 +2549,11 @@ msgstr "Kunt u niemand vinden?" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2488,6 +2562,7 @@ msgstr "Kunt u niemand vinden?" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2534,7 +2609,6 @@ msgstr "Kunt u niemand vinden?" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2559,6 +2633,8 @@ msgstr "Kunt u niemand vinden?" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2569,6 +2645,24 @@ msgstr "Kunt u niemand vinden?" msgid "Cancel" msgstr "Annuleren" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "Document annuleren" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "Documenten annuleren" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "Documenten annuleren" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "Geannuleerd" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "Geannuleerd door gebruiker" @@ -4108,6 +4202,16 @@ msgstr "Document alles" msgid "Document Approved" msgstr "Document goedgekeurd" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "Document geannuleerd" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "Document geannuleerd" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4265,10 +4369,6 @@ msgstr "Documentlimiet overschreden!" msgid "Document metrics" msgstr "Documentstatistieken" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "Document verplaatst" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4309,10 +4409,6 @@ msgstr "Documentvoorkeuren bijgewerkt" msgid "Document rate limits" msgstr "Documentsnelheidslimieten" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "Document opnieuw verzonden" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx msgid "Document rejected" @@ -4328,6 +4424,10 @@ msgstr "Document geweigerd" msgid "Document Renamed" msgstr "Document hernoemd" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "Document opnieuw verzonden" + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "Document verzonden" @@ -4403,6 +4503,10 @@ msgstr "Uploaden van documenten uitgeschakeld wegens onbetaalde facturen" msgid "Document uploaded" msgstr "Document geüpload" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "Documentgebruik nadert de fair-use limieten" + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4463,6 +4567,10 @@ msgstr "Documenten" msgid "Documents and resources related to this envelope." msgstr "Documenten en bronnen die bij deze envelop horen." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "Documenten geannuleerd" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4480,6 +4588,10 @@ msgstr "Documenten aangemaakt vanuit sjabloon" msgid "Documents deleted" msgstr "Documenten verwijderd" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "Documenten gedeeltelijk geannuleerd" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "Documenten gedeeltelijk verwijderd" @@ -4964,6 +5076,10 @@ msgstr "E-mailtransport" msgid "Email Transports" msgstr "E-mailtransports" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "E-mailgebruik nadert de fair-use limieten" + #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" msgstr "E-mailverificatie" @@ -5263,14 +5379,10 @@ msgstr "Envelope bijgewerkt" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5687,9 +5799,7 @@ msgstr "Filteren op status" msgid "Focus ring colour." msgstr "Focusringkleur." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "Map" @@ -6069,9 +6179,7 @@ msgstr "Licentiesleutel verbergen" msgid "Home" msgstr "Home" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "Home (geen map)" @@ -6180,6 +6288,10 @@ msgstr "Als je de voorgestelde authenticator niet wilt gebruiken, kun je deze sl msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "Als je de bevestigingslink niet in je inbox vindt, kun je hieronder een nieuwe aanvragen." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "Als u verwacht hogere limieten nodig te hebben, neem dan contact op met support via {SUPPORT_EMAIL}, dan beoordelen wij uw account." + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "Als je authenticator‑app geen QR‑codes ondersteunt, kun je in plaats daarvan de volgende code gebruiken:" @@ -6208,10 +6320,12 @@ msgstr "Inboxdocumenten" msgid "Include audit log" msgstr "Auditlog bijvoegen" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "Velden opnemen" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "Ontvangers opnemen" @@ -7085,22 +7199,12 @@ msgstr "Maandelijkse documentlimiet" msgid "Monthly email quota" msgstr "Maandelijkse e-maillimiet" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "Verplaatsen" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "\"{templateTitle}\" naar een map verplaatsen" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "Document naar map verplaatsen" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "Documenten naar map verplaatsen" @@ -7115,10 +7219,6 @@ msgstr "Map verplaatsen" msgid "Move Subscription" msgstr "Abonnement verplaatsen" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "Sjabloon naar map verplaatsen" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "Templates naar map verplaatsen" @@ -7312,9 +7412,7 @@ msgstr "Er is geen veldtype gevonden dat overeenkomt met deze beschrijving." msgid "No fields were detected in your document." msgstr "Er zijn geen velden in uw document gedetecteerd." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "Geen mappen gevonden" @@ -7417,6 +7515,10 @@ msgstr "Geen resultaten gevonden." msgid "No signature field found" msgstr "Geen handtekeningveld gevonden" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "Geen ondertekeningsgegevens beschikbaar" + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "Geen Stripe-klant gekoppeld" @@ -7491,6 +7593,10 @@ msgstr "Niet ingesteld" msgid "Not supported" msgstr "Niet ondersteund" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "Niets geannuleerd" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7553,7 +7659,9 @@ msgstr "Op deze pagina kun je API-tokens aanmaken en beheren. Zie onze <0>docume msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "Op deze pagina kun je nieuwe webhooks aanmaken en bestaande beheren." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "Na bevestiging gebeurt het volgende:" @@ -7594,6 +7702,10 @@ msgstr "Er kan maar één bestand tegelijk worden geüpload" msgid "Only PDF files are allowed" msgstr "Alleen PDF-bestanden zijn toegestaan" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "Alleen lopende documenten waarvoor u beheermachtigingen heeft, worden geannuleerd." + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7728,9 +7840,9 @@ msgstr "Organisatienaam" msgid "Organisation not found" msgstr "Organisatie niet gevonden" -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" msgstr "Organisatiereview vereist" @@ -8172,7 +8284,7 @@ msgstr "Bevestig je e-mailadres" msgid "Please contact <0>support if you have any questions." msgstr "Neem contact op met <0>support als je vragen hebt." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." msgstr "Neem contact op met support via {SUPPORT_EMAIL}, dan beoordelen wij je account." @@ -8184,6 +8296,10 @@ msgstr "Neem contact op met support als je deze actie ongedaan wilt maken." msgid "Please contact the site owner for further assistance." msgstr "Neem contact op met de site-eigenaar voor verdere hulp." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "Sluit dit tabblad niet. De ondertekenprovider rondt uw handtekening af." + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "Voer een betekenisvolle naam in voor je token. Hiermee kun je het later herkennen." @@ -8553,6 +8669,11 @@ msgstr "Klaar" msgid "Reason" msgstr "Reden" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "Reden (optioneel)" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "Reden voor annulering: {cancellationReason}" @@ -8573,6 +8694,10 @@ msgstr "De reden moet uit minder dan 500 tekens bestaan." msgid "Reauthentication is required to sign this field" msgstr "Opnieuw authenticeren is vereist om dit veld te ondertekenen" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "Opnieuw machtigen en opnieuw proberen" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "Ontvangt kopie" @@ -8614,6 +8739,14 @@ msgstr "Authenticatie voor ontvangeractie" msgid "Recipient approved the document" msgstr "Ontvanger heeft het document goedgekeurd" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "Ontvanger is geverifieerd bij de ondertekenprovider" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "Ontvanger heeft de externe handtekening gemachtigd" + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "Ontvanger heeft het document in CC gekregen" @@ -8644,6 +8777,10 @@ msgstr "Ontvanger-ID:" msgid "Recipient rejected the document" msgstr "Ontvanger heeft het document afgewezen" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient rejected the document externally" +msgstr "De ontvanger heeft het document extern geweigerd" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient removed" msgstr "Ontvanger verwijderd" @@ -8656,6 +8793,10 @@ msgstr "E-mail bij verwijderde ontvanger" msgid "Recipient requested a 2FA token for the document" msgstr "Ontvanger heeft een 2FA-token voor het document aangevraagd" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "Ontvanger heeft een externe handtekening aangevraagd" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "Ontvanger heeft ondertekend" @@ -8693,6 +8834,14 @@ msgstr "Ontvanger heeft een 2FA-token voor het document gevalideerd" msgid "Recipient viewed the document" msgstr "Ontvanger heeft het document bekeken" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "De externe handtekening van de ontvanger is toegepast" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "De verificatie bij de ondertekeningsprovider van de ontvanger is mislukt" + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8716,6 +8865,11 @@ msgstr "Ontvangers die automatisch aan nieuwe documenten worden toegevoegd." msgid "Recipients will be able to sign the document once sent" msgstr "Ontvangers kunnen het document ondertekenen zodra het is verzonden" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "Ontvangers worden ervan op de hoogte gesteld dat het document is geannuleerd" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Ontvangers behouden nog steeds hun kopie van het document" @@ -9008,8 +9162,9 @@ msgstr "Opnieuw verzegelen" msgid "Reseal document" msgstr "Document opnieuw verzegelen" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9299,10 +9454,8 @@ msgstr "Zoeken op organisatienaam, URL of ID" msgid "Search documents..." msgstr "Documenten zoeken..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9360,10 +9513,6 @@ msgstr "Selecteer een bestemming voor deze map." msgid "Select a field type" msgstr "Selecteer een veldtype" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "Selecteer een map om dit document naar te verplaatsen." - #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" msgstr "Selecteer een abonnement" @@ -9618,7 +9767,6 @@ msgstr "Verzenden namens team" msgid "Send recipient expired email to the owner" msgstr "Stuur e-mail over verlopen ondertekenaar naar de eigenaar" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "Herinnering sturen" @@ -9965,11 +10113,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "Ondertekenen" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "Het ondertekeningsalgoritme wordt niet ondersteund" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "Ondertekeningscertificaat" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "Het ondertekeningscertificaat is ongeldig" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9984,6 +10140,10 @@ msgstr "Ondertekening voltooid!" msgid "Signing Deadline Expired" msgstr "Onderteken-deadline verstreken" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "Ondertekenen is mislukt" + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "Ondertekenen voor" @@ -10063,6 +10223,7 @@ msgstr "Overslaan" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Sommige ondertekenaars hebben geen handtekeningveld toegewezen gekregen. Wijs ten minste 1 handtekeningveld toe aan elke ondertekenaar voordat je doorgaat." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10110,6 +10271,10 @@ msgstr "Sommige ondertekenaars hebben geen handtekeningveld toegewezen gekregen. msgid "Something went wrong" msgstr "Er is iets misgegaan" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "Er is iets misgegaan bij het toepassen van uw handtekening. Probeer het opnieuw." + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10131,6 +10296,10 @@ msgstr "Er is iets misgegaan tijdens het laden van het document." msgid "Something went wrong while loading your passkeys." msgstr "Er is iets misgegaan bij het laden van je passkeys." +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "Er is iets misgegaan bij het voorbereiden van de externe handtekening. Probeer het opnieuw." + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." msgstr "Er is iets misgegaan bij het weergeven van het document. Probeer het opnieuw of neem contact op met onze support." @@ -10698,14 +10867,14 @@ msgstr "Sjabloon-ID (verouderd)" msgid "Template is using legacy field insertion" msgstr "Sjabloon gebruikt verouderde veldinvoeging" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "Sjabloon verplaatst" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "Template hernoemd" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "Template opnieuw verzonden" + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "Sjabloon opgeslagen" @@ -10891,10 +11060,6 @@ msgstr "Het document kon niet worden gemaakt vanwege ontbrekende of ongeldige in msgid "The Document has been deleted successfully." msgstr "Het document is succesvol verwijderd." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "Het document is succesvol verplaatst." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "Het document is succesvol afgewezen." @@ -10923,10 +11088,32 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "De eigendom van het document is gedelegeerd aan {0} namens {1}" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "Het ondertekeningsproces voor het document wordt gestopt" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "Het document is aangemaakt, maar kon niet naar ontvangers worden verzonden." +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of {user}" +msgstr "Het document is extern geweigerd door {onBehalfOf} namens {user}" + +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of the recipient" +msgstr "Het document is extern geweigerd door {onBehalfOf} namens de ontvanger" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of {user}" +msgstr "Het document is extern geweigerd namens {user}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of the recipient" +msgstr "Het document is extern geweigerd namens de ontvanger" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "Het document wordt verborgen in je account" @@ -10935,6 +11122,10 @@ msgstr "Het document wordt verborgen in je account" msgid "The document will be immediately sent to recipients if this is checked." msgstr "Het document wordt direct naar ontvangers verzonden als dit is aangevinkt." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "Het document blijft in uw dashboard staan met de status Geannuleerd" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "Het document dat u zoekt, kon niet worden gevonden." @@ -10948,6 +11139,10 @@ msgstr "Het document dat u zoekt, is mogelijk verwijderd, hernoemd of heeft miss msgid "The document's name" msgstr "De naam van het document" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "De documenten blijven in uw dashboard staan met de status Geannuleerd" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "Het e-mailadres dat in het veld \"Reply-To\" in e-mails wordt weergegeven" @@ -10985,18 +11180,10 @@ msgstr "De map die je probeert te verwijderen, bestaat niet." msgid "The folder you are trying to move does not exist." msgstr "De map die je probeert te verplaatsen, bestaat niet." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "De map waarnaar je het document probeert te verplaatsen, bestaat niet." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "De map waarnaar u de items probeert te verplaatsen, bestaat niet." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "De map waarnaar je de sjabloon probeert te verplaatsen, bestaat niet." - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "De volgende fouten zijn opgetreden:" @@ -11148,6 +11335,10 @@ msgstr "De onderteken-deadline voor dit document is verstreken. Neem contact op msgid "The signing link has been copied to your clipboard." msgstr "De ondertekeningslink is naar je klembord gekopieerd." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "De ondertekeningsprovider heeft niet op tijd gereageerd. Probeer het opnieuw." + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "Het ondertekenvenster voor \"{recipientName}\" voor document \"{documentName}\" is verlopen." @@ -11171,10 +11362,6 @@ msgstr "Het teame-mailadres <0>{teamEmail} is verwijderd uit het volgende te msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "Het team dat u zoekt, is mogelijk verwijderd, hernoemd of heeft misschien nooit bestaan." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "De sjabloon is succesvol verplaatst." - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." msgstr "De sjabloon of een van de ontvangers kon niet worden gevonden." @@ -11264,6 +11451,10 @@ msgstr "Daarna herhalen elke" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Er zijn momenteel geen actieve concepten. Upload een document om een concept te starten." +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "Er zijn geen geannuleerde documenten. Documenten die u annuleert, blijven hier staan als bewijs dat ze zijn verstuurd." + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." msgstr "Er zijn nog geen voltooide documenten. Documenten die je hebt aangemaakt of ontvangen, verschijnen hier zodra ze zijn voltooid." @@ -11329,6 +11520,10 @@ msgstr "Dit document kan niet worden teruggezet. Als je de reden voor toekomstig msgid "This document cannot be changed" msgstr "Dit document kan niet worden gewijzigd" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "Dit document kan op dit moment niet worden geannuleerd. Probeer het later opnieuw." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Dit document kan nu niet worden verwijderd. Probeer het opnieuw." @@ -11350,6 +11545,10 @@ msgstr "Dit document kan op dit moment niet als sjabloon worden opgeslagen. Prob msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "Dit document is al naar deze ontvanger verzonden. Je kunt deze ontvanger niet meer bewerken." +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "Dit document is geannuleerd" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx msgid "This document has been cancelled by the owner and is no longer available for others to sign." msgstr "Dit document is door de eigenaar geannuleerd en is niet langer beschikbaar voor anderen om te ondertekenen." @@ -11473,6 +11672,10 @@ msgstr "Dit item kan niet worden verwijderd" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "Deze link is ongeldig of verlopen. Neem contact op met je team om de verificatie opnieuw te laten verzenden." +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "Dit lid is overgenomen uit een groep en kan niet rechtstreeks uit het team worden verwijderd." + #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "This organisation is awaiting payment. Complete checkout to unlock it." msgstr "Deze organisatie wacht op betaling. Rond de betaling af om deze te ontgrendelen." @@ -11876,6 +12079,7 @@ msgstr "Triggers" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "Opnieuw proberen" @@ -12028,6 +12232,10 @@ msgstr "Kan twee‑factor‑authenticatie niet instellen" msgid "Unable to sign in" msgstr "Kan niet inloggen" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "De ondertekeningsflow kan niet worden gestart" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12124,6 +12332,7 @@ msgstr "Naamloze groep" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "Bijwerken" @@ -12621,6 +12830,7 @@ msgstr "Document bekijken" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "Document bekijken" @@ -13140,15 +13350,15 @@ msgstr "We wachten nog steeds tot andere ondertekenaars dit document ondertekene msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "We hebben je wachtwoord gewijzigd zoals je hebt gevraagd. Je kunt nu inloggen met je nieuwe wachtwoord." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." msgstr "We hebben API-activiteit op je account opgemerkt die de fair-use-limieten van je huidige abonnement overschrijdt. Als voorzorgsmaatregel is nieuwe API-activiteit tijdelijk gepauzeerd in afwachting van een beoordeling." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." msgstr "We hebben documentactiviteit op je account opgemerkt die de fair-use-limieten van je huidige abonnement overschrijdt. Als voorzorgsmaatregel is nieuwe documentactiviteit tijdelijk gepauzeerd in afwachting van een beoordeling." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." msgstr "We hebben e-mailverzendactiviteit op je account opgemerkt die de fair-use-limieten van je huidige abonnement overschrijdt. Als voorzorgsmaatregel is nieuwe e-mailactiviteit tijdelijk gepauzeerd in afwachting van een beoordeling." @@ -13275,10 +13485,6 @@ msgstr "Terwijl je daarop wacht, kun je je eigen Documenso‑account aanmaken en msgid "Whitelabeling, unlimited members and more" msgstr "Whitelabeling, onbeperkte leden en meer" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "Wie wil je herinneren?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13323,6 +13529,10 @@ msgstr "Je hebt een ontvanger toegevoegd" msgid "You approved the document" msgstr "Je hebt het document goedgekeurd" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "U staat op het punt om <0>\"{title}\" te annuleren" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "U staat op het punt het volgende document goed te keuren" @@ -13477,10 +13687,6 @@ msgstr "Je werkt momenteel de teamgroep <0>{teamGroupName} bij." msgid "You are not allowed to move these items." msgstr "U mag deze items niet verplaatsen." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "You are not allowed to move this document." -msgstr "Je mag dit document niet verplaatsen." - #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx msgid "You are not authorized to access this page." @@ -13502,6 +13708,14 @@ msgstr "Je bent niet gemachtigd om deze gebruiker in te schakelen." msgid "You are not authorized to reset two factor authentcation for this user." msgstr "U bent niet gemachtigd om de tweefactorauthenticatie voor deze gebruiker te resetten." +#: packages/lib/utils/document-audit-logs.ts +msgid "You authenticated with the signing provider" +msgstr "U heeft zich geverifieerd bij de ondertekeningsprovider" + +#: packages/lib/utils/document-audit-logs.ts +msgid "You authorised the remote signature" +msgstr "U heeft de externe handtekening geautoriseerd" + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "You can add fields manually in the editor." msgstr "U kunt velden handmatig toevoegen in de editor." @@ -13563,6 +13777,10 @@ msgstr "Je kunt de aangemaakte documenten bekijken in je dashboard onder het ged msgid "You can view the document and its status by clicking the button below." msgstr "Je kunt het document en de status ervan bekijken door op de onderstaande knop te klikken." +#: packages/lib/utils/document-audit-logs.ts +msgid "You cancelled the document" +msgstr "U hebt het document geannuleerd" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -13590,8 +13808,16 @@ msgid "You cannot modify a team member who has a higher role than you." msgstr "Je kunt een teamlid met een hogere rol dan jij niet wijzigen." #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx -msgid "You cannot remove members from this team if the inherit member feature is enabled." -msgstr "Je kunt geen leden uit dit team verwijderen als de functie voor overnemen van leden is ingeschakeld." +msgid "You cannot remove a member with a role higher than your own." +msgstr "Je kunt geen lid verwijderen met een rol die hoger is dan jouw eigen rol." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team while the inherit member feature is enabled." +msgstr "Je kunt geen leden uit dit team verwijderen zolang de functie voor het overnemen van leden is ingeschakeld." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove the organisation owner from the team." +msgstr "Je kunt de eigenaar van de organisatie niet uit het team verwijderen." #: packages/ui/primitives/document-dropzone.tsx #: packages/ui/primitives/document-upload-button.tsx @@ -13973,6 +14199,10 @@ msgstr "U hebt de PDF vervangen voor envelopitem {0}" msgid "You requested a 2FA token for the document" msgstr "Je hebt een 2FA-token voor het document aangevraagd" +#: packages/lib/utils/document-audit-logs.ts +msgid "You requested a remote signature" +msgstr "U heeft een externe handtekening aangevraagd" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "You resent an email to {0}" @@ -14182,8 +14412,8 @@ msgstr "Je document is succesvol aangemaakt" msgid "Your document has been deleted by an admin!" msgstr "Je document is verwijderd door een beheerder!" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Your document has been re-sent successfully." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your document has been resent successfully." msgstr "Je document is succesvol opnieuw verzonden." #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx @@ -14303,18 +14533,38 @@ msgstr "Uw organisatie heeft een redelijk-gebruikslimiet overschreden. Neem cont msgid "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." msgstr "Uw organisatie heeft de redelijk-gebruikslimiet van haar abonnement bereikt. Neem contact op met de beheerder van uw organisatie of met support om door te gaan." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit" +msgstr "Uw organisatie nadert een fair-use limiet." + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." +msgstr "Uw organisatie nadert een fair-use limiet. Als u verwacht hogere limieten nodig te hebben, neem dan contact op met <0>support om de limieten van uw abonnement te laten beoordelen." + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." msgstr "Je organisatie genereert API-verzoeken sneller dan normaal, daarom worden sommige verzoeken tijdelijk afgeremd." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." msgstr "Je organisatie genereert documenten sneller dan normaal, daarom worden sommige verzoeken tijdelijk afgeremd." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." msgstr "Je organisatie genereert e-mails sneller dan normaal, daarom worden sommige verzoeken tijdelijk afgeremd." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "Uw organisatie nadert de fair-use limieten voor het aanmaken van documenten in uw huidige abonnement. Zodra de limiet is bereikt, wordt nieuwe documentactiviteit tijdelijk onderbroken." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "Uw organisatie nadert de fair-use limieten voor het doen van API-verzoeken in uw huidige abonnement. Zodra de limiet is bereikt, wordt nieuwe API-activiteit tijdelijk onderbroken." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "Uw organisatie nadert de fair-use limieten voor het verzenden van e-mails in uw huidige abonnement. Zodra de limiet is bereikt, wordt nieuwe e-mailactiviteit tijdelijk onderbroken." + #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx msgid "Your password has been updated successfully." @@ -14361,6 +14611,30 @@ msgstr "Je herstelcode is naar je klembord gekopieerd." msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "Je herstelcodes staan hieronder. Bewaar ze op een veilige plek." +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "Uw externe handtekening is toegepast" + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "Uw ondertekeningsautorisatie is verlopen voordat de handtekening kon worden toegepast. Autoriseer opnieuw om het nogmaals te proberen." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "Uw ondertekeningscertificaat is ongeldig, verlopen of mist een vereiste sleutel. Neem contact op met uw beheerder of ondertekeningsprovider voor hulp." + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "Uw verificatie bij de ondertekeningsprovider is mislukt" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "Uw ondertekeningsprovider meldt geen ondertekeningsalgoritme aan dat door dit document wordt geaccepteerd. Neem contact op met uw beheerder of ondertekeningsprovider voor hulp." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "Uw ondertekeningsprovider heeft geen bruikbare referenties voor dit account geretourneerd. Neem contact op met uw beheerder of ondertekeningsprovider voor hulp." + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "Je ondertekenvenster voor dit document is verlopen. Neem contact op met de verzender voor een nieuwe uitnodiging." @@ -14386,6 +14660,10 @@ msgstr "Je team is succesvol bijgewerkt." msgid "Your template has been created successfully" msgstr "Je sjabloon is succesvol aangemaakt" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "Je template is succesvol opnieuw verzonden." + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "Je sjabloon is succesvol gedupliceerd." diff --git a/packages/lib/translations/pl/web.po b/packages/lib/translations/pl/web.po index a5ad7e196..010ea2157 100644 --- a/packages/lib/translations/pl/web.po +++ b/packages/lib/translations/pl/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-12 07:37\n" +"PO-Revision-Date: 2026-06-23 13:05\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -31,7 +31,7 @@ msgstr "Adres „{0}” nie jest prawidłowym adresem e-mail." #. placeholder {1}: timezone || '' #: apps/remix/app/components/general/document-signing/document-signing-date-field.tsx msgid "\"{0}\" will appear on the document as it has a timezone of \"{1}\"." -msgstr "W dokumencie, z racji strefy czasowej „{1}”, pojawi się wartość „{0}”." +msgstr "Ze względu na strefę czasową „{1}”, w dokumencie pojawi się wartość „{0}”." #: packages/email/template-components/template-document-super-delete.tsx msgid "\"{documentName}\" has been deleted by an admin." @@ -49,6 +49,10 @@ msgstr "Dokument „{documentName}” został podpisany przez wszystkich podpisu msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "Użytkownik „{placeholderEmail}” z zespołu „Zespół X” zaprosił Cię do podpisania dokumentu „ABC”." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "Dokument „{title}” został anulowany" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "Dokument „{title}” został usunięty" @@ -65,7 +69,7 @@ msgstr "„Zespół X” zaprosił Cię do podpisania dokumentu „ABC”." #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.branding.tsx msgid "(line {0})" -msgstr "(wiersz {0})" +msgstr "(linia {0})" #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx #: apps/remix/app/components/general/document-signing/document-signing-form.tsx @@ -100,7 +104,18 @@ msgstr "{0, plural, one {Pozostał # znak} few {Pozostały # znaki} many {Pozost #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.branding.tsx msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" -msgstr "{0, plural, one {# reguła CSS została odrzucona podczas oczyszczania.} few {# reguły CSS zostały odrzucone podczas oczyszczania.} many {# reguł CSS zostało odrzuconych podczas oczyszczania.} other {# reguły CSS zostały odrzucone podczas oczyszczania.}}" +msgstr "{0, plural, one {# reguła CSS została usunięta podczas oczyszczenia kodu.} few {# reguły CSS zostały usunięte podczas oczyszczenia kodu.} many {# reguł CSS zostało usuniętych podczas oczyszczenia kodu.} other {# reguły CSS zostały usunięte podczas oczyszczenia kodu.}}" + +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "{0, plural, one {Anulowano # dokument.} few {Anulowano # dokumenty.} many {Anulowano # dokumentów.} other {Anulowano # dokumentów.}} {1, plural, one {Nie można było anulować # dokumentu.} few {Nie można było anulować # dokumentów.} many {Nie można było anulować # dokumentów.} other {Nie można było anulować # dokumentów.}}" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "{0, plural, one {Anulowano # dokument.} few {Anulowano # dokumenty.} many {Anulowano # dokumentów.} other {Anulowano # dokumentów.}}" #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx @@ -169,12 +184,12 @@ msgstr "{0, plural, one {<0>Masz <1>1 oczekujące zaproszenie} few {<2>M #: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx #: apps/remix/app/components/general/envelope-signing/envelope-signer-header.tsx msgid "{0, plural, one {1 Field Remaining} other {# Fields Remaining}}" -msgstr "{0, plural, one {Pozostało 1 pole} few {Pozostały # pola} many {Pozostało # pól} other {Pozostało # pola}}" +msgstr "{0, plural, one {Pozostało 1 pole} few {Pozostały # pola} many {Pozostało # pól} other {Pozostało # pól}}" #. placeholder {0}: fieldsOnExcessPages.length #: apps/remix/app/components/dialogs/envelope-item-edit-dialog.tsx msgid "{0, plural, one {1 field will be deleted because the new PDF has fewer pages than the current one.} other {# fields will be deleted because the new PDF has fewer pages than the current one.}}" -msgstr "{0, plural, one {1 pole zostanie usunięte, ponieważ nowy plik PDF ma mniejszą liczbę stron niż obecny.} few {# pola zostaną usunięte, ponieważ nowy plik PDF ma mniejszą liczbę stron niż obecny.} many {# pól zostanie usuniętych, ponieważ nowy plik PDF ma mniejszą liczbę stron niż obecny.} other {# pola zostanie usuniętych, ponieważ nowy plik PDF ma mniejszą liczbę stron niż obecny.}}" +msgstr "{0, plural, one {1 pole zostanie usunięte, ponieważ nowy plik PDF ma mniejszą liczbę stron niż obecny.} few {# pola zostaną usunięte, ponieważ nowy plik PDF ma mniejszą liczbę stron niż obecny.} many {# pól zostanie usuniętych, ponieważ nowy plik PDF ma mniejszą liczbę stron niż obecny.} other {# pól zostanie usuniętych, ponieważ nowy plik PDF ma mniejszą liczbę stron niż obecny.}}" #. placeholder {0}: fields.filter((field) => field.envelopeItemId === doc.id).length #. placeholder {0}: remainingFields.filter((field) => field.envelopeItemId === doc.id).length @@ -246,6 +261,11 @@ msgstr "{0, plural, one {Znaleźliśmy # pole w dokumencie.} few {Znaleźliśmy msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "{0, plural, one {Znaleźliśmy # odbiorcę w dokumencie.} few {Znaleźliśmy # odbiorców w dokumencie.} many {Znaleźliśmy # odbiorców w dokumencie.} other {Znaleźliśmy # odbiorców w dokumencie.}}" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "{0, plural, one {Zamierzasz anulować dokument.} few {Zamierzasz anulować # dokumenty.} many {Zamierzasz anulować # dokumentów.} other {Zamierzasz anulować # dokumentów.}}" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -298,7 +318,7 @@ msgstr "Pozostało {0} z {1} dokumentów w tym miesiącu." #. placeholder {2}: envelope.title #: packages/lib/server-only/document/resend-document.ts msgid "{0} on behalf of \"{1}\" has invited you to {recipientActionVerb} the document \"{2}\"." -msgstr "Sprawdź i {recipientActionVerb} dokument „{2}” utworzony przez użytkownika {0} z zespołu „{1}”." +msgstr "Sprawdź i {recipientActionVerb} dokument „{2}” utworzony przez użytkownika {0} z zespołu „{1}”." #. placeholder {0}: organisation.name #: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx @@ -359,7 +379,7 @@ msgstr "Użytkownik {inviterName} anulował dokument<0/>„{documentName}”" #. placeholder {0}: _(actionVerb).toLowerCase() #: packages/email/template-components/template-document-invite.tsx msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" -msgstr "Sprawdź i {0} dokument „{documentName}}” utworzony przez użytkownika {inviterName}" +msgstr "Sprawdź i {0} dokument „{documentName}” utworzony przez użytkownika {inviterName}" #: packages/email/templates/document-invite.tsx msgid "{inviterName} has invited you to {action} {documentName}" @@ -381,12 +401,12 @@ msgstr "Użytkownik {inviterName} usunął Cię z dokumentu<0/>„{documentName} #. placeholder {1}: envelope.title #: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts msgid "{inviterName} on behalf of \"{0}\" has invited you to {recipientActionVerb} the document \"{1}\"." -msgstr "Sprawdź i {recipientActionVerb} dokument „{1}” utworzony przez użytkownika {inviterName} z zespołu „{0}”." +msgstr "Sprawdź i {recipientActionVerb} dokument „{1}” utworzony przez użytkownika {inviterName} z zespołu „{0}”." #. placeholder {0}: _(actionVerb).toLowerCase() #: packages/email/template-components/template-document-invite.tsx msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}<0/>\"{documentName}\"" -msgstr "Sprawdź i {0} dokument<0/>„{documentName}” utworzony przez użytkownika {inviterName} z zespołu „{teamName}”" +msgstr "Sprawdź i {0} dokument<0/>„{documentName}” utworzony przez użytkownika {inviterName} z zespołu „{teamName}”" #: packages/email/templates/document-invite.tsx msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {action} {documentName}" @@ -405,7 +425,7 @@ msgstr "{maximumEnvelopeItemCount, plural, one {Nie możesz przesłać więcej n #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx msgid "{organisationClaimCount, plural, one {# Organisation claim} other {# Organisation claims}}" -msgstr "{organisationClaimCount, plural, one {# roszczenie organizacji} few {# roszczenia organizacji} many {# roszczeń organizacji} other {# roszczenia organizacji}}" +msgstr "{organisationClaimCount, plural, one {# subskrypcję organizacji} few {# subskrypcje organizacji} many {# subskrypcji organizacji} other {# subskrypcji organizacji}}" #: apps/remix/app/components/general/direct-template/direct-template-page.tsx msgid "{recipientActionVerb} document" @@ -460,7 +480,7 @@ msgstr "Użytkownik {signerName} odrzucił dokument „{documentName}”." #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx msgid "{subscriptionClaimCount, plural, one {# Subscription claim} other {# Subscription claims}}" -msgstr "{subscriptionClaimCount, plural, one {# roszczenie subskrypcji} few {# roszczenia subskrypcji} many {# roszczeń subskrypcji} other {# roszczenia subskrypcji}}" +msgstr "{subscriptionClaimCount, plural, one {# subskrypcję} few {# subskrypcje} many {# subskrypcji} other {# subskrypcji}}" #. placeholder {0}: _(actionVerb).toLowerCase() #: packages/email/template-components/template-document-invite.tsx @@ -483,6 +503,18 @@ msgstr "Użytkownik {user} dodał odbiorcę" msgid "{user} approved the document" msgstr "Użytkownik {user} zatwierdził dokument" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "Użytkownik {user} uwierzytelnił się u dostawcy podpisu" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "Użytkownik {user} autoryzował podpis zdalny" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "Użytkownik {user} anulował dokument" + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "Użytkownik {user} odebrał kopię dokumentu" @@ -546,6 +578,10 @@ msgstr "Użytkownik {user} zastąpił plik PDF elementu koperty {0}" msgid "{user} requested a 2FA token for the document" msgstr "Użytkownik {user} poprosił o kod weryfikacyjny dla dokumentu" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "Użytkownik {user} poprosił o podpis zdalny" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -617,6 +653,14 @@ msgstr "Użytkownik {user} zweryfikował kod weryfikacyjny dla dokumentu" msgid "{user} viewed the document" msgstr "Użytkownik {user} wyświetlił dokument" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "Użytkownik {user} złożył podpis zdalny" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "Uwierzytelnienie użytkownika {user} u dostawcy podpisu nie powiodło się" + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -643,7 +687,7 @@ msgstr "{visibleRows, plural, one {# wynik} few {# wyniki} many {# wyników} oth #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx msgid "<0>\"{0}\" is no longer available to sign" -msgstr "<0>„{0}” nie jest już dostępny do podpisu" +msgstr "Dokument <0>„{0}” nie jest już dostępny do podpisu" #: packages/email/templates/organisation-account-link-confirmation.tsx msgid "<0>{organisationName} has requested to create an account on your behalf." @@ -1228,7 +1272,7 @@ msgstr "Dodaj dokument" #: packages/ui/primitives/document-flow/add-settings.tsx #: packages/ui/primitives/template-flow/add-template-settings.tsx msgid "Add a URL to redirect the user to once the document is signed" -msgstr "Dodaj adres URL do przekierowania użytkownika po podpisaniu dokumentu" +msgstr "Dodaj adres URL, na który użytkownik zostanie przekierowany po podpisaniu dokumentu" #: apps/remix/app/components/general/document/document-edit-form.tsx #: apps/remix/app/components/general/template/template-edit-form.tsx @@ -1256,6 +1300,14 @@ msgstr "Dodaj identyfikator zewnętrzny dokumentu. Może być używany do identy msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Dodaj identyfikator zewnętrzny szablonu. Może być używany do identyfikacji w zewnętrznych systemach." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "Dodaj opcjonalny powód anulowania dokumentów" + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "Dodaj opcjonalny powód anulowania dokumentu" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "Dodaj i skonfiguruj wiele dokumentów" @@ -1292,7 +1344,7 @@ msgstr "Dodaj domenę" #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx msgid "Add Email Transport" -msgstr "Dodaj transport e-mailowy" +msgstr "Dodaj dostawcę poczty e-mail" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "Add fields" @@ -1365,7 +1417,7 @@ msgstr "Dodaj domyślny tekst" #: apps/remix/app/components/general/rate-limit-array-input.tsx msgid "Add rate limit" -msgstr "Dodaj limit liczby żądań" +msgstr "Dodaj limit przepustowości" #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx msgid "Add recipients" @@ -1425,7 +1477,7 @@ msgstr "Dodaj ten adres URL do dozwolonych adresów przekierowania Twojego dosta #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx msgid "Add transport" -msgstr "Dodaj transport" +msgstr "Dodaj dostawcę poczty e-mail" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Additional brand information to display at the bottom of emails" @@ -1461,7 +1513,7 @@ msgstr "Tylko dla administratorów" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Advanced — Custom CSS" -msgstr "Zaawansowane — własny CSS" +msgstr "Zaawansowane – niestandardowy CSS" #: packages/ui/primitives/document-flow/add-settings.tsx #: packages/ui/primitives/template-flow/add-template-settings.tsx @@ -1507,7 +1559,7 @@ msgstr "Wszystko" #: apps/remix/app/routes/_authenticated+/admin+/organisation-stats._index.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisation-stats._index.tsx msgid "All claims" -msgstr "Wszystkie zgłoszenia" +msgstr "Wszystkie subskrypcje" #: apps/remix/app/components/general/app-command-menu.tsx msgid "All documents" @@ -1586,7 +1638,7 @@ msgstr "Odpowiadanie odbiorcom dokumentu bezpośrednio na ten adres e-mail" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "Allow Personal Organisations" -msgstr "Zezwalaj na osobiste organizacje" +msgstr "Zezwól na osobiste organizacje" #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -1714,6 +1766,10 @@ msgstr "Wystąpił błąd podczas automatycznego zapisywania ustawień szablonu. msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "Wystąpił błąd podczas automatycznego podpisywania dokumentu. Niektóre pola mogą nie być podpisane. Sprawdź i podpisz ręcznie wszystkie pozostałe pola." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "Wystąpił błąd podczas anulowania dokumentów." + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "Wystąpił błąd podczas próby zakończenia dokumentu. Spróbuj ponownie." @@ -1744,7 +1800,7 @@ msgstr "Wystąpił błąd podczas wyłączania użytkownika." #: apps/remix/app/utils/toast-error-messages.ts msgid "An error occurred while distributing the document." -msgstr "Wystąpił błąd podczas dystrybucji dokumentu." +msgstr "Wystąpił błąd podczas wysyłania dokumentu." #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "An error occurred while enabling direct link signing." @@ -1758,18 +1814,10 @@ msgstr "Wystąpił błąd podczas włączania użytkownika." msgid "An error occurred while loading the document." msgstr "Wystąpił błąd podczas ładowania dokumentu." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "Wystąpił błąd podczas przenoszenia dokumentu." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "Wystąpił błąd podczas przenoszenia elementów." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "Wystąpił błąd podczas przenoszenia szablonu." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "Wystąpił błąd podczas odrzucania dokumentu. Spróbuj ponownie." @@ -1857,6 +1905,14 @@ msgstr "Wystąpił błąd podczas przesyłania dokumentu." msgid "An error occurred. Please try again later." msgstr "Wystąpił błąd. Spróbuj ponownie później." +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "Organizacja przekroczyła limit dozwolonego użytkowania" + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "Organizacja zbliża się do limit dozwolonego użytkowania" + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "Organizacja chce utworzyć konto dla Ciebie. Sprawdź szczegóły poniżej." @@ -1963,7 +2019,7 @@ msgstr "Klucz API" #: apps/remix/app/components/general/claim-limit-fields.tsx msgid "API rate limits" -msgstr "Limity liczby żądań API" +msgstr "Limit przepustowości API" #: apps/remix/app/components/general/organisation-usage-panel.tsx msgid "API requests" @@ -1971,7 +2027,7 @@ msgstr "Żądania API" #: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx msgid "API requests have been temporarily paused" -msgstr "Żądania API zostały tymczasowo wstrzymane." +msgstr "Żądania API zostały tymczasowo wstrzymane" #: apps/remix/app/components/general/settings-nav-desktop.tsx #: apps/remix/app/components/general/settings-nav-mobile.tsx @@ -1981,10 +2037,28 @@ msgstr "Żądania API zostały tymczasowo wstrzymane." msgid "API Tokens" msgstr "Tokeny API" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "Wykorzystanie API zbliża się do limitu dozwolonego użytkowania" + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "Wersja aplikacji" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "Składanie podpisu" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "Zbliżasz się do limitu dozwolonego użytkowania" + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "Zbliżasz się do limitu planu" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2044,7 +2118,7 @@ msgstr "Czy na pewno chcesz usunąć następującą subskrypcję?" #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx msgid "Are you sure you want to delete the following transport?" -msgstr "Czy na pewno chcesz usunąć następujący transport?" +msgstr "Czy na pewno chcesz usunąć następującego dostawcę poczty e-mail?" #: apps/remix/app/components/dialogs/folder-delete-dialog.tsx msgid "Are you sure you want to delete this folder?" @@ -2070,6 +2144,7 @@ msgstr "Czy na pewno chcesz usunąć organizację?" msgid "Are you sure you wish to delete this team?" msgstr "Czy na pewno chcesz usunąć zespół?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2130,7 +2205,7 @@ msgstr "Przygotowujący" #: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx msgid "Assistants and Copy roles are currently not compatible with the multi-sign experience." -msgstr "Przygotowujący i pobierający kopię nie są kompatybilni z funkcją wielu podpisów." +msgstr "Przygotowujący i pobierający kopię nie są kompatybilni z funkcją wielu podpisów." #: apps/remix/app/components/general/document/document-page-view-recipients.tsx msgid "Assisted" @@ -2253,7 +2328,7 @@ msgstr "Zadania w tle" #: apps/remix/app/components/dialogs/claim-update-dialog.tsx msgid "Backport email transport" -msgstr "Backport transportu e-mailowego" +msgstr "Użyj dostawcy poczty e-mail" #: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx #: apps/remix/app/components/forms/signin.tsx @@ -2270,11 +2345,11 @@ msgstr "Baner został zaktualizowany" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Base background colour." -msgstr "Bazowy kolor tła." +msgstr "Kolor tła." #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Base text colour." -msgstr "Bazowy kolor tekstu." +msgstr "Kolor tekstu." #: packages/email/template-components/template-confirmation-email.tsx msgid "Before you get started, please confirm your email address by clicking the button below:" @@ -2292,7 +2367,7 @@ msgstr "Płatności" #: apps/remix/app/components/forms/public-profile-form.tsx msgid "Bio" -msgstr "Bio" +msgstr "Biografia" #: packages/ui/primitives/signature-pad/signature-pad-color-picker.tsx msgid "Black" @@ -2300,7 +2375,7 @@ msgstr "Czarny" #: apps/remix/app/components/general/admin-email-blocklist-section.tsx msgid "Block signups from additional email domains on top of the bundled disposable email list. Subdomains are matched automatically (e.g. blocking \"bad.com\" also blocks \"foo.bad.com\")." -msgstr "Blokuj rejestracje z dodatkowych domen e‑mail ponad dołączoną listę jednorazowych adresów. Subdomeny są dopasowywane automatycznie (np. zablokowanie \"bad.com\" powoduje również zablokowanie \"foo.bad.com\")." +msgstr "Zablokuj rejestracje z konkretnych domen. Subdomeny są blokowane automatycznie (np. domena.pl spowoduje również zablokowanie subdomena.domena.pl). Domeny tymczasowych adresów e-mail znajdują się na tej liście." #: apps/remix/app/components/general/organisation-usage-panel.tsx msgid "Blocked" @@ -2427,6 +2502,7 @@ msgstr "Akceptując prośbę, przyznasz zespołowi {0} następujące uprawnienia #: packages/email/templates/confirm-team-email.tsx msgid "By accepting this request, you will be granting <0>{teamName} access to:" msgstr "Akceptując prośbę, umożliwisz zespołowi <0>{teamName} na:" +msgstr "Akceptując prośbę, umożliwisz zespołowi <0>{teamName}:" #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "By deleting this document, the following will occur:" @@ -2474,12 +2550,11 @@ msgstr "Nie możesz kogoś znaleźć?" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2488,6 +2563,7 @@ msgstr "Nie możesz kogoś znaleźć?" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2534,7 +2610,6 @@ msgstr "Nie możesz kogoś znaleźć?" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2559,6 +2634,8 @@ msgstr "Nie możesz kogoś znaleźć?" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2569,6 +2646,24 @@ msgstr "Nie możesz kogoś znaleźć?" msgid "Cancel" msgstr "Anuluj" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "Anuluj dokument" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "Anuluj dokumenty" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "Anuluj dokumenty" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "Anulowano" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "Anulowano przez użytkownika" @@ -2617,7 +2712,7 @@ msgstr "Wyśrodkuj" #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx msgid "Change Field Type" -msgstr "Zmień typ pola" +msgstr "Zmień rodzaj pola" #: apps/remix/app/components/general/app-command-menu.tsx msgid "Change language" @@ -2706,7 +2801,7 @@ msgstr "Wybierz..." #: apps/remix/app/components/tables/admin-organisation-stats-table.tsx msgid "Claim" -msgstr "Zgłoszenie" +msgstr "Subskrypcja" #: apps/remix/app/components/general/claim-account.tsx msgid "Claim account" @@ -2736,7 +2831,7 @@ msgstr "Kliknij, aby rozpocząć" #: apps/remix/app/components/general/template/template-page-view-recent-activity.tsx #: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx msgid "Click here to retry" -msgstr "Kliknij tutaj, aby spróbować ponownie" +msgstr "Kliknij, aby spróbować ponownie" #: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx msgid "Click here to upload" @@ -2808,7 +2903,7 @@ msgstr "Zwiń panel boczny" #: apps/remix/app/components/general/admin-email-blocklist-section.tsx msgid "Comma-separated list of email domains to block from signing up." -msgstr "Lista domen e‑mail do zablokowania przy rejestracji, oddzielonych przecinkami." +msgstr "Lista zablokowanych domen do rejestracji oddzielona przecinkami." #: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx msgid "Communication" @@ -2924,7 +3019,7 @@ msgstr "Skonfiguruj ustawienia zabezpieczeń dokumentu." #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx msgid "Configure signing reminder settings for the document." -msgstr "Skonfiguruj przypomnienia o podpisaniu dokumentu." +msgstr "Skonfiguruj ustawienia przypomnień o podpisaniu dokumentu." #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "Configure template" @@ -2956,7 +3051,7 @@ msgstr "Skonfiguruj role w zespole dla każdego użytkownika" #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx msgid "Configure when and how often reminder emails are sent to recipients who have not yet completed signing. Uses the team default when set to inherit." -msgstr "Skonfiguruj, kiedy i jak często przypomnienia o podpisaniu będą wysyłane do odbiorców, którzy nie zakończyli dokumentu. Opcja dziedziczenia korzysta z domyślnych ustawień zespołu." +msgstr "Skonfiguruj, kiedy i jak często przypomnienia e-mail są wysyłane do odbiorców, którzy jeszcze nie ukończyli podpisywania. Gdy ustawione na dziedziczenie, używane są domyślne ustawienia zespołu." #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx #: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx @@ -3085,7 +3180,7 @@ msgstr "Wybierz język dokumentu, powiadomień i certyfikatu, który jest dołą #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls when and how often reminder emails are sent to recipients who have not yet completed signing." -msgstr "Skonfiguruj, kiedy i jak często przypomnienia o podpisaniu będą wysyłane do odbiorców, którzy nie zakończyli dokumentu." +msgstr "Określa, kiedy i jak często przypomnienia e-mail są wysyłane do odbiorców, którzy jeszcze nie ukończyli podpisywania." #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." @@ -3178,7 +3273,7 @@ msgstr "Kopiuj wartość" #: apps/remix/app/components/general/organisation-usage-reset-button.tsx msgid "Counter reset." -msgstr "Licznik zresetowany." +msgstr "Licznik został zresetowany." #: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-create-dialog.tsx @@ -3210,7 +3305,7 @@ msgstr "Utwórz nową organizację z planem {planName}. Zachowaj obecną organiz #: apps/remix/app/components/dialogs/admin-user-create-dialog.tsx msgid "Create a new user. A welcome email will be sent with a link to set their password." -msgstr "Utwórz nowego użytkownika. Zostanie wysłany e‑mail powitalny z łączem do ustawienia hasła." +msgstr "Utwórz nowego użytkownika. Wiadomość powitalna zostanie wysłana z linkiem do ustawienia hasła." #: apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx msgid "Create a support ticket" @@ -3447,7 +3542,7 @@ msgstr "Tworzenie szablonu" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.branding.tsx msgid "CSS rules were dropped during sanitisation" -msgstr "Niektóre reguły CSS zostały odrzucone podczas oczyszczania" +msgstr "Reguły CSS zostały usunięte podczas oczyszczenia kodu" #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx msgid "CSV Structure" @@ -3471,7 +3566,7 @@ msgstr "Obecni odbiorcy:" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Current usage against organisation limits." -msgstr "Obecne użycie względem limitów organizacji." +msgstr "Obecne wykorzystanie względem limitów organizacji." #: apps/remix/app/components/general/teams/team-inherit-member-alert.tsx msgid "Currently all organisation members can access this team" @@ -3492,7 +3587,7 @@ msgstr "Niestandardowy plik {0} MB" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Custom CSS is sanitised on save. Layout-breaking properties, remote URLs, and pseudo-elements are stripped automatically. Any rules dropped during sanitisation will be shown after you save." -msgstr "Niestandardowy kod CSS jest czyszczony podczas zapisywania. Właściwości mogące zepsuć układ, zdalne adresy URL oraz pseudo‑elementy są automatycznie usuwane. Wszystkie reguły odrzucone w trakcie czyszczenia zostaną wyświetlone po zapisaniu." +msgstr "Niestandardowy CSS jest oczyszczany podczas zapisywania. Właściwości psujące układ graficzny, zdalne adresy URL oraz pseudoelementy są automatycznie usuwane. Reguły usunięte podczas oczyszczania kodu zostaną wyświetlone po zapisaniu zmian." #: packages/ui/components/document/expiration-period-picker.tsx msgid "Custom duration" @@ -3500,7 +3595,7 @@ msgstr "Niestandardowy czas" #: packages/ui/components/document/reminder-settings-picker.tsx msgid "Custom interval" -msgstr "Niestandardowy czas" +msgstr "Własny interwał" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx msgid "Custom Organisation Groups" @@ -3508,11 +3603,11 @@ msgstr "Niestandardowe grupy w organizacji" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Customise the colours used on your signing pages." -msgstr "Dostosuj kolory używane na stronach podpisywania." +msgstr "Dostosuj kolory na stronach podpisywania." #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Danger Zone" -msgstr "Strefa zagrożenia" +msgstr "Niebezpieczna strefa" #: apps/remix/app/components/general/app-command-menu.tsx msgid "Dark Mode" @@ -3568,11 +3663,11 @@ msgstr "Odrzuć" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Default (system mailer)" -msgstr "Domyślny (systemowy mailer)" +msgstr "Domyślny (systemowy)" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Default border colour." -msgstr "Domyślny kolor obramowania." +msgstr "Kolor obramowania." #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Date Format" @@ -3592,7 +3687,7 @@ msgstr "Domyślny adres e-mail" #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "Default Email Settings" -msgstr "Domyślne ustawienia powiadomień" +msgstr "Domyślne ustawienia adresu e-mail" #: apps/remix/app/components/forms/document-preferences-form.tsx msgid "Default Envelope Expiration" @@ -3756,7 +3851,7 @@ msgstr "Usuń domenę" #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx msgid "Delete Email Transport" -msgstr "Usuń transport e-mailowy" +msgstr "Usuń dostawcę poczty e-mail" #: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx msgid "Delete Envelope" @@ -3832,7 +3927,7 @@ msgstr "Usuwanie konta..." #: apps/remix/app/components/dialogs/admin-organisation-delete-dialog.tsx msgid "Deletion scheduled" -msgstr "Usunięcie zaplanowane" +msgstr "Usunięcie zostało zaplanowane" #: apps/remix/app/components/general/webhook-logs-sheet.tsx msgid "Destination" @@ -3903,7 +3998,7 @@ msgstr "Urządzenie" #: packages/email/template-components/template-footer.tsx msgid "Did not expect this email? <0>Click here to report the sender. Never sign a document you don't recognize or weren't expecting." -msgstr "Nie spodziewasz się tej wiadomości e-mail? <0>Kliknij tutaj, aby zgłosić nadawcę. Nigdy nie podpisuj dokumentu, którego nie rozpoznajesz lub którego się nie spodziewałeś(-aś)." +msgstr "Wiadomość nie była przez Ciebie oczekiwana? <0>Kliknij, aby zgłosić nadawcę. Nigdy nie podpisuj dokumentu, którego nie rozpoznajesz." #: packages/email/templates/reset-password.tsx msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us." @@ -3962,7 +4057,7 @@ msgstr "Bezpośredni link do szablonu został usunięty" #. placeholder {1}: quota.directTemplates #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx msgid "Direct template link usage exceeded ({0}/{1})" -msgstr "Przekroczono limit użycia bezpośrednich linków do szablonu ({0} / {1})" +msgstr "Przekroczono limit wykorzystania bezpośrednich linków do szablonu ({0} / {1})" #: apps/remix/app/components/forms/editor/editor-field-checkbox-form.tsx #: apps/remix/app/components/forms/editor/editor-field-radio-form.tsx @@ -4029,7 +4124,7 @@ msgstr "Wyświetlać Twoją nazwę i adres e-mail w dokumentach" #: apps/remix/app/components/forms/signup.tsx msgid "Disposable email addresses are not allowed. Please sign up with a permanent email address." -msgstr "Adresy e‑mail jednorazowego użytku nie są dozwolone. Zarejestruj się, używając stałego adresu e‑mail." +msgstr "Tymczasowe adresy e-mail nie są dozwolone. Zarejestruj się za pomocą standardowego adresu e-mail." #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Distribute Document" @@ -4108,6 +4203,16 @@ msgstr "Wszystkie dokumenty" msgid "Document Approved" msgstr "Dokument został zatwierdzony" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "Anulowano dokument" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "Anulowano dokument" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4138,7 +4243,7 @@ msgstr "Dokument został zakończony!" #: apps/remix/app/utils/toast-error-messages.ts msgid "Document conversion is temporarily unavailable. Please try again shortly or upload a PDF." -msgstr "Konwersja dokumentów jest tymczasowo niedostępna. Spróbuj ponownie za chwilę lub prześlij plik PDF." +msgstr "Konwertowanie dokumentu jest niedostępne. Spróbuj ponownie później lub prześlij plik PDF." #: apps/remix/app/components/dialogs/template-use-dialog.tsx msgid "Document created" @@ -4178,7 +4283,7 @@ msgstr "Tworzenie dokumentu" #: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx msgid "Document creation has been temporarily paused" -msgstr "Tworzenie dokumentów zostało tymczasowo wstrzymane." +msgstr "Tworzenie dokumentów zostało tymczasowo wstrzymane" #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -4265,10 +4370,6 @@ msgstr "Przekroczono limit dokumentów!" msgid "Document metrics" msgstr "Metryki dokumentów" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "Dokument został przeniesiony" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4307,11 +4408,7 @@ msgstr "Ustawienia dokumentu zostały zaktualizowane" #: apps/remix/app/components/general/claim-limit-fields.tsx msgid "Document rate limits" -msgstr "Limity liczby dokumentów" - -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "Dokument został ponownie wysłany" +msgstr "Limit przepustowości dokumentów" #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx @@ -4328,6 +4425,10 @@ msgstr "Odrzucono dokument" msgid "Document Renamed" msgstr "Zmieniono nazwę dokumentu" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "Wysłano ponownie dokument" + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "Dokument został wysłany" @@ -4353,7 +4454,7 @@ msgstr "Zaktualizowano metodę uwierzytelniania odbiorcy do dokumentu" #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Document signing process will be cancelled" -msgstr "Proces podpisywania dokumentu zostanie anulowany" +msgstr "Podpisywanie dokumentu zostanie anulowane" #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx msgid "Document status" @@ -4403,6 +4504,10 @@ msgstr "Przesyłanie dokumentów zostało wyłączone z powodu nieopłaconych fa msgid "Document uploaded" msgstr "Dokument został przesłany" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "Wykorzystanie dokumentów zbliża się do limitu dozwolonego użytkowania" + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4463,6 +4568,10 @@ msgstr "Dokumenty" msgid "Documents and resources related to this envelope." msgstr "Dokumenty i zasoby powiązane z kopertą." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "Dokumenty zostały anulowane" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4480,6 +4589,10 @@ msgstr "Dokumenty utworzone z szablonu" msgid "Documents deleted" msgstr "Dokumenty zostały usunięte" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "Dokumenty zostały częściowo anulowane" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "Dokumenty zostały częściowo usunięte" @@ -4502,7 +4615,7 @@ msgstr "Dokumenty, które zostały podpisane przez wszystkich odbiorców, ale ni #: apps/remix/app/routes/_authenticated+/admin+/organisation-stats._index.tsx msgid "Documents, emails and api values may not be accurate since they record the amount of times the action was attempted. Meaning these values may go over the actual quota, get rejected, and will still be recorded." -msgstr "Dokumenty, e-maile i wartości API mogą nie być dokładne, ponieważ rejestrują liczbę prób wykonania danej akcji. Oznacza to, że te wartości mogą przekraczać faktyczny limit, być odrzucane, a mimo to nadal będą zapisywane." +msgstr "Wartości dokumentów, wiadomości i API mogą nie być dokładne, ponieważ rejestrują liczbę prób wykonania danej akcji. Oznacza to, że wartości te mogą przekroczyć rzeczywisty limit, zostać odrzucone, a mimo to nadal będą rejestrowane." #: apps/remix/app/components/tables/organisation-email-domains-table.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx @@ -4596,7 +4709,7 @@ msgstr "Szkice dokumentów" #: packages/ui/primitives/document-dropzone.tsx msgid "Drag & drop your document here." -msgstr "Przeciągnij i upuść tutaj swój dokument." +msgstr "Przeciągnij i upuść dokument." #: apps/remix/app/components/embed/authoring/configure-document-upload.tsx msgid "Drag and drop or click to upload" @@ -4604,7 +4717,7 @@ msgstr "Przeciągnij i upuść lub kliknij, aby przesłać" #: apps/remix/app/components/general/envelope/envelope-drop-zone-wrapper.tsx msgid "Drag and drop your document here" -msgstr "Przeciągnij i upuść tutaj swój dokument" +msgstr "Przeciągnij i upuść dokument" #: packages/lib/constants/document.ts #: packages/ui/primitives/signature-pad/signature-pad.tsx @@ -4694,7 +4807,7 @@ msgstr "Np. 100" #: apps/remix/app/components/forms/email-transport-form.tsx msgid "e.g. Resend (free plans)" -msgstr "np. Resend (plany bezpłatne)" +msgstr "np. Resend (plan darmowy)" #: apps/remix/app/components/general/document/document-page-view-button.tsx #: apps/remix/app/components/general/document/document-page-view-dropdown.tsx @@ -4712,7 +4825,7 @@ msgstr "Edytuj" #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx msgid "Edit Email Transport" -msgstr "Edytuj transport e-mailowy" +msgstr "Edytuj dostawcę poczty e-mail" #: apps/remix/app/components/dialogs/envelope-item-edit-dialog.tsx msgid "Edit Item" @@ -4814,11 +4927,11 @@ msgstr "Adres e-mail już istnieje" #: apps/remix/app/components/general/admin-email-blocklist-section.tsx msgid "Email Blocklist" -msgstr "Bloklista e‑mail" +msgstr "Lista zablokowanych domen" #: apps/remix/app/components/general/admin-email-blocklist-section.tsx msgid "Email Blocklist Updated" -msgstr "Zaktualizowano bloklistę e‑mail" +msgstr "Lista została zaktualizowana" #: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx msgid "Email Confirmed!" @@ -4830,11 +4943,11 @@ msgstr "Adres e-mail został utworzony" #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx msgid "Email distribution needs to be enabled in the general settings tab to configure recipient email related settings." -msgstr "Aby móc skonfigurować ustawienia dotyczące wiadomości e-mail odbiorców, należy włączyć dystrybucję e-mail w zakładce ustawień ogólnych." +msgstr "Aby skonfigurować wiadomości, musisz włączyć dystrybucję dokumentu za pomocą poczty e-mail." #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Email document settings" -msgstr "Ustawienia powiadomień" +msgstr "Ustawienia wysyłki dokumentu e‑mailem" #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx msgid "Email Domain" @@ -4883,7 +4996,7 @@ msgstr "Ustawienia adresu e-mail zostały zaktualizowane" #: apps/remix/app/components/general/claim-limit-fields.tsx msgid "Email rate limits" -msgstr "Limity liczby wiadomości e-mail" +msgstr "Limit przepustowości wiadomości" #: packages/ui/components/document/document-email-checkboxes.tsx msgid "Email recipients when a pending document is deleted" @@ -4919,7 +5032,7 @@ msgstr "Adres e-mail nadawcy" #: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx msgid "Email sending has been temporarily paused" -msgstr "Wysyłanie wiadomości e-mail zostało tymczasowo wstrzymane." +msgstr "Wysyłanie wiadomości zostało tymczasowo wstrzymane" #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" @@ -4936,7 +5049,7 @@ msgstr "Ustawienia adresu e-mail" #: apps/remix/app/components/dialogs/admin-organisation-delete-dialog.tsx msgid "Email the organisation owner to notify them of the deletion." -msgstr "Wyślij e-mail do właściciela organizacji, aby powiadomić go o usunięciu." +msgstr "Wyślij właścicielowi organizacji powiadomienie o usunięciu." #: packages/ui/components/document/document-email-checkboxes.tsx msgid "Email the owner when a document is created from a direct template" @@ -4957,12 +5070,16 @@ msgstr "Wyślij podpisującemu wiadomość, jeśli dokument jest nadal oczekują #: apps/remix/app/components/forms/subscription-claim-form.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Email transport" -msgstr "Transport e-mailowy" +msgstr "Dostawca poczty e-mail" #: apps/remix/app/routes/_authenticated+/admin+/_layout.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-transports._index.tsx msgid "Email Transports" -msgstr "Transporty e-mailowe" +msgstr "Dostawcy poczty e-mail" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "Wykorzystanie wiadomości zbliża się do limitu dozwolonego użytkowania" #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" @@ -4993,7 +5110,7 @@ msgstr "Osadzanie dokumentów, 5 użytkowników i więcej" #: apps/remix/app/components/general/claim-limit-fields.tsx #: apps/remix/app/components/general/claim-limit-fields.tsx msgid "Empty = Unlimited, 0 = Blocked" -msgstr "Puste = Bez limitu, 0 = Zablokowane" +msgstr "Puste = bez ograniczeń, 0 = zablokowane" #: packages/ui/primitives/document-flow/add-fields.tsx msgid "Empty field" @@ -5100,7 +5217,7 @@ msgstr "Załączniki" #: apps/remix/app/components/forms/email-transport-form.tsx msgid "Endpoint (optional)" -msgstr "Endpoint (opcjonalnie)" +msgstr "Punkt końcowy (opcjonalnie)" #: packages/lib/constants/i18n.ts msgid "English" @@ -5263,14 +5380,10 @@ msgstr "Koperta została zaktualizowana" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5466,7 +5579,7 @@ msgstr "Nie udało się utworzyć zgłoszenia" #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx msgid "Failed to create transport." -msgstr "Nie udało się utworzyć transportu." +msgstr "Nie udało się utworzyć dostawcy poczty e-mail." #: apps/remix/app/components/dialogs/folder-delete-dialog.tsx msgid "Failed to delete folder" @@ -5478,7 +5591,7 @@ msgstr "Nie udało się usunąć subskrypcji." #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx msgid "Failed to delete transport." -msgstr "Nie udało się usunąć transportu." +msgstr "Nie udało się usunąć dostawcy poczty e-mail." #: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx msgid "Failed to download audit logs. Please try again later." @@ -5522,7 +5635,7 @@ msgstr "Nie udało się zapisać ustawień." #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx msgid "Failed to save transport." -msgstr "Nie udało się zapisać transportu." +msgstr "Nie udało się zapisać dostawcy poczty e-mail." #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx msgid "Failed to sign out all sessions" @@ -5583,7 +5696,7 @@ msgstr "Niepowodzenie: {failedCount}" #: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx #: apps/remix/app/utils/toast-error-messages.ts msgid "Fair use limit exceeded" -msgstr "Przekroczono limit dozwolonego użycia." +msgstr "Przekroczono limit dozwolonego użytkowania" #: apps/remix/app/components/forms/subscription-claim-form.tsx #: apps/remix/app/components/tables/admin-claims-table.tsx @@ -5597,7 +5710,7 @@ msgstr "Funkcje" #: apps/remix/app/components/dialogs/admin-organisation-sync-subscription-dialog.tsx msgid "Fetch the latest subscription data from Stripe and apply it to this organisation." -msgstr "Pobierz najnowsze dane subskrypcji ze Stripe i zastosuj je do tej organizacji." +msgstr "Pobierz najnowsze dane subskrypcji z Stripe i zastosuj je w organizacji." #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx msgid "Field character limit" @@ -5673,7 +5786,7 @@ msgstr "Plik nie może być większy niż {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx msgid "Fill in the details to create a new email transport." -msgstr "Uzupełnij szczegóły, aby utworzyć nowy transport e-mailowy." +msgstr "Uzupełnił szczegóły, aby utworzyć nowego dostawcę poczty e-mail." #: apps/remix/app/components/dialogs/claim-create-dialog.tsx msgid "Fill in the details to create a new subscription claim." @@ -5685,11 +5798,9 @@ msgstr "Filtruj według statusu" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Focus ring colour." -msgstr "Kolor obramowania aktywnego elementu (focus ring)." +msgstr "Kolor obramowania zaznaczenia." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "Folder" @@ -5747,7 +5858,7 @@ msgstr "Na przykład, jeśli subskrypcja ma nową flagę „FLAG_1” ustawioną #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Foreground" -msgstr "Kolor pierwszego planu" +msgstr "Tekst" #: apps/remix/app/routes/_unauthenticated+/check-email.tsx msgid "Forgot password" @@ -5781,7 +5892,7 @@ msgstr "Darmowa" #: apps/remix/app/components/tables/user-billing-organisations-table.tsx msgctxt "Subscription status" msgid "Free (Pending)" -msgstr "Darmowy (oczekujący)" +msgstr "Darmowa (oczekująca)" #: packages/lib/utils/fields.ts #: packages/ui/primitives/document-flow/types.ts @@ -6037,11 +6148,11 @@ msgstr "Cześć, jestem Timur" #: packages/email/template-components/template-document-reminder.tsx msgid "Hi {recipientName}," -msgstr "Cześć {recipientName}," +msgstr "Cześć, {recipientName}," #: packages/email/templates/bulk-send-complete.tsx msgid "Hi {userName}," -msgstr "Cześć {userName}," +msgstr "Cześć, {userName}" #: packages/email/template-components/template-access-auth-2fa.tsx msgid "Hi {userName}, you need to enter a verification code to complete the document \"{documentTitle}\"." @@ -6049,7 +6160,7 @@ msgstr "Cześć {userName}, wpisz kod weryfikacyjny, aby zakończyć dokument #: packages/email/templates/reset-password.tsx msgid "Hi, {userName} <0>({userEmail})" -msgstr "Cześć {userName} <0>({userEmail})" +msgstr "Cześć, {userName} <0>({userEmail})" #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/tables/documents-table-action-dropdown.tsx @@ -6069,9 +6180,7 @@ msgstr "Ukryj klucz licencyjny" msgid "Home" msgstr "Strona główna" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "Strona główna (brak folderu)" @@ -6093,7 +6202,7 @@ msgstr "Czas, w którym odbiorcy muszą zakończyć dokument. Opcja dziedziczeni #: apps/remix/app/components/forms/signup.tsx #: apps/remix/app/components/general/claim-account.tsx msgid "Human verification required" -msgstr "Wymagana weryfikacja za pomocą CAPTCHA" +msgstr "Weryfikacja antyspamowa jest wymagana" #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "I agree to link my account with this organization" @@ -6122,7 +6231,7 @@ msgstr "Muszę otrzymać kopię dokumentu" #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "I am the owner of this document" -msgstr "Jestem właścicielem tego dokumentu" +msgstr "Jestem właścicielem dokumentu" #: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx msgid "I understand that I am providing my credentials to a 3rd party service configured by this organisation" @@ -6162,11 +6271,11 @@ msgstr "Jeśli korzystasz ze środowiska „staging”, ustaw właściwość hos #: apps/remix/app/routes/_recipient+/report.$token.tsx msgid "If you did not expect this email or believe it is spam, you can report the sender to our team for review." -msgstr "Jeśli nie spodziewałeś(-aś) się tej wiadomości e-mail lub uważasz, że to spam, możesz zgłosić nadawcę do naszego zespołu do weryfikacji." +msgstr "Jeśli wiadomość nie była przez Ciebie oczekiwana lub uważasz, że jest to spam, zgłoś nadawcę do naszego zespołu." #: packages/email/template-components/template-admin-user-created.tsx msgid "If you didn't expect this account or have any questions, please <0>contact support." -msgstr "Jeśli nie spodziewałeś(-aś) się tego konta lub masz jakiekolwiek pytania, <0>skontaktuj się z pomocą techniczną." +msgstr "Jeśli utworzenie konta jest błędem lub masz pytania, <0>skontaktuj się z pomocą techniczną." #: packages/email/template-components/template-access-auth-2fa.tsx msgid "If you didn't request this verification code, you can safely ignore this email." @@ -6180,6 +6289,10 @@ msgstr "Jeśli nie chcesz skorzystać z proponowanego uwierzytelniacza, możesz msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "Jeśli nie znajdziesz wiadomości z linkiem potwierdzającym, możesz poprosić o nową wiadomość poniżej." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "Jeśli potrzebujesz wyższych limitów, skontaktuj się z pomocą techniczną pod adresem {SUPPORT_EMAIL}." + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "Jeśli Twoja aplikacja uwierzytelniająca nie obsługuje kodów QR, użyj poniższego kodu:" @@ -6208,10 +6321,12 @@ msgstr "Skrzynka odbiorcza" msgid "Include audit log" msgstr "Dołącz dziennik logów" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "Dołącz pola" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "Dołącz odbiorców" @@ -6422,7 +6537,7 @@ msgstr "Adres IP" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Irreversible actions for this organisation" -msgstr "Nieodwracalne działania dla tej organizacji" +msgstr "Nieodwracalne akcje dla organizacji" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "Issuer URL" @@ -6598,7 +6713,7 @@ msgstr "Pozostaw puste, aby odziedziczyć z organizacji." #: apps/remix/app/components/forms/email-transport-form.tsx msgid "Leave blank to keep current" -msgstr "Pozostaw puste, aby zachować obecne" +msgstr "Pozostaw puste, aby nie zmieniać" #: apps/remix/app/components/dialogs/organisation-leave-dialog.tsx msgid "Leave organisation" @@ -6768,7 +6883,7 @@ msgstr "Zarządzaj niestandardowym logowaniem SSO dla swojej organizacji." #: apps/remix/app/routes/_authenticated+/admin+/email-transports._index.tsx msgid "Manage all email transports" -msgstr "Zarządzaj wszystkimi transportami e-mailowymi" +msgstr "Zarządzaj wszystkimi dostawcami poczty e-mail" #: apps/remix/app/routes/_authenticated+/settings+/organisations.tsx msgid "Manage all organisations you are currently associated with." @@ -6952,7 +7067,7 @@ msgstr "MAU (zalogowani)" #: apps/remix/app/components/forms/editor/editor-field-number-form.tsx #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx msgid "Max" -msgstr "Max" +msgstr "Maks." #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx msgid "Maximum file size: 4MB. Maximum 100 rows per upload. Blank values will use template defaults." @@ -6961,7 +7076,7 @@ msgstr "Maksymalny rozmiar pliku to 4 MB. Możesz przesłać maksymalnie 100 wie #: apps/remix/app/components/forms/subscription-claim-form.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Maximum number of recipients per document allowed. 0 = Unlimited" -msgstr "Maksymalna dozwolona liczba odbiorców na dokument. 0 = Bez limitu" +msgstr "Maksymalna dozwolona liczba odbiorców dokumentu. 0 = bez ograniczeń" #: apps/remix/app/components/forms/subscription-claim-form.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx @@ -7037,7 +7152,7 @@ msgstr "Środek" #: apps/remix/app/components/forms/editor/editor-field-number-form.tsx #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx msgid "Min" -msgstr "Min" +msgstr "Min." #: apps/remix/app/components/general/admin-license-status-banner.tsx msgid "Missing License - Your Documenso instance is using features that require a license." @@ -7054,7 +7169,7 @@ msgstr "Edytuj odbiorców" #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx msgid "Modify the details of the email transport." -msgstr "Zmień szczegóły transportu e-mailowego." +msgstr "Edytuj szczegóły dostawcy poczty e-mail." #: apps/remix/app/components/dialogs/claim-update-dialog.tsx msgid "Modify the details of the subscription claim." @@ -7083,24 +7198,14 @@ msgstr "Miesięczny limit dokumentów" #: apps/remix/app/components/general/claim-limit-fields.tsx msgid "Monthly email quota" -msgstr "Miesięczny limit e‑maili" +msgstr "Miesięczny limit wiadomości" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "Przenieś" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "Przenieś szablon „{templateTitle}” do folderu" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "Przenieś dokument do folderu" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "Przenieś dokumenty do folderu" @@ -7115,10 +7220,6 @@ msgstr "Przenieś folder" msgid "Move Subscription" msgstr "Przenieś subskrypcję" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "Przenieś szablon do folderu" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "Przenieś szablony do folderu" @@ -7198,7 +7299,7 @@ msgstr "Ustawienia nazwy" #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx msgid "Need to sign documents?" -msgstr "Potrzebujesz podpisać dokumenty?" +msgstr "Potrzebujesz podpisywać dokumenty?" #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Needs to approve" @@ -7306,15 +7407,13 @@ msgstr "Brak włączonych funkcji" #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx msgid "No field type matching this description was found." -msgstr "Nie znaleziono typu pola pasującego do tego opisu." +msgstr "Nie znaleziono pola pasującego do tego opisu." #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "No fields were detected in your document." msgstr "Nie wykryto żadnych pól." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "Nie znaleziono folderów" @@ -7417,6 +7516,10 @@ msgstr "Nie znaleziono wyników." msgid "No signature field found" msgstr "Nie znaleziono pola podpisu" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "Brak dostępnych certyfikatów podpisu" + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "Brak identyfikatora klienta Stripe" @@ -7491,6 +7594,10 @@ msgstr "Nie ustawiono" msgid "Not supported" msgstr "Nieobsługiwane" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "Nic nie anulowano" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7522,12 +7629,12 @@ msgstr "Liczba musi być w formacie {numberFormat}" #: apps/remix/app/components/forms/subscription-claim-form.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Number of members allowed. 0 = Unlimited" -msgstr "Liczba dozwolonych użytkowników. 0 = Bez ograniczeń" +msgstr "Liczba dozwolonych użytkowników. 0 = bez ograniczeń" #: apps/remix/app/components/forms/subscription-claim-form.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Number of teams allowed. 0 = Unlimited" -msgstr "Liczba dozwolonych zespołów. 0 = Bez ograniczeń" +msgstr "Liczba dozwolonych zespołów. 0 = bez ograniczeń" #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx msgid "Number Settings" @@ -7553,7 +7660,9 @@ msgstr "Na tej stronie możesz tworzyć i zarządzać tokenami API. Sprawdź <0> msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "Na tej stronie możesz utworzyć nowe webhooki i zarządzać obecnymi." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "Potwierdzenie akcji spowoduje następujące skutki:" @@ -7594,6 +7703,10 @@ msgstr "Możesz przesłać tylko jeden plik na raz" msgid "Only PDF files are allowed" msgstr "Dozwolone są tylko pliki PDF" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "Tylko oczekujące dokumenty, do których masz uprawnienia, zostaną anulowane." + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7656,7 +7769,7 @@ msgstr "Organizacja" #: packages/lib/server-only/organisation/delete-organisation-email.ts msgid "Organisation \"{organisationName}\" has been deleted" -msgstr "Organizacja \"{organisationName}\" została usunięta" +msgstr "Organizacja „{organisationName}” została usunięta" #: packages/lib/constants/organisations-translations.ts msgid "Organisation Admin" @@ -7728,11 +7841,11 @@ msgstr "Nazwa organizacji" msgid "Organisation not found" msgstr "Organizacja nie została znaleziona" -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" -msgstr "Wymagana weryfikacja organizacji" +msgstr "Weryfikacja organizacji jest wymagana" #: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx #: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx @@ -7782,11 +7895,11 @@ msgstr "Adres URL organizacji" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Organisation usage" -msgstr "Użycie organizacji" +msgstr "Wykorzystanie organizacji" #: apps/remix/app/routes/_authenticated+/admin+/teams.$id.tsx msgid "Organisation-level pending invites for this team's parent organisation." -msgstr "Oczekujące zaproszenia na poziomie organizacji zespołu." +msgstr "Oczekujące zaproszenia na poziomie organizacji dla organizacji nadrzędnej tego zespołu." #: apps/remix/app/components/general/org-menu-switcher.tsx #: apps/remix/app/components/general/settings-nav-desktop.tsx @@ -7803,7 +7916,7 @@ msgstr "Organizacje użytkownika." #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Organisations without a transport use the system default mailer." -msgstr "Organizacje bez zdefiniowanego transportu używają domyślnego systemowego mailera." +msgstr "Organizacje bez dostawcy poczty e-mail używają domyślnego systemu wysyłki." #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Organise your documents" @@ -7854,15 +7967,15 @@ msgstr "Właściciel" #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Owner document completed" -msgstr "Powiadomiono właściciela o zakończeniu dokumentu" +msgstr "Dokument właściciela zakończony" #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Owner document created" -msgstr "Powiadomiono właściciela o utworzeniu dokumentu" +msgstr "Dokument właściciela utworzony" #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Owner recipient expired" -msgstr "Powiadomiono właściciela o minięciu czasu na podpisanie dokumentu" +msgstr "Odbiorca właściciela wygasł" #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx msgid "Ownership transferred to {organisationMemberName}." @@ -7886,7 +7999,7 @@ msgstr "Opłacona" #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx msgctxt "Partially signed document (adjective)" msgid "Partial" -msgstr "Częściowo podpisany" +msgstr "Częściowy" #: apps/remix/app/components/forms/signin.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx @@ -7984,7 +8097,7 @@ msgstr "Zaległa płatność" #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "Payment required" -msgstr "Wymagana płatność" +msgstr "Płatność jest wymagana" #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx msgid "PDF Document" @@ -8020,7 +8133,7 @@ msgstr "Oczekujące dokumenty" #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Pending documents will have their signing process cancelled" -msgstr "Proces podpisywania oczekujących dokumentów zostanie anulowany" +msgstr "Podpisywanie oczekujących dokumentów zostanie anulowane" #: apps/remix/app/components/general/organisations/organisation-invitations.tsx msgid "Pending invitations" @@ -8051,7 +8164,7 @@ msgstr "Okres" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Permanently delete this organisation. Documents will be orphaned (not deleted) so they remain accessible via the deleted-account service account." -msgstr "Trwale usuń tę organizację. Dokumenty staną się osierocone (nieusunięte), aby pozostały dostępne za pośrednictwem konta serwisowego usuniętego konta." +msgstr "Usuń trwale organizację. Dokumenty zostaną osierocone (nie usunięte), więc będą przypisane do konta serwisowego usuniętego konta." #: apps/remix/app/components/tables/user-organisations-table.tsx msgctxt "Personal organisation (adjective)" @@ -8103,7 +8216,7 @@ msgstr "Domyślny tekst" #: apps/remix/app/components/forms/subscription-claim-form.tsx msgid "Plans without a transport use the system default mailer." -msgstr "Plany bez zdefiniowanego transportu używają domyślnego systemowego mailera." +msgstr "Plany bez dostawcy poczty e-mail używają domyślnego systemu wysyłki." #. placeholder {0}: _(actionVerb).toLowerCase() #: packages/email/template-components/template-document-invite.tsx @@ -8147,7 +8260,7 @@ msgstr "Wybierz nowe hasło" #: apps/remix/app/components/forms/signup.tsx #: apps/remix/app/components/general/claim-account.tsx msgid "Please complete the CAPTCHA challenge before signing in." -msgstr "Przed zalogowaniem się dokończ wyzwanie CAPTCHA." +msgstr "Zakończ weryfikację CAPTCHA przed logowaniem." #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx #: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx @@ -8172,9 +8285,9 @@ msgstr "Potwierdź adres e-mail" msgid "Please contact <0>support if you have any questions." msgstr "Jeśli masz pytania, skontaktuj się z <0>pomocą techniczną." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." -msgstr "Skontaktuj się z pomocą techniczną pod adresem {SUPPORT_EMAIL}, a my zweryfikujemy Twoje konto." +msgstr "Skontaktuj się z pomocą techniczną {SUPPORT_EMAIL}. Sprawdzimy Twoje konto." #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Please contact support if you would like to revert this action." @@ -8184,6 +8297,10 @@ msgstr "Skontaktuj się z pomocą techniczną, jeśli chcesz cofnąć tę akcję msgid "Please contact the site owner for further assistance." msgstr "Skontaktuj się z właścicielem dokumentu, aby uzyskać pomoc." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "Nie zamykaj karty. Dostawca podpisu finalizuje podpis." + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "Wpisz nazwę tokena. Pomoże to później w jego identyfikacji." @@ -8303,7 +8420,7 @@ msgstr "Spróbuj ponownie i upewnij się, że adres e-mail jest prawidłowy." #: apps/remix/app/components/general/pdf-viewer/pdf-viewer-states.tsx msgid "Please try again or contact our support." -msgstr "Spróbuj ponownie lub skontaktuj się z naszym wsparciem." +msgstr "Spróbuj ponownie lub skontaktuj się z pomocą techniczną" #. placeholder {0}: `'${t(deleteMessage)}'` #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx @@ -8391,15 +8508,15 @@ msgstr "Podgląd podpisanego dokumentu z domyślnymi opcjami" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Primary" -msgstr "Kolor główny" +msgstr "Główny" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Primary action colour." -msgstr "Kolor głównej akcji." +msgstr "Kolor akcji." #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Primary Foreground" -msgstr "Kolor pierwszego planu dla koloru głównego" +msgstr "Tekst przycisków" #: apps/remix/app/components/general/template/template-type.tsx #: apps/remix/app/components/tables/templates-table.tsx @@ -8553,6 +8670,11 @@ msgstr "Gotowy" msgid "Reason" msgstr "Rola" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "Powód (opcjonalnie)" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "Powód anulowania: {cancellationReason}" @@ -8573,6 +8695,10 @@ msgstr "Powód musi mieć mniej niż 500 znaków" msgid "Reauthentication is required to sign this field" msgstr "Aby podpisać pole, wymagane jest ponowne uwierzytelnianie" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "Spróbuj ponownie" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "Otrzymuje kopię" @@ -8614,6 +8740,14 @@ msgstr "Uwierzytelnianie odbiorcy" msgid "Recipient approved the document" msgstr "Odbiorca zatwierdził dokument" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "Odbiorca uwierzytelnił się u dostawcy podpisu" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "Odbiorca autoryzował podpis zdalny" + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "Odbiorca odebrał kopię dokumentu" @@ -8644,6 +8778,10 @@ msgstr "Identyfikator odbiorcy:" msgid "Recipient rejected the document" msgstr "Odbiorca odrzucił dokument" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient rejected the document externally" +msgstr "Odbiorca odrzucił dokument zewnętrznie" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient removed" msgstr "Usunięto odbiorcę" @@ -8656,6 +8794,10 @@ msgstr "Wiadomość o usuniętym odbiorcy" msgid "Recipient requested a 2FA token for the document" msgstr "Odbiorca poprosił o kod weryfikacyjny dla dokumentu" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "Odbiorca poprosił o podpis zdalny" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "Odbiorca podpisał" @@ -8670,7 +8812,7 @@ msgstr "Odbiorca podpisał dokument" #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signing request" -msgstr "Poproszono odbiorcę o podpisanie" +msgstr "Prośba o podpisanie wysłana do odbiorcy" #: packages/ui/components/document/document-email-checkboxes.tsx msgid "Recipient signing request email" @@ -8693,6 +8835,14 @@ msgstr "Odbiorca zweryfikował kod weryfikacyjny dla dokumentu" msgid "Recipient viewed the document" msgstr "Odbiorca wyświetlił dokument" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "Odbiorca złożył podpis zdalny" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "Uwierzytelnienie odbiorcy u dostawcy podpisu nie powiodło się" + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8716,6 +8866,11 @@ msgstr "Odbiorcy, którzy będą automatycznie dodawani do nowych dokumentów." msgid "Recipients will be able to sign the document once sent" msgstr "Odbiorcy będą mogli podpisać dokument po jego wysłaniu" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "Odbiorcy zostaną powiadomieni o anulowaniu dokumentu" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Odbiorcy zachowają swoją kopię dokumentu" @@ -8809,7 +8964,7 @@ msgstr "Pamiętasz hasło? <0>Zaloguj się" #: packages/email/templates/document-reminder.tsx msgid "Reminder to {action} {documentName}" -msgstr "Sprawdź i {action} dokument {documentName}" +msgstr "Przypomnienie, aby {action} dokument „{documentName}”" #. placeholder {0}: envelope.documentMeta.subject #: packages/lib/jobs/definitions/internal/process-signing-reminder.handler.ts @@ -8953,7 +9108,7 @@ msgstr "Zgłoś nadawcę" #: apps/remix/app/routes/_recipient+/report.$token.tsx msgid "Report this sender?" -msgstr "Zgłosić tego nadawcę?" +msgstr "Zgłosić nadawcę?" #: apps/remix/app/components/general/organisation-usage-panel.tsx #: apps/remix/app/components/tables/admin-organisation-stats-table.tsx @@ -9008,8 +9163,9 @@ msgstr "Zapieczętuj ponownie" msgid "Reseal document" msgstr "Zapieczętuj ponownie dokument" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9174,7 +9330,7 @@ msgstr "Wyrównaj do lewej" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Ring" -msgstr "Obramowanie (ring)" +msgstr "Obramowanie zaznaczenia" #: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx #: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx @@ -9265,7 +9421,7 @@ msgstr "Szukaj identyfikatora lub nazwy" #: apps/remix/app/routes/_authenticated+/admin+/documents._index.tsx msgid "Search by document title, team:123 or user:123" -msgstr "Szukaj po tytule dokumentu, team:123 lub user:123" +msgstr "Szukaj tytułu dokumentu, zespołu lub użytkownika" #: apps/remix/app/routes/_authenticated+/admin+/email-domains._index.tsx msgid "Search by domain or organisation name" @@ -9281,7 +9437,7 @@ msgstr "Szukaj nazwy lub adresu e-mail" #: apps/remix/app/routes/_authenticated+/admin+/email-transports._index.tsx msgid "Search by name or from address" -msgstr "Szukaj po nazwie lub adresie nadawcy" +msgstr "Szukaj nazwy lub adresu e-mail" #: apps/remix/app/routes/_authenticated+/admin+/organisations._index.tsx msgid "Search by organisation ID, name, customer ID or owner email" @@ -9293,16 +9449,14 @@ msgstr "Szukaj nazwy organizacji" #: apps/remix/app/routes/_authenticated+/admin+/organisation-stats._index.tsx msgid "Search by organisation name, URL or ID" -msgstr "Szukaj po nazwie organizacji, adresie URL lub ID" +msgstr "Szukaj nazwy organizacji, adresu URL lub identyfikatora" #: apps/remix/app/components/general/document/document-search.tsx msgid "Search documents..." msgstr "Szukaj dokumentów..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9360,10 +9514,6 @@ msgstr "Wybierz miejsce docelowe dla tego folderu." msgid "Select a field type" msgstr "Wybierz rodzaj pola" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "Wybierz folder, do którego chcesz przenieść dokument." - #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" msgstr "Wybierz plan" @@ -9573,7 +9723,7 @@ msgstr "Wyślij" #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx msgid "Send a test email using this transport to verify the configuration." -msgstr "Wyślij wiadomość testową przy użyciu tego transportu, aby zweryfikować konfigurację." +msgstr "Wyślij wiadomość testową przy pomocy dostawcy poczty e-mail." #: apps/remix/app/components/dialogs/webhook-test-dialog.tsx msgid "Send a test webhook with sample data to verify your integration is working correctly." @@ -9618,7 +9768,6 @@ msgstr "Wyślij w imieniu zespołu" msgid "Send recipient expired email to the owner" msgstr "Wyślij właścicielowi informacje, gdy minie czas na podpisanie przez odbiorcę" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "Wyślij przypomnienie" @@ -9633,11 +9782,11 @@ msgstr "Status wysyłki" #: apps/remix/app/components/tables/admin-email-transports-table.tsx msgid "Send test" -msgstr "Wyślij test" +msgstr "Wyślij wiadomość testową" #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx msgid "Send Test Email" -msgstr "Wyślij testową wiadomość e-mail" +msgstr "Wyślij wiadomość testową" #: apps/remix/app/components/tables/documents-table.tsx #: apps/remix/app/components/tables/inbox-table.tsx @@ -9690,7 +9839,7 @@ msgstr "Skonfiguruj właściwości szablonu i informacje o odbiorcach" #: packages/email/templates/admin-user-created.tsx msgid "Set your password for Documenso" -msgstr "Ustaw swoje hasło do Documenso" +msgstr "Ustaw hasło Documenso" #: apps/remix/app/components/general/app-command-menu.tsx #: apps/remix/app/components/general/app-command-menu.tsx @@ -9743,7 +9892,7 @@ msgstr "Pokaż ustawienia zaawansowane" #: apps/remix/app/routes/_authenticated+/admin+/organisation-stats._index.tsx msgid "Show daily averages for documents, emails and API usages" -msgstr "Pokaż dzienne średnie dla dokumentów, e-maili i użycia API" +msgstr "Pokaż średnie dzienne wykorzystanie dokumentów, wiadomości i API" #: apps/remix/app/components/general/admin-license-card.tsx msgid "Show license key" @@ -9759,7 +9908,7 @@ msgstr "Pokaż użycie" #: apps/remix/app/routes/_authenticated+/admin+/organisation-stats._index.tsx msgid "Show usage with quotas" -msgstr "Pokaż użycie z limitami" +msgstr "Pokaż limity użycia" #: apps/remix/app/components/dialogs/sign-field-signature-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx @@ -9811,7 +9960,7 @@ msgstr "Podpisz dokument" #: apps/remix/app/routes/_recipient+/_layout.tsx msgid "Sign Document - Documenso" -msgstr "Podpisz dokument – Documenso" +msgstr "Podpisz dokument - Documenso" #: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx msgid "Sign Documents" @@ -9965,11 +10114,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "Podpisuje" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "Algorytm podpisywania nie jest obsługiwany" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "Certyfikat podpisu" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "Certyfikat podpisu jest nieprawidłowy" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9984,6 +10141,10 @@ msgstr "Podpisywanie zostało zakończone!" msgid "Signing Deadline Expired" msgstr "Czas na podpisanie minął" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "Podpisywanie nie powiodło się" + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "Podpisywanie w imieniu" @@ -10063,6 +10224,7 @@ msgstr "Pomiń" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Niektórym podpisującym nie przypisano pola podpisu. Przypisz co najmniej jedno pole podpisu do każdego podpisującego." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10110,6 +10272,10 @@ msgstr "Niektórym podpisującym nie przypisano pola podpisu. Przypisz co najmni msgid "Something went wrong" msgstr "Coś poszło nie tak" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "Coś poszło nie tak podczas składania podpisu. Spróbuj ponownie." + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10131,9 +10297,13 @@ msgstr "Coś poszło nie tak podczas ładowania dokumentu." msgid "Something went wrong while loading your passkeys." msgstr "Coś poszło nie tak podczas ładowania kluczy dostępu." +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "Coś poszło nie tak podczas przygotowywania podpisu zdalnego. Spróbuj ponownie." + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." -msgstr "Coś poszło nie tak podczas renderowania dokumentu. Spróbuj ponownie lub skontaktuj się z naszym wsparciem." +msgstr "Coś poszło nie tak podczas renderowania dokumentu. Spróbuj ponownie lub skontaktuj się z pomocą techniczną." #: packages/lib/constants/pdf-viewer-i18n.ts #: packages/lib/constants/pdf-viewer-i18n.ts @@ -10420,7 +10590,7 @@ msgstr "Synchronizuj" #: apps/remix/app/components/dialogs/admin-organisation-sync-subscription-dialog.tsx msgid "Sync claims. This will overwrite the current claim with the one resolved from the Stripe subscription." -msgstr "Zsynchronizuj roszczenia. Spowoduje to nadpisanie bieżącego roszczenia tym, które zostanie pobrane z subskrypcji Stripe." +msgstr "Synchronizuj subskrypcję. Spowoduje to nadpisanie ustawień Stripe." #: apps/remix/app/components/tables/organisation-email-domains-table.tsx msgid "Sync Email Domains" @@ -10438,7 +10608,7 @@ msgstr "Synchronizuj licencję z serwera" #: apps/remix/app/components/dialogs/admin-organisation-sync-subscription-dialog.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Sync Stripe subscription" -msgstr "Zsynchronizuj subskrypcję Stripe" +msgstr "Synchronizuj subskrypcję Stripe" #: packages/lib/utils/document-audit-logs.ts #: packages/lib/utils/document-audit-logs.ts @@ -10698,14 +10868,14 @@ msgstr "Identyfikator szablonu (starsza wersja)" msgid "Template is using legacy field insertion" msgstr "Szablon używa starszej metody wstawiania pól" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "Szablon został przeniesiony" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "Zmieniono nazwę szablonu" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "Wysłano ponownie szablon" + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "Szablon został zapisany" @@ -10765,7 +10935,7 @@ msgstr "Wiadomość testowa została wysłana." #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx msgid "Test failed." -msgstr "Test nie powiódł się." +msgstr "Wiadomość testowa nie powiodła się." #: apps/remix/app/components/dialogs/webhook-test-dialog.tsx msgid "Test Webhook" @@ -10781,7 +10951,7 @@ msgstr "Testowy webhook został wysłany" #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx msgid "test@example.com" -msgstr "test@example.com" +msgstr "test@przyklad.com" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx @@ -10810,7 +10980,7 @@ msgstr "Kolor tekstu" #: apps/remix/app/components/forms/branding-preferences-form.tsx msgid "Text colour on primary buttons." -msgstr "Kolor tekstu na głównych przyciskach." +msgstr "Kolor tekstu na przyciskach." #: apps/remix/app/components/dialogs/sign-field-text-dialog.tsx msgid "Text is required" @@ -10826,7 +10996,7 @@ msgstr "Podpisywanie zostało zakończone." #: apps/remix/app/routes/_recipient+/report.$token.tsx msgid "Thank you for letting us know, we have flagged this sender for review. If you have any concerns please feel free to reach out to our <0>support team." -msgstr "Dziękujemy za zgłoszenie — oznaczyliśmy tego nadawcę do sprawdzenia. Jeśli masz jakiekolwiek wątpliwości, skontaktuj się z naszym <0>zespołem wsparcia." +msgstr "Dziękujemy za zgłoszenie nadawcy. Zweryfikujemy go. Jeśli masz pytania, skontaktuj się z naszą <0>pomocą techniczną." #: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." @@ -10870,7 +11040,7 @@ msgstr "Domyślny adres e-mail do wysyłania wiadomości do odbiorców" #: apps/remix/app/components/dialogs/admin-organisation-delete-dialog.tsx msgid "The deletion will run in the background, and can take up to a few minutes to complete. Do not re-run this deletion." -msgstr "Usunięcie zostanie wykonane w tle i może zająć do kilku minut. Nie uruchamiaj ponownie tego procesu usuwania." +msgstr "Usunięcie zostanie uruchomione w tle. Może to potrwać do kilku minut. Nie uruchamiaj ponownie operacji." #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx #: apps/remix/app/components/general/template/template-direct-link-badge.tsx @@ -10885,16 +11055,12 @@ msgstr "Nazwa wyświetlana dla adresu e-mail" #: apps/remix/app/utils/toast-error-messages.ts msgid "The document could not be created because of missing or invalid information. Please review the template's recipients and fields." -msgstr "Nie udało się utworzyć dokumentu z powodu brakujących lub nieprawidłowych danych. Sprawdź listę odbiorców i pola w szablonie." +msgstr "Nie można było utworzyć dokumentu z powodu brakujących lub nieprawidłowych informacji. Sprawdź odbiorców i pola szablonu." #: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx msgid "The Document has been deleted successfully." msgstr "Dokument został pomyślnie usunięty." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "Dokument został pomyślnie przeniesiony." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "Dokument został odrzucony." @@ -10923,10 +11089,32 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "Zmieniono właściciela dokumentu na {0} z zespołu {1}" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "Podpisywanie dokumentu zostanie zatrzymane" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "Dokument został utworzony, ale nie mógł zostać wysłany do odbiorców." +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of {user}" +msgstr "Dokument został odrzucony zewnętrznie przez {onBehalfOf} w imieniu użytkownika {user}" + +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of the recipient" +msgstr "Dokument został odrzucony zewnętrznie przez {onBehalfOf} w imieniu odbiorcy" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of {user}" +msgstr "Dokument został odrzucony zewnętrznie w imieniu użytkownika {user}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of the recipient" +msgstr "Dokument został odrzucony zewnętrznie w imieniu odbiorcy" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "Dokument zostanie ukryty w Twoim koncie" @@ -10935,6 +11123,10 @@ msgstr "Dokument zostanie ukryty w Twoim koncie" msgid "The document will be immediately sent to recipients if this is checked." msgstr "Dokument zostanie natychmiast wysłany do odbiorców." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "Dokument pozostanie na pulpicie oznaczony jako anulowany" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "Dokument, którego szukasz, nie został znaleziony." @@ -10948,13 +11140,17 @@ msgstr "Dokument, którego szukasz, mógł zostać usunięty, zmieniony lub móg msgid "The document's name" msgstr "Nazwa dokumentu" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "Dokumenty pozostaną na pulpicie oznaczone jako anulowane" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "Adres e-mail, który pojawi się w polu „Odpowiedz do” w wiadomościach" #: apps/remix/app/components/general/admin-email-blocklist-section.tsx msgid "The email blocklist has been updated successfully." -msgstr "Bloklista e‑mail została pomyślnie zaktualizowana." +msgstr "Lista zablokowanych domen została zaktualizowana." #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx msgid "The email domain you are looking for may have been removed, renamed or may have never existed." @@ -10985,29 +11181,21 @@ msgstr "Folder, który próbujesz usunąć, nie istnieje." msgid "The folder you are trying to move does not exist." msgstr "Folder, który próbujesz przenieść, nie istnieje." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "Folder, do którego próbujesz przenieść dokument, nie istnieje." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "Folder, do którego próbujesz przenieść elementy, nie istnieje." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "Folder, do którego próbujesz przenieść szablon, nie istnieje." - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "Wystąpiły następujące błędy:" #: packages/email/templates/organisation-delete.tsx msgid "The following organisation has been deleted by an administrator. You and your members will no longer be able to access this organisation, its teams, or its associated data." -msgstr "Poniższa organizacja została usunięta przez administratora. Ty i członkowie Twojej organizacji nie będziecie już mieli dostępu do tej organizacji, jej zespołów ani powiązanych z nią danych." +msgstr "Organizacja została usunięta przez administratora. Użytkownicy organizacji nie będą mieli już do niej dostępu, w tym do jej zespołów i powiązanych danych." #: packages/email/templates/organisation-delete.tsx msgid "The following organisation has been deleted. You and your members will no longer be able to access this organisation, its teams, or its associated data." -msgstr "Poniższa organizacja została usunięta. Ty i członkowie Twojej organizacji nie będziecie już mieli dostępu do tej organizacji, jej zespołów ani powiązanych z nią danych." +msgstr "Organizacja została usunięta. Użytkownicy organizacji nie będą mieli już do niej dostępu, w tym do jej zespołów i powiązanych danych." #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx msgid "The following recipients require an email address:" @@ -11053,7 +11241,7 @@ msgstr "Subskrypcja organizacji została zsynchronizowana ze Stripe." #: apps/remix/app/components/dialogs/admin-organisation-delete-dialog.tsx msgid "The organisation will be deleted in the background. Documents will be orphaned, not deleted." -msgstr "Organizacja zostanie usunięta w tle. Dokumenty staną się osierocone, nieusunięte." +msgstr "Organizacja zostanie usunięta w tle. Dokumenty zostaną osierocone, ale nie usunięte." #: apps/remix/app/routes/_authenticated+/_layout.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx @@ -11148,6 +11336,10 @@ msgstr "Czas na podpisanie dokumentu minął. Skontaktuj się z właścicielem d msgid "The signing link has been copied to your clipboard." msgstr "Link do podpisywania został skopiowany do schowka." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "Dostawca podpisu nie odpowiedział na czas. Spróbuj ponownie." + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "Czas na podpisanie dokumentu „{documentName}” przez użytkownika „{recipientName}” minął" @@ -11171,13 +11363,9 @@ msgstr "Adres e-mail zespołu <0>{teamEmail} został usunięty z następują msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "Zespół, którego szukasz, mógł zostać usunięty, zmieniony lub mógł nigdy nie istnieć." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "Szablon został pomyślnie przeniesiony." - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." -msgstr "Szablon lub jeden z jego odbiorców nie został znaleziony." +msgstr "Nie można odnaleźć szablonu lub jednego z jego odbiorców." #: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx msgid "The template will be removed from your profile" @@ -11264,6 +11452,10 @@ msgstr "Następnie powtarzaj co" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Brak aktywnych szkiców. Prześlij, aby utworzyć." +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "Brak anulowanych dokumentów. Anulowane dokumenty pozostaną tutaj jako dowód ich wcześniejszej dystrybucji." + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." msgstr "Brak zakończonych dokumentów. Utworzone lub odebrane dokumenty pojawią się tutaj." @@ -11329,6 +11521,10 @@ msgstr "Dokument nie może być odzyskany. Jeśli chcesz zakwestionować decyzj msgid "This document cannot be changed" msgstr "Nie można zmienić dokumentu" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "Nie można anulować dokumentu. Spróbuj ponownie." + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Nie można usunąć dokumentu. Spróbuj ponownie." @@ -11350,6 +11546,10 @@ msgstr "Nie można zapisać dokumentu jako szablonu. Spróbuj ponownie." msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "Dokument został już wysłany do odbiorcy, więc nie możesz go już edytować." +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "Dokument został anulowany" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx msgid "This document has been cancelled by the owner and is no longer available for others to sign." msgstr "Dokument został anulowany przez właściciela i nie jest już dostępny do podpisania." @@ -11369,7 +11569,7 @@ msgstr "Dokument został podpisany przez wszystkich odbiorców" #: apps/remix/app/utils/toast-error-messages.ts msgid "This document has too many recipients. Please remove some recipients or contact support if you need more." -msgstr "Ten dokument ma zbyt wielu adresatów. Usuń część adresatów lub skontaktuj się z pomocą techniczną, jeśli potrzebujesz większej liczby." +msgstr "Dokument ma zbyt wielu odbiorców. Usuń niektórych odbiorców lub skontaktuj się z pomocą techniczną, jeśli potrzebujesz więcej." #: apps/remix/app/components/general/document/document-certificate-qr-view.tsx msgid "This document is available in your Documenso account. You can view more details, recipients, and audit logs there." @@ -11430,11 +11630,11 @@ msgstr "Zostanie wysłana do odbiorcy, który właśnie podpisał dokument, gdy #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx msgid "This envelope cannot have more than {recipientCountLimit} recipients. Please contact support if you need more." -msgstr "Ta koperta nie może mieć więcej niż {recipientCountLimit} adresatów. Skontaktuj się z pomocą techniczną, jeśli potrzebujesz większej liczby." +msgstr "Koperta nie może więcej niż {recipientCountLimit} odbiorców. Skontaktuj się z pomocą techniczną, jeśli potrzebujesz więcej." #: apps/remix/app/components/embed/embed-paywall.tsx msgid "This feature is not available on your current plan" -msgstr "Funkcja nie jest dostępna w Twoim planie" +msgstr "Ta funkcja nie jest dostępna w Twoim obecnym planie." #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." @@ -11442,7 +11642,7 @@ msgstr "Pole nie może być modyfikowane ani usuwane. Gdy udostępnisz bezpośre #: apps/remix/app/utils/toast-error-messages.ts msgid "This file type isn't supported. Please upload a PDF or Word document." -msgstr "Ten typ pliku nie jest obsługiwany. Prześlij plik PDF lub dokument programu Word." +msgstr "Typ pliku nie jest obsługiwany. Prześlij dokument PDF lub Word." #: apps/remix/app/components/dialogs/folder-delete-dialog.tsx msgid "This folder contains multiple items. Deleting it will remove all subfolders and move all nested documents and templates to the root folder." @@ -11473,9 +11673,13 @@ msgstr "Nie można usunąć elementu" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "Link jest nieprawidłowy lub wygasł. Skontaktuj się ze swoim zespołem, aby ponownie wysłać wiadomość weryfikacyjną." +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "Użytkownik jest odziedziczony z grupy i nie może zostać usunięty bezpośrednio z zespołu." + #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "This organisation is awaiting payment. Complete checkout to unlock it." -msgstr "Ta organizacja oczekuje na płatność. Dokończ proces zakupu, aby ją odblokować." +msgstr "Organizacja oczekuje na płatność. Zakończ płatność, aby ją odblokować." #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "This organisation will have administrative control over your account. You can revoke this access later, but they will retain access to any data they've already collected." @@ -11555,7 +11759,7 @@ msgstr "Zostanie wysłana do właściciela po zakończeniu dokumentu." #: packages/ui/components/document/document-email-checkboxes.tsx msgid "This will be sent to the document owner when a recipient's signing window has expired." -msgstr "Zostanie wysłana do właściciela dokumentu, gdy minie czas na podpisanie przez odbiorcę\n" +msgstr "Zostanie wysłana do właściciela dokumentu, gdy minie czas na podpisanie przez odbiorcę" #: apps/remix/app/components/tables/organisation-email-domains-table.tsx msgid "This will check and sync the status of all email domains for this organisation" @@ -11699,7 +11903,7 @@ msgstr "Aby uzyskać dostęp do konta, potwierdź adres e-mail, klikając na lin #: packages/email/template-components/template-admin-user-created.tsx msgid "To get started, please set your password by clicking the button below:" -msgstr "Aby rozpocząć, ustaw swoje hasło, klikając przycisk poniżej:" +msgstr "Ustaw hasło, klikając przycisk poniżej:" #. placeholder {0}: recipient.email #: apps/remix/app/components/general/document-signing/document-signing-auth-account.tsx @@ -11808,7 +12012,7 @@ msgstr "Token nie został znaleziony" #: apps/remix/app/utils/toast-error-messages.ts msgid "Too many recipients" -msgstr "Zbyt wielu adresatów" +msgstr "Zbyt wielu odbiorców" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx @@ -11821,7 +12025,7 @@ msgstr "Góra" #: apps/remix/app/components/tables/admin-organisation-stats-table.tsx msgid "Total" -msgstr "Razem" +msgstr "Łącznie" #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "Total Documents" @@ -11849,23 +12053,23 @@ msgstr "Przenieś dokumenty do innego zespołu" #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx msgid "Transport created." -msgstr "Transport został utworzony." +msgstr "Dostawca poczty e-mail został utworzony." #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx msgid "Transport deleted." -msgstr "Transport został usunięty." +msgstr "Dostawca poczty e-mail został usunięty." #: apps/remix/app/components/forms/email-transport-form.tsx msgid "Transport type" -msgstr "Typ transportu" +msgstr "Rodzaj dostawcy poczty e-mail" #: apps/remix/app/components/forms/email-transport-form.tsx msgid "Transport type cannot be changed after creation." -msgstr "Typu transportu nie można zmienić po utworzeniu." +msgstr "Nie można zmienić rodzaju dostawcy poczty e-mail po jego utworzeniu." #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx msgid "Transport updated." -msgstr "Transport został zaktualizowany." +msgstr "Dostawca poczty e-mail został zaktualizowany." #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-edit-dialog.tsx @@ -11876,6 +12080,7 @@ msgstr "Wyzwalacze" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "Spróbuj ponownie" @@ -12028,6 +12233,10 @@ msgstr "Nie można skonfigurować weryfikacji dwuetapowej" msgid "Unable to sign in" msgstr "Nie można się zalogować" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "Nie można rozpocząć procesu podpisywania" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12075,7 +12284,7 @@ msgstr "Nieznana nazwa" #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "Unlimited" -msgstr "Nieograniczone" +msgstr "Bez ograniczeń" #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Unlimited documents, API and more" @@ -12124,6 +12333,7 @@ msgstr "Grupa bez nazwy" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "Zaktualizuj" @@ -12138,7 +12348,7 @@ msgstr "Zaktualizuj płatności" #: apps/remix/app/components/general/admin-email-blocklist-section.tsx msgid "Update Blocklist" -msgstr "Zaktualizuj listę blokowanych adresów e-mail" +msgstr "Zaktualizuj listę zablokowanych domen" #: apps/remix/app/components/dialogs/claim-update-dialog.tsx msgid "Update Claim" @@ -12374,7 +12584,7 @@ msgstr "Adres URL" #. placeholder {0}: selectedStat?.period || 'N/A' #: apps/remix/app/components/general/organisation-usage-panel.tsx msgid "Usage for period: {0}" -msgstr "Wykorzystanie za okres: {0}" +msgstr "Okres: {0}" #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx msgid "Use" @@ -12405,7 +12615,7 @@ msgstr "Użyj klucza dostępu do uwierzytelniania" #: apps/remix/app/components/tables/admin-email-transports-table.tsx msgid "Used by claims" -msgstr "Używany przez roszczenia" +msgstr "Liczba powiązań" #: apps/remix/app/components/tables/admin-document-logs-table.tsx #: apps/remix/app/components/tables/document-logs-table.tsx @@ -12421,7 +12631,7 @@ msgstr "User agent" #: apps/remix/app/components/dialogs/admin-user-create-dialog.tsx msgid "User created and welcome email sent" -msgstr "Użytkownik został utworzony i wysłano wiadomość powitalną" +msgstr "Użytkownik został utworzony. Wiadomość powitalna została wysłana." #: apps/remix/app/components/forms/password.tsx msgid "User has no password." @@ -12621,6 +12831,7 @@ msgstr "Wyświetl dokument" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "Wyświetl dokument" @@ -12687,7 +12898,7 @@ msgstr "Wyświetl rekordy DNS dla tej domeny" #: apps/remix/app/routes/_authenticated+/admin+/organisation-stats._index.tsx msgid "View, sort and filter monthly usage stats across organisations" -msgstr "Przeglądaj, sortuj i filtruj statystyki miesięcznego wykorzystania w organizacjach" +msgstr "Sprawdź miesięczne statystyki wykorzystania organizacji" #: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx @@ -12734,7 +12945,7 @@ msgstr "Oczekiwanie na innych" #: packages/lib/server-only/document/send-pending-email.ts msgid "Waiting for others to complete signing." -msgstr "Oczekiwanie na innych, aby zakończyć podpisywanie." +msgstr "Oczekiwanie na zakończenie podpisywania przez innych." #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx msgid "Waiting for others to sign" @@ -12756,7 +12967,7 @@ msgstr "Chcesz mieć profil publiczny?" #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx msgid "Warning, this email transport is currently being used by:" -msgstr "Uwaga, ten transport e-mail jest obecnie używany przez:" +msgstr "Ten dostawca poczty e-mail jest używany przez:" #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -12785,7 +12996,7 @@ msgstr "Nie mogliśmy zaktualizować klucza dostępu. Spróbuj ponownie późnie #: apps/remix/app/utils/toast-error-messages.ts msgid "We couldn't convert this file. Please check it's a valid Word document or upload a PDF instead." -msgstr "Nie udało się przekonwertować tego pliku. Sprawdź, czy jest to prawidłowy dokument programu Word, lub zamiast tego prześlij plik PDF." +msgstr "Nie możemy przekonwertować tego pliku. Sprawdź, czy plik Word jest prawidłowy lub prześlij plik PDF." #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "We couldn't create a Stripe customer. Please try again." @@ -12815,7 +13026,7 @@ msgstr "Nie mogliśmy zaktualizować dostawcy. Spróbuj ponownie." #: apps/remix/app/components/dialogs/admin-organisation-delete-dialog.tsx msgid "We encountered an error while attempting to delete this organisation. Please try again later." -msgstr "Wystąpił błąd podczas próby usunięcia tej organizacji. Spróbuj ponownie później." +msgstr "Wystąpił błąd podczas próby usunięcia organizacji. Spróbuj ponownie później." #: packages/lib/client-only/providers/envelope-editor-provider.tsx #: packages/lib/client-only/providers/envelope-editor-provider.tsx @@ -12967,7 +13178,7 @@ msgstr "Wystąpił nieznany błąd podczas próby zaktualizowania baneru. Sprób #: apps/remix/app/components/general/admin-email-blocklist-section.tsx msgid "We encountered an unknown error while attempting to update the email blocklist. Please try again later." -msgstr "Wystąpił nieznany błąd podczas próby zaktualizowania listy blokowanych adresów e-mail. Spróbuj ponownie później." +msgstr "Wystąpił nieznany błąd podczas próby zaktualizowania listy zablokowanych domen. Spróbuj ponownie później." #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx msgid "We encountered an unknown error while attempting to update the envelope. Please try again later." @@ -13048,7 +13259,7 @@ msgstr "Nie mogliśmy Cię wylogować." #: apps/remix/app/routes/_recipient+/report.$token.tsx msgid "We were unable to report this sender at this time. Please try again later." -msgstr "Nie mogliśmy zgłosić tego nadawcy w tym momencie. Spróbuj ponownie później." +msgstr "Nie mogliśmy zgłosić nadawcę. Spróbuj ponownie później." #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx msgid "We were unable to set your public profile to public. Please try again." @@ -13134,23 +13345,23 @@ msgstr "Pusto" #: packages/email/template-components/template-document-pending.tsx msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready." -msgstr "Wciąż czekamy na podpisy pozostałych podpisujących.<0/>Powiadomimy Cię, gdy dokument będzie gotowy." +msgstr "Wciąż czekamy na podpisy pozostałych osób.<0/>Powiadomimy Cię, gdy dokument będzie gotowy." #: packages/email/templates/reset-password.tsx msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "Zmieniliśmy Twoje hasło. Możesz zalogować się za pomocą nowego hasła." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." -msgstr "Zauważyliśmy aktywność API na Twoim koncie, która przekracza limity uczciwego korzystania w Twoim obecnym planie. W ramach środka ostrożności nowa aktywność API została tymczasowo wstrzymana do czasu weryfikacji." +msgstr "Zauważyliśmy na Twoim koncie aktywność API, która przekracza limity dozwolonego użytkowania w ramach obecnego planu. Nowa aktywność API została tymczasowo wstrzymana do czasu przeprowadzenia weryfikacji." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." -msgstr "Zauważyliśmy aktywność związaną z dokumentami na Twoim koncie, która przekracza limity uczciwego korzystania w Twoim obecnym planie. W ramach środka ostrożności nowa aktywność związana z dokumentami została tymczasowo wstrzymana do czasu weryfikacji." +msgstr "Zauważyliśmy na Twoim koncie aktywność dokumentów, która przekracza limity dozwolonego użytkowania w ramach obecnego planu. Nowa aktywność została tymczasowo wstrzymana do czasu przeprowadzenia weryfikacji." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." -msgstr "Zauważyliśmy wysyłkę e‑maili z Twojego konta, która przekracza limity uczciwego korzystania w Twoim obecnym planie. W ramach środka ostrożności nowa aktywność e‑mailowa została tymczasowo wstrzymana do czasu weryfikacji." +msgstr "Zauważyliśmy na Twoim koncie aktywność wiadomości, która przekracza limity dozwolonego użytkowania w ramach obecnego planu. Nowa aktywność została tymczasowo wstrzymana do czasu przeprowadzenia weryfikacji." #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "We've sent a 6-digit verification code to your email. Please enter it below to complete the document." @@ -13249,7 +13460,7 @@ msgstr "Podpisujący mogą wybrać, kto powinien podpisać jako następny w kole #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "When enabled, users signing in via SSO for the first time will also receive their own personal organisation." -msgstr "Użytkownicy logujący się po raz pierwszy za pomocą logowania SSO otrzymają również własną osobistą organizację." +msgstr "Po włączeniu tej opcji użytkownicy logujący się po raz pierwszy za pomocą SSO otrzymają również własną osobistą organizację." #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "When you click continue, you will be prompted to add the first available authenticator on your system." @@ -13275,10 +13486,6 @@ msgstr "W międzyczasie możesz utworzyć swoje konto Documenso i od razu rozpoc msgid "Whitelabeling, unlimited members and more" msgstr "Własny branding, nieograniczona liczba użytkowników i więcej" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "Kogo chcesz przypomnieć?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13323,6 +13530,10 @@ msgstr "Dodałeś odbiorcę" msgid "You approved the document" msgstr "Zatwierdziłeś dokument" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "Zamierzasz anulować dokument <0>„{title}”" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "Zamierzasz zakończyć zatwierdzanie poniższego dokumentu" @@ -13350,7 +13561,7 @@ msgstr "Zamierzasz usunąć organizację <0>{0}. Wszystkie dane powiązane z #: apps/remix/app/components/dialogs/admin-organisation-delete-dialog.tsx msgid "You are about to delete <0>{organisationName}. This action is not reversible. All teams will be removed and all documents will be orphaned to the deleted-account service account." -msgstr "Za chwilę usuniesz <0>{organisationName}. Tej operacji nie można cofnąć. Wszystkie zespoły zostaną usunięte, a wszystkie dokumenty zostaną przypisane do konta usługi usuniętego konta." +msgstr "Zamierzasz usunąć organizację <0>{organisationName}. Ta akcja jest nieodwracalna. Wszystkie zespoły zostaną usunięcie, a dokumenty zostaną przypisane do konta serwisowego usuniętego konta." #: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx msgid "You are about to delete the following team email from <0>{teamName}." @@ -13477,10 +13688,6 @@ msgstr "Aktualizujesz grupę <0>{teamGroupName}." msgid "You are not allowed to move these items." msgstr "Nie masz uprawnień do przeniesienia tych elementów." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "You are not allowed to move this document." -msgstr "Nie masz uprawnień do przeniesienia tego dokumentu." - #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx msgid "You are not authorized to access this page." @@ -13502,6 +13709,14 @@ msgstr "Nie masz uprawnień do włączenia tego użytkownika." msgid "You are not authorized to reset two factor authentcation for this user." msgstr "Nie masz uprawnień do zresetowania weryfikacji dwuetapowej tego użytkownika." +#: packages/lib/utils/document-audit-logs.ts +msgid "You authenticated with the signing provider" +msgstr "Uwierzytelniłeś się u dostawcy podpisu" + +#: packages/lib/utils/document-audit-logs.ts +msgid "You authorised the remote signature" +msgstr "Autoryzowałeś podpis zdalny" + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "You can add fields manually in the editor." msgstr "Możesz ręcznie dodać pola w edytorze." @@ -13516,7 +13731,7 @@ msgstr "Możesz także skopiować i wkleić link do przeglądarki: {confirmation #: packages/email/template-components/template-admin-user-created.tsx msgid "You can also copy and paste this link into your browser: {resetPasswordLink} (link expires in 24 hours)" -msgstr "Możesz także skopiować i wkleić ten link do przeglądarki: {resetPasswordLink} (link wygaśnie za 24 godziny)" +msgstr "Możesz także skopiować i wkleić link do przeglądarki: {resetPasswordLink} (link wygaśnie za 24 godziny)" #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx msgid "You can choose to enable or disable the profile for public view." @@ -13563,6 +13778,10 @@ msgstr "Utworzone dokumenty możesz znaleźć w sekcji „Dokumenty utworzone z msgid "You can view the document and its status by clicking the button below." msgstr "Możesz wyświetlić dokument i jego status, klikając przycisk poniżej." +#: packages/lib/utils/document-audit-logs.ts +msgid "You cancelled the document" +msgstr "Anulowałeś dokument" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -13590,9 +13809,17 @@ msgid "You cannot modify a team member who has a higher role than you." msgstr "Nie możesz edytować użytkownika zespołu, który ma wyższą rolę niż Ty." #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx -msgid "You cannot remove members from this team if the inherit member feature is enabled." +msgid "You cannot remove a member with a role higher than your own." +msgstr "Nie możesz usunąć użytkownika o roli wyższej niż Twoja." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team while the inherit member feature is enabled." msgstr "Nie możesz usunąć użytkowników zespołu, jeśli funkcja odziedziczenia użytkownika jest włączona." +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove the organisation owner from the team." +msgstr "Nie możesz usunąć właściciela organizacji z zespołu." + #: packages/ui/primitives/document-dropzone.tsx #: packages/ui/primitives/document-upload-button.tsx msgid "You cannot upload documents at this time." @@ -13708,7 +13935,7 @@ msgstr "Odrzucono zaproszenie dołączenia do organizacji <0>{0}." #: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts #: packages/lib/server-only/document/resend-document.ts msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it." -msgstr "Sprawdź i {recipientActionVerb} dokument utworzony przez Ciebie." +msgstr "Sprawdź i {recipientActionVerb} dokument „{0}” utworzony przez Ciebie." #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx msgid "You have no webhooks yet. Your webhooks will be shown here once you create them." @@ -13741,7 +13968,7 @@ msgstr "Osiągnięto maksymalną miesięczną liczbę dokumentów. Zaktualizuj p #: apps/remix/app/utils/toast-error-messages.ts msgid "You have reached your document limit for this plan. Please upgrade your plan." -msgstr "Osiągnięto limit liczby dokumentów w tym planie. Zaktualizuj swój plan." +msgstr "Osiągnięto maksymalną liczbę dokumentów. Zaktualizuj plan." #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx #: apps/remix/app/components/general/envelope/envelope-upload-button.tsx @@ -13973,6 +14200,10 @@ msgstr "Zastąpiłeś plik PDF elementu koperty {0}" msgid "You requested a 2FA token for the document" msgstr "Poprosiłeś o kod weryfikacyjny dla dokumentu" +#: packages/lib/utils/document-audit-logs.ts +msgid "You requested a remote signature" +msgstr "Poprosiłeś o podpis zdalny" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "You resent an email to {0}" @@ -14182,9 +14413,9 @@ msgstr "Twój dokument został pomyślnie utworzony" msgid "Your document has been deleted by an admin!" msgstr "Dokument został usunięty przez administratora!" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Your document has been re-sent successfully." -msgstr "Twój dokument został pomyślnie ponownie wysłany." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your document has been resent successfully." +msgstr "Dokument został ponownie wysłany." #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Your document has been saved as a template." @@ -14281,7 +14512,7 @@ msgstr "Organizacja została utworzona." #: packages/email/templates/organisation-delete.tsx #: packages/email/templates/organisation-delete.tsx msgid "Your organisation has been deleted" -msgstr "Twoja organizacja została usunięta" +msgstr "Organizacja została usunięta" #: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx msgid "Your organisation has been successfully deleted." @@ -14293,27 +14524,47 @@ msgstr "Organizacja została zaktualizowana." #: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx msgid "Your organisation has exceeded a fair use limit" -msgstr "Twoja organizacja przekroczyła limit uczciwego użytkowania." +msgstr "Organizacja przekroczyła limit dozwolonego użytkowania" #: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx msgid "Your organisation has exceeded a fair use limit. Please contact <0>support to review your plan's limits." -msgstr "Twoja organizacja przekroczyła limit uczciwego użytkowania. Skontaktuj się z <0>pomocą techniczną, aby przejrzeć limity swojego planu." +msgstr "Organizacja przekroczyła limit dozwolonego użytkowania. Skontaktuj się z <0>pomocą techniczną, aby przeprowadzić weryfikację." #: apps/remix/app/utils/toast-error-messages.ts msgid "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." -msgstr "Twoja organizacja osiągnęła limit uczciwego użytkowania w swoim planie. Skontaktuj się z administratorem organizacji lub pomocą techniczną, aby kontynuować." +msgstr "Organizacja przekroczyła limit dozwolonego użytkowania. Skontaktuj się z administratorem organizacji." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit" +msgstr "Organizacja zbliża się do limitu dozwolonego użytkowania" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." +msgstr "Organizacja zbliża się do limitu dozwolonego użytkowania. Jeśli potrzebujesz wyższych limitów, skontaktuj się z <0>pomocą techniczną." + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." -msgstr "Twoja organizacja generuje żądania API szybciej niż zwykle, więc część żądań jest tymczasowo ograniczana (throttling)." +msgstr "Twoja organizacja generuje żądania API szybciej niż zwykle, więc niektóre żądania zostały tymczasowo ograniczane." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." -msgstr "Twoja organizacja generuje dokumenty szybciej niż zwykle, więc część żądań jest tymczasowo ograniczana (throttling)." +msgstr "Twoja organizacja generuje dokumenty szybciej niż zwykle, więc niektóre żądania zostały tymczasowo ograniczane." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." -msgstr "Twoja organizacja generuje e‑maile szybciej niż zwykle, więc część żądań jest tymczasowo ograniczana (throttling)." +msgstr "Twoja organizacja generuje wiadomości szybciej niż zwykle, więc niektóre żądania zostały tymczasowo ograniczane." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "Organizacja zbliża się do limitu dozwolonego użytkowania dokumentów. Po przekroczeniu limitu tworzenie nowych dokumentów zostanie wstrzymane." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "Organizacja zbliża się do limitu dozwolonego użytkowania API. Po przekroczeniu limitu nowe żądania API zostaną wstrzymane." + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "Organizacja zbliża się do limitu dozwolonego użytkowania wiadomości. Po przekroczeniu limitu tworzenie nowych wiadomości zostanie wstrzymane." #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx @@ -14361,6 +14612,30 @@ msgstr "Kod odzyskiwania został skopiowany do schowka." msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "To są Twoje kody odzyskiwania. Przechowuj je w bezpiecznym miejscu." +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "Złożyłeś podpis zdalny" + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "Autoryzacja podpisu wygasła przed jego złożeniem. Spróbuj ponownie." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "Certyfikat podpisu jest nieważny, wygasł lub brakuje w nim wymaganego klucza. Skontaktuj się z administratorem lub dostawcą podpisu." + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "Twoje uwierzytelnienie u dostawcy podpisu nie powiodło się" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "Dostawca podpisu nie obsługuje wymaganego algorytmu podpisywania. Skontaktuj się z administratorem lub dostawcą podpisu." + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "Dostawca podpisu nie zwrócił żadnych użytecznych certyfikatów. Skontaktuj się z administratorem lub dostawcą podpisu." + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "Czas na podpisanie dokumentu minął. Skontaktuj się z nadawcą, aby otrzymać nowe zaproszenie." @@ -14386,6 +14661,10 @@ msgstr "Zespół został zaktualizowany." msgid "Your template has been created successfully" msgstr "Twój szablon został pomyślnie utworzony" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "Szablon został ponownie wysłany." + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "Szablon został zduplikowany." @@ -14437,5 +14716,5 @@ msgstr "Twój kod weryfikacyjny:" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx msgid "your-domain.com another-domain.com" -msgstr "your-domain.com another-domain.com" +msgstr "twoja-domena.pl inna-domena.pl" diff --git a/packages/lib/translations/pt-BR/web.po b/packages/lib/translations/pt-BR/web.po index f96c40c8e..85490df57 100644 --- a/packages/lib/translations/pt-BR/web.po +++ b/packages/lib/translations/pt-BR/web.po @@ -44,6 +44,10 @@ msgstr "“{documentName}” foi assinado por todos os signatários" msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "\"{placeholderEmail}\" em nome de \"Nome da Equipe\" convidou você para assinar \"exemplo de documento\"." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "" @@ -97,6 +101,17 @@ msgstr "{0, plural, one {# caractere restante} other {# caracteres restantes}}" msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" msgstr "" +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "" + #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx msgid "{0, plural, one {# document} other {# documents}}" @@ -241,6 +256,11 @@ msgstr "" msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -478,6 +498,18 @@ msgstr "" msgid "{user} approved the document" msgstr "" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "" + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "" @@ -541,6 +573,10 @@ msgstr "" msgid "{user} requested a 2FA token for the document" msgstr "" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -612,6 +648,14 @@ msgstr "" msgid "{user} viewed the document" msgstr "" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "" + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -637,8 +681,8 @@ msgstr "{visibleRows, plural, one {Exibindo # resultado.} other {Exibindo # resu #. placeholder {0}: envelope.title #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx -msgid "<0>\"{0}\"is no longer available to sign" -msgstr "<0>\"{0}\"não está mais disponível para assinatura" +msgid "<0>\"{0}\" is no longer available to sign" +msgstr "" #: packages/email/templates/organisation-account-link-confirmation.tsx msgid "<0>{organisationName} has requested to create an account on your behalf." @@ -1251,6 +1295,14 @@ msgstr "Adicione um ID externo ao documento. Isso pode ser usado para identifica msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Adicione um ID externo ao modelo. Isso pode ser usado para identificar em sistemas externos." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "" + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "Adicionar e configurar vários documentos" @@ -1709,6 +1761,10 @@ msgstr "Ocorreu um erro ao salvar automaticamente as configurações do modelo." msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "Ocorreu um erro ao assinar automaticamente o documento, alguns campos podem não ter sido assinados. Por favor, revise e assine manualmente quaisquer campos restantes." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "" + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "Ocorreu um erro ao concluir o documento. Por favor, tente novamente." @@ -1753,18 +1809,10 @@ msgstr "Ocorreu um erro ao ativar o usuário." msgid "An error occurred while loading the document." msgstr "Ocorreu um erro ao carregar o documento." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "Ocorreu um erro ao mover o documento." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "Ocorreu um erro ao mover o modelo." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "Ocorreu um erro ao rejeitar o documento. Por favor, tente novamente." @@ -1852,6 +1900,14 @@ msgstr "Ocorreu um erro ao fazer upload do seu documento." msgid "An error occurred. Please try again later." msgstr "Ocorreu um erro. Por favor, tente novamente mais tarde." +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "" + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "Uma organização deseja criar uma conta para você. Por favor, revise os detalhes abaixo." @@ -1976,10 +2032,28 @@ msgstr "" msgid "API Tokens" msgstr "Tokens de API" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "" + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "Versão do App" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "" + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2065,6 +2139,7 @@ msgstr "Tem certeza de que deseja excluir esta organização?" msgid "Are you sure you wish to delete this team?" msgstr "Tem certeza de que deseja excluir esta equipe?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2469,12 +2544,11 @@ msgstr "" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2483,6 +2557,7 @@ msgstr "" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2529,7 +2604,6 @@ msgstr "" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2554,6 +2628,8 @@ msgstr "" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2564,6 +2640,24 @@ msgstr "" msgid "Cancel" msgstr "Cancelar" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "Cancelado pelo usuário" @@ -2610,6 +2704,10 @@ msgstr "Destinatários em cópia" msgid "Center" msgstr "Centro" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx +msgid "Change Field Type" +msgstr "" + #: apps/remix/app/components/general/app-command-menu.tsx msgid "Change language" msgstr "" @@ -4099,6 +4197,16 @@ msgstr "Documento Todos" msgid "Document Approved" msgstr "Documento Aprovado" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4256,10 +4364,6 @@ msgstr "Limite de Documentos Excedido!" msgid "Document metrics" msgstr "Métricas de documentos" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "Documento movido" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4300,10 +4404,6 @@ msgstr "Preferências de documento atualizadas" msgid "Document rate limits" msgstr "" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "Documento reenviado" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx msgid "Document rejected" @@ -4319,6 +4419,10 @@ msgstr "Documento Rejeitado" msgid "Document Renamed" msgstr "" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "" + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "Documento enviado" @@ -4394,6 +4498,10 @@ msgstr "Upload de documentos desativado devido a faturas não pagas" msgid "Document uploaded" msgstr "Documento carregado" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "" + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4454,6 +4562,10 @@ msgstr "Documentos" msgid "Documents and resources related to this envelope." msgstr "Documentos e recursos relacionados a este envelope." +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4471,6 +4583,10 @@ msgstr "Documentos criados a partir do modelo" msgid "Documents deleted" msgstr "" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "" @@ -4955,6 +5071,10 @@ msgstr "" msgid "Email Transports" msgstr "" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "" + #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" msgstr "Verificação de e-mail" @@ -5254,14 +5374,10 @@ msgstr "Envelope atualizado" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5678,9 +5794,7 @@ msgstr "" msgid "Focus ring colour." msgstr "" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "Pasta" @@ -5769,6 +5883,11 @@ msgctxt "Subscription status" msgid "Free" msgstr "Grátis" +#: apps/remix/app/components/tables/user-billing-organisations-table.tsx +msgctxt "Subscription status" +msgid "Free (Pending)" +msgstr "" + #: packages/lib/utils/fields.ts #: packages/ui/primitives/document-flow/types.ts msgid "Free Signature" @@ -6055,9 +6174,7 @@ msgstr "" msgid "Home" msgstr "Início" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "Início (Sem Pasta)" @@ -6137,6 +6254,7 @@ msgstr "Identificando campos de entrada" msgid "Identifying recipients" msgstr "Identificando destinatários" +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "If there is any issue with your subscription, please contact us at <0>{SUPPORT_EMAIL}." msgstr "Se houver algum problema com sua assinatura, entre em contato conosco em <0>{SUPPORT_EMAIL}." @@ -6165,6 +6283,10 @@ msgstr "Se você não quiser usar o autenticador solicitado, pode fechá-lo, o q msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "Se você não encontrar o link de confirmação em sua caixa de entrada, pode solicitar um novo abaixo." +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "" + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "Se seu aplicativo autenticador não suportar códigos QR, você pode usar o seguinte código:" @@ -6193,10 +6315,12 @@ msgstr "Documentos da caixa de entrada" msgid "Include audit log" msgstr "" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "" @@ -6771,6 +6895,7 @@ msgstr "Gerenciar e visualizar modelo" msgid "Manage billing" msgstr "Gerenciar faturamento" +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx #: apps/remix/app/components/tables/user-billing-organisations-table.tsx msgid "Manage Billing" @@ -7069,22 +7194,12 @@ msgstr "" msgid "Monthly email quota" msgstr "" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "Mover" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "Mover \"{templateTitle}\" para uma pasta" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "Mover Documento para Pasta" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "" @@ -7099,10 +7214,6 @@ msgstr "Mover Pasta" msgid "Move Subscription" msgstr "" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "Mover Modelo para Pasta" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "" @@ -7288,13 +7399,15 @@ msgstr "" msgid "No features enabled" msgstr "" +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx +msgid "No field type matching this description was found." +msgstr "" + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "No fields were detected in your document." msgstr "Nenhum campo foi detectado em seu documento." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "Nenhuma pasta encontrada" @@ -7397,6 +7510,10 @@ msgstr "Nenhum resultado encontrado." msgid "No signature field found" msgstr "Nenhum campo de assinatura encontrado" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "" + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "Nenhum cliente Stripe anexado" @@ -7471,6 +7588,10 @@ msgstr "" msgid "Not supported" msgstr "Não suportado" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7533,7 +7654,9 @@ msgstr "Nesta página, você pode criar e gerenciar tokens de API. Veja nossa <0 msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "Nesta página, você pode criar novos Webhooks e gerenciar os existentes." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "Uma vez confirmado, o seguinte ocorrerá:" @@ -7574,6 +7697,10 @@ msgstr "Apenas um arquivo pode ser enviado por vez" msgid "Only PDF files are allowed" msgstr "Apenas arquivos PDF são permitidos" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "" + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7708,9 +7835,9 @@ msgstr "Nome da Organização" msgid "Organisation not found" msgstr "Organização não encontrada" -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" msgstr "" @@ -7961,6 +8088,11 @@ msgstr "Vencido" msgid "Payment overdue" msgstr "Pagamento em atraso" +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "Payment required" +msgstr "" + #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx msgid "PDF Document" msgstr "Documento PDF" @@ -8147,7 +8279,7 @@ msgstr "Por favor, confirme seu endereço de e-mail" msgid "Please contact <0>support if you have any questions." msgstr "" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." msgstr "" @@ -8159,6 +8291,10 @@ msgstr "Por favor, entre em contato com o suporte se desejar reverter esta açã msgid "Please contact the site owner for further assistance." msgstr "Por favor, entre em contato com o proprietário do site para mais assistência." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "" + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "Por favor, insira um nome significativo para seu token. Isso ajudará você a identificá-lo mais tarde." @@ -8528,6 +8664,11 @@ msgstr "Pronto" msgid "Reason" msgstr "Motivo" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "Motivo do cancelamento: {cancellationReason}" @@ -8548,6 +8689,10 @@ msgstr "O motivo deve ter menos de 500 caracteres" msgid "Reauthentication is required to sign this field" msgstr "Reautenticação é necessária para assinar este campo" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "Recebe cópia" @@ -8589,6 +8734,14 @@ msgstr "Autenticação de ação do destinatário" msgid "Recipient approved the document" msgstr "" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "" + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "" @@ -8631,6 +8784,10 @@ msgstr "E-mail de destinatário removido" msgid "Recipient requested a 2FA token for the document" msgstr "" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "" @@ -8668,6 +8825,14 @@ msgstr "" msgid "Recipient viewed the document" msgstr "" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "" + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8691,6 +8856,11 @@ msgstr "" msgid "Recipients will be able to sign the document once sent" msgstr "Os destinatários poderão assinar o documento assim que enviado" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "Os destinatários ainda manterão sua cópia do documento" @@ -8983,8 +9153,9 @@ msgstr "" msgid "Reseal document" msgstr "Selar novamente o documento" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9274,10 +9445,8 @@ msgstr "" msgid "Search documents..." msgstr "Pesquisar documentos..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9331,9 +9500,9 @@ msgstr "Selecionar" msgid "Select a destination for this folder." msgstr "Selecione um destino para esta pasta." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "Selecione uma pasta para mover este documento." +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx +msgid "Select a field type" +msgstr "" #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" @@ -9589,7 +9758,6 @@ msgstr "Enviar em Nome da Equipe" msgid "Send recipient expired email to the owner" msgstr "" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "Enviar lembrete" @@ -9936,11 +10104,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "Assinando" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "Certificado de Assinatura" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9955,6 +10131,10 @@ msgstr "Assinatura Concluída!" msgid "Signing Deadline Expired" msgstr "" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "" + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "Assinando para" @@ -10034,6 +10214,7 @@ msgstr "Pular" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Alguns signatários não receberam um campo de assinatura. Por favor, atribua pelo menos 1 campo de assinatura a cada signatário antes de prosseguir." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10081,6 +10262,10 @@ msgstr "Alguns signatários não receberam um campo de assinatura. Por favor, at msgid "Something went wrong" msgstr "Algo deu errado" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "" + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10102,6 +10287,10 @@ msgstr "Algo deu errado ao carregar o documento." msgid "Something went wrong while loading your passkeys." msgstr "Algo deu errado ao carregar suas passkeys." +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "" + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." msgstr "" @@ -10669,14 +10858,14 @@ msgstr "ID do Modelo (Legado)" msgid "Template is using legacy field insertion" msgstr "O modelo está usando inserção de campo legada" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "Modelo movido" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "" + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "Modelo salvo" @@ -10862,10 +11051,6 @@ msgstr "" msgid "The Document has been deleted successfully." msgstr "O Documento foi excluído com sucesso." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "O documento foi movido com sucesso." - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "O documento foi rejeitado com sucesso." @@ -10894,6 +11079,11 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "O documento foi criado, mas não pôde ser enviado aos destinatários." @@ -10906,6 +11096,10 @@ msgstr "O documento será ocultado da sua conta" msgid "The document will be immediately sent to recipients if this is checked." msgstr "O documento será enviado imediatamente aos destinatários se isso estiver marcado." +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "O documento que você está procurando não pôde ser encontrado." @@ -10919,6 +11113,10 @@ msgstr "O documento que você está procurando pode ter sido removido, renomeado msgid "The document's name" msgstr "O nome do documento" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "O endereço de e-mail que aparecerá no campo \"Responder para\" nos e-mails" @@ -10956,18 +11154,10 @@ msgstr "A pasta que você está tentando excluir não existe." msgid "The folder you are trying to move does not exist." msgstr "A pasta que você está tentando mover não existe." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "A pasta para a qual você está tentando mover o documento não existe." - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "A pasta para a qual você está tentando mover o modelo não existe." - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "Ocorreram os seguintes erros:" @@ -11119,6 +11309,10 @@ msgstr "" msgid "The signing link has been copied to your clipboard." msgstr "O link de assinatura foi copiado para sua área de transferência." +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "" + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "" @@ -11142,10 +11336,6 @@ msgstr "O e-mail da equipe <0>{teamEmail} foi removido da seguinte equipe" msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "A equipe que você está procurando pode ter sido removida, renomeada ou nunca ter existido." -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "O modelo foi movido com sucesso." - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." msgstr "" @@ -11235,6 +11425,10 @@ msgstr "" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "Não há rascunhos ativos no momento. Você pode enviar um documento para começar a rascunhar." +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." msgstr "Ainda não há documentos concluídos. Documentos que você criou ou recebeu aparecerão aqui assim que concluídos." @@ -11300,6 +11494,10 @@ msgstr "Este documento não pode ser recuperado, se você quiser contestar o mot msgid "This document cannot be changed" msgstr "Este documento não pode ser alterado" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "Este documento não pôde ser excluído neste momento. Por favor, tente novamente." @@ -11321,6 +11519,10 @@ msgstr "" msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "Este documento já foi enviado para este destinatário. Você não pode mais editar este destinatário." +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx msgid "This document has been cancelled by the owner and is no longer available for others to sign." msgstr "Este documento foi cancelado pelo proprietário e não está mais disponível para outros assinarem." @@ -11444,6 +11646,14 @@ msgstr "Este item não pode ser excluído" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "Este link é inválido ou expirou. Entre em contato com sua equipe para reenviar uma verificação." +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "" + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "This organisation is awaiting payment. Complete checkout to unlock it." +msgstr "" + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "This organisation will have administrative control over your account. You can revoke this access later, but they will retain access to any data they've already collected." msgstr "Esta organização terá controle administrativo sobre sua conta. Você pode revogar esse acesso mais tarde, mas eles manterão o acesso a quaisquer dados que já tenham coletado." @@ -11843,6 +12053,7 @@ msgstr "Gatilhos" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "Tente novamente" @@ -11995,6 +12206,10 @@ msgstr "Não foi possível configurar a autenticação de dois fatores" msgid "Unable to sign in" msgstr "Não foi possível entrar" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12091,6 +12306,7 @@ msgstr "Grupo sem título" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "Atualizar" @@ -12588,6 +12804,7 @@ msgstr "Visualizar documento" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "Visualizar Documento" @@ -13107,15 +13324,15 @@ msgstr "Ainda estamos aguardando outros signatários assinarem este documento.<0 msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "Alteramos sua senha conforme solicitado. Agora você pode entrar com sua nova senha." -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." msgstr "" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." msgstr "" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." msgstr "" @@ -13242,10 +13459,6 @@ msgstr "Enquanto espera que eles façam isso, você pode criar sua própria cont msgid "Whitelabeling, unlimited members and more" msgstr "Whitelabeling, membros ilimitados e mais" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "Quem você deseja lembrar?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13290,6 +13503,10 @@ msgstr "" msgid "You approved the document" msgstr "" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "Você está prestes a concluir a aprovação do seguinte documento" @@ -13444,10 +13661,6 @@ msgstr "Você está atualizando o grupo de equipe <0>{teamGroupName}." msgid "You are not allowed to move these items." msgstr "" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "You are not allowed to move this document." -msgstr "Você não tem permissão para mover este documento." - #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx msgid "You are not authorized to access this page." @@ -13469,6 +13682,14 @@ msgstr "Você não está autorizado a ativar este usuário." msgid "You are not authorized to reset two factor authentcation for this user." msgstr "Você não está autorizado a redefinir a autenticação de dois fatores para este usuário." +#: packages/lib/utils/document-audit-logs.ts +msgid "You authenticated with the signing provider" +msgstr "" + +#: packages/lib/utils/document-audit-logs.ts +msgid "You authorised the remote signature" +msgstr "" + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "You can add fields manually in the editor." msgstr "Você pode adicionar campos manualmente no editor." @@ -13530,6 +13751,10 @@ msgstr "Você pode visualizar os documentos criados no seu painel na seção \"D msgid "You can view the document and its status by clicking the button below." msgstr "Você pode visualizar o documento e seu status clicando no botão abaixo." +#: packages/lib/utils/document-audit-logs.ts +msgid "You cancelled the document" +msgstr "" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -13557,8 +13782,16 @@ msgid "You cannot modify a team member who has a higher role than you." msgstr "Você não pode modificar um membro da equipe que tem uma função superior à sua." #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx -msgid "You cannot remove members from this team if the inherit member feature is enabled." -msgstr "Você não pode remover membros desta equipe se o recurso de herdar membros estiver ativado." +msgid "You cannot remove a member with a role higher than your own." +msgstr "" + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team while the inherit member feature is enabled." +msgstr "" + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove the organisation owner from the team." +msgstr "" #: packages/ui/primitives/document-dropzone.tsx #: packages/ui/primitives/document-upload-button.tsx @@ -13940,6 +14173,10 @@ msgstr "" msgid "You requested a 2FA token for the document" msgstr "" +#: packages/lib/utils/document-audit-logs.ts +msgid "You requested a remote signature" +msgstr "" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "You resent an email to {0}" @@ -14149,9 +14386,9 @@ msgstr "Seu documento foi criado com sucesso" msgid "Your document has been deleted by an admin!" msgstr "Seu documento foi excluído por um administrador!" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Your document has been re-sent successfully." -msgstr "Seu documento foi reenviado com sucesso." +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your document has been resent successfully." +msgstr "" #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Your document has been saved as a template." @@ -14270,18 +14507,38 @@ msgstr "" msgid "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." msgstr "" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit" +msgstr "" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." +msgstr "" + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." msgstr "" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." msgstr "" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." msgstr "" +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "" + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "" + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "" + #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx msgid "Your password has been updated successfully." @@ -14328,6 +14585,30 @@ msgstr "Seu código de recuperação foi copiado para sua área de transferênci msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "Seus códigos de recuperação estão listados abaixo. Por favor, guarde-os em um local seguro." +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "" + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "" + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "" @@ -14353,6 +14634,10 @@ msgstr "Sua equipe foi atualizada com sucesso." msgid "Your template has been created successfully" msgstr "Seu modelo foi criado com sucesso" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "" + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "" diff --git a/packages/lib/translations/zh/web.po b/packages/lib/translations/zh/web.po index cca0ca86e..e107bc848 100644 --- a/packages/lib/translations/zh/web.po +++ b/packages/lib/translations/zh/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-06-12 07:37\n" +"PO-Revision-Date: 2026-06-22 13:53\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -49,6 +49,10 @@ msgstr "“{documentName}”已由所有签署人签署" msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." msgstr "“{placeholderEmail}”代表“Team Name”邀请您签署“example document”。" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "\"{title}\" has been successfully cancelled" +msgstr "“{title}”已成功取消" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "\"{title}\" has been successfully deleted" msgstr "“{title}”已成功删除" @@ -102,6 +106,17 @@ msgstr "{0, plural, other {# 个剩余字符}}" msgid "{0, plural, one {# CSS rule was dropped during sanitisation.} other {# CSS rules were dropped during sanitisation.}}" msgstr "{0, plural, other {# 条 CSS 规则在清理过程中被移除。}}" +#. placeholder {0}: result.cancelledCount +#. placeholder {1}: result.failedIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document cancelled.} other {# documents cancelled.}} {1, plural, one {# document could not be cancelled.} other {# documents could not be cancelled.}}" +msgstr "{0, plural, other {已取消 # 份文档。}} {1, plural, other {有 # 份文档无法取消。}}" + +#. placeholder {0}: result.cancelledCount +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {# document has been cancelled.} other {# documents have been cancelled.}}" +msgstr "{0, plural, other {已取消 # 份文档。}}" + #. placeholder {0}: folder._count.documents #: apps/remix/app/components/general/folder/folder-card.tsx msgid "{0, plural, one {# document} other {# documents}}" @@ -246,6 +261,11 @@ msgstr "{0, plural, other {我们在您的文档中找到了 # 个字段。}}" msgid "{0, plural, one {We found # recipient in your document.} other {We found # recipients in your document.}}" msgstr "{0, plural, other {我们在您的文档中找到了 # 位收件人。}}" +#. placeholder {0}: envelopeIds.length +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "{0, plural, one {You are about to cancel the selected document.} other {You are about to cancel # documents.}}" +msgstr "{0, plural, other {您即将取消 # 份文档。}}" + #. placeholder {0}: envelopeIds.length #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "{0, plural, one {You are about to delete the selected document.} other {You are about to delete # documents.}}" @@ -483,6 +503,18 @@ msgstr "{user} 添加了一个收件人" msgid "{user} approved the document" msgstr "{user} 已批准该文档" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authenticated with the signing provider" +msgstr "{user} 已通过签名服务提供商完成身份验证" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} authorised the remote signature" +msgstr "{user} 已授权远程签名" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} cancelled the document" +msgstr "{user} 已取消该文档" + #: packages/lib/utils/document-audit-logs.ts msgid "{user} CC'd the document" msgstr "{user} 已对该文档添加抄送" @@ -546,6 +578,10 @@ msgstr "{user} 已替换信封条目 {0} 的 PDF" msgid "{user} requested a 2FA token for the document" msgstr "{user} 请求了此文档的双重验证 (2FA) 令牌" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user} requested a remote signature" +msgstr "{user} 已请求远程签名" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "{user} resent an email to {0}" @@ -617,6 +653,14 @@ msgstr "{user} 验证了此文档的双重验证 (2FA) 令牌" msgid "{user} viewed the document" msgstr "{user} 查看了此文档" +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s remote signature was applied" +msgstr "已应用 {user} 的远程签名" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{user}'s signing provider authentication failed" +msgstr "{user} 在签名服务提供商处的身份验证失败" + #: apps/remix/app/components/tables/internal-audit-log-table.tsx #: packages/lib/server-only/pdf/render-audit-logs.ts msgid "{userAgent}" @@ -1256,6 +1300,14 @@ msgstr "为文档添加一个外部 ID。可用于在外部系统中标识该文 msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "为模板添加一个外部 ID。可用于在外部系统中标识。" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Add an optional reason for cancelling these documents" +msgstr "为取消这些文档添加一个可选原因" + +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Add an optional reason for cancelling this document" +msgstr "为取消此文档添加一个可选原因" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx msgid "Add and configure multiple documents" msgstr "添加并配置多个文档" @@ -1714,6 +1766,10 @@ msgstr "自动保存模板设置时发生错误。" msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." msgstr "自动签署文档时发生错误,部分字段可能未签署。请检查并手动签署所有剩余字段。" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "An error occurred while cancelling the documents." +msgstr "取消文档时发生错误。" + #: apps/remix/app/components/general/document-signing/document-signing-form.tsx msgid "An error occurred while completing the document. Please try again." msgstr "完成文档时发生错误。请重试。" @@ -1758,18 +1814,10 @@ msgstr "启用用户时发生错误。" msgid "An error occurred while loading the document." msgstr "加载文档时发生错误。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "An error occurred while moving the document." -msgstr "移动文档时发生错误。" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "An error occurred while moving the items." msgstr "移动项目时发生错误。" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "An error occurred while moving the template." -msgstr "移动模板时发生错误。" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "An error occurred while rejecting the document. Please try again." msgstr "拒绝文档时发生错误。请重试。" @@ -1857,6 +1905,14 @@ msgstr "上传文档时发生错误。" msgid "An error occurred. Please try again later." msgstr "发生错误。请稍后重试。" +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation has exceeded their fair use limits" +msgstr "某个组织已超出其公平使用限制" + +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "An organisation is nearing their fair use limits" +msgstr "某个组织即将达到其公平使用限制" + #: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx msgid "An organisation wants to create an account for you. Please review the details below." msgstr "有组织希望为您创建账户。请查看以下详情。" @@ -1981,10 +2037,28 @@ msgstr "API 请求已被暂时暂停" msgid "API Tokens" msgstr "API 令牌" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "API usage is approaching fair use limits" +msgstr "API 使用量正接近公平使用限制" + #: apps/remix/app/routes/_authenticated+/admin+/stats.tsx msgid "App Version" msgstr "应用版本" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Applying your signature" +msgstr "正在应用您的签名" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Approaching fair use limit" +msgstr "即将达到公平使用限制" + +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts +msgid "Approaching Your Plan Limits" +msgstr "即将达到您的套餐限制" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx #: apps/remix/app/components/general/document/document-page-view-button.tsx @@ -2070,6 +2144,7 @@ msgstr "您确定要删除此组织吗?" msgid "Are you sure you wish to delete this team?" msgstr "确定要删除此团队吗?" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx #: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx @@ -2474,12 +2549,11 @@ msgstr "找不到某个人?" #: apps/remix/app/components/dialogs/claim-create-dialog.tsx #: apps/remix/app/components/dialogs/claim-delete-dialog.tsx #: apps/remix/app/components/dialogs/claim-update-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-create-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-delete-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-send-test-dialog.tsx #: apps/remix/app/components/dialogs/email-transport-update-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -2488,6 +2562,7 @@ msgstr "找不到某个人?" #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-create-dialog.tsx @@ -2534,7 +2609,6 @@ msgstr "找不到某个人?" #: apps/remix/app/components/dialogs/team-member-update-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx #: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/token-delete-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx @@ -2559,6 +2633,8 @@ msgstr "找不到某个人?" #: apps/remix/app/components/general/document/embedded-editor-attachment-popover.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx #: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/envelopes-table-bulk-action-bar.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx #: apps/remix/app/routes/_authenticated+/admin+/email-domains.$id.tsx @@ -2569,6 +2645,24 @@ msgstr "找不到某个人?" msgid "Cancel" msgstr "取消" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "Cancel document" +msgstr "取消文档" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel documents" +msgstr "取消文档" + +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Cancel Documents" +msgstr "取消文档" + +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: packages/lib/constants/document.ts +msgid "Cancelled" +msgstr "已取消" + #: apps/remix/app/components/dialogs/passkey-create-dialog.tsx msgid "Cancelled by user" msgstr "已被用户取消" @@ -4108,6 +4202,16 @@ msgstr "文档全部" msgid "Document Approved" msgstr "文档已批准" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document cancelled" +msgstr "文档已取消" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document cancelled" +msgstr "文档已被取消" + #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx #: packages/lib/server-only/admin/admin-super-delete-document.ts @@ -4265,10 +4369,6 @@ msgstr "文档数量超出限制!" msgid "Document metrics" msgstr "文档指标" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Document moved" -msgstr "文档已移动" - #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document moved to team" @@ -4309,10 +4409,6 @@ msgstr "文档偏好设置已更新" msgid "Document rate limits" msgstr "文档速率限制" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Document re-sent" -msgstr "文档已重新发送" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx #: apps/remix/app/components/general/document/document-status.tsx msgid "Document rejected" @@ -4328,6 +4424,10 @@ msgstr "文档已被拒签" msgid "Document Renamed" msgstr "文档已重命名" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Document resent" +msgstr "文档已重新发送" + #: apps/remix/app/components/general/document/document-edit-form.tsx msgid "Document sent" msgstr "文档已发送" @@ -4403,6 +4503,10 @@ msgstr "由于有未支付账单,已禁用文档上传" msgid "Document uploaded" msgstr "文档已上传" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Document usage is approaching fair use limits" +msgstr "文档使用量正接近公平使用限制" + #: packages/lib/utils/document-audit-logs.ts msgctxt "Audit log format" msgid "Document viewed" @@ -4463,6 +4567,10 @@ msgstr "文档" msgid "Documents and resources related to this envelope." msgstr "与此信封相关的文档和资源。" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents cancelled" +msgstr "文档已取消" + #: apps/remix/app/components/tables/organisation-insights-table.tsx #: apps/remix/app/components/tables/organisation-insights-table.tsx msgid "Documents Completed" @@ -4480,6 +4588,10 @@ msgstr "由模板创建的文档" msgid "Documents deleted" msgstr "文档已删除" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Documents partially cancelled" +msgstr "部分文档已取消" + #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Documents partially deleted" msgstr "文档已部分删除" @@ -4964,6 +5076,10 @@ msgstr "电子邮件传输方式" msgid "Email Transports" msgstr "电子邮件传输方式" +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Email usage is approaching fair use limits" +msgstr "电子邮件使用量正接近公平使用限制" + #: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx msgid "Email verification" msgstr "邮箱验证" @@ -5263,14 +5379,10 @@ msgstr "信封已更新" #: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx #: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx #: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx #: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/webhook-create-dialog.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx #: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx @@ -5687,9 +5799,7 @@ msgstr "按状态筛选" msgid "Focus ring colour." msgstr "聚焦轮廓颜色。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Folder" msgstr "文件夹" @@ -6069,9 +6179,7 @@ msgstr "隐藏许可证密钥" msgid "Home" msgstr "首页" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "Home (No Folder)" msgstr "首页(无文件夹)" @@ -6180,6 +6288,10 @@ msgstr "如果你不想使用当前弹出的验证器,可以将其关闭,随 msgid "If you don't find the confirmation link in your inbox, you can request a new one below." msgstr "如果在收件箱中未找到确认链接,你可以在下方重新请求一个新的。" +#: packages/email/templates/organisation-limit-alert.tsx +msgid "If you expect to need higher limits, please contact support at {SUPPORT_EMAIL} and we will review your account." +msgstr "如果您预计需要更高的限制,请通过 {SUPPORT_EMAIL} 联系支持,我们将对您的账户进行审核。" + #: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx msgid "If your authenticator app does not support QR codes, you can use the following code instead:" msgstr "如果你的验证器应用不支持二维码,你可以使用以下代码:" @@ -6208,10 +6320,12 @@ msgstr "收件箱中的文档" msgid "Include audit log" msgstr "包含审计日志" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Fields" msgstr "包含字段" +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Include Recipients" msgstr "包含签署人" @@ -7085,22 +7199,12 @@ msgstr "每月文档配额" msgid "Monthly email quota" msgstr "每月邮件配额" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/components/general/folder/folder-card.tsx msgid "Move" msgstr "移动" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move \"{templateTitle}\" to a folder" -msgstr "将“{templateTitle}”移动到文件夹" - -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Move Document to Folder" -msgstr "将文档移动到文件夹" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Documents to Folder" msgstr "将文档移动到文件夹" @@ -7115,10 +7219,6 @@ msgstr "移动文件夹" msgid "Move Subscription" msgstr "移动订阅" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Move Template to Folder" -msgstr "将模板移动到文件夹" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "Move Templates to Folder" msgstr "将模板移动到文件夹" @@ -7312,9 +7412,7 @@ msgstr "未找到与此描述匹配的字段类型。" msgid "No fields were detected in your document." msgstr "在您的文档中未检测到任何字段。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx msgid "No folders found" msgstr "未找到文件夹" @@ -7417,6 +7515,10 @@ msgstr "未找到结果。" msgid "No signature field found" msgstr "未找到签名字段" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "No signing credentials available" +msgstr "没有可用的签名凭证" + #: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx msgid "No Stripe customer attached" msgstr "未关联 Stripe 客户" @@ -7491,6 +7593,10 @@ msgstr "未设置" msgid "Not supported" msgstr "不支持" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing cancelled" +msgstr "未取消任何内容" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "Nothing to do" @@ -7553,7 +7659,9 @@ msgstr "在此页面,您可以创建和管理 API 令牌。更多信息请参 msgid "On this page, you can create new Webhooks and manage the existing ones." msgstr "在此页面,你可以创建新的 Webhook 并管理现有的 Webhook。" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-delete-dialog.tsx msgid "Once confirmed, the following will occur:" msgstr "一旦确认,将会发生以下情况:" @@ -7594,6 +7702,10 @@ msgstr "一次只能上传一个文件" msgid "Only PDF files are allowed" msgstr "只允许上传 PDF 文件" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Only pending documents you have permission to manage will be cancelled." +msgstr "只有你有权限管理的待处理文档会被取消。" + #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/components/general/generic-error-layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx @@ -7728,9 +7840,9 @@ msgstr "组织名称" msgid "Organisation not found" msgstr "未找到组织" -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/email/templates/organisation-limit-exceeded.tsx -#: packages/lib/jobs/definitions/emails/send-organisation-limit-exceeded-email.handler.ts +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/email/templates/organisation-limit-alert.tsx +#: packages/lib/jobs/definitions/emails/send-organisation-limit-alert-email.handler.ts msgid "Organisation Review Required" msgstr "需要组织审核" @@ -8172,7 +8284,7 @@ msgstr "请确认您的邮箱地址" msgid "Please contact <0>support if you have any questions." msgstr "如果您有任何问题,请联系<0>支持。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Please contact support at {SUPPORT_EMAIL} and we will review your account." msgstr "请通过 {SUPPORT_EMAIL} 联系支持团队,我们会审核您的账号。" @@ -8184,6 +8296,10 @@ msgstr "如需撤销此操作,请联系支持。" msgid "Please contact the site owner for further assistance." msgstr "请联系站点所有者以获取进一步帮助。" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Please don't close this tab. The signing provider is finalising your signature." +msgstr "请不要关闭此标签页。签名服务提供商正在完成您的签名。" + #: apps/remix/app/components/forms/token.tsx msgid "Please enter a meaningful name for your token. This will help you identify it later." msgstr "请输入一个有意义的令牌名称,以便日后识别。" @@ -8553,6 +8669,11 @@ msgstr "就绪" msgid "Reason" msgstr "原因" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Reason (optional)" +msgstr "原因(可选)" + #: packages/email/template-components/template-document-cancel.tsx msgid "Reason for cancellation: {cancellationReason}" msgstr "取消原因:{cancellationReason}" @@ -8573,6 +8694,10 @@ msgstr "理由必须少于 500 个字符" msgid "Reauthentication is required to sign this field" msgstr "签署此字段需要重新验证身份" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Reauthorise and retry" +msgstr "重新授权并重试" + #: packages/ui/components/recipient/recipient-role-select.tsx msgid "Receives copy" msgstr "接收副本" @@ -8614,6 +8739,14 @@ msgstr "收件人操作认证" msgid "Recipient approved the document" msgstr "收件人已批准此文档" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authenticated with the signing provider" +msgstr "收件人已通过签名服务提供商完成身份验证" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient authorised the remote signature" +msgstr "收件人已授权远程签名" + #: packages/lib/utils/document-audit-logs.ts msgid "Recipient CC'd the document" msgstr "收件人已将此文档加入抄送" @@ -8644,6 +8777,10 @@ msgstr "收件人 ID:" msgid "Recipient rejected the document" msgstr "收件人已拒绝此文档" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient rejected the document externally" +msgstr "收件人在外部拒绝了该文档" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient removed" msgstr "收件人已移除" @@ -8656,6 +8793,10 @@ msgstr "收件人移除邮件" msgid "Recipient requested a 2FA token for the document" msgstr "收件人请求了此文档的双重验证 (2FA) 令牌" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient requested a remote signature" +msgstr "收件人已请求远程签名" + #: apps/remix/app/components/general/admin-global-settings-section.tsx msgid "Recipient signed" msgstr "收件人已签署" @@ -8693,6 +8834,14 @@ msgstr "收件人已验证此文档的双重验证 (2FA) 令牌" msgid "Recipient viewed the document" msgstr "收件人已查看此文档" +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's remote signature was applied" +msgstr "已应用收件人的远程签名" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient's signing provider authentication failed" +msgstr "收件人的签名服务提供商身份验证失败" + #: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx #: apps/remix/app/components/general/document/document-page-view-recipients.tsx #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx @@ -8716,6 +8865,11 @@ msgstr "将自动添加到新文档中的收件人。" msgid "Recipients will be able to sign the document once sent" msgstr "发送后,收件人将能够签署此文档" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "Recipients will be notified that the document was cancelled" +msgstr "收件人将收到通知,告知该文档已被取消" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "Recipients will still retain their copy of the document" msgstr "收件人仍然会保留他们自己的文档副本" @@ -9008,8 +9162,9 @@ msgstr "重新签章" msgid "Reseal document" msgstr "重新封存文档" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx #: apps/remix/app/components/general/webhook-logs-sheet.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx #: apps/remix/app/components/tables/organisation-member-invites-table.tsx #: packages/ui/primitives/document-flow/add-subject.tsx msgid "Resend" @@ -9299,10 +9454,8 @@ msgstr "按组织名称、URL 或 ID 搜索" msgid "Search documents..." msgstr "搜索文档..." -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx #: apps/remix/app/components/dialogs/folder-move-dialog.tsx -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx msgid "Search folders..." @@ -9360,10 +9513,6 @@ msgstr "请选择此文件夹的目标位置。" msgid "Select a field type" msgstr "选择字段类型" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "Select a folder to move this document to." -msgstr "选择一个文件夹以将此文档移动到其中。" - #: apps/remix/app/components/dialogs/organisation-create-dialog.tsx msgid "Select a plan" msgstr "选择套餐" @@ -9618,7 +9767,6 @@ msgstr "以团队名义发送" msgid "Send recipient expired email to the owner" msgstr "向所有者发送收件人过期邮件" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx #: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx msgid "Send reminder" msgstr "发送提醒" @@ -9965,11 +10113,19 @@ msgctxt "Recipient role progressive verb" msgid "Signing" msgstr "签署中" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing algorithm is not supported" +msgstr "不支持该签名算法" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing Certificate" msgstr "签署证书" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Signing certificate is invalid" +msgstr "签名证书无效" + #: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx #: packages/lib/server-only/pdf/render-certificate.ts msgid "Signing certificate provided by" @@ -9984,6 +10140,10 @@ msgstr "签署完成!" msgid "Signing Deadline Expired" msgstr "签署截止日期已过期" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Signing failed" +msgstr "签名失败" + #: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx msgid "Signing for" msgstr "代签对象" @@ -10063,6 +10223,7 @@ msgstr "跳过" msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "部分签署人尚未被分配签名字段。请在继续前为每位签署人至少分配 1 个签名字段。" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx #: apps/remix/app/components/dialogs/envelope-download-dialog.tsx #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx @@ -10110,6 +10271,10 @@ msgstr "部分签署人尚未被分配签名字段。请在继续前为每位签 msgid "Something went wrong" msgstr "出错了" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Something went wrong while applying your signature. Please retry." +msgstr "应用您的签名时出现问题。请重试。" + #. placeholder {0}: data.teamName #: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." @@ -10131,6 +10296,10 @@ msgstr "加载文档时出现问题。" msgid "Something went wrong while loading your passkeys." msgstr "加载通行密钥时出错。" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Something went wrong while preparing the remote signature. Please try again." +msgstr "在准备远程签名时出现问题。请重试。" + #: packages/lib/constants/pdf-viewer-i18n.ts msgid "Something went wrong while rendering the document, please try again or contact our support." msgstr "渲染文档时出现问题,请重试或联系我们的支持团队。" @@ -10698,14 +10867,14 @@ msgstr "模板 ID(旧版)" msgid "Template is using legacy field insertion" msgstr "模板正在使用旧版字段插入方式" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "Template moved" -msgstr "模板已移动" - #: apps/remix/app/components/dialogs/envelope-rename-dialog.tsx msgid "Template Renamed" msgstr "模板已重命名" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Template resent" +msgstr "模板已重新发送" + #: apps/remix/app/components/general/template/template-edit-form.tsx msgid "Template saved" msgstr "模板已保存" @@ -10891,10 +11060,6 @@ msgstr "由于信息缺失或无效,无法创建该文档。请检查模板的 msgid "The Document has been deleted successfully." msgstr "文档已成功删除。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The document has been moved successfully." -msgstr "文档已成功移动。" - #: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx msgid "The document has been successfully rejected." msgstr "文档已成功被拒绝。" @@ -10923,10 +11088,32 @@ msgctxt "Audit log format" msgid "The document ownership was delegated to {0} on behalf of {1}" msgstr "此文档的所有权已代表 {1} 委派给 {0}" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The document signing process will be stopped" +msgstr "文档签署流程将被终止" + #: apps/remix/app/utils/toast-error-messages.ts msgid "The document was created but could not be sent to recipients." msgstr "文档已创建,但无法发送给收件人。" +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of {user}" +msgstr "该文档已被 {onBehalfOf} 在外部拒绝,{onBehalfOf} 代表 {user} 执行了此操作" + +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally by {onBehalfOf} on behalf of the recipient" +msgstr "该文档已被 {onBehalfOf} 在外部拒绝,{onBehalfOf} 代表收件人执行了此操作" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of {user}" +msgstr "该文档已在外部被拒绝,代表 {user} 执行" + +#: packages/lib/utils/document-audit-logs.ts +msgid "The document was rejected externally on behalf of the recipient" +msgstr "该文档已在外部被拒绝,代表收件人执行" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "The document will be hidden from your account" msgstr "该文档将在你的账号中被隐藏" @@ -10935,6 +11122,10 @@ msgstr "该文档将在你的账号中被隐藏" msgid "The document will be immediately sent to recipients if this is checked." msgstr "如果勾选,将立即把文档发送给收件人。" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "The document will remain in your dashboard marked as Cancelled" +msgstr "该文档将保留在你的仪表盘中,并标记为“已取消”" + #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx msgid "The document you are looking for could not be found." msgstr "找不到您要查找的文档。" @@ -10948,6 +11139,10 @@ msgstr "您要查找的文档可能已被删除、重命名,或从未存在。 msgid "The document's name" msgstr "文档名称" +#: apps/remix/app/components/dialogs/envelopes-bulk-cancel-dialog.tsx +msgid "The documents will remain in your dashboard marked as Cancelled" +msgstr "这些文档将保留在你的仪表盘中,并标记为“已取消”" + #: apps/remix/app/components/forms/email-preferences-form.tsx msgid "The email address which will show up in the \"Reply To\" field in emails" msgstr "在邮件中显示于“回复至”字段的邮箱地址" @@ -10985,18 +11180,10 @@ msgstr "您尝试删除的文件夹不存在。" msgid "The folder you are trying to move does not exist." msgstr "您尝试移动的文件夹不存在。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the document to does not exist." -msgstr "您尝试移动文档到的文件夹不存在。" - #: apps/remix/app/components/dialogs/envelopes-bulk-move-dialog.tsx msgid "The folder you are trying to move the items to does not exist." msgstr "你要移动项目到的文件夹不存在。" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The folder you are trying to move the template to does not exist." -msgstr "您尝试移动模板到的文件夹不存在。" - #: packages/email/templates/bulk-send-complete.tsx msgid "The following errors occurred:" msgstr "发生以下错误:" @@ -11148,6 +11335,10 @@ msgstr "此文档的签署截止日期已过。若您需要新的签署副本, msgid "The signing link has been copied to your clipboard." msgstr "签署链接已复制到剪贴板。" +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "The signing provider did not respond in time. Please retry." +msgstr "签名服务提供商未在规定时间内响应。请重试。" + #: packages/email/templates/recipient-expired.tsx msgid "The signing window for \"{recipientName}\" on document \"{documentName}\" has expired." msgstr "收件人 “{recipientName}” 在文档 “{documentName}” 的签署时间窗口已过期。" @@ -11171,10 +11362,6 @@ msgstr "团队邮箱 <0>{teamEmail} 已从以下团队中移除" msgid "The team you are looking for may have been removed, renamed or may have never existed." msgstr "您要查找的团队可能已被删除、重命名,或从未存在。" -#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx -msgid "The template has been moved successfully." -msgstr "模板已成功移动。" - #: apps/remix/app/utils/toast-error-messages.ts msgid "The template or one of its recipients could not be found." msgstr "无法找到该模板或其某个收件人。" @@ -11264,6 +11451,10 @@ msgstr "然后按以下时间间隔重复" msgid "There are no active drafts at the current moment. You can upload a document to start drafting." msgstr "目前没有活动草稿。你可以上传文档开始创建草稿。" +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no cancelled documents. Documents you cancel will remain here as a record that they were distributed." +msgstr "目前没有已取消的文档。你取消的文档会保留在这里,作为其曾被分发的记录。" + #: apps/remix/app/components/tables/documents-table-empty-state.tsx msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." msgstr "目前还没有已完成的文档。你创建或接收到的文档在完成后会显示在这里。" @@ -11329,6 +11520,10 @@ msgstr "此文档无法恢复。若您希望对未来文档的删除原因提出 msgid "This document cannot be changed" msgstr "此文档无法更改" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "This document could not be cancelled at this time. Please try again." +msgstr "当前无法取消此文档。请重试。" + #: apps/remix/app/components/dialogs/envelope-delete-dialog.tsx msgid "This document could not be deleted at this time. Please try again." msgstr "当前无法删除此文档。请重试。" @@ -11350,6 +11545,10 @@ msgstr "当前无法将此文档保存为模板。请重试。" msgid "This document has already been sent to this recipient. You can no longer edit this recipient." msgstr "此文档已发送给该收件人,您不再能编辑该收件人。" +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been cancelled" +msgstr "此文档已被取消" + #: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx msgid "This document has been cancelled by the owner and is no longer available for others to sign." msgstr "该文档已被所有者取消,其他人已无法签署。" @@ -11473,6 +11672,10 @@ msgstr "无法删除此条目" msgid "This link is invalid or has expired. Please contact your team to resend a verification." msgstr "此链接无效或已过期。请联系你的团队重新发送验证邮件。" +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "This member is inherited from a group and cannot be removed from the team directly." +msgstr "此成员是从某个群组继承的,无法直接从团队中移除。" + #: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx msgid "This organisation is awaiting payment. Complete checkout to unlock it." msgstr "此组织正在等待付款。完成结账以解锁。" @@ -11876,6 +12079,7 @@ msgstr "触发条件" #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx #: apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx msgid "Try again" msgstr "重试" @@ -12028,6 +12232,10 @@ msgstr "无法设置双重验证" msgid "Unable to sign in" msgstr "无法登录" +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Unable to start the signing flow" +msgstr "无法启动签名流程" + #: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx #: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx @@ -12124,6 +12332,7 @@ msgstr "未命名组" #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "Update" msgstr "更新" @@ -12621,6 +12830,7 @@ msgstr "查看文档" #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx #: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx msgid "View Document" msgstr "查看文档" @@ -13140,15 +13350,15 @@ msgstr "我们仍在等待其他签署人签署此文档。<0/>文档准备就 msgid "We've changed your password as you asked. You can now sign in with your new password." msgstr "我们已按照您的请求更改了密码。您现在可以使用新密码登录。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed API activity on your account that exceeds the fair use limits of your current plan. As a precaution, new API activity has been temporarily paused pending review." msgstr "我们注意到您账号中的 API 活动已超出当前套餐的合理使用限制。为谨慎起见,在审核完成之前,新 API 活动已被暂时暂停。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed document activity on your account that exceeds the fair use limits of your current plan. As a precaution, new document activity has been temporarily paused pending review." msgstr "我们注意到您账号中的文档活动已超出当前套餐的合理使用限制。为谨慎起见,在审核完成之前,新文档活动已被暂时暂停。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "We've noticed email sending activity on your account that exceeds the fair use limits of your current plan. As a precaution, new email activity has been temporarily paused pending review." msgstr "我们注意到您账号中的邮件发送活动已超出当前套餐的合理使用限制。为谨慎起见,在审核完成之前,新邮件活动已被暂时暂停。" @@ -13275,10 +13485,6 @@ msgstr "在等待对方操作期间,你可以创建自己的 Documenso 账号 msgid "Whitelabeling, unlimited members and more" msgstr "白标、自定义域、无限成员等更多功能" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Who do you want to remind?" -msgstr "你想提醒谁?" - #: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx #: packages/ui/primitives/document-flow/field-item.tsx msgid "Width:" @@ -13323,6 +13529,10 @@ msgstr "你添加了一个收件人" msgid "You approved the document" msgstr "你已批准此文档" +#: apps/remix/app/components/dialogs/envelope-cancel-dialog.tsx +msgid "You are about to cancel <0>\"{title}\"" +msgstr "你即将取消 <0>\"{title}\"" + #: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx msgid "You are about to complete approving the following document" msgstr "您即将完成以下文档的批准" @@ -13477,10 +13687,6 @@ msgstr "您当前正在更新 <0>{teamGroupName} 团队组。" msgid "You are not allowed to move these items." msgstr "你无权移动这些项目。" -#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx -msgid "You are not allowed to move this document." -msgstr "您无权移动此文档。" - #: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx #: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx msgid "You are not authorized to access this page." @@ -13502,6 +13708,14 @@ msgstr "您无权启用此用户。" msgid "You are not authorized to reset two factor authentcation for this user." msgstr "您无权为此用户重置双重身份验证。" +#: packages/lib/utils/document-audit-logs.ts +msgid "You authenticated with the signing provider" +msgstr "您已通过签名服务提供商完成身份验证" + +#: packages/lib/utils/document-audit-logs.ts +msgid "You authorised the remote signature" +msgstr "您已授权远程签名" + #: apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx msgid "You can add fields manually in the editor." msgstr "您可以在编辑器中手动添加字段。" @@ -13563,6 +13777,10 @@ msgstr "您可以在控制台的“由模板创建的文档”部分查看创建 msgid "You can view the document and its status by clicking the button below." msgstr "您可以点击下方按钮查看文档及其状态。" +#: packages/lib/utils/document-audit-logs.ts +msgid "You cancelled the document" +msgstr "你已取消该文档" + #: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx #: packages/ui/primitives/document-flow/add-signers.tsx #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx @@ -13590,8 +13808,16 @@ msgid "You cannot modify a team member who has a higher role than you." msgstr "你不能修改角色高于你的团队成员。" #: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx -msgid "You cannot remove members from this team if the inherit member feature is enabled." -msgstr "如果启用继承成员功能,您不能从该团队移除成员。" +msgid "You cannot remove a member with a role higher than your own." +msgstr "你无法移除角色高于你自己的成员。" + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team while the inherit member feature is enabled." +msgstr "在启用继承成员功能时,你无法从该团队中移除成员。" + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove the organisation owner from the team." +msgstr "你无法将组织所有者从团队中移除。" #: packages/ui/primitives/document-dropzone.tsx #: packages/ui/primitives/document-upload-button.tsx @@ -13973,6 +14199,10 @@ msgstr "您已替换信封项目 {0} 的 PDF" msgid "You requested a 2FA token for the document" msgstr "你请求了此文档的双重验证 (2FA) 令牌" +#: packages/lib/utils/document-audit-logs.ts +msgid "You requested a remote signature" +msgstr "您已请求远程签名" + #. placeholder {0}: data.recipientEmail #: packages/lib/utils/document-audit-logs.ts msgid "You resent an email to {0}" @@ -14182,9 +14412,9 @@ msgstr "您的文档已成功创建" msgid "Your document has been deleted by an admin!" msgstr "您的文档已被管理员删除!" -#: apps/remix/app/components/dialogs/document-resend-dialog.tsx -msgid "Your document has been re-sent successfully." -msgstr "你的文档已成功重新发送。" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your document has been resent successfully." +msgstr "您的文档已成功重新发送。" #: apps/remix/app/components/dialogs/envelope-save-as-template-dialog.tsx msgid "Your document has been saved as a template." @@ -14303,18 +14533,38 @@ msgstr "您的组织已超出合理使用限制。请联系<0>支持以查 msgid "Your organisation has reached its plan's fair use limit. Please contact your organisation administrator or support to continue." msgstr "您的组织已达到当前方案的合理使用限制。要继续使用,请联系您组织的管理员或支持团队。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit" +msgstr "您的组织正接近公平使用额度上限。" + +#: apps/remix/app/components/general/organisations/organisation-quota-banner.tsx +msgid "Your organisation is approaching a fair use limit. If you expect to need higher limits, please contact <0>support to review your plan's limits." +msgstr "您的组织正接近公平使用额度上限。如果您预计需要更高的额度,请联系<0>支持以评估您当前方案的额度。" + +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating API requests faster than normal, so some requests are being temporarily throttled." msgstr "您的组织正在以高于正常的速度发出 API 请求,因此部分请求正被暂时限流。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating documents faster than normal, so some requests are being temporarily throttled." msgstr "您的组织正在以高于正常的速度生成文档,因此部分请求正被暂时限流。" -#: packages/email/templates/organisation-limit-exceeded.tsx +#: packages/email/templates/organisation-limit-alert.tsx msgid "Your organisation is generating emails faster than normal, so some requests are being temporarily throttled." msgstr "您的组织正在以高于正常的速度发送邮件,因此部分请求正被暂时限流。" +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for creating documents on your current plan. Once the limit is reached, new document activity will be temporarily paused." +msgstr "您的组织在当前方案下创建文档的使用量正接近公平使用额度上限。一旦达到上限,新的文档相关活动将被暂时暂停。" + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for making API requests on your current plan. Once the limit is reached, new API activity will be temporarily paused." +msgstr "您的组织在当前方案下发起 API 请求的使用量正接近公平使用额度上限。一旦达到上限,新的 API 活动将被暂时暂停。" + +#: packages/email/templates/organisation-limit-alert.tsx +msgid "Your organisation is nearing its fair use limits for sending email on your current plan. Once the limit is reached, new email activity will be temporarily paused." +msgstr "您的组织在当前方案下发送电子邮件的使用量正接近公平使用额度上限。一旦达到上限,新的电子邮件活动将被暂时暂停。" + #: apps/remix/app/components/forms/password.tsx #: apps/remix/app/components/forms/reset-password.tsx msgid "Your password has been updated successfully." @@ -14361,6 +14611,30 @@ msgstr "你的恢复代码已复制到剪贴板。" msgid "Your recovery codes are listed below. Please store them in a safe place." msgstr "你的恢复代码列在下方。请妥善保存。" +#: packages/lib/utils/document-audit-logs.ts +msgid "Your remote signature was applied" +msgstr "您的远程签名已应用" + +#: apps/remix/app/components/general/document-signing/csc-recipient-signing-in-progress-page.tsx +msgid "Your signing authorisation expired before the signature could be applied. Please reauthorise to retry." +msgstr "在应用签名前,您的签名授权已过期。请重新授权后重试。" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing certificate is invalid, expired, or missing a required key. Contact your administrator or signing provider for assistance." +msgstr "您的签名证书无效、已过期或缺少必需的密钥。请联系您的管理员或签名服务提供商以获取帮助。" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Your signing provider authentication failed" +msgstr "您的签名服务提供商身份验证失败" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider does not advertise a signing algorithm this document accepts. Contact your administrator or signing provider for assistance." +msgstr "您的签名服务提供商未提供此文档可接受的签名算法信息。请联系您的管理员或签名服务提供商以获取帮助。" + +#: apps/remix/app/components/general/document-signing/csc-recipient-blocked-page.tsx +msgid "Your signing provider returned no usable credentials for this account. Contact your administrator or signing provider for assistance." +msgstr "您的签名服务提供商未为此账户返回任何可用凭据。请联系您的管理员或签名服务提供商以获取帮助。" + #: apps/remix/app/components/embed/embed-recipient-expired.tsx msgid "Your signing window for this document has expired. Please contact the sender for a new invitation." msgstr "您在此文档上的签署时间窗口已过期。请联系发送方以获取新的邀请。" @@ -14386,6 +14660,10 @@ msgstr "你的团队已成功更新。" msgid "Your template has been created successfully" msgstr "您的模板已成功创建" +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your template has been resent successfully." +msgstr "您的模板已成功重新发送。" + #: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx msgid "Your template has been successfully duplicated." msgstr "您的模板已成功复制。" diff --git a/packages/lib/types/document-audit-logs.ts b/packages/lib/types/document-audit-logs.ts index b1ca3f040..b81ff0530 100644 --- a/packages/lib/types/document-audit-logs.ts +++ b/packages/lib/types/document-audit-logs.ts @@ -560,12 +560,24 @@ export const ZDocumentAuditLogEventDocumentRecipientCompleteSchema = z.object({ }); /** - * Event: Document recipient completed the document (the recipient has fully actioned and completed their required steps for the document). + * Event: Document recipient rejected the document. */ export const ZDocumentAuditLogEventDocumentRecipientRejectedSchema = z.object({ type: z.literal(DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED), data: ZBaseRecipientDataSchema.extend({ reason: z.string(), + /** + * Whether the rejection was recorded externally on behalf of the recipient + * via the API, rather than by the recipient directly on the platform. + */ + isExternal: z.boolean().optional(), + /** + * The team member the external rejection was recorded on behalf of, when + * the API caller elected a specific member to attribute the action to. + * Absent when the rejection is attributed to the API user/token itself. + */ + onBehalfOfUserEmail: z.string().optional(), + onBehalfOfUserName: z.string().nullable().optional(), }), }); diff --git a/packages/lib/utils/document-audit-logs.ts b/packages/lib/utils/document-audit-logs.ts index 66659f081..400b8dc53 100644 --- a/packages/lib/utils/document-audit-logs.ts +++ b/packages/lib/utils/document-audit-logs.ts @@ -509,11 +509,31 @@ export const formatDocumentAuditLogAction = (i18n: I18n, auditLog: TDocumentAudi user: msg`${user} completed their task`, })); }) - .with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED }, () => ({ - anonymous: msg`Recipient rejected the document`, - you: msg`You rejected the document`, - user: msg`${user} rejected the document`, - })) + .with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED }, ({ data }) => { + if (data.isExternal) { + const onBehalfOf = data.onBehalfOfUserName || data.onBehalfOfUserEmail; + + if (onBehalfOf) { + return { + anonymous: msg`The document was rejected externally by ${onBehalfOf} on behalf of the recipient`, + you: msg`The document was rejected externally by ${onBehalfOf} on behalf of the recipient`, + user: msg`The document was rejected externally by ${onBehalfOf} on behalf of ${user}`, + }; + } + + return { + anonymous: msg`Recipient rejected the document externally`, + you: msg`The document was rejected externally on behalf of the recipient`, + user: msg`The document was rejected externally on behalf of ${user}`, + }; + } + + return { + anonymous: msg`Recipient rejected the document`, + you: msg`You rejected the document`, + user: msg`${user} rejected the document`, + }; + }) .with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_ACCESS_AUTH_2FA_REQUESTED }, () => ({ anonymous: msg`Recipient requested a 2FA token for the document`, you: msg`You requested a 2FA token for the document`, diff --git a/packages/lib/utils/fields-overlap.ts b/packages/lib/utils/fields-overlap.ts new file mode 100644 index 000000000..9b753594b --- /dev/null +++ b/packages/lib/utils/fields-overlap.ts @@ -0,0 +1,123 @@ +/** + * Utilities for detecting overlapping fields in the envelope editor. + * + * Fields can be unintentionally placed on top of each other during the authoring + * process. This does not render well in the editor and behaves unpredictably during + * signing (fields can sit on top of one another depending on their state), so we warn + * the user when a significant overlap is detected. + * + * All positional values are expected as percentages (0-100) of the page dimensions, + * matching how fields are stored in the editor and database. + */ + +/** + * The minimum proportion (0-1) of the smaller field's area that must be covered by + * another field for the pair to be considered an "overlap" worth warning about. + * + * A small amount of overlap (e.g. touching edges) is common and harmless, so we only + * flag pairs where one field covers at least this fraction of the other. + */ +export const FIELD_OVERLAP_THRESHOLD = 0.4; + +type OverlapFieldInput = { + /** + * A stable identifier used to reference the field in the returned pairs. + * Use the client-side `formId` in the editor, or the database `id` elsewhere. + */ + id: string | number; + envelopeItemId: string; + page: number; + positionX: number; + positionY: number; + width: number; + height: number; +}; + +export type TFieldOverlapPair = { + fieldA: T; + fieldB: T; + /** + * The proportion (0-1) of the smaller field's area covered by the intersection. + */ + overlapRatio: number; +}; + +/** + * Returns the area of the intersection between two fields, in squared percentage units. + * + * Returns 0 when the fields do not intersect. + */ +const getIntersectionArea = (fieldA: OverlapFieldInput, fieldB: OverlapFieldInput): number => { + const overlapX = Math.max( + 0, + Math.min(fieldA.positionX + fieldA.width, fieldB.positionX + fieldB.width) - + Math.max(fieldA.positionX, fieldB.positionX), + ); + + const overlapY = Math.max( + 0, + Math.min(fieldA.positionY + fieldA.height, fieldB.positionY + fieldB.height) - + Math.max(fieldA.positionY, fieldB.positionY), + ); + + return overlapX * overlapY; +}; + +/** + * Detects pairs of fields that overlap by at least the given threshold. + * + * Two fields are only compared when they share the same envelope item and page. + * The overlap ratio is measured against the smaller of the two fields, so a small + * field that is mostly covered by a large field is still flagged. + * + * @param fields The fields to check. Positional values must be percentages (0-100). + * @param threshold The minimum overlap ratio (0-1) to flag. Defaults to {@link FIELD_OVERLAP_THRESHOLD}. + */ +export const getOverlappingFieldPairs = ( + fields: T[], + threshold: number = FIELD_OVERLAP_THRESHOLD, +): TFieldOverlapPair[] => { + const pairs: TFieldOverlapPair[] = []; + + for (let i = 0; i < fields.length; i++) { + for (let j = i + 1; j < fields.length; j++) { + const fieldA = fields[i]; + const fieldB = fields[j]; + + if (fieldA.envelopeItemId !== fieldB.envelopeItemId || fieldA.page !== fieldB.page) { + continue; + } + + const fieldAArea = fieldA.width * fieldA.height; + const fieldBArea = fieldB.width * fieldB.height; + + if (fieldAArea <= 0 || fieldBArea <= 0) { + continue; + } + + const intersectionArea = getIntersectionArea(fieldA, fieldB); + + if (intersectionArea <= 0) { + continue; + } + + const overlapRatio = intersectionArea / Math.min(fieldAArea, fieldBArea); + + if (overlapRatio >= threshold) { + pairs.push({ fieldA, fieldB, overlapRatio }); + } + } + } + + return pairs; +}; + +/** + * Returns true if any pair of fields overlaps by at least the given threshold. + */ +export const hasOverlappingFields = ( + fields: T[], + threshold: number = FIELD_OVERLAP_THRESHOLD, +): boolean => { + return getOverlappingFieldPairs(fields, threshold).length > 0; +}; diff --git a/packages/prisma/migrations/20260622120000_add_recipient_reminder_count/migration.sql b/packages/prisma/migrations/20260622120000_add_recipient_reminder_count/migration.sql new file mode 100644 index 000000000..ad61885f3 --- /dev/null +++ b/packages/prisma/migrations/20260622120000_add_recipient_reminder_count/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Recipient" ADD COLUMN "reminderCount" INTEGER NOT NULL DEFAULT 0; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 3cafdb55f..06be2eed9 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -642,6 +642,7 @@ model Recipient { signedAt DateTime? lastReminderSentAt DateTime? nextReminderAt DateTime? + reminderCount Int @default(0) authOptions Json? /// [RecipientAuthOptions] @zod.custom.use(ZRecipientAuthOptionsSchema) signingOrder Int? /// @zod.number.describe("The order in which the recipient should sign the document. Only works if the document is set to sequential signing.") rejectionReason String? diff --git a/packages/trpc/server/envelope-router/envelope-recipients/reject-envelope-recipient-on-behalf-of.ts b/packages/trpc/server/envelope-router/envelope-recipients/reject-envelope-recipient-on-behalf-of.ts new file mode 100644 index 000000000..f56971bdb --- /dev/null +++ b/packages/trpc/server/envelope-router/envelope-recipients/reject-envelope-recipient-on-behalf-of.ts @@ -0,0 +1,65 @@ +import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; +import { rejectDocumentOnBehalfOf } from '@documenso/lib/server-only/document/reject-document-on-behalf-of'; +import { getEnvelopeWhereInput } from '@documenso/lib/server-only/envelope/get-envelope-by-id'; +import { prisma } from '@documenso/prisma'; +import { EnvelopeType } from '@prisma/client'; + +import { authenticatedProcedure } from '../../trpc'; +import { + rejectEnvelopeRecipientOnBehalfOfMeta, + ZRejectEnvelopeRecipientOnBehalfOfRequestSchema, + ZRejectEnvelopeRecipientOnBehalfOfResponseSchema, +} from './reject-envelope-recipient-on-behalf-of.types'; + +export const rejectEnvelopeRecipientOnBehalfOfRoute = authenticatedProcedure + .meta(rejectEnvelopeRecipientOnBehalfOfMeta) + .input(ZRejectEnvelopeRecipientOnBehalfOfRequestSchema) + .output(ZRejectEnvelopeRecipientOnBehalfOfResponseSchema) + .mutation(async ({ input, ctx }) => { + const { teamId, user } = ctx; + const { envelopeId, recipientId, reason, actAsEmail } = input; + + ctx.logger.info({ + input: { + envelopeId, + recipientId, + }, + }); + + // This is an external-only action: it must only be reachable through the + // public API, never the internal app TRPC handler. + if (ctx.metadata.source !== 'apiV2') { + throw new AppError(AppErrorCode.UNAUTHORIZED, { + message: 'This route is only accessible via the public API', + }); + } + + await rejectDocumentOnBehalfOf({ + envelopeId, + recipientId, + userId: user.id, + teamId, + reason, + actAsEmail, + requestMetadata: ctx.metadata, + }); + + const { envelopeWhereInput } = await getEnvelopeWhereInput({ + id: { type: 'envelopeId', id: envelopeId }, + type: EnvelopeType.DOCUMENT, + userId: user.id, + teamId, + }); + + const recipient = await prisma.recipient.findFirstOrThrow({ + where: { + id: recipientId, + envelope: envelopeWhereInput, + }, + include: { + fields: true, + }, + }); + + return recipient; + }); diff --git a/packages/trpc/server/envelope-router/envelope-recipients/reject-envelope-recipient-on-behalf-of.types.ts b/packages/trpc/server/envelope-router/envelope-recipients/reject-envelope-recipient-on-behalf-of.types.ts new file mode 100644 index 000000000..7f96aaefe --- /dev/null +++ b/packages/trpc/server/envelope-router/envelope-recipients/reject-envelope-recipient-on-behalf-of.types.ts @@ -0,0 +1,35 @@ +import { ZEnvelopeRecipientSchema } from '@documenso/lib/types/recipient'; +import { zEmail } from '@documenso/lib/utils/zod'; +import { z } from 'zod'; + +import type { TrpcRouteMeta } from '../../trpc'; + +export const rejectEnvelopeRecipientOnBehalfOfMeta: TrpcRouteMeta = { + openapi: { + method: 'POST', + path: '/envelope/recipient/{recipientId}/reject', + summary: 'Reject envelope recipient on behalf of', + description: + 'Records a rejection on behalf of a recipient. Use this when a recipient has declined to ' + + 'sign outside of the platform. The rejection is flagged as external in the document audit ' + + 'log. By default the action is attributed to the API user; supply `actAsEmail` to attribute ' + + 'it to a specific team member.', + tags: ['Envelope Recipients'], + }, +}; + +export const ZRejectEnvelopeRecipientOnBehalfOfRequestSchema = z.object({ + envelopeId: z.string().describe('The ID of the envelope the recipient belongs to.'), + recipientId: z.number().describe('The ID of the recipient to reject the document on behalf of.'), + reason: z.string().min(1).describe('The reason the recipient rejected the document.'), + actAsEmail: zEmail() + .optional() + .describe('The email of the team member to attribute the rejection to. Defaults to the API user when omitted.'), +}); + +export const ZRejectEnvelopeRecipientOnBehalfOfResponseSchema = ZEnvelopeRecipientSchema; + +export type TRejectEnvelopeRecipientOnBehalfOfRequest = z.infer; +export type TRejectEnvelopeRecipientOnBehalfOfResponse = z.infer< + typeof ZRejectEnvelopeRecipientOnBehalfOfResponseSchema +>; diff --git a/packages/trpc/server/envelope-router/router.ts b/packages/trpc/server/envelope-router/router.ts index 8aa725014..1dd54e436 100644 --- a/packages/trpc/server/envelope-router/router.ts +++ b/packages/trpc/server/envelope-router/router.ts @@ -22,6 +22,7 @@ import { updateEnvelopeFieldsRoute } from './envelope-fields/update-envelope-fie import { createEnvelopeRecipientsRoute } from './envelope-recipients/create-envelope-recipients'; import { deleteEnvelopeRecipientRoute } from './envelope-recipients/delete-envelope-recipient'; import { getEnvelopeRecipientRoute } from './envelope-recipients/get-envelope-recipient'; +import { rejectEnvelopeRecipientOnBehalfOfRoute } from './envelope-recipients/reject-envelope-recipient-on-behalf-of'; import { reportRecipientRoute } from './envelope-recipients/report-recipient'; import { updateEnvelopeRecipientsRoute } from './envelope-recipients/update-envelope-recipients'; import { findEnvelopeAuditLogsRoute } from './find-envelope-audit-logs'; @@ -70,6 +71,7 @@ export const envelopeRouter = router({ delete: deleteEnvelopeRecipientRoute, set: setEnvelopeRecipientsRoute, report: reportRecipientRoute, + rejectOnBehalfOf: rejectEnvelopeRecipientOnBehalfOfRoute, }, field: { get: getEnvelopeFieldRoute,