mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 00:03:33 +10:00
Compare commits
31 Commits
v1.8.0-rc.
...
chore/open
| Author | SHA1 | Date | |
|---|---|---|---|
| 0cfe256412 | |||
| 11e483f1c4 | |||
| 2e2bc8382f | |||
| 1f3a9b578b | |||
| 83e7a3c222 | |||
| 9ef8b1f0c3 | |||
| 0eff336175 | |||
| 9bdd5c31cc | |||
| 57ad7c150b | |||
| b0829e6cdf | |||
| 08a446fefd | |||
| f15f9ecdd1 | |||
| 979e3f3e71 | |||
| 682e112711 | |||
| 876803b5db | |||
| 1c87cb1e0d | |||
| 5398026b80 | |||
| 3fc4d24cef | |||
| 65e09fa4bf | |||
| 21ecfde543 | |||
| f2439abbc9 | |||
| 5a6e031c90 | |||
| bcc3b70335 | |||
| 5a26610a01 | |||
| 5d7a979baf | |||
| 552825b79e | |||
| 786566bae4 | |||
| cb23357b42 | |||
| 0078162159 | |||
| 19e23d8ef3 | |||
| e3b7ec82a3 |
54
.github/workflows/publish.yml
vendored
54
.github/workflows/publish.yml
vendored
@ -89,22 +89,35 @@ jobs:
|
||||
APP_VERSION="$(git name-rev --tags --name-only $(git rev-parse HEAD) | head -n 1 | sed 's/\^0//')"
|
||||
GIT_SHA="$(git rev-parse HEAD)"
|
||||
|
||||
docker manifest create \
|
||||
documenso/documenso:latest \
|
||||
--amend documenso/documenso-amd64:latest \
|
||||
--amend documenso/documenso-arm64:latest \
|
||||
# Check if the version is stable (no rc or beta in the version)
|
||||
if [[ "$APP_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||
docker manifest create \
|
||||
documenso/documenso:latest \
|
||||
--amend documenso/documenso-amd64:latest \
|
||||
--amend documenso/documenso-arm64:latest
|
||||
|
||||
docker manifest push documenso/documenso:latest
|
||||
fi
|
||||
|
||||
if [[ "$APP_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$ ]]; then
|
||||
docker manifest create \
|
||||
documenso/documenso:rc \
|
||||
--amend documenso/documenso-amd64:rc \
|
||||
--amend documenso/documenso-arm64:rc
|
||||
|
||||
docker manifest push documenso/documenso:rc
|
||||
fi
|
||||
|
||||
docker manifest create \
|
||||
documenso/documenso:$GIT_SHA \
|
||||
--amend documenso/documenso-amd64:$GIT_SHA \
|
||||
--amend documenso/documenso-arm64:$GIT_SHA \
|
||||
--amend documenso/documenso-arm64:$GIT_SHA
|
||||
|
||||
docker manifest create \
|
||||
documenso/documenso:$APP_VERSION \
|
||||
--amend documenso/documenso-amd64:$APP_VERSION \
|
||||
--amend documenso/documenso-arm64:$APP_VERSION \
|
||||
--amend documenso/documenso-arm64:$APP_VERSION
|
||||
|
||||
docker manifest push documenso/documenso:latest
|
||||
docker manifest push documenso/documenso:$GIT_SHA
|
||||
docker manifest push documenso/documenso:$APP_VERSION
|
||||
|
||||
@ -113,21 +126,34 @@ jobs:
|
||||
APP_VERSION="$(git name-rev --tags --name-only $(git rev-parse HEAD) | head -n 1 | sed 's/\^0//')"
|
||||
GIT_SHA="$(git rev-parse HEAD)"
|
||||
|
||||
docker manifest create \
|
||||
ghcr.io/documenso/documenso:latest \
|
||||
--amend ghcr.io/documenso/documenso-amd64:latest \
|
||||
--amend ghcr.io/documenso/documenso-arm64:latest \
|
||||
# Check if the version is stable (no rc or beta in the version)
|
||||
if [[ "$APP_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||
docker manifest create \
|
||||
ghcr.io/documenso/documenso:latest \
|
||||
--amend ghcr.io/documenso/documenso-amd64:latest \
|
||||
--amend ghcr.io/documenso/documenso-arm64:latest
|
||||
|
||||
docker manifest push ghcr.io/documenso/documenso:latest
|
||||
fi
|
||||
|
||||
if [[ "$APP_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$ ]]; then
|
||||
docker manifest create \
|
||||
ghcr.io/documenso/documenso:rc \
|
||||
--amend ghcr.io/documenso/documenso-amd64:rc \
|
||||
--amend ghcr.io/documenso/documenso-arm64:rc
|
||||
|
||||
docker manifest push ghcr.io/documenso/documenso:rc
|
||||
fi
|
||||
|
||||
docker manifest create \
|
||||
ghcr.io/documenso/documenso:$GIT_SHA \
|
||||
--amend ghcr.io/documenso/documenso-amd64:$GIT_SHA \
|
||||
--amend ghcr.io/documenso/documenso-arm64:$GIT_SHA \
|
||||
--amend ghcr.io/documenso/documenso-arm64:$GIT_SHA
|
||||
|
||||
docker manifest create \
|
||||
ghcr.io/documenso/documenso:$APP_VERSION \
|
||||
--amend ghcr.io/documenso/documenso-amd64:$APP_VERSION \
|
||||
--amend ghcr.io/documenso/documenso-arm64:$APP_VERSION \
|
||||
--amend ghcr.io/documenso/documenso-arm64:$APP_VERSION
|
||||
|
||||
docker manifest push ghcr.io/documenso/documenso:latest
|
||||
docker manifest push ghcr.io/documenso/documenso:$GIT_SHA
|
||||
docker manifest push ghcr.io/documenso/documenso:$APP_VERSION
|
||||
|
||||
@ -11,6 +11,10 @@ Digitally signing documents requires a signing certificate in `.p12` format. You
|
||||
|
||||
Follow the steps below to create a free, self-signed certificate for local development.
|
||||
|
||||
<Callout type="warning">
|
||||
These steps should be run on a UNIX based system, otherwise you may run into an error.
|
||||
</Callout>
|
||||
|
||||
<Steps>
|
||||
|
||||
### Generate Private Key
|
||||
|
||||
64
apps/marketing/content/blog/project-babel.mdx
Normal file
64
apps/marketing/content/blog/project-babel.mdx
Normal file
@ -0,0 +1,64 @@
|
||||
---
|
||||
title: Project Babel
|
||||
description: We are announcing Project Babel - an initiative to support all languages of the world on Documenso.
|
||||
authorName: 'Timur Ercan'
|
||||
authorImage: '/blog/blog-author-timur.jpeg'
|
||||
authorRole: 'Co-Founder'
|
||||
date: 2024-11-08
|
||||
tags:
|
||||
- Languages
|
||||
- Community
|
||||
- Open Source
|
||||
---
|
||||
|
||||
<figure>
|
||||
<MdxNextImage
|
||||
src="/blog/babel.png"
|
||||
width="800"
|
||||
height="800"
|
||||
alt=""
|
||||
/>
|
||||
|
||||
<figcaption className="text-center">The tower of Babel to add some Gravitas to this project.</figcaption>
|
||||
</figure>
|
||||
|
||||
> TLDR; We are opening up translations to the community. Read this to add a language: https://documen.so/babel-fish
|
||||
|
||||
## Announcing Project Babel: Powering Documenso with Global Language Support
|
||||
|
||||
At Documenso, we believe that open source is more than just a software philosophy—it’s a way to build solutions that are open to all. Now, we’re happy to take that mission further with Project Babel, a community-driven initiative designed to bring worldwide language support to the Documenso platform. This project aims to enable Documenso to support as many languages as possible.
|
||||
|
||||
## Why Language Support Matters
|
||||
|
||||
We already have customers from 36 different countries and are seeing traffic from even more. When it comes to critical tools like signature platforms, having a user interface in your native language can make all the difference. No matter who and where you are, your team deserves tools that are fully accessible and intuitive. That’s why we’re making it our goal to support every language, and we need your help to make it happen! We’re building Documenso as a truly global public commodity.
|
||||
|
||||
## The Vision Behind Project Babel
|
||||
|
||||
The goal of Project Babel is simple but bold: We want to out-ship and out-customize every other document signing tool worldwide. How? By leveraging the collective power of our global community.
|
||||
|
||||
Unlike closed-source software, where localization means waiting for updates from the core team, Project Babel lets anyone contribute a new language, improve an existing translation, or customize the experience to meet local cultural nuances. This flexibility isn’t just a bonus—it’s the baseline for truly global products.
|
||||
|
||||
Through Project Babel, you can help make Documenso the most inclusive e-signature tool. Whether by adding a language you speak or fine-tuning existing translations, you’re shaping a platform that works for everyone, everywhere.
|
||||
|
||||
## How You Can Contribute
|
||||
|
||||
We’ve created a simple GitHub-based contribution flow to get started. We’ll improve the flow and user experience as the project progresses. As always, your contributions are highly valued.
|
||||
|
||||
Check out the contribution guide here: [https://documen.so/babel-fish](https://documen.so/babel-fish)
|
||||
|
||||
## Open Source Makes It Possible
|
||||
|
||||
Closed-source solutions can’t keep up with the speed or depth of customization that open source offers. While other companies might take months or years to localize their products, Documenso can adapt and grow in real-time, thanks to contributions from our community. Whether it’s a small regional dialect or a widely spoken language, Project Babel ensures that Documenso evolves to meet the needs of people everywhere.
|
||||
|
||||
> More importantly, this initiative empowers users. It allows you to control your software experience, ensuring it reflects your culture, language, and unique needs.
|
||||
|
||||
Project Babel is more than a localization effort—it’s the first step toward democratizing access to highly customized software for everyone, no matter where they are or what language they speak. We’re incredibly excited about this initiative, but it can only succeed with your participation. We invite you to join us in making Documenso the most linguistically inclusive platform out there.
|
||||
|
||||
Ready to get started? Check out the full tutorial and become part of the Babel community today! Let’s build open signing for the world: https://documen.so/babel-fish
|
||||
|
||||
If you have any questions or comments, reach out on [Twitter / X](https://twitter.com/eltimuro) (DMs open) or [Discord](https://documen.so/discord).
|
||||
|
||||
Thinking about switching to a modern signing platform? Reach out anytime: [https://documen.so/sales](https://documen.so/sales)
|
||||
|
||||
Best from Hamburg\
|
||||
Timur
|
||||
@ -8,6 +8,59 @@ Check out what's new in the latest version and read our thoughts on it. For more
|
||||
|
||||
---
|
||||
|
||||
# Documenso v1.8.0: Team Preferences, Signature Rejection, and Document Distribution
|
||||
|
||||
We're excited to announce the release of Documenso v1.8.0! This update brings powerful new features to enhance your document signing process. Here's what's new:
|
||||
|
||||
## 🌟 Key New Features
|
||||
|
||||
### 1. Team Preferences
|
||||
|
||||
Introducing **Team Preferences**, allowing administrators to configure settings and preferences that apply to documents across the entire team. This feature ensures consistency and simplifies management by letting you set default options, permissions, and preferences that automatically apply to all team members.
|
||||
|
||||

|
||||
|
||||
### 2. Signature Rejection
|
||||
|
||||
Recipients now have the option to **reject signatures**. This feature enhances communication by allowing recipients to decline signing, providing feedback or requesting changes before the document is finalized.
|
||||
|
||||
<video
|
||||
src="/changelog/v1_8_0/reject-document.mp4"
|
||||
className="aspect-video w-full"
|
||||
autoPlay
|
||||
loop
|
||||
controls
|
||||
/>
|
||||
|
||||
### 3. Document Distribution Settings
|
||||
|
||||
With the new **Document Distribution Settings**, you have greater control over how your documents are shared. Distribute communications via our automated emails and templates or take full control using our API and your own notifications infrastructure.
|
||||
|
||||
## 🔧 Other Improvements
|
||||
|
||||
- **Support for Gmail SMTP Service**: Adds support for using Gmail as your SMTP service provider.
|
||||
- **Certificate and Email Translations**: Added support for multiple languages in document certificates and emails, enhancing the experience for international users.
|
||||
- **Field Movement Fixes**: Resolved issues related to moving fields within documents, improving the document preparation experience.
|
||||
- **Docker Environment Update**: Improved Docker setup for smoother deployments and better environment consistency.
|
||||
- **Billing Access Improvements**: Users now have uninterrupted access to billing information, simplifying account management.
|
||||
- **Support Time Windows for 2FA Tokens**: Enhanced two-factor authentication by supporting time windows in 2FA tokens, improving flexibility.
|
||||
|
||||
## 💡 Recent Features
|
||||
|
||||
Don't forget to take advantage of these powerful features from our recent releases:
|
||||
|
||||
- **Signing Order**: Define the sequence in which recipients sign your documents for a structured signing process.
|
||||
- **Document Visibility Controls**: Manage who can view your documents and at what stages, offering greater privacy and control.
|
||||
- **Embedded Signing Experience**: Integrate the signing process directly into your own applications for a seamless user experience.
|
||||
|
||||
**👏 Thank You**
|
||||
|
||||
As always, we're grateful for the community's contributions and feedback. Your support helps us improve Documenso and deliver a top-notch open-source document signing solution.
|
||||
|
||||
We hope you enjoy the new features in Documenso v1.8.0. Happy signing!
|
||||
|
||||
---
|
||||
|
||||
# Documenso v1.7.1: Signing order and document visibility
|
||||
|
||||
We're excited to introduce Documenso v1.7.1, bringing you improved control over your document signing process. Here are the key updates:
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@documenso/marketing",
|
||||
"version": "1.7.2-rc.4",
|
||||
"version": "1.8.1-rc.0",
|
||||
"private": true,
|
||||
"license": "AGPL-3.0",
|
||||
"scripts": {
|
||||
|
||||
BIN
apps/marketing/public/blog/babel.png
Normal file
BIN
apps/marketing/public/blog/babel.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 467 KiB |
BIN
apps/marketing/public/changelog/v1_8_0/reject-document.mp4
Normal file
BIN
apps/marketing/public/changelog/v1_8_0/reject-document.mp4
Normal file
Binary file not shown.
BIN
apps/marketing/public/changelog/v1_8_0/team-global-settings.jpeg
Normal file
BIN
apps/marketing/public/changelog/v1_8_0/team-global-settings.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 169 KiB |
@ -6,6 +6,7 @@ import { z } from 'zod';
|
||||
|
||||
import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server';
|
||||
import { getCompletedDocumentsMonthly } from '@documenso/lib/server-only/user/get-monthly-completed-document';
|
||||
import { getSignerConversionMonthly } from '@documenso/lib/server-only/user/get-signer-conversion';
|
||||
import { getUserMonthlyGrowth } from '@documenso/lib/server-only/user/get-user-monthly-growth';
|
||||
|
||||
import { FUNDING_RAISED } from '~/app/(marketing)/open/data';
|
||||
@ -19,6 +20,7 @@ import { MonthlyCompletedDocumentsChart } from './monthly-completed-documents-ch
|
||||
import { MonthlyNewUsersChart } from './monthly-new-users-chart';
|
||||
import { MonthlyTotalUsersChart } from './monthly-total-users-chart';
|
||||
import { SalaryBands } from './salary-bands';
|
||||
import { SignerConversionChart } from './signer-conversion-chart';
|
||||
import { TeamMembers } from './team-members';
|
||||
import { OpenPageTooltip } from './tooltip';
|
||||
import { TotalSignedDocumentsChart } from './total-signed-documents-chart';
|
||||
@ -143,6 +145,7 @@ export default async function OpenPage() {
|
||||
EARLY_ADOPTERS_DATA,
|
||||
MONTHLY_USERS,
|
||||
MONTHLY_COMPLETED_DOCUMENTS,
|
||||
MONTHLY_SIGNER_CONVERSION,
|
||||
] = await Promise.all([
|
||||
fetchGithubStats(),
|
||||
fetchOpenIssues(),
|
||||
@ -151,6 +154,7 @@ export default async function OpenPage() {
|
||||
fetchEarlyAdopters(),
|
||||
getUserMonthlyGrowth(),
|
||||
getCompletedDocumentsMonthly(),
|
||||
getSignerConversionMonthly(),
|
||||
]);
|
||||
|
||||
return (
|
||||
@ -281,6 +285,17 @@ export default async function OpenPage() {
|
||||
data={MONTHLY_COMPLETED_DOCUMENTS}
|
||||
className="col-span-12 lg:col-span-6"
|
||||
/>
|
||||
<SignerConversionChart
|
||||
className="col-span-12 lg:col-span-6"
|
||||
title={_(msg`Signers that Signed Up`)}
|
||||
data={MONTHLY_SIGNER_CONVERSION}
|
||||
/>
|
||||
<SignerConversionChart
|
||||
className="col-span-12 lg:col-span-6"
|
||||
title={_(msg`Total Signers that Signed Up`)}
|
||||
data={MONTHLY_SIGNER_CONVERSION}
|
||||
cumulative
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -0,0 +1,64 @@
|
||||
'use client';
|
||||
|
||||
import { DateTime } from 'luxon';
|
||||
import { Bar, BarChart, ResponsiveContainer, Tooltip, XAxis, YAxis } from 'recharts';
|
||||
|
||||
import type { GetSignerConversionMonthlyResult } from '@documenso/lib/server-only/user/get-signer-conversion';
|
||||
|
||||
export type SignerConversionChartProps = {
|
||||
className?: string;
|
||||
title: string;
|
||||
cumulative?: boolean;
|
||||
data: GetSignerConversionMonthlyResult;
|
||||
};
|
||||
|
||||
export const SignerConversionChart = ({
|
||||
className,
|
||||
data,
|
||||
title,
|
||||
cumulative = false,
|
||||
}: SignerConversionChartProps) => {
|
||||
const formattedData = [...data].reverse().map(({ month, count, cume_count }) => {
|
||||
return {
|
||||
month: DateTime.fromFormat(month, 'yyyy-MM').toFormat('MMM yyyy'),
|
||||
count: Number(count),
|
||||
signed_count: Number(cume_count),
|
||||
};
|
||||
});
|
||||
|
||||
return (
|
||||
<div className={className}>
|
||||
<div className="border-border flex flex-1 flex-col justify-center rounded-2xl border p-6 pl-2">
|
||||
<div className="mb-6 flex px-4">
|
||||
<h3 className="text-lg font-semibold">{title}</h3>
|
||||
</div>
|
||||
|
||||
<ResponsiveContainer width="100%" height={400}>
|
||||
<BarChart data={formattedData}>
|
||||
<XAxis dataKey="month" />
|
||||
<YAxis />
|
||||
|
||||
<Tooltip
|
||||
labelStyle={{
|
||||
color: 'hsl(var(--primary-foreground))',
|
||||
}}
|
||||
formatter={(value) => [
|
||||
Number(value).toLocaleString('en-US'),
|
||||
cumulative ? 'Total Signers' : 'Monthly Signers',
|
||||
]}
|
||||
cursor={{ fill: 'hsl(var(--primary) / 10%)' }}
|
||||
/>
|
||||
|
||||
<Bar
|
||||
dataKey={cumulative ? 'signed_count' : 'count'}
|
||||
fill="hsl(var(--primary))"
|
||||
radius={[4, 4, 0, 0]}
|
||||
maxBarSize={60}
|
||||
name={cumulative ? 'Total Signers' : 'Monthly Signers'}
|
||||
/>
|
||||
</BarChart>
|
||||
</ResponsiveContainer>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
@ -163,6 +163,7 @@ export const SinglePlayerClient = () => {
|
||||
expired: null,
|
||||
signedAt: null,
|
||||
readStatus: 'OPENED',
|
||||
rejectionReason: null,
|
||||
documentDeletedAt: null,
|
||||
signingStatus: 'NOT_SIGNED',
|
||||
sendStatus: 'NOT_SENT',
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@documenso/web",
|
||||
"version": "1.7.2-rc.4",
|
||||
"version": "1.8.1-rc.0",
|
||||
"private": true,
|
||||
"license": "AGPL-3.0",
|
||||
"scripts": {
|
||||
|
||||
@ -145,7 +145,10 @@ export default async function AdminStatsPage() {
|
||||
msg`Monthly Active Users: Users that had at least one of their documents completed`,
|
||||
)}
|
||||
/>
|
||||
<SignerConversionChart title="Signers that Signed Up" data={signerConversionMonthly} />
|
||||
<SignerConversionChart
|
||||
title={_(msg`Signers that Signed Up`)}
|
||||
data={signerConversionMonthly}
|
||||
/>
|
||||
<SignerConversionChart
|
||||
title={_(msg`Total Signers that Signed Up`)}
|
||||
data={signerConversionMonthly}
|
||||
|
||||
@ -4,7 +4,7 @@ import { useMemo } from 'react';
|
||||
|
||||
import { Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
import { CheckCheckIcon, CheckIcon, Loader, MailOpen } from 'lucide-react';
|
||||
import { AlertTriangle, CheckCheckIcon, CheckIcon, Loader, MailOpen } from 'lucide-react';
|
||||
import { DateTime } from 'luxon';
|
||||
import { match } from 'ts-pattern';
|
||||
|
||||
@ -133,6 +133,11 @@ export const DocumentPageViewRecentActivity = ({
|
||||
<CheckIcon className="h-3 w-3" aria-hidden="true" />
|
||||
</div>
|
||||
))
|
||||
.with(DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED, () => (
|
||||
<div className="bg-widget rounded-full border border-gray-300 p-1 dark:border-neutral-600">
|
||||
<AlertTriangle className="h-3 w-3" aria-hidden="true" />
|
||||
</div>
|
||||
))
|
||||
.with(DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_OPENED, () => (
|
||||
<div className="bg-widget rounded-full border border-gray-300 p-1 dark:border-neutral-600">
|
||||
<MailOpen className="h-3 w-3" aria-hidden="true" />
|
||||
|
||||
@ -4,7 +4,15 @@ import Link from 'next/link';
|
||||
|
||||
import { Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
import { CheckIcon, Clock, MailIcon, MailOpenIcon, PenIcon, PlusIcon } from 'lucide-react';
|
||||
import {
|
||||
AlertTriangle,
|
||||
CheckIcon,
|
||||
Clock,
|
||||
MailIcon,
|
||||
MailOpenIcon,
|
||||
PenIcon,
|
||||
PlusIcon,
|
||||
} from 'lucide-react';
|
||||
import { match } from 'ts-pattern';
|
||||
|
||||
import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
|
||||
@ -15,6 +23,7 @@ import { CopyTextButton } from '@documenso/ui/components/common/copy-text-button
|
||||
import { SignatureIcon } from '@documenso/ui/icons/signature';
|
||||
import { AvatarWithText } from '@documenso/ui/primitives/avatar';
|
||||
import { Badge } from '@documenso/ui/primitives/badge';
|
||||
import { PopoverHover } from '@documenso/ui/primitives/popover';
|
||||
import { useToast } from '@documenso/ui/primitives/use-toast';
|
||||
|
||||
export type DocumentPageViewRecipientsProps = {
|
||||
@ -123,6 +132,26 @@ export const DocumentPageViewRecipients = ({
|
||||
</Badge>
|
||||
)}
|
||||
|
||||
{document.status !== DocumentStatus.DRAFT &&
|
||||
recipient.signingStatus === SigningStatus.REJECTED && (
|
||||
<PopoverHover
|
||||
trigger={
|
||||
<Badge variant="destructive">
|
||||
<AlertTriangle className="mr-1 h-3 w-3" />
|
||||
<Trans>Rejected</Trans>
|
||||
</Badge>
|
||||
}
|
||||
>
|
||||
<p className="text-sm">
|
||||
<Trans>Reason for rejection: </Trans>
|
||||
</p>
|
||||
|
||||
<p className="text-muted-foreground mt-1 text-sm">
|
||||
{recipient.rejectionReason}
|
||||
</p>
|
||||
</PopoverHover>
|
||||
)}
|
||||
|
||||
{document.status === DocumentStatus.PENDING &&
|
||||
recipient.signingStatus === SigningStatus.NOT_SIGNED &&
|
||||
recipient.role !== RecipientRole.CC && (
|
||||
|
||||
@ -139,6 +139,7 @@ export const DocumentLogsPageView = async ({ params, team }: DocumentLogsPageVie
|
||||
className="mr-2"
|
||||
documentId={document.id}
|
||||
documentStatus={document.status}
|
||||
teamId={team?.id}
|
||||
/>
|
||||
|
||||
<DownloadAuditLogButton teamId={team?.id} documentId={document.id} />
|
||||
|
||||
@ -14,12 +14,14 @@ export type DownloadCertificateButtonProps = {
|
||||
className?: string;
|
||||
documentId: number;
|
||||
documentStatus: DocumentStatus;
|
||||
teamId?: number;
|
||||
};
|
||||
|
||||
export const DownloadCertificateButton = ({
|
||||
className,
|
||||
documentId,
|
||||
documentStatus,
|
||||
teamId,
|
||||
}: DownloadCertificateButtonProps) => {
|
||||
const { toast } = useToast();
|
||||
const { _ } = useLingui();
|
||||
@ -29,7 +31,7 @@ export const DownloadCertificateButton = ({
|
||||
|
||||
const onDownloadCertificatesClick = async () => {
|
||||
try {
|
||||
const { url } = await downloadCertificate({ documentId });
|
||||
const { url } = await downloadCertificate({ documentId, teamId });
|
||||
|
||||
const iframe = Object.assign(document.createElement('iframe'), {
|
||||
src: url,
|
||||
|
||||
@ -78,7 +78,7 @@ export const DocumentsDataTable = ({
|
||||
{
|
||||
header: _(msg`Status`),
|
||||
accessorKey: 'status',
|
||||
cell: ({ row }) => <DocumentStatus status={row.getValue('status')} />,
|
||||
cell: ({ row }) => <DocumentStatus status={row.original.status} />,
|
||||
size: 140,
|
||||
},
|
||||
{
|
||||
|
||||
@ -12,9 +12,10 @@ import { createBillingPortal } from './create-billing-portal.action';
|
||||
|
||||
export type BillingPortalButtonProps = {
|
||||
buttonProps?: React.ComponentProps<typeof Button>;
|
||||
children?: React.ReactNode;
|
||||
};
|
||||
|
||||
export const BillingPortalButton = ({ buttonProps }: BillingPortalButtonProps) => {
|
||||
export const BillingPortalButton = ({ buttonProps, children }: BillingPortalButtonProps) => {
|
||||
const { _ } = useLingui();
|
||||
const { toast } = useToast();
|
||||
|
||||
@ -63,7 +64,7 @@ export const BillingPortalButton = ({ buttonProps }: BillingPortalButtonProps) =
|
||||
onClick={async () => handleFetchPortalUrl()}
|
||||
loading={isFetchingPortalUrl}
|
||||
>
|
||||
<Trans>Manage Subscription</Trans>
|
||||
{children || <Trans>Manage Subscription</Trans>}
|
||||
</Button>
|
||||
);
|
||||
};
|
||||
|
||||
@ -68,60 +68,74 @@ export default async function BillingSettingsPage() {
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h3 className="text-2xl font-semibold">
|
||||
<Trans>Billing</Trans>
|
||||
</h3>
|
||||
<div className="flex flex-row items-end justify-between">
|
||||
<div>
|
||||
<h3 className="text-2xl font-semibold">
|
||||
<Trans>Billing</Trans>
|
||||
</h3>
|
||||
|
||||
<div className="text-muted-foreground mt-2 text-sm">
|
||||
{isMissingOrInactiveOrFreePlan && (
|
||||
<p>
|
||||
<Trans>
|
||||
You are currently on the <span className="font-semibold">Free Plan</span>.
|
||||
</Trans>
|
||||
</p>
|
||||
)}
|
||||
|
||||
{/* Todo: Translation */}
|
||||
{!isMissingOrInactiveOrFreePlan &&
|
||||
match(subscription.status)
|
||||
.with('ACTIVE', () => (
|
||||
<p>
|
||||
{subscriptionProduct ? (
|
||||
<span>
|
||||
You are currently subscribed to{' '}
|
||||
<span className="font-semibold">{subscriptionProduct.name}</span>
|
||||
</span>
|
||||
) : (
|
||||
<span>You currently have an active plan</span>
|
||||
)}
|
||||
|
||||
{subscription.periodEnd && (
|
||||
<span>
|
||||
{' '}
|
||||
which is set to{' '}
|
||||
{subscription.cancelAtPeriodEnd ? (
|
||||
<span>
|
||||
end on{' '}
|
||||
<span className="font-semibold">{i18n.date(subscription.periodEnd)}.</span>
|
||||
</span>
|
||||
) : (
|
||||
<span>
|
||||
automatically renew on{' '}
|
||||
<span className="font-semibold">{i18n.date(subscription.periodEnd)}.</span>
|
||||
</span>
|
||||
)}
|
||||
</span>
|
||||
)}
|
||||
</p>
|
||||
))
|
||||
.with('PAST_DUE', () => (
|
||||
<div className="text-muted-foreground mt-2 text-sm">
|
||||
{isMissingOrInactiveOrFreePlan && (
|
||||
<p>
|
||||
<Trans>
|
||||
Your current plan is past due. Please update your payment information.
|
||||
You are currently on the <span className="font-semibold">Free Plan</span>.
|
||||
</Trans>
|
||||
</p>
|
||||
))
|
||||
.otherwise(() => null)}
|
||||
)}
|
||||
|
||||
{/* Todo: Translation */}
|
||||
{!isMissingOrInactiveOrFreePlan &&
|
||||
match(subscription.status)
|
||||
.with('ACTIVE', () => (
|
||||
<p>
|
||||
{subscriptionProduct ? (
|
||||
<span>
|
||||
You are currently subscribed to{' '}
|
||||
<span className="font-semibold">{subscriptionProduct.name}</span>
|
||||
</span>
|
||||
) : (
|
||||
<span>You currently have an active plan</span>
|
||||
)}
|
||||
|
||||
{subscription.periodEnd && (
|
||||
<span>
|
||||
{' '}
|
||||
which is set to{' '}
|
||||
{subscription.cancelAtPeriodEnd ? (
|
||||
<span>
|
||||
end on{' '}
|
||||
<span className="font-semibold">
|
||||
{i18n.date(subscription.periodEnd)}.
|
||||
</span>
|
||||
</span>
|
||||
) : (
|
||||
<span>
|
||||
automatically renew on{' '}
|
||||
<span className="font-semibold">
|
||||
{i18n.date(subscription.periodEnd)}.
|
||||
</span>
|
||||
</span>
|
||||
)}
|
||||
</span>
|
||||
)}
|
||||
</p>
|
||||
))
|
||||
.with('PAST_DUE', () => (
|
||||
<p>
|
||||
<Trans>
|
||||
Your current plan is past due. Please update your payment information.
|
||||
</Trans>
|
||||
</p>
|
||||
))
|
||||
.otherwise(() => null)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{isMissingOrInactiveOrFreePlan && (
|
||||
<BillingPortalButton>
|
||||
<Trans>Manage billing</Trans>
|
||||
</BillingPortalButton>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<hr className="my-4" />
|
||||
|
||||
237
apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx
Normal file
237
apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx
Normal file
@ -0,0 +1,237 @@
|
||||
'use client';
|
||||
|
||||
import { useState, useTransition } from 'react';
|
||||
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
import { Plural, Trans, msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
import { useForm } from 'react-hook-form';
|
||||
import { P, match } from 'ts-pattern';
|
||||
|
||||
import { unsafe_useEffectOnce } from '@documenso/lib/client-only/hooks/use-effect-once';
|
||||
import { DocumentAuth } from '@documenso/lib/types/document-auth';
|
||||
import { extractInitials } from '@documenso/lib/utils/recipient-formatter';
|
||||
import type { Field, Recipient } from '@documenso/prisma/client';
|
||||
import { FieldType } from '@documenso/prisma/client';
|
||||
import { trpc } from '@documenso/trpc/react';
|
||||
import { Button } from '@documenso/ui/primitives/button';
|
||||
import {
|
||||
Dialog,
|
||||
DialogContent,
|
||||
DialogFooter,
|
||||
DialogHeader,
|
||||
DialogTitle,
|
||||
} from '@documenso/ui/primitives/dialog';
|
||||
import { FRIENDLY_FIELD_TYPE } from '@documenso/ui/primitives/document-flow/types';
|
||||
import { Form } from '@documenso/ui/primitives/form/form';
|
||||
import { useToast } from '@documenso/ui/primitives/use-toast';
|
||||
|
||||
import { SigningDisclosure } from '~/components/general/signing-disclosure';
|
||||
|
||||
import { useRequiredDocumentAuthContext } from './document-auth-provider';
|
||||
import { useRequiredSigningContext } from './provider';
|
||||
|
||||
const AUTO_SIGNABLE_FIELD_TYPES: string[] = [
|
||||
FieldType.NAME,
|
||||
FieldType.INITIALS,
|
||||
FieldType.EMAIL,
|
||||
FieldType.DATE,
|
||||
];
|
||||
|
||||
// The action auth types that are not allowed to be auto signed
|
||||
//
|
||||
// Reasoning: If the action auth is a passkey or 2FA, it's likely that the owner of the document
|
||||
// intends on having the user manually sign due to the additional security measures employed for
|
||||
// other field types.
|
||||
const NON_AUTO_SIGNABLE_ACTION_AUTH_TYPES: string[] = [
|
||||
DocumentAuth.PASSKEY,
|
||||
DocumentAuth.TWO_FACTOR_AUTH,
|
||||
];
|
||||
|
||||
// The threshold for the number of fields that could be autosigned before displaying the dialog
|
||||
//
|
||||
// Reasoning: If there aren't that many fields, it's likely going to be easier to manually sign each one
|
||||
// while for larger documents with many fields it will be beneficial to sign away the boilerplate fields.
|
||||
const AUTO_SIGN_THRESHOLD = 5;
|
||||
|
||||
export type AutoSignProps = {
|
||||
recipient: Pick<Recipient, 'id' | 'token'>;
|
||||
fields: Field[];
|
||||
};
|
||||
|
||||
export const AutoSign = ({ recipient, fields }: AutoSignProps) => {
|
||||
const { _ } = useLingui();
|
||||
const { toast } = useToast();
|
||||
|
||||
const router = useRouter();
|
||||
|
||||
const { email, fullName } = useRequiredSigningContext();
|
||||
const { derivedRecipientActionAuth } = useRequiredDocumentAuthContext();
|
||||
|
||||
const [open, setOpen] = useState(false);
|
||||
const [isPending, startTransition] = useTransition();
|
||||
|
||||
const form = useForm();
|
||||
|
||||
const { mutateAsync: signFieldWithToken } = trpc.field.signFieldWithToken.useMutation();
|
||||
|
||||
const autoSignableFields = fields.filter((field) => {
|
||||
if (field.inserted) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!AUTO_SIGNABLE_FIELD_TYPES.includes(field.type)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (field.type === FieldType.NAME && !fullName) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (field.type === FieldType.INITIALS && !fullName) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (field.type === FieldType.EMAIL && !email) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
const actionAuthAllowsAutoSign = !NON_AUTO_SIGNABLE_ACTION_AUTH_TYPES.includes(
|
||||
derivedRecipientActionAuth ?? '',
|
||||
);
|
||||
|
||||
const onSubmit = async () => {
|
||||
const results = await Promise.allSettled(
|
||||
autoSignableFields.map(async (field) => {
|
||||
const value = match(field.type)
|
||||
.with(FieldType.NAME, () => fullName)
|
||||
.with(FieldType.INITIALS, () => extractInitials(fullName))
|
||||
.with(FieldType.EMAIL, () => email)
|
||||
.with(FieldType.DATE, () => new Date().toISOString())
|
||||
.otherwise(() => '');
|
||||
|
||||
const authOptions = match(derivedRecipientActionAuth)
|
||||
.with(DocumentAuth.ACCOUNT, () => ({
|
||||
type: DocumentAuth.ACCOUNT,
|
||||
}))
|
||||
.with(DocumentAuth.EXPLICIT_NONE, () => ({
|
||||
type: DocumentAuth.EXPLICIT_NONE,
|
||||
}))
|
||||
.with(null, () => undefined)
|
||||
.with(
|
||||
P.union(DocumentAuth.PASSKEY, DocumentAuth.TWO_FACTOR_AUTH),
|
||||
// This is a bit dirty, but the sentinel value used here is incredibly short-lived.
|
||||
() => 'NOT_SUPPORTED' as const,
|
||||
)
|
||||
.exhaustive();
|
||||
|
||||
if (authOptions === 'NOT_SUPPORTED') {
|
||||
throw new Error('Action auth is not supported for auto signing');
|
||||
}
|
||||
|
||||
if (!value) {
|
||||
throw new Error('No value to sign');
|
||||
}
|
||||
|
||||
return await signFieldWithToken({
|
||||
token: recipient.token,
|
||||
fieldId: field.id,
|
||||
value,
|
||||
isBase64: false,
|
||||
authOptions,
|
||||
});
|
||||
}),
|
||||
);
|
||||
|
||||
if (results.some((result) => result.status === 'rejected')) {
|
||||
toast({
|
||||
title: _(msg`Error`),
|
||||
description: _(
|
||||
msg`An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields.`,
|
||||
),
|
||||
duration: 5000,
|
||||
variant: 'destructive',
|
||||
});
|
||||
}
|
||||
|
||||
startTransition(() => {
|
||||
router.refresh();
|
||||
|
||||
setOpen(false);
|
||||
});
|
||||
};
|
||||
|
||||
unsafe_useEffectOnce(() => {
|
||||
if (actionAuthAllowsAutoSign && autoSignableFields.length > AUTO_SIGN_THRESHOLD) {
|
||||
setOpen(true);
|
||||
}
|
||||
});
|
||||
|
||||
return (
|
||||
<Dialog open={open} onOpenChange={setOpen}>
|
||||
<DialogContent>
|
||||
<DialogHeader>
|
||||
<DialogTitle>Automatically sign fields</DialogTitle>
|
||||
</DialogHeader>
|
||||
|
||||
<div className="text-muted-foreground max-w-[50ch]">
|
||||
<p>
|
||||
<Trans>
|
||||
When you sign a document, we can automatically fill in and sign the following fields
|
||||
using information that has already been provided. You can also manually sign or remove
|
||||
any automatically signed fields afterwards if you desire.
|
||||
</Trans>
|
||||
</p>
|
||||
|
||||
<ul className="mt-4 flex list-inside list-disc flex-col gap-y-0.5">
|
||||
{AUTO_SIGNABLE_FIELD_TYPES.map((fieldType) => (
|
||||
<li key={fieldType}>
|
||||
<Trans>{_(FRIENDLY_FIELD_TYPE[fieldType as FieldType])}</Trans>
|
||||
<span className="pl-2 text-sm">
|
||||
(
|
||||
<Plural
|
||||
value={autoSignableFields.filter((f) => f.type === fieldType).length}
|
||||
one="1 matching field"
|
||||
other="# matching fields"
|
||||
/>
|
||||
)
|
||||
</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<SigningDisclosure className="mt-4" />
|
||||
|
||||
<Form {...form}>
|
||||
<form onSubmit={form.handleSubmit(onSubmit)}>
|
||||
<DialogFooter className="flex w-full flex-1 flex-nowrap gap-2">
|
||||
<Button
|
||||
type="button"
|
||||
variant="secondary"
|
||||
onClick={() => {
|
||||
setOpen(false);
|
||||
}}
|
||||
>
|
||||
<Trans>Cancel</Trans>
|
||||
</Button>
|
||||
|
||||
<Button
|
||||
type="submit"
|
||||
className="min-w-[6rem]"
|
||||
loading={form.formState.isSubmitting || isPending}
|
||||
disabled={!autoSignableFields.length}
|
||||
>
|
||||
<Trans>Sign</Trans>
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
</form>
|
||||
</Form>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
);
|
||||
};
|
||||
@ -144,13 +144,13 @@ export const DateField = ({
|
||||
)}
|
||||
|
||||
{!field.inserted && (
|
||||
<p className="group-hover:text-primary text-muted-foreground duration-200 group-hover:text-yellow-300">
|
||||
<p className="group-hover:text-primary text-muted-foreground text-[clamp(0.425rem,25cqw,0.825rem)] duration-200 group-hover:text-yellow-300">
|
||||
<Trans>Date</Trans>
|
||||
</p>
|
||||
)}
|
||||
|
||||
{field.inserted && (
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.625rem,1cqw,0.825rem)] duration-200">
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.425rem,25cqw,0.825rem)] duration-200">
|
||||
{localDateString}
|
||||
</p>
|
||||
)}
|
||||
|
||||
@ -178,7 +178,7 @@ export const DropdownField = ({
|
||||
)}
|
||||
|
||||
{!field.inserted && (
|
||||
<p className="group-hover:text-primary text-muted-foreground flex flex-col items-center justify-center duration-200">
|
||||
<p className="group-hover:text-primary text-muted-foreground flex flex-col items-center justify-center duration-200 ">
|
||||
<Select value={localChoice} onValueChange={handleSelectItem}>
|
||||
<SelectTrigger
|
||||
className={cn(
|
||||
@ -190,7 +190,7 @@ export const DropdownField = ({
|
||||
)}
|
||||
>
|
||||
<SelectValue
|
||||
className="text-[clamp(0.625rem,1cqw,0.825rem)]"
|
||||
className="text-[clamp(0.425rem,25cqw,0.825rem)]"
|
||||
placeholder={`${_(msg`Select`)}`}
|
||||
/>
|
||||
</SelectTrigger>
|
||||
@ -206,7 +206,7 @@ export const DropdownField = ({
|
||||
)}
|
||||
|
||||
{field.inserted && (
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.625rem,1cqw,0.825rem)] duration-200">
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.425rem,25cqw,0.825rem)] duration-200">
|
||||
{field.customText}
|
||||
</p>
|
||||
)}
|
||||
|
||||
@ -122,13 +122,13 @@ export const EmailField = ({ field, recipient, onSignField, onUnsignField }: Ema
|
||||
)}
|
||||
|
||||
{!field.inserted && (
|
||||
<p className="group-hover:text-primary text-muted-foreground duration-200 group-hover:text-yellow-300">
|
||||
<p className="group-hover:text-primary text-muted-foreground text-[clamp(0.425rem,25cqw,0.825rem)] duration-200 group-hover:text-yellow-300">
|
||||
<Trans>Email</Trans>
|
||||
</p>
|
||||
)}
|
||||
|
||||
{field.inserted && (
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.625rem,1cqw,0.825rem)] duration-200">
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.425rem,25cqw,0.825rem)] duration-200">
|
||||
{field.customText}
|
||||
</p>
|
||||
)}
|
||||
|
||||
@ -128,13 +128,13 @@ export const InitialsField = ({
|
||||
)}
|
||||
|
||||
{!field.inserted && (
|
||||
<p className="group-hover:text-primary text-muted-foreground duration-200 group-hover:text-yellow-300">
|
||||
<p className="group-hover:text-primary text-muted-foreground text-[clamp(0.425rem,25cqw,0.825rem)] duration-200 group-hover:text-yellow-300">
|
||||
<Trans>Initials</Trans>
|
||||
</p>
|
||||
)}
|
||||
|
||||
{field.inserted && (
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.625rem,1cqw,0.825rem)] duration-200">
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.425rem,25cqw,0.825rem)] duration-200">
|
||||
{field.customText}
|
||||
</p>
|
||||
)}
|
||||
|
||||
@ -172,7 +172,7 @@ export const NameField = ({ field, recipient, onSignField, onUnsignField }: Name
|
||||
)}
|
||||
|
||||
{field.inserted && (
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.625rem,1cqw,0.825rem)] duration-200">
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.425rem,25cqw,0.825rem)] duration-200">
|
||||
{field.customText}
|
||||
</p>
|
||||
)}
|
||||
|
||||
@ -252,14 +252,15 @@ export const NumberField = ({ field, recipient, onSignField, onUnsignField }: Nu
|
||||
},
|
||||
)}
|
||||
>
|
||||
<span className="flex items-center justify-center gap-x-1 text-sm">
|
||||
<Hash className="h-4 w-4" /> {fieldDisplayName}
|
||||
<span className="flex items-center justify-center gap-x-1">
|
||||
<Hash className="h-[clamp(0.625rem,20cqw,0.925rem)] w-[clamp(0.625rem,20cqw,0.925rem)]" />{' '}
|
||||
<span className="text-[clamp(0.425rem,25cqw,0.825rem)]">{fieldDisplayName}</span>
|
||||
</span>
|
||||
</p>
|
||||
)}
|
||||
|
||||
{field.inserted && (
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.625rem,1cqw,0.825rem)] duration-200">
|
||||
<p className="text-muted-foreground dark:text-background/80 text-[clamp(0.425rem,25cqw,0.825rem)] duration-200">
|
||||
{field.customText}
|
||||
</p>
|
||||
)}
|
||||
|
||||
@ -99,6 +99,10 @@ export default async function SigningPage({ params: { token } }: SigningPageProp
|
||||
|
||||
const { documentMeta } = document;
|
||||
|
||||
if (recipient.signingStatus === SigningStatus.REJECTED) {
|
||||
return redirect(`/sign/${token}/rejected`);
|
||||
}
|
||||
|
||||
if (
|
||||
document.status === DocumentStatus.COMPLETED ||
|
||||
recipient.signingStatus === SigningStatus.SIGNED
|
||||
|
||||
@ -0,0 +1,170 @@
|
||||
'use client';
|
||||
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
import { useRouter, useSearchParams } from 'next/navigation';
|
||||
|
||||
import { zodResolver } from '@hookform/resolvers/zod';
|
||||
import { Trans, msg } from '@lingui/macro';
|
||||
import { useForm } from 'react-hook-form';
|
||||
import { z } from 'zod';
|
||||
|
||||
import type { Document } from '@documenso/prisma/client';
|
||||
import { trpc } from '@documenso/trpc/react';
|
||||
import { Button } from '@documenso/ui/primitives/button';
|
||||
import {
|
||||
Dialog,
|
||||
DialogContent,
|
||||
DialogDescription,
|
||||
DialogFooter,
|
||||
DialogHeader,
|
||||
DialogTitle,
|
||||
DialogTrigger,
|
||||
} from '@documenso/ui/primitives/dialog';
|
||||
import {
|
||||
Form,
|
||||
FormControl,
|
||||
FormField,
|
||||
FormItem,
|
||||
FormMessage,
|
||||
} from '@documenso/ui/primitives/form/form';
|
||||
import { Textarea } from '@documenso/ui/primitives/textarea';
|
||||
import { useToast } from '@documenso/ui/primitives/use-toast';
|
||||
|
||||
const ZRejectDocumentFormSchema = z.object({
|
||||
reason: z
|
||||
.string()
|
||||
.min(5, msg`Please provide a reason`)
|
||||
.max(500, msg`Reason must be less than 500 characters`),
|
||||
});
|
||||
|
||||
type TRejectDocumentFormSchema = z.infer<typeof ZRejectDocumentFormSchema>;
|
||||
|
||||
export interface RejectDocumentDialogProps {
|
||||
document: Pick<Document, 'id'>;
|
||||
token: string;
|
||||
}
|
||||
|
||||
export function RejectDocumentDialog({ document, token }: RejectDocumentDialogProps) {
|
||||
const { toast } = useToast();
|
||||
const router = useRouter();
|
||||
const searchParams = useSearchParams();
|
||||
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
|
||||
const { mutateAsync: rejectDocumentWithToken } =
|
||||
trpc.recipient.rejectDocumentWithToken.useMutation();
|
||||
|
||||
const form = useForm<TRejectDocumentFormSchema>({
|
||||
resolver: zodResolver(ZRejectDocumentFormSchema),
|
||||
defaultValues: {
|
||||
reason: '',
|
||||
},
|
||||
});
|
||||
|
||||
const onRejectDocument = async ({ reason }: TRejectDocumentFormSchema) => {
|
||||
try {
|
||||
// TODO: Add trpc mutation here
|
||||
await rejectDocumentWithToken({
|
||||
documentId: document.id,
|
||||
token,
|
||||
reason,
|
||||
});
|
||||
|
||||
toast({
|
||||
title: 'Document rejected',
|
||||
description: 'The document has been successfully rejected.',
|
||||
duration: 5000,
|
||||
});
|
||||
|
||||
setIsOpen(false);
|
||||
|
||||
router.push(`/sign/${token}/rejected`);
|
||||
} catch (err) {
|
||||
toast({
|
||||
title: 'Error',
|
||||
description: 'An error occurred while rejecting the document. Please try again.',
|
||||
variant: 'destructive',
|
||||
duration: 5000,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (searchParams?.get('reject') === 'true') {
|
||||
setIsOpen(true);
|
||||
}
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (!isOpen) {
|
||||
form.reset();
|
||||
}
|
||||
}, [isOpen]);
|
||||
|
||||
return (
|
||||
<Dialog open={isOpen} onOpenChange={setIsOpen}>
|
||||
<DialogTrigger asChild>
|
||||
<Button variant="outline">
|
||||
<Trans>Reject Document</Trans>
|
||||
</Button>
|
||||
</DialogTrigger>
|
||||
|
||||
<DialogContent>
|
||||
<DialogHeader>
|
||||
<DialogTitle>
|
||||
<Trans>Reject Document</Trans>
|
||||
</DialogTitle>
|
||||
|
||||
<DialogDescription>
|
||||
<Trans>
|
||||
Are you sure you want to reject this document? This action cannot be undone.
|
||||
</Trans>
|
||||
</DialogDescription>
|
||||
</DialogHeader>
|
||||
|
||||
<Form {...form}>
|
||||
<form onSubmit={form.handleSubmit(onRejectDocument)} className="space-y-4">
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="reason"
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormControl>
|
||||
<Textarea
|
||||
{...field}
|
||||
rows={4}
|
||||
placeholder="Please provide a reason for rejecting this document"
|
||||
disabled={form.formState.isSubmitting}
|
||||
/>
|
||||
</FormControl>
|
||||
<FormMessage />
|
||||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
|
||||
<DialogFooter>
|
||||
<Button
|
||||
type="button"
|
||||
variant="ghost"
|
||||
onClick={() => setIsOpen(false)}
|
||||
disabled={form.formState.isSubmitting}
|
||||
>
|
||||
<Trans>Cancel</Trans>
|
||||
</Button>
|
||||
|
||||
<Button
|
||||
type="submit"
|
||||
variant="destructive"
|
||||
loading={form.formState.isSubmitting}
|
||||
disabled={!form.formState.isValid}
|
||||
>
|
||||
<Trans>Reject Document</Trans>
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
</form>
|
||||
</Form>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
);
|
||||
}
|
||||
110
apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx
Normal file
110
apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx
Normal file
@ -0,0 +1,110 @@
|
||||
import Link from 'next/link';
|
||||
import { notFound } from 'next/navigation';
|
||||
|
||||
import { Trans } from '@lingui/macro';
|
||||
import { XCircle } from 'lucide-react';
|
||||
|
||||
import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server';
|
||||
import { getServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session';
|
||||
import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token';
|
||||
import { isRecipientAuthorized } from '@documenso/lib/server-only/document/is-recipient-authorized';
|
||||
import { getFieldsForToken } from '@documenso/lib/server-only/field/get-fields-for-token';
|
||||
import { getRecipientByToken } from '@documenso/lib/server-only/recipient/get-recipient-by-token';
|
||||
import { FieldType } from '@documenso/prisma/client';
|
||||
import { Badge } from '@documenso/ui/primitives/badge';
|
||||
import { Button } from '@documenso/ui/primitives/button';
|
||||
|
||||
import { truncateTitle } from '~/helpers/truncate-title';
|
||||
|
||||
import { SigningAuthPageView } from '../signing-auth-page';
|
||||
|
||||
export type RejectedSigningPageProps = {
|
||||
params: {
|
||||
token?: string;
|
||||
};
|
||||
};
|
||||
|
||||
export default async function RejectedSigningPage({ params: { token } }: RejectedSigningPageProps) {
|
||||
await setupI18nSSR();
|
||||
|
||||
if (!token) {
|
||||
return notFound();
|
||||
}
|
||||
|
||||
const { user } = await getServerComponentSession();
|
||||
|
||||
const document = await getDocumentAndSenderByToken({
|
||||
token,
|
||||
requireAccessAuth: false,
|
||||
}).catch(() => null);
|
||||
|
||||
if (!document) {
|
||||
return notFound();
|
||||
}
|
||||
|
||||
const truncatedTitle = truncateTitle(document.title);
|
||||
|
||||
const [fields, recipient] = await Promise.all([
|
||||
getFieldsForToken({ token }),
|
||||
getRecipientByToken({ token }).catch(() => null),
|
||||
]);
|
||||
|
||||
if (!recipient) {
|
||||
return notFound();
|
||||
}
|
||||
|
||||
const isDocumentAccessValid = await isRecipientAuthorized({
|
||||
type: 'ACCESS',
|
||||
documentAuthOptions: document.authOptions,
|
||||
recipient,
|
||||
userId: user?.id,
|
||||
});
|
||||
|
||||
if (!isDocumentAccessValid) {
|
||||
return <SigningAuthPageView email={recipient.email} />;
|
||||
}
|
||||
|
||||
const recipientName =
|
||||
recipient.name ||
|
||||
fields.find((field) => field.type === FieldType.NAME)?.customText ||
|
||||
recipient.email;
|
||||
|
||||
return (
|
||||
<div className="flex flex-col items-center pt-24 lg:pt-36 xl:pt-44">
|
||||
<Badge variant="neutral" size="default" className="mb-6 rounded-xl border bg-transparent">
|
||||
{truncatedTitle}
|
||||
</Badge>
|
||||
|
||||
<div className="flex flex-col items-center">
|
||||
<div className="flex items-center gap-x-4">
|
||||
<XCircle className="text-destructive h-10 w-10" />
|
||||
|
||||
<h2 className="max-w-[35ch] text-center text-2xl font-semibold leading-normal md:text-3xl lg:text-4xl">
|
||||
<Trans>Document Rejected</Trans>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div className="text-destructive mt-4 flex items-center text-center text-sm">
|
||||
<Trans>You have rejected this document</Trans>
|
||||
</div>
|
||||
|
||||
<p className="text-muted-foreground mt-6 max-w-[60ch] text-center text-sm">
|
||||
<Trans>
|
||||
The document owner has been notified of your decision. They may contact you with further
|
||||
instructions if necessary.
|
||||
</Trans>
|
||||
</p>
|
||||
|
||||
<p className="text-muted-foreground mt-2 max-w-[60ch] text-center text-sm">
|
||||
<Trans>No further action is required from you at this time.</Trans>
|
||||
</p>
|
||||
|
||||
{user && (
|
||||
<Button className="mt-6" asChild>
|
||||
<Link href={`/`}>Return Home</Link>
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@ -191,7 +191,7 @@ export const SignatureField = ({
|
||||
)}
|
||||
|
||||
{state === 'empty' && (
|
||||
<p className="group-hover:text-primary font-signature text-muted-foreground text-xl duration-200 group-hover:text-yellow-300">
|
||||
<p className="group-hover:text-primary font-signature text-muted-foreground text-[clamp(0.575rem,25cqw,1.2rem)] text-xl duration-200 group-hover:text-yellow-300">
|
||||
<Trans>Signature</Trans>
|
||||
</p>
|
||||
)}
|
||||
|
||||
@ -22,6 +22,7 @@ import { LazyPDFViewer } from '@documenso/ui/primitives/lazy-pdf-viewer';
|
||||
|
||||
import { DocumentReadOnlyFields } from '~/components/document/document-read-only-fields';
|
||||
|
||||
import { AutoSign } from './auto-sign';
|
||||
import { CheckboxField } from './checkbox-field';
|
||||
import { DateField } from './date-field';
|
||||
import { DropdownField } from './dropdown-field';
|
||||
@ -31,6 +32,7 @@ import { InitialsField } from './initials-field';
|
||||
import { NameField } from './name-field';
|
||||
import { NumberField } from './number-field';
|
||||
import { RadioField } from './radio-field';
|
||||
import { RejectDocumentDialog } from './reject-document-dialog';
|
||||
import { SignatureField } from './signature-field';
|
||||
import { TextField } from './text-field';
|
||||
|
||||
@ -57,28 +59,32 @@ export const SigningPageView = ({
|
||||
{document.title}
|
||||
</h1>
|
||||
|
||||
<div className="mt-2.5 flex items-center gap-x-6">
|
||||
<p
|
||||
className="text-muted-foreground truncate"
|
||||
title={document.User.name ? document.User.name : ''}
|
||||
>
|
||||
{document.User.name}
|
||||
</p>
|
||||
</div>
|
||||
<div className="mt-2.5 flex flex-wrap items-center justify-between gap-x-6">
|
||||
<div>
|
||||
<p
|
||||
className="text-muted-foreground truncate"
|
||||
title={document.User.name ? document.User.name : ''}
|
||||
>
|
||||
{document.User.name}
|
||||
</p>
|
||||
|
||||
<p className="text-muted-foreground">
|
||||
{match(recipient.role)
|
||||
.with(RecipientRole.VIEWER, () => (
|
||||
<Trans>({document.User.email}) has invited you to view this document</Trans>
|
||||
))
|
||||
.with(RecipientRole.SIGNER, () => (
|
||||
<Trans>({document.User.email}) has invited you to sign this document</Trans>
|
||||
))
|
||||
.with(RecipientRole.APPROVER, () => (
|
||||
<Trans>({document.User.email}) has invited you to approve this document</Trans>
|
||||
))
|
||||
.otherwise(() => null)}
|
||||
</p>
|
||||
<p className="text-muted-foreground">
|
||||
{match(recipient.role)
|
||||
.with(RecipientRole.VIEWER, () => (
|
||||
<Trans>({document.User.email}) has invited you to view this document</Trans>
|
||||
))
|
||||
.with(RecipientRole.SIGNER, () => (
|
||||
<Trans>({document.User.email}) has invited you to sign this document</Trans>
|
||||
))
|
||||
.with(RecipientRole.APPROVER, () => (
|
||||
<Trans>({document.User.email}) has invited you to approve this document</Trans>
|
||||
))
|
||||
.otherwise(() => null)}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<RejectDocumentDialog document={document} token={recipient.token} />
|
||||
</div>
|
||||
|
||||
<div className="mt-8 grid grid-cols-12 gap-y-8 lg:gap-x-8 lg:gap-y-0">
|
||||
<Card
|
||||
@ -108,6 +114,8 @@ export const SigningPageView = ({
|
||||
|
||||
<DocumentReadOnlyFields fields={completedFields} />
|
||||
|
||||
<AutoSign recipient={recipient} fields={fields} />
|
||||
|
||||
<ElementVisible target={PDF_VIEWER_PAGE_SELECTOR}>
|
||||
{fields.map((field) =>
|
||||
match(field.type)
|
||||
|
||||
@ -252,14 +252,16 @@ export const TextField = ({ field, recipient, onSignField, onUnsignField }: Text
|
||||
)}
|
||||
>
|
||||
<span className="flex items-center justify-center gap-x-1">
|
||||
<Type />
|
||||
{fieldDisplayName || <Trans>Text</Trans>}
|
||||
<Type className="h-[clamp(0.625rem,20cqw,0.925rem)] w-[clamp(0.625rem,20cqw,0.925rem)]" />
|
||||
<span className="text-[clamp(0.425rem,25cqw,0.825rem)]">
|
||||
{fieldDisplayName || <Trans>Text</Trans>}
|
||||
</span>
|
||||
</span>
|
||||
</p>
|
||||
)}
|
||||
|
||||
{field.inserted && (
|
||||
<p className="text-muted-foreground dark:text-background/80 flex items-center justify-center gap-x-1 duration-200">
|
||||
<p className="text-muted-foreground dark:text-background/80 flex items-center justify-center gap-x-1 text-[clamp(0.425rem,25cqw,0.825rem)] duration-200">
|
||||
{field.customText.length < 20
|
||||
? field.customText
|
||||
: field.customText.substring(0, 15) + '...'}
|
||||
|
||||
@ -205,10 +205,14 @@ export const TeamDocumentPreferencesForm = ({
|
||||
</div>
|
||||
|
||||
<Alert variant="neutral" className="mt-1 px-2.5 py-1.5 text-sm">
|
||||
{includeSenderDetails
|
||||
? _(msg`"${placeholderEmail}" on behalf of "${team.name}" has invited you to sign "example
|
||||
document".`)
|
||||
: _(msg`"${team.name}" has invited you to sign "example document".`)}
|
||||
{includeSenderDetails ? (
|
||||
<Trans>
|
||||
"{placeholderEmail}" on behalf of "{team.name}" has invited you to sign
|
||||
"example document".
|
||||
</Trans>
|
||||
) : (
|
||||
<Trans>"{team.name}" has invited you to sign "example document".</Trans>
|
||||
)}
|
||||
</Alert>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import { RecipientStatusType } from '@documenso/lib/client-only/recipient-type';
|
||||
import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar';
|
||||
|
||||
const ZIndexes: { [key: string]: string } = {
|
||||
@ -12,7 +13,7 @@ export type StackAvatarProps = {
|
||||
first?: boolean;
|
||||
zIndex?: string;
|
||||
fallbackText?: string;
|
||||
type: 'unsigned' | 'waiting' | 'opened' | 'completed';
|
||||
type: RecipientStatusType;
|
||||
};
|
||||
|
||||
export const StackAvatar = ({ first, zIndex, fallbackText = '', type }: StackAvatarProps) => {
|
||||
@ -25,18 +26,21 @@ export const StackAvatar = ({ first, zIndex, fallbackText = '', type }: StackAva
|
||||
}
|
||||
|
||||
switch (type) {
|
||||
case 'unsigned':
|
||||
case RecipientStatusType.UNSIGNED:
|
||||
classes = 'bg-dawn-200 text-dawn-900';
|
||||
break;
|
||||
case 'opened':
|
||||
case RecipientStatusType.OPENED:
|
||||
classes = 'bg-yellow-200 text-yellow-700';
|
||||
break;
|
||||
case 'waiting':
|
||||
case RecipientStatusType.WAITING:
|
||||
classes = 'bg-water text-water-700';
|
||||
break;
|
||||
case 'completed':
|
||||
case RecipientStatusType.COMPLETED:
|
||||
classes = 'bg-documenso-200 text-documenso-800';
|
||||
break;
|
||||
case RecipientStatusType.REJECTED:
|
||||
classes = 'bg-red-200 text-red-800';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@ import { useLingui } from '@lingui/react';
|
||||
import { RecipientStatusType, getRecipientType } from '@documenso/lib/client-only/recipient-type';
|
||||
import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
|
||||
import { recipientAbbreviation } from '@documenso/lib/utils/recipient-formatter';
|
||||
import type { DocumentStatus, Recipient } from '@documenso/prisma/client';
|
||||
import { type DocumentStatus, type Recipient } from '@documenso/prisma/client';
|
||||
import { PopoverHover } from '@documenso/ui/primitives/popover';
|
||||
|
||||
import { AvatarWithRecipient } from './avatar-with-recipient';
|
||||
@ -46,7 +46,22 @@ export const StackAvatarsWithTooltip = ({
|
||||
(recipient) => getRecipientType(recipient) === RecipientStatusType.UNSIGNED,
|
||||
);
|
||||
|
||||
const sortedRecipients = useMemo(() => recipients.sort((a, b) => a.id - b.id), [recipients]);
|
||||
const rejectedRecipients = recipients.filter(
|
||||
(recipient) => getRecipientType(recipient) === RecipientStatusType.REJECTED,
|
||||
);
|
||||
|
||||
const sortedRecipients = useMemo(() => {
|
||||
const otherRecipients = recipients.filter(
|
||||
(recipient) => getRecipientType(recipient) !== RecipientStatusType.REJECTED,
|
||||
);
|
||||
|
||||
return [
|
||||
...rejectedRecipients.sort((a, b) => a.id - b.id),
|
||||
...otherRecipients.sort((a, b) => {
|
||||
return a.id - b.id;
|
||||
}),
|
||||
];
|
||||
}, [recipients]);
|
||||
|
||||
return (
|
||||
<PopoverHover
|
||||
@ -80,6 +95,30 @@ export const StackAvatarsWithTooltip = ({
|
||||
</div>
|
||||
)}
|
||||
|
||||
{rejectedRecipients.length > 0 && (
|
||||
<div>
|
||||
<h1 className="text-base font-medium">
|
||||
<Trans>Rejected</Trans>
|
||||
</h1>
|
||||
{rejectedRecipients.map((recipient: Recipient) => (
|
||||
<div key={recipient.id} className="my-1 flex items-center gap-2">
|
||||
<StackAvatar
|
||||
first={true}
|
||||
key={recipient.id}
|
||||
type={getRecipientType(recipient)}
|
||||
fallbackText={recipientAbbreviation(recipient)}
|
||||
/>
|
||||
<div>
|
||||
<p className="text-muted-foreground text-sm">{recipient.email}</p>
|
||||
<p className="text-muted-foreground/70 text-xs">
|
||||
{_(RECIPIENT_ROLES_DESCRIPTION[recipient.role].roleName)}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{waitingRecipients.length > 0 && (
|
||||
<div>
|
||||
<h1 className="text-base font-medium">
|
||||
|
||||
@ -169,6 +169,7 @@ export const DocumentHistorySheet = ({
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_DELETED },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_OPENED },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_COMPLETED },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_SENT },
|
||||
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_MOVED_TO_TEAM },
|
||||
() => null,
|
||||
|
||||
31
package-lock.json
generated
31
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@documenso/root",
|
||||
"version": "1.7.2-rc.4",
|
||||
"version": "1.8.1-rc.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@documenso/root",
|
||||
"version": "1.7.2-rc.4",
|
||||
"version": "1.8.1-rc.0",
|
||||
"workspaces": [
|
||||
"apps/*",
|
||||
"packages/*"
|
||||
@ -80,7 +80,7 @@
|
||||
},
|
||||
"apps/marketing": {
|
||||
"name": "@documenso/marketing",
|
||||
"version": "1.7.2-rc.4",
|
||||
"version": "1.8.1-rc.0",
|
||||
"license": "AGPL-3.0",
|
||||
"dependencies": {
|
||||
"@documenso/assets": "*",
|
||||
@ -441,7 +441,7 @@
|
||||
},
|
||||
"apps/web": {
|
||||
"name": "@documenso/web",
|
||||
"version": "1.7.2-rc.4",
|
||||
"version": "1.8.1-rc.0",
|
||||
"license": "AGPL-3.0",
|
||||
"dependencies": {
|
||||
"@documenso/api": "*",
|
||||
@ -10044,11 +10044,19 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/container-queries": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/container-queries/-/container-queries-0.1.1.tgz",
|
||||
"integrity": "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"tailwindcss": ">=3.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/typography": {
|
||||
"version": "0.5.10",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz",
|
||||
"integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"lodash.castarray": "^4.4.0",
|
||||
"lodash.isplainobject": "^4.0.6",
|
||||
@ -21883,8 +21891,7 @@
|
||||
"node_modules/lodash.castarray": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz",
|
||||
"integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==",
|
||||
"dev": true
|
||||
"integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q=="
|
||||
},
|
||||
"node_modules/lodash.clonedeep": {
|
||||
"version": "4.5.0",
|
||||
@ -21929,8 +21936,7 @@
|
||||
"node_modules/lodash.isplainobject": {
|
||||
"version": "4.0.6",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
|
||||
"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
|
||||
},
|
||||
"node_modules/lodash.kebabcase": {
|
||||
"version": "4.1.1",
|
||||
@ -27014,7 +27020,6 @@
|
||||
"version": "6.0.10",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
|
||||
"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
"util-deprecate": "^1.0.2"
|
||||
@ -36916,14 +36921,14 @@
|
||||
"version": "0.0.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@tailwindcss/container-queries": "^0.1.1",
|
||||
"@tailwindcss/typography": "^0.5.9",
|
||||
"autoprefixer": "^10.4.13",
|
||||
"postcss": "^8.4.32",
|
||||
"tailwindcss": "3.3.2",
|
||||
"tailwindcss-animate": "^1.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/typography": "^0.5.9"
|
||||
}
|
||||
"devDependencies": {}
|
||||
},
|
||||
"packages/tailwind-config/node_modules/postcss": {
|
||||
"version": "8.4.32",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"private": true,
|
||||
"version": "1.7.2-rc.4",
|
||||
"version": "1.8.1-rc.0",
|
||||
"scripts": {
|
||||
"build": "turbo run build",
|
||||
"build:web": "turbo run build --filter=@documenso/web",
|
||||
|
||||
@ -168,6 +168,9 @@ export const ApiContractV1 = c.router(
|
||||
500: ZUnsuccessfulResponseSchema,
|
||||
},
|
||||
summary: 'Send a document for signing',
|
||||
// I'm aware this should be in the variable itself, which it is, however it's difficult for users to find in our current UI.
|
||||
description:
|
||||
'Notes\n\n`sendEmail` - Whether to send an email to the recipients asking them to action the document. If you disable this, you will need to manually distribute the document to the recipients using the generated signing links. Defaults to true',
|
||||
},
|
||||
|
||||
resendDocument: {
|
||||
|
||||
@ -67,7 +67,10 @@ export type TSuccessfulDocumentResponseSchema = z.infer<typeof ZSuccessfulDocume
|
||||
|
||||
export const ZSendDocumentForSigningMutationSchema = z
|
||||
.object({
|
||||
sendEmail: z.boolean().optional().default(true),
|
||||
sendEmail: z.boolean().optional().default(true).openapi({
|
||||
description:
|
||||
'Whether to send an email to the recipients asking them to action the document. If you disable this, you will need to manually distribute the document to the recipients using the generated signing links.',
|
||||
}),
|
||||
})
|
||||
.or(z.literal('').transform(() => ({ sendEmail: true })));
|
||||
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { useMemo } from 'react';
|
||||
|
||||
import { Trans } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
import { match } from 'ts-pattern';
|
||||
@ -36,6 +38,14 @@ export const TemplateDocumentInvite = ({
|
||||
|
||||
const { actionVerb } = RECIPIENT_ROLES_DESCRIPTION[role];
|
||||
|
||||
const rejectDocumentLink = useMemo(() => {
|
||||
const url = new URL(signDocumentLink);
|
||||
|
||||
url.searchParams.set('reject', 'true');
|
||||
|
||||
return url.toString();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<>
|
||||
<TemplateDocumentImage className="mt-6" assetBaseUrl={assetBaseUrl} />
|
||||
@ -79,6 +89,13 @@ export const TemplateDocumentInvite = ({
|
||||
</Text>
|
||||
|
||||
<Section className="mb-6 mt-8 text-center">
|
||||
<Button
|
||||
className="mr-4 inline-flex items-center justify-center rounded-lg bg-red-500 px-6 py-3 text-center text-sm font-medium text-black no-underline"
|
||||
href={rejectDocumentLink}
|
||||
>
|
||||
<Trans>Reject Document</Trans>
|
||||
</Button>
|
||||
|
||||
<Button
|
||||
className="bg-documenso-500 inline-flex items-center justify-center rounded-lg px-6 py-3 text-center text-sm font-medium text-black no-underline"
|
||||
href={signDocumentLink}
|
||||
|
||||
@ -0,0 +1,48 @@
|
||||
import { Trans } from '@lingui/macro';
|
||||
|
||||
import { Button, Heading, Text } from '../components';
|
||||
|
||||
export interface TemplateDocumentRejectedProps {
|
||||
documentName: string;
|
||||
recipientName: string;
|
||||
rejectionReason?: string;
|
||||
documentUrl: string;
|
||||
}
|
||||
|
||||
export function TemplateDocumentRejected({
|
||||
documentName,
|
||||
recipientName: signerName,
|
||||
rejectionReason,
|
||||
documentUrl,
|
||||
}: TemplateDocumentRejectedProps) {
|
||||
return (
|
||||
<div className="mt-4">
|
||||
<Heading className="mb-4 text-center text-2xl font-semibold text-slate-800">
|
||||
<Trans>Document Rejected</Trans>
|
||||
</Heading>
|
||||
|
||||
<Text className="mb-4 text-base">
|
||||
<Trans>
|
||||
{signerName} has rejected the document "{documentName}".
|
||||
</Trans>
|
||||
</Text>
|
||||
|
||||
{rejectionReason && (
|
||||
<Text className="mb-4 text-base text-slate-400">
|
||||
<Trans>Reason for rejection: {rejectionReason}</Trans>
|
||||
</Text>
|
||||
)}
|
||||
|
||||
<Text className="mb-6 text-base">
|
||||
<Trans>You can view the document and its status by clicking the button below.</Trans>
|
||||
</Text>
|
||||
|
||||
<Button
|
||||
href={documentUrl}
|
||||
className="bg-documenso-500 inline-flex items-center justify-center rounded-lg px-6 py-3 text-center text-sm font-medium text-black no-underline"
|
||||
>
|
||||
<Trans>View Document</Trans>
|
||||
</Button>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
import { Trans } from '@lingui/macro';
|
||||
|
||||
import { Container, Heading, Section, Text } from '../components';
|
||||
|
||||
interface TemplateDocumentRejectionConfirmedProps {
|
||||
recipientName: string;
|
||||
documentName: string;
|
||||
documentOwnerName: string;
|
||||
reason?: string;
|
||||
}
|
||||
|
||||
export function TemplateDocumentRejectionConfirmed({
|
||||
recipientName,
|
||||
documentName,
|
||||
documentOwnerName,
|
||||
reason,
|
||||
}: TemplateDocumentRejectionConfirmedProps) {
|
||||
return (
|
||||
<Container>
|
||||
<Section>
|
||||
<Heading className="text-2xl font-semibold">
|
||||
<Trans>Rejection Confirmed</Trans>
|
||||
</Heading>
|
||||
|
||||
<Text className="text-primary text-base">
|
||||
<Trans>
|
||||
This email confirms that you have rejected the document{' '}
|
||||
<strong className="font-bold">"{documentName}"</strong> sent by {documentOwnerName}.
|
||||
</Trans>
|
||||
</Text>
|
||||
|
||||
{reason && (
|
||||
<Text className="text-base font-medium text-slate-400">
|
||||
<Trans>Rejection reason: {reason}</Trans>
|
||||
</Text>
|
||||
)}
|
||||
|
||||
<Text className="text-base">
|
||||
<Trans>
|
||||
The document owner has been notified of this rejection. No further action is required
|
||||
from you at this time. The document owner may contact you with any questions regarding
|
||||
this rejection.
|
||||
</Trans>
|
||||
</Text>
|
||||
</Section>
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
70
packages/email/templates/document-rejected.tsx
Normal file
70
packages/email/templates/document-rejected.tsx
Normal file
@ -0,0 +1,70 @@
|
||||
import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import { TemplateDocumentRejected } from '../template-components/template-document-rejected';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
|
||||
type DocumentRejectedEmailProps = {
|
||||
recipientName: string;
|
||||
documentName: string;
|
||||
documentUrl: string;
|
||||
rejectionReason: string;
|
||||
assetBaseUrl?: string;
|
||||
};
|
||||
|
||||
export function DocumentRejectedEmail({
|
||||
recipientName,
|
||||
documentName,
|
||||
documentUrl,
|
||||
rejectionReason,
|
||||
assetBaseUrl = 'http://localhost:3002',
|
||||
}: DocumentRejectedEmailProps) {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = _(msg`${recipientName} has rejected the document '${documentName}'`);
|
||||
|
||||
const getAssetUrl = (path: string) => {
|
||||
return new URL(path, assetBaseUrl).toString();
|
||||
};
|
||||
|
||||
return (
|
||||
<Html>
|
||||
<Head />
|
||||
<Preview>{previewText}</Preview>
|
||||
|
||||
<Body className="mx-auto my-auto bg-white font-sans">
|
||||
<Section>
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-4 backdrop-blur-sm">
|
||||
<Section>
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateDocumentRejected
|
||||
recipientName={recipientName}
|
||||
documentName={documentName}
|
||||
documentUrl={documentUrl}
|
||||
rejectionReason={rejectionReason}
|
||||
/>
|
||||
</Section>
|
||||
</Container>
|
||||
|
||||
<Container className="mx-auto max-w-xl">
|
||||
<TemplateFooter />
|
||||
</Container>
|
||||
</Section>
|
||||
</Body>
|
||||
</Html>
|
||||
);
|
||||
}
|
||||
|
||||
export default DocumentRejectedEmail;
|
||||
70
packages/email/templates/document-rejection-confirmed.tsx
Normal file
70
packages/email/templates/document-rejection-confirmed.tsx
Normal file
@ -0,0 +1,70 @@
|
||||
import { msg } from '@lingui/macro';
|
||||
import { useLingui } from '@lingui/react';
|
||||
|
||||
import { Body, Container, Head, Html, Img, Preview, Section } from '../components';
|
||||
import { useBranding } from '../providers/branding';
|
||||
import { TemplateDocumentRejectionConfirmed } from '../template-components/template-document-rejection-confirmed';
|
||||
import { TemplateFooter } from '../template-components/template-footer';
|
||||
|
||||
export type DocumentRejectionConfirmedEmailProps = {
|
||||
recipientName: string;
|
||||
documentName: string;
|
||||
documentOwnerName: string;
|
||||
reason: string;
|
||||
assetBaseUrl?: string;
|
||||
};
|
||||
|
||||
export function DocumentRejectionConfirmedEmail({
|
||||
recipientName,
|
||||
documentName,
|
||||
documentOwnerName,
|
||||
reason,
|
||||
assetBaseUrl = 'http://localhost:3002',
|
||||
}: DocumentRejectionConfirmedEmailProps) {
|
||||
const { _ } = useLingui();
|
||||
const branding = useBranding();
|
||||
|
||||
const previewText = _(msg`You have rejected the document '${documentName}'`);
|
||||
|
||||
const getAssetUrl = (path: string) => {
|
||||
return new URL(path, assetBaseUrl).toString();
|
||||
};
|
||||
|
||||
return (
|
||||
<Html>
|
||||
<Head />
|
||||
<Preview>{previewText}</Preview>
|
||||
|
||||
<Body className="mx-auto my-auto bg-white font-sans">
|
||||
<Section>
|
||||
<Container className="mx-auto mb-2 mt-8 max-w-xl rounded-lg border border-solid border-slate-200 p-4 backdrop-blur-sm">
|
||||
<Section>
|
||||
{branding.brandingEnabled && branding.brandingLogo ? (
|
||||
<Img src={branding.brandingLogo} alt="Branding Logo" className="mb-4 h-6" />
|
||||
) : (
|
||||
<Img
|
||||
src={getAssetUrl('/static/logo.png')}
|
||||
alt="Documenso Logo"
|
||||
className="mb-4 h-6"
|
||||
/>
|
||||
)}
|
||||
|
||||
<TemplateDocumentRejectionConfirmed
|
||||
recipientName={recipientName}
|
||||
documentName={documentName}
|
||||
documentOwnerName={documentOwnerName}
|
||||
reason={reason}
|
||||
/>
|
||||
</Section>
|
||||
</Container>
|
||||
|
||||
<Container className="mx-auto max-w-xl">
|
||||
<TemplateFooter />
|
||||
</Container>
|
||||
</Section>
|
||||
</Body>
|
||||
</Html>
|
||||
);
|
||||
}
|
||||
|
||||
export default DocumentRejectionConfirmedEmail;
|
||||
@ -6,6 +6,7 @@ export enum RecipientStatusType {
|
||||
OPENED = 'opened',
|
||||
WAITING = 'waiting',
|
||||
UNSIGNED = 'unsigned',
|
||||
REJECTED = 'rejected',
|
||||
}
|
||||
|
||||
export const getRecipientType = (recipient: Recipient) => {
|
||||
@ -16,6 +17,10 @@ export const getRecipientType = (recipient: Recipient) => {
|
||||
return RecipientStatusType.COMPLETED;
|
||||
}
|
||||
|
||||
if (recipient.signingStatus === SigningStatus.REJECTED) {
|
||||
return RecipientStatusType.REJECTED;
|
||||
}
|
||||
|
||||
if (
|
||||
recipient.sendStatus === SendStatus.SENT &&
|
||||
recipient.readStatus === ReadStatus.OPENED &&
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { JobClient } from './client/client';
|
||||
import { SEND_CONFIRMATION_EMAIL_JOB_DEFINITION } from './definitions/emails/send-confirmation-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';
|
||||
import { SEND_TEAM_DELETED_EMAIL_JOB_DEFINITION } from './definitions/emails/send-team-deleted-email';
|
||||
import { SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION } from './definitions/emails/send-team-member-joined-email';
|
||||
@ -17,6 +18,7 @@ export const jobsClient = new JobClient([
|
||||
SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION,
|
||||
SEND_TEAM_DELETED_EMAIL_JOB_DEFINITION,
|
||||
SEAL_DOCUMENT_JOB_DEFINITION,
|
||||
SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION,
|
||||
] as const);
|
||||
|
||||
export const jobs = jobsClient;
|
||||
|
||||
169
packages/lib/jobs/definitions/emails/send-rejection-emails.ts
Normal file
169
packages/lib/jobs/definitions/emails/send-rejection-emails.ts
Normal file
@ -0,0 +1,169 @@
|
||||
import { createElement } from 'react';
|
||||
|
||||
import { msg } from '@lingui/macro';
|
||||
import { z } from 'zod';
|
||||
|
||||
import { mailer } from '@documenso/email/mailer';
|
||||
import DocumentRejectedEmail from '@documenso/email/templates/document-rejected';
|
||||
import DocumentRejectionConfirmedEmail from '@documenso/email/templates/document-rejection-confirmed';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import { SendStatus, SigningStatus } from '@documenso/prisma/client';
|
||||
|
||||
import { getI18nInstance } from '../../../client-only/providers/i18n.server';
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../../../constants/app';
|
||||
import { FROM_ADDRESS, FROM_NAME } from '../../../constants/email';
|
||||
import { extractDerivedDocumentEmailSettings } from '../../../types/document-email';
|
||||
import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../../utils/team-global-settings-to-branding';
|
||||
import { formatDocumentsPath } from '../../../utils/teams';
|
||||
import { type JobDefinition } from '../../client/_internal/job';
|
||||
|
||||
const SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_ID = 'send.signing.rejected.emails';
|
||||
|
||||
const SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_SCHEMA = z.object({
|
||||
documentId: z.number(),
|
||||
recipientId: z.number(),
|
||||
});
|
||||
|
||||
export const SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION = {
|
||||
id: SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_ID,
|
||||
name: 'Send Rejection Emails',
|
||||
version: '1.0.0',
|
||||
trigger: {
|
||||
name: SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_ID,
|
||||
schema: SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_SCHEMA,
|
||||
},
|
||||
handler: async ({ payload, io }) => {
|
||||
const { documentId, recipientId } = payload;
|
||||
|
||||
const [document, recipient] = await Promise.all([
|
||||
prisma.document.findFirstOrThrow({
|
||||
where: {
|
||||
id: documentId,
|
||||
},
|
||||
include: {
|
||||
User: true,
|
||||
documentMeta: true,
|
||||
team: {
|
||||
select: {
|
||||
teamEmail: true,
|
||||
name: true,
|
||||
url: true,
|
||||
teamGlobalSettings: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}),
|
||||
prisma.recipient.findFirstOrThrow({
|
||||
where: {
|
||||
id: recipientId,
|
||||
signingStatus: SigningStatus.REJECTED,
|
||||
},
|
||||
}),
|
||||
]);
|
||||
|
||||
const { documentMeta, team, User: documentOwner } = document;
|
||||
|
||||
const isEmailEnabled = extractDerivedDocumentEmailSettings(
|
||||
document.documentMeta,
|
||||
).recipientSigningRequest;
|
||||
|
||||
if (!isEmailEnabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
const i18n = await getI18nInstance(documentMeta?.language);
|
||||
|
||||
// Send confirmation email to the recipient who rejected
|
||||
await io.runTask('send-rejection-confirmation-email', async () => {
|
||||
const recipientTemplate = createElement(DocumentRejectionConfirmedEmail, {
|
||||
recipientName: recipient.name,
|
||||
documentName: document.title,
|
||||
documentOwnerName: document.User.name || document.User.email,
|
||||
reason: recipient.rejectionReason || '',
|
||||
assetBaseUrl: NEXT_PUBLIC_WEBAPP_URL(),
|
||||
});
|
||||
|
||||
const branding = document.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(recipientTemplate, { lang: documentMeta?.language, branding }),
|
||||
renderEmailWithI18N(recipientTemplate, {
|
||||
lang: documentMeta?.language,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
await mailer.sendMail({
|
||||
to: {
|
||||
name: recipient.name,
|
||||
address: recipient.email,
|
||||
},
|
||||
from: {
|
||||
name: FROM_NAME,
|
||||
address: FROM_ADDRESS,
|
||||
},
|
||||
subject: i18n._(msg`Document "${document.title}" - Rejection Confirmed`),
|
||||
html,
|
||||
text,
|
||||
});
|
||||
});
|
||||
|
||||
// Send notification email to document owner
|
||||
await io.runTask('send-owner-notification-email', async () => {
|
||||
const ownerTemplate = createElement(DocumentRejectedEmail, {
|
||||
recipientName: recipient.name,
|
||||
documentName: document.title,
|
||||
documentUrl: `${NEXT_PUBLIC_WEBAPP_URL()}${formatDocumentsPath(document.team?.url)}/${
|
||||
document.id
|
||||
}`,
|
||||
rejectionReason: recipient.rejectionReason || '',
|
||||
assetBaseUrl: NEXT_PUBLIC_WEBAPP_URL(),
|
||||
});
|
||||
|
||||
const branding = document.team?.teamGlobalSettings
|
||||
? teamGlobalSettingsToBranding(document.team.teamGlobalSettings)
|
||||
: undefined;
|
||||
|
||||
const [html, text] = await Promise.all([
|
||||
renderEmailWithI18N(ownerTemplate, { lang: documentMeta?.language, branding }),
|
||||
renderEmailWithI18N(ownerTemplate, {
|
||||
lang: documentMeta?.language,
|
||||
branding,
|
||||
plainText: true,
|
||||
}),
|
||||
]);
|
||||
|
||||
await mailer.sendMail({
|
||||
to: {
|
||||
name: documentOwner.name || '',
|
||||
address: documentOwner.email,
|
||||
},
|
||||
from: {
|
||||
name: FROM_NAME,
|
||||
address: FROM_ADDRESS,
|
||||
},
|
||||
subject: i18n._(msg`Document "${document.title}" - Rejected by ${recipient.name}`),
|
||||
html,
|
||||
text,
|
||||
});
|
||||
});
|
||||
|
||||
await io.runTask('update-recipient', async () => {
|
||||
await prisma.recipient.update({
|
||||
where: {
|
||||
id: recipient.id,
|
||||
},
|
||||
data: {
|
||||
sendStatus: SendStatus.SENT,
|
||||
},
|
||||
});
|
||||
});
|
||||
},
|
||||
} as const satisfies JobDefinition<
|
||||
typeof SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_ID,
|
||||
z.infer<typeof SEND_SIGNING_REJECTION_EMAILS_JOB_DEFINITION_SCHEMA>
|
||||
>;
|
||||
@ -1,21 +1,25 @@
|
||||
import { base32 } from '@scure/base';
|
||||
import { TOTPController } from 'oslo/otp';
|
||||
import { generateHOTP } from 'oslo/otp';
|
||||
|
||||
import type { User } from '@documenso/prisma/client';
|
||||
|
||||
import { DOCUMENSO_ENCRYPTION_KEY } from '../../constants/crypto';
|
||||
import { symmetricDecrypt } from '../../universal/crypto';
|
||||
|
||||
const totp = new TOTPController();
|
||||
|
||||
type VerifyTwoFactorAuthenticationTokenOptions = {
|
||||
user: User;
|
||||
totpCode: string;
|
||||
// The number of windows to look back
|
||||
window?: number;
|
||||
// The duration that the token is valid for in seconds
|
||||
period?: number;
|
||||
};
|
||||
|
||||
export const verifyTwoFactorAuthenticationToken = async ({
|
||||
user,
|
||||
totpCode,
|
||||
window = 1,
|
||||
period = 30_000,
|
||||
}: VerifyTwoFactorAuthenticationTokenOptions) => {
|
||||
const key = DOCUMENSO_ENCRYPTION_KEY;
|
||||
|
||||
@ -27,7 +31,21 @@ export const verifyTwoFactorAuthenticationToken = async ({
|
||||
'utf-8',
|
||||
);
|
||||
|
||||
const isValidToken = await totp.verify(totpCode, base32.decode(secret));
|
||||
const decodedSecret = base32.decode(secret);
|
||||
|
||||
return isValidToken;
|
||||
let now = Date.now();
|
||||
|
||||
for (let i = 0; i < window; i++) {
|
||||
const counter = Math.floor(now / period);
|
||||
|
||||
const hotp = await generateHOTP(decodedSecret, counter);
|
||||
|
||||
if (totpCode === hotp) {
|
||||
return true;
|
||||
}
|
||||
|
||||
now -= period;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
@ -13,6 +13,7 @@ export const getRecipientsStats = async () => {
|
||||
[ReadStatus.NOT_OPENED]: 0,
|
||||
[SigningStatus.SIGNED]: 0,
|
||||
[SigningStatus.NOT_SIGNED]: 0,
|
||||
[SigningStatus.REJECTED]: 0,
|
||||
[SendStatus.SENT]: 0,
|
||||
[SendStatus.NOT_SENT]: 0,
|
||||
};
|
||||
|
||||
@ -66,6 +66,7 @@ export const findDocumentAuditLogs = async ({
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_DELETED,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_OPENED,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_COMPLETED,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_SENT,
|
||||
DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_MOVED_TO_TEAM,
|
||||
],
|
||||
|
||||
@ -112,6 +112,7 @@ export const isRecipientAuthorized = async ({
|
||||
return await verifyTwoFactorAuthenticationToken({
|
||||
user,
|
||||
totpCode: token,
|
||||
window: 10, // 5 minutes worth of tokens
|
||||
});
|
||||
})
|
||||
.exhaustive();
|
||||
|
||||
@ -0,0 +1,92 @@
|
||||
import { SigningStatus } from '@prisma/client';
|
||||
import { TRPCError } from '@trpc/server';
|
||||
|
||||
import { jobs } from '@documenso/lib/jobs/client';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
|
||||
import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs';
|
||||
import type { RequestMetadata } from '../../universal/extract-request-metadata';
|
||||
import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
|
||||
|
||||
export type RejectDocumentWithTokenOptions = {
|
||||
token: string;
|
||||
documentId: number;
|
||||
reason: string;
|
||||
requestMetadata?: RequestMetadata;
|
||||
};
|
||||
|
||||
export async function rejectDocumentWithToken({
|
||||
token,
|
||||
documentId,
|
||||
reason,
|
||||
requestMetadata,
|
||||
}: RejectDocumentWithTokenOptions) {
|
||||
// Find the recipient and document in a single query
|
||||
const recipient = await prisma.recipient.findFirst({
|
||||
where: {
|
||||
token,
|
||||
documentId,
|
||||
},
|
||||
include: {
|
||||
Document: {
|
||||
include: {
|
||||
User: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const document = recipient?.Document;
|
||||
|
||||
if (!recipient || !document) {
|
||||
throw new TRPCError({
|
||||
code: 'NOT_FOUND',
|
||||
message: 'Document or recipient not found',
|
||||
});
|
||||
}
|
||||
|
||||
// Add the audit log entry before updating the recipient
|
||||
|
||||
// Update the recipient status to rejected
|
||||
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({
|
||||
documentId,
|
||||
type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED,
|
||||
user: {
|
||||
name: recipient.name,
|
||||
email: recipient.email,
|
||||
},
|
||||
data: {
|
||||
recipientEmail: recipient.email,
|
||||
recipientName: recipient.name,
|
||||
recipientId: recipient.id,
|
||||
recipientRole: recipient.role,
|
||||
reason,
|
||||
},
|
||||
requestMetadata,
|
||||
}),
|
||||
}),
|
||||
]);
|
||||
|
||||
// Send email notifications
|
||||
await jobs.triggerJob({
|
||||
name: 'send.signing.rejected.emails',
|
||||
payload: {
|
||||
recipientId: recipient.id,
|
||||
documentId,
|
||||
},
|
||||
});
|
||||
|
||||
return updatedRecipient;
|
||||
}
|
||||
@ -10,6 +10,7 @@ import { DocumentStatus, RecipientRole, SigningStatus } from '@documenso/prisma/
|
||||
import { WebhookTriggerEvents } from '@documenso/prisma/client';
|
||||
import { signPdf } from '@documenso/signing';
|
||||
|
||||
import { ZSupportedLanguageCodeSchema } from '../../constants/i18n';
|
||||
import type { RequestMetadata } from '../../universal/extract-request-metadata';
|
||||
import { getFile } from '../../universal/upload/get-file';
|
||||
import { putPdfFile } from '../../universal/upload/put-file';
|
||||
@ -45,6 +46,7 @@ export const sealDocument = async ({
|
||||
},
|
||||
include: {
|
||||
documentData: true,
|
||||
documentMeta: true,
|
||||
Recipient: true,
|
||||
},
|
||||
});
|
||||
@ -90,7 +92,9 @@ export const sealDocument = async ({
|
||||
// !: Need to write the fields onto the document as a hard copy
|
||||
const pdfData = await getFile(documentData);
|
||||
|
||||
const certificate = await getCertificatePdf({ documentId })
|
||||
const documentLanguage = ZSupportedLanguageCodeSchema.parse(document.documentMeta?.language);
|
||||
|
||||
const certificate = await getCertificatePdf({ documentId, language: documentLanguage })
|
||||
.then(async (doc) => PDFDocument.load(doc))
|
||||
.catch(() => null);
|
||||
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
import { match } from 'ts-pattern';
|
||||
|
||||
import { formatDocumentsPath } from '@documenso/lib/utils/teams';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import { DocumentStatus } from '@documenso/prisma/client';
|
||||
import type { Document, Recipient, User } from '@documenso/prisma/client';
|
||||
import { DocumentVisibility, TeamMemberRole } from '@documenso/prisma/client';
|
||||
|
||||
export type SearchDocumentsWithKeywordOptions = {
|
||||
query: string;
|
||||
@ -67,10 +71,40 @@ export const searchDocumentsWithKeyword = async ({
|
||||
},
|
||||
deletedAt: null,
|
||||
},
|
||||
{
|
||||
title: {
|
||||
contains: query,
|
||||
mode: 'insensitive',
|
||||
},
|
||||
teamId: {
|
||||
not: null,
|
||||
},
|
||||
team: {
|
||||
members: {
|
||||
some: {
|
||||
userId: userId,
|
||||
},
|
||||
},
|
||||
},
|
||||
deletedAt: null,
|
||||
},
|
||||
],
|
||||
},
|
||||
include: {
|
||||
Recipient: true,
|
||||
team: {
|
||||
select: {
|
||||
url: true,
|
||||
members: {
|
||||
where: {
|
||||
userId: userId,
|
||||
},
|
||||
select: {
|
||||
role: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
orderBy: {
|
||||
createdAt: 'desc',
|
||||
@ -82,15 +116,48 @@ export const searchDocumentsWithKeyword = async ({
|
||||
const getSigningLink = (recipients: Recipient[], user: User) =>
|
||||
`/sign/${recipients.find((r) => r.email === user.email)?.token}`;
|
||||
|
||||
const maskedDocuments = documents.map((document) => {
|
||||
const { Recipient, ...documentWithoutRecipient } = document;
|
||||
const maskedDocuments = documents
|
||||
.filter((document) => {
|
||||
if (!document.teamId || isOwner(document, user)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return {
|
||||
...documentWithoutRecipient,
|
||||
path: isOwner(document, user) ? `/documents/${document.id}` : getSigningLink(Recipient, user),
|
||||
value: [document.id, document.title, ...document.Recipient.map((r) => r.email)].join(' '),
|
||||
};
|
||||
});
|
||||
const teamMemberRole = document.team?.members[0]?.role;
|
||||
|
||||
if (!teamMemberRole) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const canAccessDocument = match([document.visibility, teamMemberRole])
|
||||
.with([DocumentVisibility.EVERYONE, TeamMemberRole.ADMIN], () => true)
|
||||
.with([DocumentVisibility.EVERYONE, TeamMemberRole.MANAGER], () => true)
|
||||
.with([DocumentVisibility.EVERYONE, TeamMemberRole.MEMBER], () => true)
|
||||
.with([DocumentVisibility.MANAGER_AND_ABOVE, TeamMemberRole.ADMIN], () => true)
|
||||
.with([DocumentVisibility.MANAGER_AND_ABOVE, TeamMemberRole.MANAGER], () => true)
|
||||
.with([DocumentVisibility.ADMIN, TeamMemberRole.ADMIN], () => true)
|
||||
.otherwise(() => false);
|
||||
|
||||
return canAccessDocument;
|
||||
})
|
||||
.map((document) => {
|
||||
const { Recipient, ...documentWithoutRecipient } = document;
|
||||
|
||||
let documentPath;
|
||||
|
||||
if (isOwner(document, user)) {
|
||||
documentPath = `${formatDocumentsPath(document.team?.url)}/${document.id}`;
|
||||
} else if (document.teamId && document.team) {
|
||||
documentPath = `${formatDocumentsPath(document.team.url)}/${document.id}`;
|
||||
} else {
|
||||
documentPath = getSigningLink(Recipient, user);
|
||||
}
|
||||
|
||||
return {
|
||||
...documentWithoutRecipient,
|
||||
path: documentPath,
|
||||
value: [document.id, document.title, ...document.Recipient.map((r) => r.email)].join(' '),
|
||||
};
|
||||
});
|
||||
|
||||
return maskedDocuments;
|
||||
};
|
||||
|
||||
@ -17,6 +17,7 @@ import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
|
||||
import { renderCustomEmailTemplate } from '../../utils/render-custom-email-template';
|
||||
import { renderEmailWithI18N } from '../../utils/render-email-with-i18n';
|
||||
import { teamGlobalSettingsToBranding } from '../../utils/team-global-settings-to-branding';
|
||||
import { formatDocumentsPath } from '../../utils/teams';
|
||||
|
||||
export interface SendDocumentOptions {
|
||||
documentId: number;
|
||||
@ -59,7 +60,9 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
|
||||
|
||||
const assetBaseUrl = NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000';
|
||||
|
||||
let documentOwnerDownloadLink = `${NEXT_PUBLIC_WEBAPP_URL()}/documents/${document.id}`;
|
||||
let documentOwnerDownloadLink = `${NEXT_PUBLIC_WEBAPP_URL()}${formatDocumentsPath(
|
||||
document.team?.url,
|
||||
)}/${document.id}`;
|
||||
|
||||
if (document.team?.url) {
|
||||
documentOwnerDownloadLink = `${NEXT_PUBLIC_WEBAPP_URL()}/t/${document.team.url}/documents/${
|
||||
|
||||
@ -2,13 +2,15 @@ import { DateTime } from 'luxon';
|
||||
import type { Browser } from 'playwright';
|
||||
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
|
||||
import type { SupportedLanguageCodes } from '../../constants/i18n';
|
||||
import { encryptSecondaryData } from '../crypto/encrypt';
|
||||
|
||||
export type GetCertificatePdfOptions = {
|
||||
documentId: number;
|
||||
language?: SupportedLanguageCodes;
|
||||
};
|
||||
|
||||
export const getCertificatePdf = async ({ documentId }: GetCertificatePdfOptions) => {
|
||||
export const getCertificatePdf = async ({ documentId, language }: GetCertificatePdfOptions) => {
|
||||
const { chromium } = await import('playwright');
|
||||
|
||||
const encryptedId = encryptSecondaryData({
|
||||
@ -32,7 +34,19 @@ export const getCertificatePdf = async ({ documentId }: GetCertificatePdfOptions
|
||||
);
|
||||
}
|
||||
|
||||
const page = await browser.newPage();
|
||||
const browserContext = await browser.newContext();
|
||||
|
||||
const page = await browserContext.newPage();
|
||||
|
||||
if (language) {
|
||||
await page.context().addCookies([
|
||||
{
|
||||
name: 'language',
|
||||
value: language,
|
||||
url: NEXT_PUBLIC_WEBAPP_URL(),
|
||||
},
|
||||
]);
|
||||
}
|
||||
|
||||
await page.goto(`${NEXT_PUBLIC_WEBAPP_URL()}/__htmltopdf/certificate?d=${encryptedId}`, {
|
||||
waitUntil: 'networkidle',
|
||||
@ -43,6 +57,8 @@ export const getCertificatePdf = async ({ documentId }: GetCertificatePdfOptions
|
||||
format: 'A4',
|
||||
});
|
||||
|
||||
await browserContext.close();
|
||||
|
||||
void browser.close();
|
||||
|
||||
return result;
|
||||
|
||||
@ -42,7 +42,16 @@ export const acceptTeamInvitation = async ({ userId, teamId }: AcceptTeamInvitat
|
||||
});
|
||||
|
||||
if (teamMemberInvite.status === TeamMemberInviteStatus.ACCEPTED) {
|
||||
return;
|
||||
const memberExists = await tx.teamMember.findFirst({
|
||||
where: {
|
||||
teamId: teamMemberInvite.teamId,
|
||||
userId: user.id,
|
||||
},
|
||||
});
|
||||
|
||||
if (memberExists) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
const { team } = teamMemberInvite;
|
||||
|
||||
@ -3,7 +3,7 @@ import { hash } from '@node-rs/bcrypt';
|
||||
import { getStripeCustomerByUser } from '@documenso/ee/server-only/stripe/get-customer';
|
||||
import { updateSubscriptionItemQuantity } from '@documenso/ee/server-only/stripe/update-subscription-item-quantity';
|
||||
import { prisma } from '@documenso/prisma';
|
||||
import { IdentityProvider, Prisma, TeamMemberInviteStatus } from '@documenso/prisma/client';
|
||||
import { IdentityProvider, TeamMemberInviteStatus } from '@documenso/prisma/client';
|
||||
|
||||
import { IS_BILLING_ENABLED } from '../../constants/app';
|
||||
import { SALT_ROUNDS } from '../../constants/auth';
|
||||
@ -59,11 +59,11 @@ export const createUser = async ({ name, email, password, signature, url }: Crea
|
||||
|
||||
const acceptedTeamInvites = await prisma.teamMemberInvite.findMany({
|
||||
where: {
|
||||
status: TeamMemberInviteStatus.ACCEPTED,
|
||||
email: {
|
||||
equals: email,
|
||||
mode: Prisma.QueryMode.insensitive,
|
||||
mode: 'insensitive',
|
||||
},
|
||||
status: TeamMemberInviteStatus.ACCEPTED,
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: de\n"
|
||||
"Project-Id-Version: documenso-app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 09:34\n"
|
||||
"PO-Revision-Date: 2024-11-20 11:56\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@ -28,7 +28,7 @@ msgstr "„{documentName}“ wurde unterschrieben"
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:41
|
||||
msgid "“{documentName}” was signed by all signers"
|
||||
msgstr ""
|
||||
msgstr "„{documentName}“ wurde von allen Unterzeichnern signiert"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:109
|
||||
#~ msgid "{0}"
|
||||
@ -36,11 +36,11 @@ msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:80
|
||||
#~ msgid "{0} Document"
|
||||
#~ msgstr "{0} Dokument"
|
||||
#~ msgstr "{0} Document"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
|
||||
msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
|
||||
msgstr ""
|
||||
msgstr "{0} hat Sie eingeladen, das Dokument \"{1}\" {recipientActionVerb}."
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
|
||||
msgid "{0} invited you to {recipientActionVerb} a document"
|
||||
@ -65,7 +65,7 @@ msgstr "{0} hat dich im Namen von {1} eingeladen, das Dokument \"{2}\" {recipien
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:51
|
||||
#~ msgid "{0}<0/>\"{documentName}\""
|
||||
#~ msgstr ""
|
||||
#~ msgstr "{0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:94
|
||||
msgid "{inviterName} <0>({inviterEmail})</0>"
|
||||
@ -79,7 +79,7 @@ msgstr "{inviterName} hat das Dokument {documentName} storniert, du musst es nic
|
||||
msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} hat das Dokument<0/>\"{documentName}\" storniert"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} hat dich eingeladen, {0}<0/>\"{documentName}\""
|
||||
|
||||
@ -89,7 +89,7 @@ msgstr "{inviterName} hat dich eingeladen, {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:106
|
||||
msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
|
||||
msgstr ""
|
||||
msgstr "{inviterName} hat Sie eingeladen, das Dokument \"{documentName}\" {action}."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:20
|
||||
msgid "{inviterName} has removed you from the document {documentName}."
|
||||
@ -97,15 +97,15 @@ msgstr "{inviterName} hat dich aus dem Dokument {documentName} entfernt."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:49
|
||||
msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
|
||||
msgstr ""
|
||||
msgstr "{inviterName} hat dich aus dem Dokument<0/>\"{documentName}\" entfernt"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:53
|
||||
#: packages/email/template-components/template-document-invite.tsx:63
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
msgstr "{inviterName} im Namen von {teamName} hat Sie eingeladen, {0}"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{inviterName} hat dich im Namen von {teamName} eingeladen, {0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:45
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
|
||||
@ -151,11 +151,11 @@ msgstr "{prefix} hat ein Feld entfernt"
|
||||
msgid "{prefix} removed a recipient"
|
||||
msgstr "{prefix} hat einen Empfänger entfernt"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
#: packages/lib/utils/document-audit-logs.ts:365
|
||||
msgid "{prefix} resent an email to {0}"
|
||||
msgstr "{prefix} hat eine E-Mail an {0} erneut gesendet"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:356
|
||||
#: packages/lib/utils/document-audit-logs.ts:366
|
||||
msgid "{prefix} sent an email to {0}"
|
||||
msgstr "{prefix} hat eine E-Mail an {0} gesendet"
|
||||
|
||||
@ -207,13 +207,21 @@ msgstr "{prefix} hat die Sichtbarkeit des Dokuments aktualisiert"
|
||||
msgid "{recipientName} {action} a document by using one of your direct links"
|
||||
msgstr "{recipientName} {action} ein Dokument, indem Sie einen Ihrer direkten Links verwenden"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:58
|
||||
#: packages/email/templates/document-rejected.tsx:27
|
||||
msgid "{recipientName} has rejected the document '{documentName}'"
|
||||
msgstr "{recipientName} hat das Dokument '{documentName}' abgelehnt"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:25
|
||||
msgid "{signerName} has rejected the document \"{documentName}\"."
|
||||
msgstr "{signerName} hat das Dokument \"{documentName}\" abgelehnt."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:68
|
||||
msgid "{teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
msgstr "{teamName} hat Sie eingeladen, {0}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:46
|
||||
msgid "{teamName} has invited you to {action} {documentName}"
|
||||
msgstr ""
|
||||
msgstr "{teamName} hat Sie eingeladen, {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:55
|
||||
msgid "{teamName} ownership transfer request"
|
||||
@ -231,6 +239,10 @@ msgstr "{userName} hat das Dokument in CC gesetzt"
|
||||
msgid "{userName} completed their task"
|
||||
msgstr "{userName} hat ihre Aufgabe abgeschlossen"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
msgid "{userName} rejected the document"
|
||||
msgstr "{userName} hat das Dokument abgelehnt"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:341
|
||||
msgid "{userName} signed the document"
|
||||
msgstr "{userName} hat das Dokument unterschrieben"
|
||||
@ -245,7 +257,7 @@ msgstr "{visibleRows, plural, one {Eine # Ergebnis wird angezeigt.} other {# Erg
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:100
|
||||
#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
#~ msgstr "`{inviterName} hat dich eingeladen, das Dokument \"{documentName}\" {action}.`"
|
||||
#~ msgstr "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:59
|
||||
msgid "<0>{senderName}</0> has requested that you take ownership of the following team"
|
||||
@ -253,11 +265,11 @@ msgstr "<0>{senderName}</0> hat angefordert, dass du das folgende Team übernimm
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:75
|
||||
msgid "<0>{teamName}</0> has requested to use your email address for their team on Documenso."
|
||||
msgstr ""
|
||||
msgstr "<0>{teamName}</0> hat angefragt, Ihre E-Mail-Adresse für ihr Team bei Documenso zu verwenden."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
|
||||
msgid "<0>Email</0> - The recipient will be emailed the document to sign, approve, etc."
|
||||
msgstr ""
|
||||
msgstr "<0>E-Mail</0> - Der Empfänger erhält das Dokument zur Unterschrift, Genehmigung usw."
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
|
||||
msgid "<0>Inherit authentication method</0> - Use the global action signing authentication method configured in the \"General Settings\" step"
|
||||
@ -265,7 +277,7 @@ msgstr "<0>Authentifizierungsmethode erben</0> - Verwenden Sie die in den \"Allg
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
|
||||
msgid "<0>Links</0> - We will generate links which you can send to the recipients manually."
|
||||
msgstr ""
|
||||
msgstr "<0>Links</0> - Wir generieren Links, die Sie manuell an die Empfänger senden können."
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
|
||||
msgid "<0>No restrictions</0> - No authentication required"
|
||||
@ -281,7 +293,7 @@ msgstr "<0>Keine</0> - Keine Authentifizierung erforderlich"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
msgid "<0>Note</0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
|
||||
msgstr ""
|
||||
msgstr "<0>Hinweis</0> - Wenn Sie Links in Kombination mit direkten Vorlagen verwenden, müssen Sie die Links manuell an die restlichen Empfänger senden."
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
|
||||
@ -331,11 +343,11 @@ msgstr "Ein Empfänger wurde aktualisiert"
|
||||
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:156
|
||||
msgid "A request to use your email has been initiated by {0} on Documenso"
|
||||
msgstr ""
|
||||
msgstr "Eine Anfrage zur Verwendung Ihrer E-Mail wurde von {0} auf Documenso initiiert"
|
||||
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
#~ msgstr "Eine Anfrage zur Verwendung deiner E-Mail wurde von {teamName} auf Documenso initiiert"
|
||||
#~ msgstr "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:31
|
||||
msgid "A team member has joined a team on Documenso"
|
||||
@ -398,19 +410,19 @@ msgstr "Weitere Option hinzufügen"
|
||||
msgid "Add another value"
|
||||
msgstr "Weiteren Wert hinzufügen"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:662
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:691
|
||||
msgid "Add myself"
|
||||
msgstr "Mich selbst hinzufügen"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:637
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:645
|
||||
msgid "Add Myself"
|
||||
msgstr "Mich hinzufügen"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:623
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:631
|
||||
msgid "Add Placeholder Recipient"
|
||||
msgstr "Platzhalterempfänger hinzufügen"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:651
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:680
|
||||
msgid "Add Signer"
|
||||
msgstr "Unterzeichner hinzufügen"
|
||||
|
||||
@ -431,8 +443,8 @@ msgstr "Admin"
|
||||
msgid "Advanced Options"
|
||||
msgstr "Erweiterte Optionen"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:573
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:406
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:576
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:409
|
||||
msgid "Advanced settings"
|
||||
msgstr "Erweiterte Einstellungen"
|
||||
|
||||
@ -446,7 +458,7 @@ msgstr "Alle Unterschriften wurden ungültig gemacht."
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:98
|
||||
msgid "Allow document recipients to reply directly to this email address"
|
||||
msgstr ""
|
||||
msgstr "Erlauben Sie den Dokumentempfängern, direkt an diese E-Mail-Adresse zu antworten"
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:22
|
||||
msgid "An admin has deleted your document \"{documentName}\"."
|
||||
@ -460,9 +472,9 @@ msgstr "Ein Fehler ist beim Laden des Dokuments aufgetreten."
|
||||
msgid "Approve"
|
||||
msgstr "Genehmigen"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:89
|
||||
#: packages/email/template-components/template-document-invite.tsx:106
|
||||
msgid "Approve Document"
|
||||
msgstr ""
|
||||
msgstr "Dokument genehmigen"
|
||||
|
||||
#: packages/lib/constants/recipient-roles.ts:68
|
||||
#~ msgid "APPROVE_REQUEST"
|
||||
@ -502,7 +514,7 @@ msgstr "von <0>{senderName}</0>"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:87
|
||||
msgid "By accepting this request, you will be granting <0>{teamName}</0> access to:"
|
||||
msgstr ""
|
||||
msgstr "Durch die Annahme dieser Anfrage gewähren Sie <0>{teamName}</0> Zugriff auf:"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:70
|
||||
msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
|
||||
@ -538,6 +550,10 @@ msgstr "Ccers"
|
||||
msgid "Character Limit"
|
||||
msgstr "Zeichenbeschränkung"
|
||||
|
||||
#: packages/ui/primitives/document-flow/types.ts:58
|
||||
msgid "Checkbox"
|
||||
msgstr "Checkbox"
|
||||
|
||||
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197
|
||||
msgid "Checkbox values"
|
||||
msgstr "Checkbox-Werte"
|
||||
@ -573,8 +589,8 @@ msgstr "Abgeschlossenes Dokument"
|
||||
msgid "Configure Direct Recipient"
|
||||
msgstr "Direkten Empfänger konfigurieren"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:574
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:407
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:577
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:410
|
||||
msgid "Configure the {0} field"
|
||||
msgstr "Konfigurieren Sie das Feld {0}"
|
||||
|
||||
@ -588,27 +604,27 @@ msgstr "Fortsetzen"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:72
|
||||
#~ msgid "Continue by {0} the document."
|
||||
#~ msgstr "Fahre fort, indem du das Dokument {0}."
|
||||
#~ msgstr "Continue by {0} the document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
#: packages/email/template-components/template-document-invite.tsx:86
|
||||
msgid "Continue by approving the document."
|
||||
msgstr ""
|
||||
msgstr "Fahre fort, indem du das Dokument genehmigst."
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:45
|
||||
msgid "Continue by downloading the document."
|
||||
msgstr "Fahre fort, indem du das Dokument herunterlädst."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
#: packages/email/template-components/template-document-invite.tsx:84
|
||||
msgid "Continue by signing the document."
|
||||
msgstr ""
|
||||
msgstr "Fahre fort, indem du das Dokument signierst."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
#: packages/email/template-components/template-document-invite.tsx:85
|
||||
msgid "Continue by viewing the document."
|
||||
msgstr ""
|
||||
msgstr "Fahre fort, indem du das Dokument ansiehst."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:254
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
msgstr "Kopiert"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:46
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:241
|
||||
@ -617,7 +633,7 @@ msgstr "In die Zwischenablage kopiert"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:249
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Kopieren"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:194
|
||||
msgid "Copy Link"
|
||||
@ -635,9 +651,9 @@ msgstr "Konto erstellen"
|
||||
msgid "Custom Text"
|
||||
msgstr "Benutzerdefinierter Text"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:927
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:934
|
||||
#: packages/ui/primitives/document-flow/types.ts:53
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:690
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:697
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
@ -654,10 +670,18 @@ msgstr "Ablehnen"
|
||||
msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.</0>"
|
||||
msgstr "Hast du keinen Passwortwechsel angefordert? Wir helfen dir, dein Konto abzusichern, kontaktiere uns einfach <0>hier.</0>"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:578
|
||||
msgid "Direct link receiver"
|
||||
msgstr "Empfänger des direkten Links"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
|
||||
msgid "Document \"{0}\" - Rejected by {1}"
|
||||
msgstr "Dokument \"{0}\" - Abgelehnt von {1}"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
|
||||
msgid "Document \"{0}\" - Rejection Confirmed"
|
||||
msgstr "Dokument \"{0}\" - Ablehnung Bestätigt"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:216
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
|
||||
@ -673,14 +697,14 @@ msgstr "Die Authentifizierung für den Dokumentenzugriff wurde aktualisiert"
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Dokument storniert"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:359
|
||||
#: packages/lib/utils/document-audit-logs.ts:360
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
msgid "Document completed"
|
||||
msgstr "Dokument abgeschlossen"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:168
|
||||
msgid "Document completed email"
|
||||
msgstr ""
|
||||
msgstr "E-Mail zum Abschluss des Dokuments"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:286
|
||||
msgid "Document created"
|
||||
@ -701,7 +725,7 @@ msgstr "Dokument gelöscht"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:207
|
||||
msgid "Document deleted email"
|
||||
msgstr ""
|
||||
msgstr "E-Mail zum Löschen des Dokuments"
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:82
|
||||
msgid "Document Deleted!"
|
||||
@ -710,7 +734,7 @@ msgstr "Dokument gelöscht!"
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
|
||||
msgid "Document Distribution Method"
|
||||
msgstr ""
|
||||
msgstr "Verteilungsmethode für Dokumente"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document external ID updated"
|
||||
@ -726,7 +750,14 @@ msgstr "Dokument geöffnet"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:128
|
||||
msgid "Document pending email"
|
||||
msgstr ""
|
||||
msgstr "E-Mail über ausstehende Dokumente"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:21
|
||||
msgid "Document Rejected"
|
||||
msgstr "Dokument Abgelehnt"
|
||||
|
||||
#~ msgid "Document Rejection Confirmed"
|
||||
#~ msgstr "Document Rejection Confirmed"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document sent"
|
||||
@ -761,8 +792,8 @@ msgstr "Entwurf"
|
||||
msgid "Drag & drop your PDF here."
|
||||
msgstr "Ziehen Sie Ihr PDF hierher."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1058
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:820
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1065
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:827
|
||||
msgid "Dropdown"
|
||||
msgstr "Dropdown"
|
||||
|
||||
@ -771,14 +802,14 @@ msgid "Dropdown options"
|
||||
msgstr "Dropdown-Optionen"
|
||||
|
||||
#: packages/lib/constants/document.ts:28
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:875
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:882
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:272
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:500
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:507
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:512
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:519
|
||||
#: packages/ui/primitives/document-flow/types.ts:54
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:638
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:463
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:645
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478
|
||||
msgid "Email"
|
||||
msgstr "E-Mail"
|
||||
|
||||
@ -790,15 +821,15 @@ msgstr "E-Mail ist erforderlich"
|
||||
msgid "Email Options"
|
||||
msgstr "E-Mail-Optionen"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
msgid "Email resent"
|
||||
msgstr "E-Mail erneut gesendet"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
msgid "Email sent"
|
||||
msgstr "E-Mail gesendet"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1123
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1130
|
||||
msgid "Empty field"
|
||||
msgstr "Leeres Feld"
|
||||
|
||||
@ -807,11 +838,11 @@ msgid "Enable Direct Link Signing"
|
||||
msgstr "Direktlink-Signierung aktivieren"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:401
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:362
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:370
|
||||
msgid "Enable signing order"
|
||||
msgstr "Aktiviere die Signaturreihenfolge"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:795
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:802
|
||||
msgid "Enable Typed Signatures"
|
||||
msgstr "Aktivieren Sie getippte Unterschriften"
|
||||
|
||||
@ -889,7 +920,7 @@ msgstr "Freie Unterschrift"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:89
|
||||
msgid "Generate Links"
|
||||
msgstr ""
|
||||
msgstr "Links generieren"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
|
||||
msgid "Global recipient action authentication"
|
||||
@ -903,6 +934,9 @@ msgstr "Zurück"
|
||||
msgid "Green"
|
||||
msgstr "Grün"
|
||||
|
||||
#~ msgid "Hello {recipientName},"
|
||||
#~ msgstr "Hello {recipientName},"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:56
|
||||
msgid "Hi, {userName} <0>({userEmail})</0>"
|
||||
msgstr "Hallo, {userName} <0>({userEmail})</0>"
|
||||
@ -986,14 +1020,14 @@ msgstr "Nachricht <0>(Optional)</0>"
|
||||
msgid "Min"
|
||||
msgstr "Min"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:901
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:908
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:298
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:535
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:541
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:550
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:556
|
||||
#: packages/ui/primitives/document-flow/types.ts:55
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:664
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:498
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:504
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:671
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
@ -1009,17 +1043,17 @@ msgstr "Muss unterzeichnen"
|
||||
msgid "Needs to view"
|
||||
msgstr "Muss sehen"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:686
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:504
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:693
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:511
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "Kein passender Empfänger mit dieser Beschreibung gefunden."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:215
|
||||
msgid "No recipients"
|
||||
msgstr ""
|
||||
msgstr "Keine Empfänger"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:701
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:708
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:526
|
||||
msgid "No recipients with this role"
|
||||
msgstr "Keine Empfänger mit dieser Rolle"
|
||||
|
||||
@ -1045,11 +1079,11 @@ msgstr "Kein Wert gefunden."
|
||||
|
||||
#: packages/lib/constants/document.ts:32
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
msgstr "Keine"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:979
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:986
|
||||
#: packages/ui/primitives/document-flow/types.ts:56
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:749
|
||||
msgid "Number"
|
||||
msgstr "Nummer"
|
||||
|
||||
@ -1107,7 +1141,7 @@ msgstr "Wählen Sie eine Zahl"
|
||||
msgid "Placeholder"
|
||||
msgstr "Platzhalter"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:46
|
||||
#: packages/email/template-components/template-document-invite.tsx:56
|
||||
msgid "Please {0} your document<0/>\"{documentName}\""
|
||||
msgstr "Bitte {0} dein Dokument<0/>\"{documentName}\""
|
||||
|
||||
@ -1140,7 +1174,8 @@ msgstr "Bitte bestätige deine E-Mail-Adresse"
|
||||
msgid "Please try again or contact our support."
|
||||
msgstr "Bitte versuchen Sie es erneut oder kontaktieren Sie unseren Support."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:768
|
||||
#: packages/ui/primitives/document-flow/types.ts:57
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:775
|
||||
msgid "Radio"
|
||||
msgstr "Radio"
|
||||
|
||||
@ -1156,11 +1191,16 @@ msgstr "Radio-Werte"
|
||||
msgid "Read only"
|
||||
msgstr "Nur lesen"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:32
|
||||
msgid "Reason for rejection: {rejectionReason}"
|
||||
msgstr "Grund für die Ablehnung: {rejectionReason}"
|
||||
|
||||
#: packages/ui/components/recipient/recipient-role-select.tsx:95
|
||||
msgid "Receives copy"
|
||||
msgstr "Erhält Kopie"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
msgid "Recipient"
|
||||
msgstr "Empfänger"
|
||||
|
||||
@ -1172,11 +1212,11 @@ msgstr "Empfängeraktion Authentifizierung"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:89
|
||||
msgid "Recipient removed email"
|
||||
msgstr ""
|
||||
msgstr "E-Mail des entfernten Empfängers"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:50
|
||||
msgid "Recipient signing request email"
|
||||
msgstr ""
|
||||
msgstr "E-Mail zur Unterzeichnungsanfrage des Empfängers"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
|
||||
msgid "Red"
|
||||
@ -1187,6 +1227,18 @@ msgstr "Rot"
|
||||
msgid "Redirect URL"
|
||||
msgstr "Weiterleitungs-URL"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:96
|
||||
msgid "Reject Document"
|
||||
msgstr "Dokument Ablehnen"
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
|
||||
msgid "Rejection Confirmed"
|
||||
msgstr "Ablehnung Bestätigt"
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
|
||||
msgid "Rejection reason: {reason}"
|
||||
msgstr "Ablehnungsgrund: {reason}"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:192
|
||||
msgid "Reminder: {0}"
|
||||
msgstr "Erinnerung: {0}"
|
||||
@ -1203,7 +1255,7 @@ msgstr "Erinnerung: Bitte {recipientActionVerb} dieses Dokument"
|
||||
msgid "Reminder: Please {recipientActionVerb} your document"
|
||||
msgstr "Erinnerung: Bitte {recipientActionVerb} dein Dokument"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1110
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1117
|
||||
msgid "Remove"
|
||||
msgstr "Entfernen"
|
||||
|
||||
@ -1217,7 +1269,7 @@ msgstr "Pflichtfeld"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:84
|
||||
msgid "Resend"
|
||||
msgstr ""
|
||||
msgstr "Erneut senden"
|
||||
|
||||
#: packages/email/template-components/template-forgot-password.tsx:33
|
||||
msgid "Reset Password"
|
||||
@ -1235,7 +1287,7 @@ msgstr "Zeilen pro Seite"
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:854
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:861
|
||||
msgid "Save Template"
|
||||
msgstr "Vorlage speichern"
|
||||
|
||||
@ -1244,6 +1296,7 @@ msgid "Search languages..."
|
||||
msgstr "Sprachen suchen..."
|
||||
|
||||
#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:115
|
||||
#: packages/ui/primitives/document-flow/types.ts:59
|
||||
msgid "Select"
|
||||
msgstr "Auswählen"
|
||||
|
||||
@ -1272,27 +1325,27 @@ msgstr "Dokument senden"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:158
|
||||
msgid "Send document completed email"
|
||||
msgstr ""
|
||||
msgstr "E-Mail über den Abschluss des Dokuments senden"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:197
|
||||
msgid "Send document deleted email"
|
||||
msgstr ""
|
||||
msgstr "E-Mail über das Löschen des Dokuments senden"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:118
|
||||
msgid "Send document pending email"
|
||||
msgstr ""
|
||||
msgstr "E-Mail über ausstehende Dokumente senden"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:101
|
||||
msgid "Send documents on behalf of the team using the email address"
|
||||
msgstr ""
|
||||
msgstr "Dokumente im Namen des Teams über die E-Mail-Adresse senden"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:79
|
||||
msgid "Send recipient removed email"
|
||||
msgstr ""
|
||||
msgstr "E-Mail über entfernten Empfänger senden"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:40
|
||||
msgid "Send recipient signing request email"
|
||||
msgstr ""
|
||||
msgstr "E-Mail über Unterzeichnungsanfrage des Empfängers senden"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:135
|
||||
msgid "Share Signature Card"
|
||||
@ -1306,8 +1359,8 @@ msgstr "Link teilen"
|
||||
msgid "Share your signing experience!"
|
||||
msgstr "Teilen Sie Ihre Unterzeichnungserfahrung!"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:680
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:655
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:709
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:663
|
||||
msgid "Show advanced settings"
|
||||
msgstr "Erweiterte Einstellungen anzeigen"
|
||||
|
||||
@ -1315,19 +1368,19 @@ msgstr "Erweiterte Einstellungen anzeigen"
|
||||
msgid "Sign"
|
||||
msgstr "Unterschreiben"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:87
|
||||
#: packages/email/template-components/template-document-invite.tsx:104
|
||||
msgid "Sign Document"
|
||||
msgstr ""
|
||||
msgstr "Dokument signieren"
|
||||
|
||||
#: packages/email/template-components/template-reset-password.tsx:34
|
||||
msgid "Sign In"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:823
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:830
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:323
|
||||
#: packages/ui/primitives/document-flow/field-icon.tsx:52
|
||||
#: packages/ui/primitives/document-flow/types.ts:49
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:586
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:593
|
||||
msgid "Signature"
|
||||
msgstr "Unterschrift"
|
||||
|
||||
@ -1351,8 +1404,8 @@ msgstr "Unterzeichner müssen eindeutige E-Mails haben"
|
||||
msgid "Signing"
|
||||
msgstr "Unterzeichnung"
|
||||
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:111
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:191
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:114
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:194
|
||||
msgid "Signing Complete!"
|
||||
msgstr "Unterzeichnung abgeschlossen!"
|
||||
|
||||
@ -1392,7 +1445,7 @@ msgstr "Einreichen"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team.ts:124
|
||||
msgid "Team \"{0}\" has been deleted on Documenso"
|
||||
msgstr ""
|
||||
msgstr "Team \"{0}\" wurde auf Documenso gelöscht"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:104
|
||||
msgid "Team email has been revoked for {0}"
|
||||
@ -1410,9 +1463,9 @@ msgstr "Team-E-Mail für {teamName} auf Documenso entfernt"
|
||||
msgid "Template title"
|
||||
msgstr "Vorlagentitel"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:953
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:960
|
||||
#: packages/ui/primitives/document-flow/types.ts:52
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:716
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:723
|
||||
msgid "Text"
|
||||
msgstr "Text"
|
||||
|
||||
@ -1432,6 +1485,13 @@ msgstr "Die Authentifizierung, die erforderlich ist, damit Empfänger das Signat
|
||||
msgid "The authentication required for recipients to view the document."
|
||||
msgstr "Die Authentifizierung, die erforderlich ist, damit Empfänger das Dokument anzeigen können."
|
||||
|
||||
#~ msgid "The document owner has been notified of this rejection. No further action is required from you at this time."
|
||||
#~ msgstr "The document owner has been notified of this rejection. No further action is required from you at this time."
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:39
|
||||
msgid "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection."
|
||||
msgstr "Der Dokumenteninhaber wurde über diese Ablehnung informiert. Es sind derzeit keine weiteren Maßnahmen von Ihnen erforderlich. Der Dokumenteninhaber kann Sie bei Fragen zu dieser Ablehnung kontaktieren."
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
|
||||
msgid "The document's name"
|
||||
msgstr "Der Name des Dokuments"
|
||||
@ -1486,7 +1546,7 @@ msgstr "Der Name des Unterzeichners"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:243
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
msgstr ""
|
||||
msgstr "Der Signierlink wurde in die Zwischenablage kopiert."
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:63
|
||||
msgid "The team email <0>{teamEmail}</0> has been removed from the following team"
|
||||
@ -1500,7 +1560,7 @@ msgstr "Dies kann überschrieben werden, indem die Authentifizierungsanforderung
|
||||
msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
|
||||
msgstr "Dieses Dokument kann nicht wiederhergestellt werden. Wenn du den Grund für zukünftige Dokumente anfechten möchtest, kontaktiere bitte den Support."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:757
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:764
|
||||
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."
|
||||
|
||||
@ -1512,27 +1572,34 @@ msgstr "Dieses Dokument ist durch ein Passwort geschützt. Bitte geben Sie das P
|
||||
msgid "This document was sent using <0>Documenso.</0>"
|
||||
msgstr "Dieses Dokument wurde mit <0>Documenso.</0> gesendet"
|
||||
|
||||
#~ msgid "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
|
||||
#~ msgstr "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:26
|
||||
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."
|
||||
msgstr "Diese E-Mail bestätigt, dass Sie das Dokument <0>\"{documentName}\"</0> abgelehnt haben, das von {documentOwnerName} gesendet wurde."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:94
|
||||
msgid "This email is sent to the recipient if they are removed from a pending document."
|
||||
msgstr ""
|
||||
msgstr "Diese E-Mail wird an den Empfänger gesendet, wenn er von einem ausstehenden Dokument entfernt wird."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:55
|
||||
msgid "This email is sent to the recipient requesting them to sign the document."
|
||||
msgstr ""
|
||||
msgstr "Diese E-Mail wird an den Empfänger gesendet und fordert ihn auf, das Dokument zu unterschreiben."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:133
|
||||
msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
|
||||
msgstr ""
|
||||
msgstr "Diese E-Mail wird an den Empfänger gesendet, der das Dokument gerade unterschrieben hat, wenn es noch andere Empfänger gibt, die noch nicht unterschrieben haben."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:581
|
||||
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
|
||||
msgstr "Dieses Feld kann nicht geändert oder gelöscht werden. Wenn Sie den direkten Link dieser Vorlage teilen oder zu Ihrem öffentlichen Profil hinzufügen, kann jeder, der darauf zugreift, seinen Namen und seine E-Mail-Adresse eingeben und die ihm zugewiesenen Felder ausfüllen."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
|
||||
msgid "This is how the document will reach the recipients once the document is ready for signing."
|
||||
msgstr ""
|
||||
msgstr "So wird das Dokument die Empfänger erreichen, sobald es zum Unterschreiben bereit ist."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1090
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1097
|
||||
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
|
||||
msgstr "Dieser Empfänger kann nicht mehr bearbeitet werden, da er ein Feld unterschrieben oder das Dokument abgeschlossen hat."
|
||||
|
||||
@ -1542,11 +1609,11 @@ msgstr "Dieser Unterzeichner hat das Dokument bereits unterschrieben."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:212
|
||||
msgid "This will be sent to all recipients if a pending document has been deleted."
|
||||
msgstr ""
|
||||
msgstr "Dies wird an alle Empfänger gesendet, wenn ein ausstehendes Dokument gelöscht wurde."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:173
|
||||
msgid "This will be sent to all recipients once the document has been fully completed."
|
||||
msgstr ""
|
||||
msgstr "Dies wird an alle Empfänger gesendet, sobald das Dokument vollständig abgeschlossen ist."
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
|
||||
msgid "This will override any global settings."
|
||||
@ -1561,8 +1628,8 @@ msgstr "Zeitzone"
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1073
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:834
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1080
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:841
|
||||
msgid "To proceed further, please set at least one value for the {0} field."
|
||||
msgstr "Um fortzufahren, legen Sie bitte mindestens einen Wert für das Feld {0} fest."
|
||||
|
||||
@ -1594,7 +1661,7 @@ msgstr "Wert"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:71
|
||||
msgid "Verify your team email address"
|
||||
msgstr ""
|
||||
msgstr "Überprüfen Sie Ihre Team-E-Mail-Adresse"
|
||||
|
||||
#: packages/lib/constants/recipient-roles.ts:29
|
||||
msgid "View"
|
||||
@ -1602,17 +1669,18 @@ msgstr "Betrachten"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:95
|
||||
msgid "View all documents sent to and from this email address"
|
||||
msgstr ""
|
||||
msgstr "Sehen Sie sich alle Dokumente an, die an diese E-Mail-Adresse gesendet wurden und von dieser E-Mail-Adresse gesendet wurden"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:75
|
||||
msgid "View document"
|
||||
msgstr "Dokument anzeigen"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:88
|
||||
#: packages/email/template-components/template-document-invite.tsx:105
|
||||
#: packages/email/template-components/template-document-rejected.tsx:44
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:90
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:91
|
||||
msgid "View Document"
|
||||
msgstr ""
|
||||
msgstr "Dokument ansehen"
|
||||
|
||||
#: packages/email/template-components/template-document-self-signed.tsx:79
|
||||
msgid "View plans"
|
||||
@ -1648,11 +1716,11 @@ msgstr "Warten auf andere, um die Unterzeichnung abzuschließen."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:205
|
||||
msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
msgstr "Wir generieren Signierlinks mit Ihnen, die Sie den Empfängern über Ihre bevorzugte Methode senden können."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:201
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
msgstr "Wir werden nichts senden, um die Empfänger zu benachrichtigen."
|
||||
|
||||
#: packages/email/template-components/template-document-pending.tsx:41
|
||||
msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
|
||||
@ -1680,12 +1748,16 @@ msgstr "Du kannst diesen Link auch kopieren und in deinen Browser einfügen: {co
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:106
|
||||
msgid "You can revoke access at any time in your team settings on Documenso <0>here.</0>"
|
||||
msgstr ""
|
||||
msgstr "Sie können den Zugriff jederzeit in Ihren Teameinstellungen auf Documenso <0>hier.</0> widerrufen"
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
|
||||
msgid "You can use the following variables in your message:"
|
||||
msgstr "Sie können die folgenden Variablen in Ihrer Nachricht verwenden:"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:37
|
||||
msgid "You can view the document and its status by clicking the button below."
|
||||
msgstr "Sie können das Dokument und seinen Status einsehen, indem Sie auf die Schaltfläche unten klicken."
|
||||
|
||||
#: packages/ui/primitives/document-dropzone.tsx:43
|
||||
msgid "You cannot upload documents at this time."
|
||||
msgstr "Sie können derzeit keine Dokumente hochladen."
|
||||
@ -1719,6 +1791,13 @@ msgstr "Du hast das Dokument {0} initiiert, das erfordert, dass du {recipientAct
|
||||
msgid "You have reached your document limit."
|
||||
msgstr "Sie haben Ihr Dokumentenlimit erreicht."
|
||||
|
||||
#: packages/email/templates/document-rejection-confirmed.tsx:27
|
||||
msgid "You have rejected the document '{documentName}'"
|
||||
msgstr "Sie haben das Dokument '{documentName}' abgelehnt"
|
||||
|
||||
#~ msgid "You have rejected the document \"{documentName}\""
|
||||
#~ msgstr "You have rejected the document \"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-self-signed.tsx:42
|
||||
msgid "You have signed “{documentName}”"
|
||||
msgstr "Du hast „{documentName}“ unterzeichnet"
|
||||
@ -1735,3 +1814,4 @@ msgstr "Dein Passwort wurde aktualisiert."
|
||||
#: packages/email/templates/team-delete.tsx:32
|
||||
msgid "Your team has been deleted"
|
||||
msgstr "Dein Team wurde gelöscht"
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: de\n"
|
||||
"Project-Id-Version: documenso-app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 09:34\n"
|
||||
"PO-Revision-Date: 2024-11-20 11:56\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@ -602,3 +602,4 @@ msgstr "Sie können Documenso kostenlos selbst hosten oder unsere sofort einsatz
|
||||
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
|
||||
msgid "Your browser does not support the video tag."
|
||||
msgstr "Ihr Browser unterstützt das Video-Tag nicht."
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: de\n"
|
||||
"Project-Id-Version: documenso-app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 09:34\n"
|
||||
"PO-Revision-Date: 2024-11-20 11:56\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@ -18,9 +18,9 @@ msgstr ""
|
||||
"X-Crowdin-File: web.po\n"
|
||||
"X-Crowdin-File-ID: 8\n"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:211
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:214
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
msgstr "\"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
|
||||
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
|
||||
@ -32,31 +32,37 @@ msgstr "\"{documentTitle}\" wurde erfolgreich gelöscht"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:234
|
||||
msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
msgstr "\"{email}\" im Namen von \"{teamName}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid ""
|
||||
"\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
"document\"."
|
||||
msgstr ""
|
||||
#~ msgid ""
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
#~ msgstr ""
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{placeholderEmail}\" im Namen von \"{0}\" hat Sie eingeladen, \"Beispieldokument\" zu unterzeichnen."
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
|
||||
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
msgstr "\"{teamUrl}\" hat Sie eingeladen, \"Beispieldokument\" zu unterschreiben."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) hat dich eingeladen, dieses Dokument zu genehmigen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:75
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
msgid "({0}) has invited you to sign this document"
|
||||
msgstr "({0}) hat dich eingeladen, dieses Dokument zu unterzeichnen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:72
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:74
|
||||
msgid "({0}) has invited you to view this document"
|
||||
msgstr "({0}) hat dich eingeladen, dieses Dokument zu betrachten"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:313
|
||||
msgid "{0, plural, one {(1 character over)} other {(# characters over)}}"
|
||||
msgstr "{0, plural, one {(1 Zeichen über dem Limit)} other {(# Zeichen über dem Limit)}}"
|
||||
|
||||
@ -78,6 +84,10 @@ msgstr "{0, plural, one {# Sitz} other {# Sitze}}"
|
||||
msgid "{0, plural, one {<0>You have <1>1</1> pending team invitation</0>} other {<2>You have <3>#</3> pending team invitations</2>}}"
|
||||
msgstr "{0, plural, one {<0>Du hast <1>1</1> ausstehende Team-Einladung</0>} other {<2>Du hast <3>#</3> ausstehende Team-Einladungen</2>}}"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:196
|
||||
msgid "{0, plural, one {1 matching field} other {# matching fields}}"
|
||||
msgstr "{0, plural, one {1 passendes Feld} other {# passende Felder}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:129
|
||||
msgid "{0, plural, one {1 Recipient} other {# Recipients}}"
|
||||
msgstr "{0, plural, one {1 Empfänger} other {# Empfänger}}"
|
||||
@ -90,13 +100,17 @@ msgstr "{0, plural, one {Warte auf 1 Empfänger} other {Warte auf # Empfänger}}
|
||||
msgid "{0, plural, zero {Select values} other {# selected...}}"
|
||||
msgstr "{0, plural, zero {Werte auswählen} other {# ausgewählt...}}"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:193
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:249
|
||||
msgid "{0} direct signing templates"
|
||||
msgstr "{0} direkte Signaturvorlagen"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:66
|
||||
#~ msgid "{0} document"
|
||||
#~ msgstr "{0} Dokument"
|
||||
#~ msgstr "{0} document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:146
|
||||
msgid "{0} of {1} documents remaining this month."
|
||||
@ -108,9 +122,9 @@ msgstr "{0} Empfänger(in)"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
|
||||
#~ msgid "{0} the document to complete the process."
|
||||
#~ msgstr "{0} das Dokument, um den Prozess abzuschließen."
|
||||
#~ msgstr "{0} the document to complete the process."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:292
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:294
|
||||
msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}"
|
||||
msgstr "{charactersRemaining, plural, one {1 Zeichen verbleibend} other {{charactersRemaining} Zeichen verbleibend}}"
|
||||
|
||||
@ -124,11 +138,11 @@ msgstr "{numberOfSeats, plural, one {# Mitglied} other {# Mitglieder}}"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
|
||||
msgid "{recipientActionVerb} document"
|
||||
msgstr ""
|
||||
msgstr "{recipientActionVerb} Dokument"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:68
|
||||
msgid "{recipientActionVerb} the document to complete the process."
|
||||
msgstr ""
|
||||
msgstr "{recipientActionVerb} das Dokument, um den Prozess abzuschließen."
|
||||
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:231
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:389
|
||||
@ -341,7 +355,7 @@ msgstr "Unterzeichner hinzufügen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
|
||||
#~ msgid "Add Subject"
|
||||
#~ msgstr "Betreff hinzufügen"
|
||||
#~ msgstr "Add Subject"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
|
||||
msgid "Add team email"
|
||||
@ -357,7 +371,7 @@ msgstr "Fügen Sie die Empfänger hinzu, um das Dokument zu erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
#~ msgid "Add the subject and message you wish to send to signers."
|
||||
#~ msgstr "Fügen Sie den Betreff und die Nachricht hinzu, die Sie den Unterzeichnern senden möchten."
|
||||
#~ msgstr "Add the subject and message you wish to send to signers."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
|
||||
msgid "Adding and removing seats will adjust your invoice accordingly."
|
||||
@ -365,7 +379,7 @@ msgstr "Das Hinzufügen und Entfernen von Sitzplätzen wird Ihre Rechnung entspr
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
|
||||
msgid "Additional brand information to display at the bottom of emails"
|
||||
msgstr ""
|
||||
msgstr "Zusätzliche Markeninformationen, die am Ende von E-Mails angezeigt werden sollen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
|
||||
msgid "Admin Actions"
|
||||
@ -405,7 +419,7 @@ msgstr "Alle Empfänger werden benachrichtigt"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:62
|
||||
msgid "All signing links have been copied to your clipboard."
|
||||
msgstr ""
|
||||
msgstr "Alle Signierlinks wurden in die Zwischenablage kopiert."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:57
|
||||
msgid "All templates"
|
||||
@ -468,6 +482,10 @@ msgstr "Ein Fehler ist aufgetreten, während Unterzeichner hinzugefügt wurden."
|
||||
msgid "An error occurred while adding the fields."
|
||||
msgstr "Ein Fehler ist aufgetreten, während die Felder hinzugefügt wurden."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:154
|
||||
msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields."
|
||||
msgstr "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/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
|
||||
msgid "An error occurred while creating document from template."
|
||||
msgstr "Ein Fehler ist aufgetreten, während das Dokument aus der Vorlage erstellt wurde."
|
||||
@ -558,7 +576,7 @@ msgstr "Ein Fehler ist aufgetreten, während die Dokumenteinstellungen aktualisi
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:78
|
||||
#~ msgid "An error occurred while updating the global team settings."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "An error occurred while updating the global team settings."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
|
||||
msgid "An error occurred while updating the signature."
|
||||
@ -652,7 +670,7 @@ msgstr "Genehmigen"
|
||||
msgid "Approve Document"
|
||||
msgstr "Dokument genehmigen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:85
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:94
|
||||
msgid "Approved"
|
||||
msgstr "Genehmigt"
|
||||
|
||||
@ -660,6 +678,10 @@ msgstr "Genehmigt"
|
||||
msgid "Are you sure you want to delete this token?"
|
||||
msgstr "Bist du sicher, dass du dieses Token löschen möchtest?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:120
|
||||
msgid "Are you sure you want to reject this document? This action cannot be undone."
|
||||
msgstr "Sind Sie sicher, dass Sie dieses Dokument ablehnen möchten? Diese Aktion kann nicht rückgängig gemacht werden."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:188
|
||||
msgid "Are you sure you want to remove the <0>{passkeyName}</0> passkey."
|
||||
msgstr "Bist du sicher, dass du den <0>{passkeyName}</0> Passkey entfernen möchtest."
|
||||
@ -738,7 +760,7 @@ msgstr "Banner aktualisiert"
|
||||
msgid "Basic details"
|
||||
msgstr "Basisdetails"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:74
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
|
||||
@ -749,11 +771,11 @@ msgstr "Abrechnung"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr ""
|
||||
msgstr "Markenpräferenzen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
|
||||
msgid "Branding preferences updated"
|
||||
msgstr ""
|
||||
msgstr "Markenpräferenzen aktualisiert"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
|
||||
@ -762,7 +784,7 @@ msgstr "Browser"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:145
|
||||
msgid "Bulk Copy"
|
||||
msgstr ""
|
||||
msgstr "Massenkopie"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:279
|
||||
msgid "Bulk Import"
|
||||
@ -800,6 +822,7 @@ msgstr "Durch die Verwendung der elektronischen Unterschriftsfunktion stimmen Si
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:119
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:220
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:178
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:71
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164
|
||||
@ -807,10 +830,11 @@ msgstr "Durch die Verwendung der elektronischen Unterschriftsfunktion stimmen Si
|
||||
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:220
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:215
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:327
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:333
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176
|
||||
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242
|
||||
@ -842,7 +866,7 @@ msgstr "Diagramme"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
|
||||
#~ msgid "Check out the documentaton for the <0>global team settings</0>."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Check out the documentaton for the <0>global team settings</0>."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
|
||||
msgid "Checkout"
|
||||
@ -858,7 +882,7 @@ msgstr "Wählen Sie den direkten Link Empfänger"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
|
||||
msgid "Choose how the document will reach recipients"
|
||||
msgstr ""
|
||||
msgstr "Wählen Sie, wie das Dokument die Empfänger erreichen soll"
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:200
|
||||
msgid "Choose..."
|
||||
@ -940,7 +964,7 @@ msgid "Complete Viewing"
|
||||
msgstr "Betrachten abschließen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:62
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:77
|
||||
#: apps/web/src/components/formatter/document-status.tsx:28
|
||||
msgid "Completed"
|
||||
msgstr "Abgeschlossen"
|
||||
@ -1023,21 +1047,21 @@ msgstr "Weiter zum Login"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr ""
|
||||
msgstr "Steuert die Standardsprache eines hochgeladenen Dokuments. Diese wird als Sprache in der E-Mail-Kommunikation mit den Empfängern verwendet."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr ""
|
||||
msgstr "Steuert die Standard-sichtbarkeit eines hochgeladenen Dokuments."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
|
||||
msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
|
||||
msgstr ""
|
||||
msgstr "Steuert das Format der Nachricht, die gesendet wird, wenn ein Empfänger eingeladen wird, ein Dokument zu unterschreiben. Wenn eine benutzerdefinierte Nachricht beim Konfigurieren des Dokuments bereitgestellt wurde, wird diese stattdessen verwendet."
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
msgstr "Kopiert"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:133
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:162
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:77
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:163
|
||||
@ -1050,7 +1074,7 @@ msgstr "In die Zwischenablage kopiert"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:123
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Kopieren"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:169
|
||||
msgid "Copy sharable link"
|
||||
@ -1062,7 +1086,7 @@ msgstr "Kopiere den teilbaren Link"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:83
|
||||
msgid "Copy Signing Links"
|
||||
msgstr ""
|
||||
msgstr "Signierlinks kopieren"
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:288
|
||||
msgid "Copy token"
|
||||
@ -1096,7 +1120,7 @@ msgstr "Als Entwurf erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
|
||||
msgid "Create as pending"
|
||||
msgstr ""
|
||||
msgstr "Als ausstehend erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
|
||||
msgid "Create Direct Link"
|
||||
@ -1120,7 +1144,7 @@ msgstr "Einen automatisch erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
|
||||
msgid "Create signing links"
|
||||
msgstr ""
|
||||
msgstr "Unterzeichnung Links erstellen"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
|
||||
@ -1135,7 +1159,7 @@ msgstr "Team erstellen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
|
||||
msgid "Create the document as pending and ready to sign."
|
||||
msgstr ""
|
||||
msgstr "Erstellen Sie das Dokument als ausstehend und bereit zur Unterschrift."
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:250
|
||||
#: apps/web/src/components/forms/token.tsx:259
|
||||
@ -1225,12 +1249,12 @@ msgstr "Team-Einladung abgelehnt"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
msgid "Default Document Language"
|
||||
msgstr ""
|
||||
msgstr "Standardsprache des Dokuments"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
msgid "Default Document Visibility"
|
||||
msgstr ""
|
||||
msgstr "Standard Sichtbarkeit des Dokuments"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
msgid "delete"
|
||||
@ -1404,7 +1428,7 @@ msgstr "Zeigen Sie Ihren Namen und Ihre E-Mail in Dokumenten an"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Distribute Document"
|
||||
msgstr ""
|
||||
msgstr "Dokument verteilen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
|
||||
msgid "Do you want to delete this template?"
|
||||
@ -1505,12 +1529,16 @@ msgstr "Dokument ausstehend"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
|
||||
msgid "Document preferences updated"
|
||||
msgstr ""
|
||||
msgstr "Dokumentpräferenzen aktualisiert"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
|
||||
msgid "Document re-sent"
|
||||
msgstr "Dokument erneut gesendet"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
|
||||
msgid "Document Rejected"
|
||||
msgstr "Dokument abgelehnt"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
|
||||
msgid "Document resealed"
|
||||
msgstr "Dokument wieder versiegelt"
|
||||
@ -1521,7 +1549,7 @@ msgstr "Dokument gesendet"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Document Settings"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Signed"
|
||||
@ -1602,7 +1630,7 @@ msgstr "Herunterladen"
|
||||
msgid "Download Audit Logs"
|
||||
msgstr "Auditprotokolle herunterladen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:84
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:86
|
||||
msgid "Download Certificate"
|
||||
msgstr "Zertifikat herunterladen"
|
||||
|
||||
@ -1722,7 +1750,7 @@ msgstr "Authenticator-App aktivieren"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
|
||||
msgid "Enable custom branding for all documents in this team."
|
||||
msgstr ""
|
||||
msgstr "Aktivieren Sie individuelles Branding für alle Dokumente in diesem Team."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
|
||||
msgid "Enable direct link signing"
|
||||
@ -1751,7 +1779,7 @@ msgstr "Endet am"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
|
||||
msgid "Enter your brand details"
|
||||
msgstr ""
|
||||
msgstr "Geben Sie Ihre Markendaten ein"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
|
||||
msgid "Enter your email"
|
||||
@ -1765,7 +1793,7 @@ msgstr "Geben Sie Ihre E-Mail-Adresse ein, um das abgeschlossene Dokument zu erh
|
||||
msgid "Enter your name"
|
||||
msgstr "Geben Sie Ihren Namen ein"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:278
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:280
|
||||
msgid "Enter your text here"
|
||||
msgstr "Geben Sie hier Ihren Text ein"
|
||||
|
||||
@ -1784,6 +1812,7 @@ msgstr "Geben Sie hier Ihren Text ein"
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:152
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
|
||||
@ -1812,11 +1841,11 @@ msgstr "Fehler"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:77
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Error updating global team settings"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr ""
|
||||
msgstr "Jeder kann auf das Dokument zugreifen und es anzeigen"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
msgid "Everyone has signed"
|
||||
@ -1890,11 +1919,11 @@ msgstr "Allgemein"
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#~ msgid "Global Settings"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Global Settings"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:69
|
||||
#~ msgid "Global Team Settings Updated"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Global Team Settings Updated"
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
|
||||
@ -1934,11 +1963,11 @@ msgstr "Hier können Sie Ihre Passwort- und Sicherheitseinstellungen verwalten."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
|
||||
msgid "Here you can set preferences and defaults for branding."
|
||||
msgstr ""
|
||||
msgstr "Hier können Sie Präferenzen und Voreinstellungen für das Branding festlegen."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
|
||||
msgid "Here you can set preferences and defaults for your team."
|
||||
msgstr ""
|
||||
msgstr "Hier können Sie Präferenzen und Voreinstellungen für Ihr Team festlegen."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
|
||||
msgid "Here's how it works:"
|
||||
@ -1993,7 +2022,7 @@ msgstr "Posteingang Dokumente"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:132
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Include Sender Details"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
|
||||
@ -2163,7 +2192,7 @@ msgstr "Vorlage verlinken"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
|
||||
msgid "Links Generated"
|
||||
msgstr ""
|
||||
msgstr "Links generiert"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
|
||||
@ -2215,6 +2244,10 @@ msgstr "Verwalten Sie alle Teams, mit denen Sie derzeit verbunden sind."
|
||||
msgid "Manage and view template"
|
||||
msgstr "Vorlage verwalten und anzeigen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:136
|
||||
msgid "Manage billing"
|
||||
msgstr "Rechnungsmanagement"
|
||||
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341
|
||||
msgid "Manage details for this public template"
|
||||
msgstr "Details für diese öffentliche Vorlage verwalten"
|
||||
@ -2235,7 +2268,7 @@ msgstr "Passkeys verwalten"
|
||||
msgid "Manage subscription"
|
||||
msgstr "Abonnement verwalten"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:67
|
||||
msgid "Manage Subscription"
|
||||
msgstr "Abonnement verwalten"
|
||||
|
||||
@ -2294,7 +2327,7 @@ msgstr "Mitglied seit"
|
||||
msgid "Members"
|
||||
msgstr "Mitglieder"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:46
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35
|
||||
msgid "Modify recipients"
|
||||
msgstr "Empfänger ändern"
|
||||
@ -2388,6 +2421,10 @@ msgstr "Nächstes Feld"
|
||||
msgid "No active drafts"
|
||||
msgstr "Keine aktiven Entwürfe"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
|
||||
msgid "No further action is required from you at this time."
|
||||
msgstr "Es sind derzeit keine weiteren Maßnahmen Ihrerseits erforderlich."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
|
||||
msgid "No payment required"
|
||||
msgstr "Keine Zahlung erforderlich"
|
||||
@ -2404,7 +2441,7 @@ msgstr "Keine aktuellen Aktivitäten"
|
||||
msgid "No recent documents"
|
||||
msgstr "Keine aktuellen Dokumente"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:61
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:70
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:49
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:96
|
||||
msgid "No recipients"
|
||||
@ -2444,7 +2481,7 @@ msgstr "Nicht unterstützt"
|
||||
msgid "Nothing to do"
|
||||
msgstr "Nichts zu tun"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:270
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:271
|
||||
msgid "Number"
|
||||
msgstr "Nummer"
|
||||
|
||||
@ -2480,11 +2517,11 @@ msgstr "Sobald Sie den QR-Code gescannt oder den Code manuell eingegeben haben,
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:134
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr ""
|
||||
msgstr "Nur Administratoren können auf das Dokument zugreifen und es anzeigen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr ""
|
||||
msgstr "Nur Manager und darüber können auf das Dokument zugreifen und es anzeigen"
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
|
||||
@ -2494,7 +2531,7 @@ msgstr ""
|
||||
msgid "Oops! Something went wrong."
|
||||
msgstr "Hoppla! Etwas ist schief gelaufen."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:140
|
||||
msgid "Opened"
|
||||
msgstr "Geöffnet"
|
||||
|
||||
@ -2593,7 +2630,7 @@ msgstr "Zahlung ist erforderlich, um die Erstellung Ihres Teams abzuschließen."
|
||||
msgid "Payment overdue"
|
||||
msgstr "Zahlung überfällig"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:122
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:131
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:211
|
||||
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:82
|
||||
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:77
|
||||
@ -2686,6 +2723,10 @@ msgstr "Bitte beachten Sie, dass Sie den Zugriff auf alle Dokumente, die mit die
|
||||
msgid "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified"
|
||||
msgstr "Bitte beachten Sie, dass Sie den Zugriff auf alle mit diesem Team verbundenen Dokumente verlieren werden und alle Mitglieder entfernt und benachrichtigt werden."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
|
||||
msgid "Please provide a reason"
|
||||
msgstr "Bitte geben Sie einen Grund an"
|
||||
|
||||
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:127
|
||||
msgid "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support."
|
||||
msgstr "Bitte geben Sie ein Token von der Authentifizierungs-App oder einen Backup-Code an. Wenn Sie keinen Backup-Code haben, kontaktieren Sie bitte den Support."
|
||||
@ -2722,7 +2763,7 @@ msgstr "Einstellungen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
msgstr "Vorschau"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
|
||||
msgid "Preview and configure template."
|
||||
@ -2730,7 +2771,7 @@ msgstr "Vorschau und Vorlagen konfigurieren."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#~ msgid "Preview: {0}"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Preview: {0}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
|
||||
#: apps/web/src/components/formatter/template-type.tsx:22
|
||||
@ -2794,7 +2835,7 @@ msgstr "Nur-Lese-Feld"
|
||||
msgid "Read the full <0>signature disclosure</0>."
|
||||
msgstr "Lesen Sie die vollständige <0>Offenlegung der Unterschrift</0>."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:97
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:106
|
||||
msgid "Ready"
|
||||
msgstr "Bereit"
|
||||
|
||||
@ -2802,6 +2843,14 @@ msgstr "Bereit"
|
||||
msgid "Reason"
|
||||
msgstr "Grund"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
|
||||
msgid "Reason for rejection:"
|
||||
msgstr "Grund für die Ablehnung:"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
|
||||
msgid "Reason must be less than 500 characters"
|
||||
msgstr "Der Grund muss weniger als 500 Zeichen lang sein"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
|
||||
msgid "Reauthentication is required to sign this field"
|
||||
msgstr "Eine erneute Authentifizierung ist erforderlich, um dieses Feld zu unterschreiben"
|
||||
@ -2826,7 +2875,7 @@ msgid "Recipient updated"
|
||||
msgstr "Empfänger aktualisiert"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:40
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:49
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:139
|
||||
msgid "Recipients"
|
||||
@ -2854,6 +2903,17 @@ msgstr "Wiederherstellungscodes"
|
||||
msgid "Registration Successful"
|
||||
msgstr "Registrierung erfolgreich"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162
|
||||
msgid "Reject Document"
|
||||
msgstr "Dokument ablehnen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:141
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
|
||||
msgid "Rejected"
|
||||
msgstr "Abgelehnt"
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
|
||||
msgid "Remembered your password? <0>Sign In</0>"
|
||||
msgstr "Haben Sie Ihr Passwort vergessen? <0>Einloggen</0>"
|
||||
@ -2984,10 +3044,10 @@ msgid "Roles"
|
||||
msgstr "Rollen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
@ -3065,7 +3125,7 @@ msgstr "Dokument senden"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr ""
|
||||
msgstr "Im Namen des Teams senden"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
|
||||
msgid "Send reminder"
|
||||
@ -3083,7 +3143,7 @@ msgstr "Zurücksetzungs-E-Mail wird gesendet..."
|
||||
msgid "Sending..."
|
||||
msgstr "Senden..."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:92
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
|
||||
msgid "Sent"
|
||||
msgstr "Gesendet"
|
||||
@ -3133,6 +3193,7 @@ msgstr "Vorlagen in Ihrem Team-Öffentliches Profil anzeigen, damit Ihre Zielgru
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
|
||||
#: apps/web/src/app/(profile)/p/[url]/page.tsx:192
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:124
|
||||
@ -3230,7 +3291,7 @@ msgstr "Gesammelte Unterschriften"
|
||||
msgid "Signatures will appear once the document has been completed"
|
||||
msgstr "Unterschriften erscheinen, sobald das Dokument abgeschlossen ist"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:105
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:270
|
||||
#: apps/web/src/components/document/document-read-only-fields.tsx:84
|
||||
msgid "Signed"
|
||||
@ -3256,11 +3317,11 @@ msgstr "Anmeldung..."
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:160
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
|
||||
msgid "Signing Links"
|
||||
msgstr ""
|
||||
msgstr "Signierlinks"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
|
||||
msgid "Signing links have been generated for this document."
|
||||
msgstr ""
|
||||
msgstr "Unterzeichnungslinks wurden für dieses Dokument erstellt."
|
||||
|
||||
#: apps/web/src/components/forms/signup.tsx:235
|
||||
msgid "Signing up..."
|
||||
@ -3283,13 +3344,13 @@ msgstr "Website Einstellungen"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:80
|
||||
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:50
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:124
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:73
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:93
|
||||
@ -3344,7 +3405,7 @@ msgstr "Etwas ist schiefgelaufen beim Aktualisieren des Abonnements für die Tea
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
|
||||
msgid "Something went wrong!"
|
||||
msgstr ""
|
||||
msgstr "Etwas ist schiefgelaufen!"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
|
||||
@ -3355,7 +3416,7 @@ msgstr "Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut oder kontaktiere
|
||||
msgid "Sorry, we were unable to download the audit logs. Please try again later."
|
||||
msgstr "Entschuldigung, wir konnten die Prüfprotokolle nicht herunterladen. Bitte versuchen Sie es später erneut."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:70
|
||||
msgid "Sorry, we were unable to download the certificate. Please try again later."
|
||||
msgstr "Entschuldigung, wir konnten das Zertifikat nicht herunterladen. Bitte versuchen Sie es später erneut."
|
||||
|
||||
@ -3511,7 +3572,7 @@ msgstr "Team-Eigentum übertragen!"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
|
||||
msgid "Team Preferences"
|
||||
msgstr ""
|
||||
msgstr "Teampräferenzen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
|
||||
msgid "Team Public Profile"
|
||||
@ -3604,8 +3665,8 @@ msgstr "Vorlagen"
|
||||
msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields."
|
||||
msgstr "Vorlagen erlauben dir das schnelle Erstlelen von Dokumenten mit vorausgefüllten Empfängern und Feldern."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:256
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:272
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:257
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:274
|
||||
msgid "Text"
|
||||
msgstr "Text"
|
||||
|
||||
@ -3639,6 +3700,10 @@ msgstr "Das Dokument wurde erfolgreich in das ausgewählte Team verschoben."
|
||||
msgid "The document is now completed, please follow any instructions provided within the parent application."
|
||||
msgstr "Das Dokument ist jetzt abgeschlossen. Bitte folgen Sie allen Anweisungen, die in der übergeordneten Anwendung bereitgestellt werden."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:92
|
||||
msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
|
||||
msgstr "Der Dokumenteneigentümer wurde über Ihre Entscheidung informiert. Er kann Sie bei Bedarf mit weiteren Anweisungen kontaktieren."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
|
||||
msgid "The document was created but could not be sent to recipients."
|
||||
msgstr "Das Dokument wurde erstellt, konnte aber nicht an die Empfänger versendet werden."
|
||||
@ -3659,7 +3724,7 @@ msgstr "Die Ereignisse, die einen Webhook auslösen, der an Ihre URL gesendet wi
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
|
||||
#~ msgid "The global settings for the documents in your team account."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "The global settings for the documents in your team account."
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
|
||||
msgid "The ownership of team <0>{0}</0> has been successfully transferred to you."
|
||||
@ -3693,7 +3758,7 @@ msgstr "Der Empfänger wurde erfolgreich aktualisiert"
|
||||
msgid "The selected team member will receive an email which they must accept before the team is transferred"
|
||||
msgstr "Das ausgewählte Teammitglied erhält eine E-Mail, die es akzeptieren muss, bevor das Team übertragen wird"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:134
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:163
|
||||
#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:41
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:118
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
@ -4135,7 +4200,7 @@ msgstr "Anmeldung nicht möglich"
|
||||
msgid "Unauthorized"
|
||||
msgstr "Nicht autorisiert"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:116
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:155
|
||||
msgid "Uncompleted"
|
||||
msgstr "Unvollendet"
|
||||
|
||||
@ -4228,7 +4293,7 @@ msgstr "Avatar hochladen"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
|
||||
msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
|
||||
msgstr ""
|
||||
msgstr "Laden Sie Ihr Markenlogo hoch (max. 5MB, JPG, PNG oder WebP)"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
|
||||
@ -4380,12 +4445,12 @@ msgstr "Wiederherstellungscodes ansehen"
|
||||
msgid "View teams"
|
||||
msgstr "Teams ansehen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:111
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259
|
||||
msgid "Viewed"
|
||||
msgstr "Angesehen"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:86
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:125
|
||||
msgid "Waiting"
|
||||
msgstr "Warten"
|
||||
|
||||
@ -4405,7 +4470,7 @@ msgstr "Möchten Sie auffällige Signatur-Links wie diesen senden? <0>Überprüf
|
||||
msgid "Want your own public profile?"
|
||||
msgstr "Möchten Sie Ihr eigenes öffentliches Profil haben?"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:40
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:41
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:55
|
||||
#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:31
|
||||
msgid "We are unable to proceed to the billing portal at this time. Please try again, or contact support."
|
||||
@ -4591,11 +4656,11 @@ msgstr "Wir konnten dieses Dokument zurzeit nicht einreichen. Bitte versuchen Si
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
|
||||
msgid "We were unable to update your branding preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
msgstr "Wir konnten Ihre Markenpräferenzen zu diesem Zeitpunkt nicht aktualisieren, bitte versuchen Sie es später noch einmal"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
|
||||
msgid "We were unable to update your document preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
msgstr "Wir konnten Ihre Dokumentpräferenzen zu diesem Zeitpunkt nicht aktualisieren, bitte versuchen Sie es später noch einmal"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
|
||||
msgid "We were unable to verify your details. Please try again or contact support"
|
||||
@ -4607,11 +4672,11 @@ msgstr "Wir konnten Ihre E-Mail nicht bestätigen. Wenn Ihre E-Mail noch nicht b
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
|
||||
msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
msgstr "Wir werden Unterzeichnungslinks für Sie erstellen, die Sie an die Empfänger über Ihre bevorzugte Methode senden können."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
msgstr "Wir werden nichts senden, um die Empfänger zu benachrichtigen."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
|
||||
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
|
||||
@ -4669,6 +4734,10 @@ msgstr "Hast du stattdessen versucht, dieses Dokument zu bearbeiten?"
|
||||
msgid "When you click continue, you will be prompted to add the first available authenticator on your system."
|
||||
msgstr "Wenn Sie auf Fortfahren klicken, werden Sie aufgefordert, den ersten verfügbaren Authenticator auf Ihrem System hinzuzufügen."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:183
|
||||
msgid "When you sign a document, we can automatically fill in and sign the following fields using information that has already been provided. You can also manually sign or remove any automatically signed fields afterwards if you desire."
|
||||
msgstr "Wenn Sie ein Dokument unterschreiben, können wir die folgenden Felder automatisch ausfüllen und signieren, indem wir bereits bereitgestellte Informationen verwenden. Sie können auch nachträglich manuell unterschreiben oder automatisch signierte Felder entfernen, wenn Sie möchten."
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36
|
||||
msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
|
||||
msgstr "Wenn Sie unsere Plattform nutzen, um Ihre elektronische Unterschrift auf Dokumente anzubringen, stimmen Sie zu, dies unter dem Gesetz über elektronische Unterschriften im globalen und nationalen Handel (E-Sign-Gesetz) und anderen anwendbaren Gesetzen zu tun. Diese Handlung zeigt Ihre Zustimmung zur Verwendung elektronischer Mittel zum Unterzeichnen von Dokumenten und zum Empfang von Benachrichtigungen an."
|
||||
@ -4738,7 +4807,7 @@ msgstr "Sie stehen kurz davor, den folgenden Benutzer aus <0>{teamName}</0> zu e
|
||||
msgid "You are about to revoke access for team <0>{0}</0> ({1}) to use your email."
|
||||
msgstr "Sie stehen kurz davor, den Zugriff für das Team <0>{0}</0> ({1}) zu widerrufen."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:80
|
||||
msgid "You are currently on the <0>Free Plan</0>."
|
||||
msgstr "Sie befinden sich derzeit im <0>kostenlosen Plan</0>."
|
||||
|
||||
@ -4768,7 +4837,7 @@ msgstr "Sie können Ihr Profil später über die Profileinstellungen beanspruche
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:87
|
||||
msgid "You can copy and share these links to recipients so they can action the document."
|
||||
msgstr ""
|
||||
msgstr "Sie können diese Links kopieren und mit den Empfängern teilen, damit sie das Dokument bearbeiten können."
|
||||
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:154
|
||||
msgid "You can update the profile URL by updating the team URL in the general settings page."
|
||||
@ -4790,7 +4859,7 @@ msgstr "Sie können ein Teammitglied, das eine höhere Rolle als Sie hat, nicht
|
||||
msgid "You cannot upload encrypted PDFs"
|
||||
msgstr "Sie können keine verschlüsselten PDFs hochladen"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:45
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:46
|
||||
msgid "You do not currently have a customer record, this should not happen. Please contact support for assistance."
|
||||
msgstr "Sie haben derzeit keinen Kundenrecord, das sollte nicht passieren. Bitte kontaktieren Sie den Support um Hilfe."
|
||||
|
||||
@ -4840,6 +4909,10 @@ msgstr "Sie haben Ihr Dokumentenlimit erreicht."
|
||||
msgid "You have reached your document limit. <0>Upgrade your account to continue!</0>"
|
||||
msgstr "Sie haben Ihr Dokumentenlimit erreicht. <0>Upgrade your account to continue!</0>"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
|
||||
msgid "You have rejected this document"
|
||||
msgstr "Sie haben dieses Dokument abgelehnt"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
|
||||
msgid "You have successfully left this team."
|
||||
msgstr "Sie haben dieses Team erfolgreich verlassen."
|
||||
@ -4926,13 +4999,13 @@ msgstr "Ihr Banner wurde erfolgreich aktualisiert."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
|
||||
msgid "Your brand website URL"
|
||||
msgstr ""
|
||||
msgstr "Ihre Marken-Website-URL"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
|
||||
msgid "Your branding preferences have been updated"
|
||||
msgstr ""
|
||||
msgstr "Ihre Markenpräferenzen wurden aktualisiert"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125
|
||||
msgid "Your current plan is past due. Please update your payment information."
|
||||
msgstr "Ihr aktueller Plan ist überfällig. Bitte aktualisieren Sie Ihre Zahlungsinformationen."
|
||||
|
||||
@ -4970,7 +5043,7 @@ msgstr "Ihr Dokument wurde erfolgreich hochgeladen. Sie werden zur Vorlagenseite
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:92
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr ""
|
||||
msgstr "Ihre Dokumentpräferenzen wurden aktualisiert"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
|
||||
msgid "Your documents"
|
||||
@ -4991,7 +5064,7 @@ msgstr "Ihre vorhandenen Tokens"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:70
|
||||
#~ msgid "Your global team document settings has been updated successfully."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Your global team document settings has been updated successfully."
|
||||
|
||||
#: apps/web/src/components/forms/password.tsx:72
|
||||
#: apps/web/src/components/forms/reset-password.tsx:73
|
||||
@ -5067,3 +5140,4 @@ msgstr "Ihr Token wurde erfolgreich erstellt! Stellen Sie sicher, dass Sie es ko
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
|
||||
msgid "Your tokens will be shown here once you create them."
|
||||
msgstr "Ihre Tokens werden hier angezeigt, sobald Sie sie erstellt haben."
|
||||
|
||||
|
||||
@ -74,7 +74,7 @@ msgstr "{inviterName} has cancelled the document {documentName}, you don't need
|
||||
msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} has cancelled the document<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
|
||||
@ -94,7 +94,7 @@ msgstr "{inviterName} has removed you from the document {documentName}."
|
||||
msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} has removed you from the document<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:53
|
||||
#: packages/email/template-components/template-document-invite.tsx:63
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
|
||||
msgstr "{inviterName} on behalf of {teamName} has invited you to {0}"
|
||||
|
||||
@ -146,11 +146,11 @@ msgstr "{prefix} removed a field"
|
||||
msgid "{prefix} removed a recipient"
|
||||
msgstr "{prefix} removed a recipient"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
#: packages/lib/utils/document-audit-logs.ts:365
|
||||
msgid "{prefix} resent an email to {0}"
|
||||
msgstr "{prefix} resent an email to {0}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:356
|
||||
#: packages/lib/utils/document-audit-logs.ts:366
|
||||
msgid "{prefix} sent an email to {0}"
|
||||
msgstr "{prefix} sent an email to {0}"
|
||||
|
||||
@ -202,7 +202,15 @@ msgstr "{prefix} updated the document visibility"
|
||||
msgid "{recipientName} {action} a document by using one of your direct links"
|
||||
msgstr "{recipientName} {action} a document by using one of your direct links"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:58
|
||||
#: packages/email/templates/document-rejected.tsx:27
|
||||
msgid "{recipientName} has rejected the document '{documentName}'"
|
||||
msgstr "{recipientName} has rejected the document '{documentName}'"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:25
|
||||
msgid "{signerName} has rejected the document \"{documentName}\"."
|
||||
msgstr "{signerName} has rejected the document \"{documentName}\"."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:68
|
||||
msgid "{teamName} has invited you to {0}"
|
||||
msgstr "{teamName} has invited you to {0}"
|
||||
|
||||
@ -226,6 +234,10 @@ msgstr "{userName} CC'd the document"
|
||||
msgid "{userName} completed their task"
|
||||
msgstr "{userName} completed their task"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
msgid "{userName} rejected the document"
|
||||
msgstr "{userName} rejected the document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:341
|
||||
msgid "{userName} signed the document"
|
||||
msgstr "{userName} signed the document"
|
||||
@ -393,19 +405,19 @@ msgstr "Add another option"
|
||||
msgid "Add another value"
|
||||
msgstr "Add another value"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:662
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:691
|
||||
msgid "Add myself"
|
||||
msgstr "Add myself"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:637
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:645
|
||||
msgid "Add Myself"
|
||||
msgstr "Add Myself"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:623
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:631
|
||||
msgid "Add Placeholder Recipient"
|
||||
msgstr "Add Placeholder Recipient"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:651
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:680
|
||||
msgid "Add Signer"
|
||||
msgstr "Add Signer"
|
||||
|
||||
@ -426,8 +438,8 @@ msgstr "Admin"
|
||||
msgid "Advanced Options"
|
||||
msgstr "Advanced Options"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:573
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:406
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:576
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:409
|
||||
msgid "Advanced settings"
|
||||
msgstr "Advanced settings"
|
||||
|
||||
@ -455,7 +467,7 @@ msgstr "An error occurred while loading the document."
|
||||
msgid "Approve"
|
||||
msgstr "Approve"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:89
|
||||
#: packages/email/template-components/template-document-invite.tsx:106
|
||||
msgid "Approve Document"
|
||||
msgstr "Approve Document"
|
||||
|
||||
@ -533,6 +545,10 @@ msgstr "Ccers"
|
||||
msgid "Character Limit"
|
||||
msgstr "Character Limit"
|
||||
|
||||
#: packages/ui/primitives/document-flow/types.ts:58
|
||||
msgid "Checkbox"
|
||||
msgstr "Checkbox"
|
||||
|
||||
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197
|
||||
msgid "Checkbox values"
|
||||
msgstr "Checkbox values"
|
||||
@ -568,8 +584,8 @@ msgstr "Completed Document"
|
||||
msgid "Configure Direct Recipient"
|
||||
msgstr "Configure Direct Recipient"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:574
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:407
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:577
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:410
|
||||
msgid "Configure the {0} field"
|
||||
msgstr "Configure the {0} field"
|
||||
|
||||
@ -585,7 +601,7 @@ msgstr "Continue"
|
||||
#~ msgid "Continue by {0} the document."
|
||||
#~ msgstr "Continue by {0} the document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
#: packages/email/template-components/template-document-invite.tsx:86
|
||||
msgid "Continue by approving the document."
|
||||
msgstr "Continue by approving the document."
|
||||
|
||||
@ -593,11 +609,11 @@ msgstr "Continue by approving the document."
|
||||
msgid "Continue by downloading the document."
|
||||
msgstr "Continue by downloading the document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
#: packages/email/template-components/template-document-invite.tsx:84
|
||||
msgid "Continue by signing the document."
|
||||
msgstr "Continue by signing the document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
#: packages/email/template-components/template-document-invite.tsx:85
|
||||
msgid "Continue by viewing the document."
|
||||
msgstr "Continue by viewing the document."
|
||||
|
||||
@ -630,9 +646,9 @@ msgstr "Create account"
|
||||
msgid "Custom Text"
|
||||
msgstr "Custom Text"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:927
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:934
|
||||
#: packages/ui/primitives/document-flow/types.ts:53
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:690
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:697
|
||||
msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
@ -649,10 +665,18 @@ msgstr "Decline"
|
||||
msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.</0>"
|
||||
msgstr "Didn't request a password change? We are here to help you secure your account, just <0>contact us.</0>"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:578
|
||||
msgid "Direct link receiver"
|
||||
msgstr "Direct link receiver"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
|
||||
msgid "Document \"{0}\" - Rejected by {1}"
|
||||
msgstr "Document \"{0}\" - Rejected by {1}"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
|
||||
msgid "Document \"{0}\" - Rejection Confirmed"
|
||||
msgstr "Document \"{0}\" - Rejection Confirmed"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:216
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
|
||||
@ -668,8 +692,8 @@ msgstr "Document access auth updated"
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Document Cancelled"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:359
|
||||
#: packages/lib/utils/document-audit-logs.ts:360
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
msgid "Document completed"
|
||||
msgstr "Document completed"
|
||||
|
||||
@ -723,6 +747,13 @@ msgstr "Document opened"
|
||||
msgid "Document pending email"
|
||||
msgstr "Document pending email"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:21
|
||||
msgid "Document Rejected"
|
||||
msgstr "Document Rejected"
|
||||
|
||||
#~ msgid "Document Rejection Confirmed"
|
||||
#~ msgstr "Document Rejection Confirmed"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document sent"
|
||||
msgstr "Document sent"
|
||||
@ -756,8 +787,8 @@ msgstr "Draft"
|
||||
msgid "Drag & drop your PDF here."
|
||||
msgstr "Drag & drop your PDF here."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1058
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:820
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1065
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:827
|
||||
msgid "Dropdown"
|
||||
msgstr "Dropdown"
|
||||
|
||||
@ -766,14 +797,14 @@ msgid "Dropdown options"
|
||||
msgstr "Dropdown options"
|
||||
|
||||
#: packages/lib/constants/document.ts:28
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:875
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:882
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:272
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:500
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:507
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:512
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:519
|
||||
#: packages/ui/primitives/document-flow/types.ts:54
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:638
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:463
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:645
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
@ -785,15 +816,15 @@ msgstr "Email is required"
|
||||
msgid "Email Options"
|
||||
msgstr "Email Options"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
msgid "Email resent"
|
||||
msgstr "Email resent"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
msgid "Email sent"
|
||||
msgstr "Email sent"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1123
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1130
|
||||
msgid "Empty field"
|
||||
msgstr "Empty field"
|
||||
|
||||
@ -802,11 +833,11 @@ msgid "Enable Direct Link Signing"
|
||||
msgstr "Enable Direct Link Signing"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:401
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:362
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:370
|
||||
msgid "Enable signing order"
|
||||
msgstr "Enable signing order"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:795
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:802
|
||||
msgid "Enable Typed Signatures"
|
||||
msgstr "Enable Typed Signatures"
|
||||
|
||||
@ -898,6 +929,9 @@ msgstr "Go Back"
|
||||
msgid "Green"
|
||||
msgstr "Green"
|
||||
|
||||
#~ msgid "Hello {recipientName},"
|
||||
#~ msgstr "Hello {recipientName},"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:56
|
||||
msgid "Hi, {userName} <0>({userEmail})</0>"
|
||||
msgstr "Hi, {userName} <0>({userEmail})</0>"
|
||||
@ -981,14 +1015,14 @@ msgstr "Message <0>(Optional)</0>"
|
||||
msgid "Min"
|
||||
msgstr "Min"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:901
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:908
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:298
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:535
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:541
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:550
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:556
|
||||
#: packages/ui/primitives/document-flow/types.ts:55
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:664
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:498
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:504
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:671
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
@ -1004,8 +1038,8 @@ msgstr "Needs to sign"
|
||||
msgid "Needs to view"
|
||||
msgstr "Needs to view"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:686
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:504
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:693
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:511
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "No recipient matching this description was found."
|
||||
|
||||
@ -1013,8 +1047,8 @@ msgstr "No recipient matching this description was found."
|
||||
msgid "No recipients"
|
||||
msgstr "No recipients"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:701
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:708
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:526
|
||||
msgid "No recipients with this role"
|
||||
msgstr "No recipients with this role"
|
||||
|
||||
@ -1042,9 +1076,9 @@ msgstr "No value found."
|
||||
msgid "None"
|
||||
msgstr "None"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:979
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:986
|
||||
#: packages/ui/primitives/document-flow/types.ts:56
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:749
|
||||
msgid "Number"
|
||||
msgstr "Number"
|
||||
|
||||
@ -1102,7 +1136,7 @@ msgstr "Pick a number"
|
||||
msgid "Placeholder"
|
||||
msgstr "Placeholder"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:46
|
||||
#: packages/email/template-components/template-document-invite.tsx:56
|
||||
msgid "Please {0} your document<0/>\"{documentName}\""
|
||||
msgstr "Please {0} your document<0/>\"{documentName}\""
|
||||
|
||||
@ -1135,7 +1169,8 @@ msgstr "Please confirm your email address"
|
||||
msgid "Please try again or contact our support."
|
||||
msgstr "Please try again or contact our support."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:768
|
||||
#: packages/ui/primitives/document-flow/types.ts:57
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:775
|
||||
msgid "Radio"
|
||||
msgstr "Radio"
|
||||
|
||||
@ -1151,11 +1186,16 @@ msgstr "Radio values"
|
||||
msgid "Read only"
|
||||
msgstr "Read only"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:32
|
||||
msgid "Reason for rejection: {rejectionReason}"
|
||||
msgstr "Reason for rejection: {rejectionReason}"
|
||||
|
||||
#: packages/ui/components/recipient/recipient-role-select.tsx:95
|
||||
msgid "Receives copy"
|
||||
msgstr "Receives copy"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
msgid "Recipient"
|
||||
msgstr "Recipient"
|
||||
|
||||
@ -1182,6 +1222,18 @@ msgstr "Red"
|
||||
msgid "Redirect URL"
|
||||
msgstr "Redirect URL"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:96
|
||||
msgid "Reject Document"
|
||||
msgstr "Reject Document"
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
|
||||
msgid "Rejection Confirmed"
|
||||
msgstr "Rejection Confirmed"
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
|
||||
msgid "Rejection reason: {reason}"
|
||||
msgstr "Rejection reason: {reason}"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:192
|
||||
msgid "Reminder: {0}"
|
||||
msgstr "Reminder: {0}"
|
||||
@ -1198,7 +1250,7 @@ msgstr "Reminder: Please {recipientActionVerb} this document"
|
||||
msgid "Reminder: Please {recipientActionVerb} your document"
|
||||
msgstr "Reminder: Please {recipientActionVerb} your document"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1110
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1117
|
||||
msgid "Remove"
|
||||
msgstr "Remove"
|
||||
|
||||
@ -1230,7 +1282,7 @@ msgstr "Rows per page"
|
||||
msgid "Save"
|
||||
msgstr "Save"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:854
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:861
|
||||
msgid "Save Template"
|
||||
msgstr "Save Template"
|
||||
|
||||
@ -1239,6 +1291,7 @@ msgid "Search languages..."
|
||||
msgstr "Search languages..."
|
||||
|
||||
#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:115
|
||||
#: packages/ui/primitives/document-flow/types.ts:59
|
||||
msgid "Select"
|
||||
msgstr "Select"
|
||||
|
||||
@ -1301,8 +1354,8 @@ msgstr "Share the Link"
|
||||
msgid "Share your signing experience!"
|
||||
msgstr "Share your signing experience!"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:680
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:655
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:709
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:663
|
||||
msgid "Show advanced settings"
|
||||
msgstr "Show advanced settings"
|
||||
|
||||
@ -1310,7 +1363,7 @@ msgstr "Show advanced settings"
|
||||
msgid "Sign"
|
||||
msgstr "Sign"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:87
|
||||
#: packages/email/template-components/template-document-invite.tsx:104
|
||||
msgid "Sign Document"
|
||||
msgstr "Sign Document"
|
||||
|
||||
@ -1318,11 +1371,11 @@ msgstr "Sign Document"
|
||||
msgid "Sign In"
|
||||
msgstr "Sign In"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:823
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:830
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:323
|
||||
#: packages/ui/primitives/document-flow/field-icon.tsx:52
|
||||
#: packages/ui/primitives/document-flow/types.ts:49
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:586
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:593
|
||||
msgid "Signature"
|
||||
msgstr "Signature"
|
||||
|
||||
@ -1346,8 +1399,8 @@ msgstr "Signers must have unique emails"
|
||||
msgid "Signing"
|
||||
msgstr "Signing"
|
||||
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:111
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:191
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:114
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:194
|
||||
msgid "Signing Complete!"
|
||||
msgstr "Signing Complete!"
|
||||
|
||||
@ -1405,9 +1458,9 @@ msgstr "Team email removed for {teamName} on Documenso"
|
||||
msgid "Template title"
|
||||
msgstr "Template title"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:953
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:960
|
||||
#: packages/ui/primitives/document-flow/types.ts:52
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:716
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:723
|
||||
msgid "Text"
|
||||
msgstr "Text"
|
||||
|
||||
@ -1427,6 +1480,13 @@ msgstr "The authentication required for recipients to sign the signature field."
|
||||
msgid "The authentication required for recipients to view the document."
|
||||
msgstr "The authentication required for recipients to view the document."
|
||||
|
||||
#~ msgid "The document owner has been notified of this rejection. No further action is required from you at this time."
|
||||
#~ msgstr "The document owner has been notified of this rejection. No further action is required from you at this time."
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:39
|
||||
msgid "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection."
|
||||
msgstr "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection."
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
|
||||
msgid "The document's name"
|
||||
msgstr "The document's name"
|
||||
@ -1495,7 +1555,7 @@ msgstr "This can be overriden by setting the authentication requirements directl
|
||||
msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
|
||||
msgstr "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:757
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:764
|
||||
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."
|
||||
|
||||
@ -1507,6 +1567,13 @@ msgstr "This document is password protected. Please enter the password to view t
|
||||
msgid "This document was sent using <0>Documenso.</0>"
|
||||
msgstr "This document was sent using <0>Documenso.</0>"
|
||||
|
||||
#~ msgid "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
|
||||
#~ msgstr "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:26
|
||||
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."
|
||||
msgstr "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:94
|
||||
msgid "This email is sent to the recipient if they are removed from a pending document."
|
||||
msgstr "This email is sent to the recipient if they are removed from a pending document."
|
||||
@ -1519,7 +1586,7 @@ msgstr "This email is sent to the recipient requesting them to sign the document
|
||||
msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
|
||||
msgstr "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:581
|
||||
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
|
||||
msgstr "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
|
||||
|
||||
@ -1527,7 +1594,7 @@ msgstr "This field cannot be modified or deleted. When you share this template's
|
||||
msgid "This is how the document will reach the recipients once the document is ready for signing."
|
||||
msgstr "This is how the document will reach the recipients once the document is ready for signing."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1090
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1097
|
||||
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
|
||||
msgstr "This recipient can no longer be modified as they have signed a field, or completed the document."
|
||||
|
||||
@ -1556,8 +1623,8 @@ msgstr "Time Zone"
|
||||
msgid "Title"
|
||||
msgstr "Title"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1073
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:834
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1080
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:841
|
||||
msgid "To proceed further, please set at least one value for the {0} field."
|
||||
msgstr "To proceed further, please set at least one value for the {0} field."
|
||||
|
||||
@ -1603,7 +1670,8 @@ msgstr "View all documents sent to and from this email address"
|
||||
msgid "View document"
|
||||
msgstr "View document"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:88
|
||||
#: packages/email/template-components/template-document-invite.tsx:105
|
||||
#: packages/email/template-components/template-document-rejected.tsx:44
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:90
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:91
|
||||
msgid "View Document"
|
||||
@ -1681,6 +1749,10 @@ msgstr "You can revoke access at any time in your team settings on Documenso <0>
|
||||
msgid "You can use the following variables in your message:"
|
||||
msgstr "You can use the following variables in your message:"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:37
|
||||
msgid "You can view the document and its status by clicking the button below."
|
||||
msgstr "You can view the document and its status by clicking the button below."
|
||||
|
||||
#: packages/ui/primitives/document-dropzone.tsx:43
|
||||
msgid "You cannot upload documents at this time."
|
||||
msgstr "You cannot upload documents at this time."
|
||||
@ -1714,6 +1786,13 @@ msgstr "You have initiated the document {0} that requires you to {recipientActio
|
||||
msgid "You have reached your document limit."
|
||||
msgstr "You have reached your document limit."
|
||||
|
||||
#: packages/email/templates/document-rejection-confirmed.tsx:27
|
||||
msgid "You have rejected the document '{documentName}'"
|
||||
msgstr "You have rejected the document '{documentName}'"
|
||||
|
||||
#~ msgid "You have rejected the document \"{documentName}\""
|
||||
#~ msgstr "You have rejected the document \"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-self-signed.tsx:42
|
||||
msgid "You have signed “{documentName}”"
|
||||
msgstr "You have signed “{documentName}”"
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -13,7 +13,7 @@ msgstr ""
|
||||
"Language-Team: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:211
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:214
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{0}\" has invited you to sign \"example document\"."
|
||||
|
||||
@ -30,30 +30,34 @@ msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example
|
||||
msgstr "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid ""
|
||||
"\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
"document\"."
|
||||
msgstr ""
|
||||
"\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
"document\"."
|
||||
#~ msgid ""
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
#~ msgstr ""
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"."
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
|
||||
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) has invited you to approve this document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:75
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
msgid "({0}) has invited you to sign this document"
|
||||
msgstr "({0}) has invited you to sign this document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:72
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:74
|
||||
msgid "({0}) has invited you to view this document"
|
||||
msgstr "({0}) has invited you to view this document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:313
|
||||
msgid "{0, plural, one {(1 character over)} other {(# characters over)}}"
|
||||
msgstr "{0, plural, one {(1 character over)} other {(# characters over)}}"
|
||||
|
||||
@ -75,6 +79,10 @@ msgstr "{0, plural, one {# Seat} other {# Seats}}"
|
||||
msgid "{0, plural, one {<0>You have <1>1</1> pending team invitation</0>} other {<2>You have <3>#</3> pending team invitations</2>}}"
|
||||
msgstr "{0, plural, one {<0>You have <1>1</1> pending team invitation</0>} other {<2>You have <3>#</3> pending team invitations</2>}}"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:196
|
||||
msgid "{0, plural, one {1 matching field} other {# matching fields}}"
|
||||
msgstr "{0, plural, one {1 matching field} other {# matching fields}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:129
|
||||
msgid "{0, plural, one {1 Recipient} other {# Recipients}}"
|
||||
msgstr "{0, plural, one {1 Recipient} other {# Recipients}}"
|
||||
@ -87,6 +95,10 @@ msgstr "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}
|
||||
msgid "{0, plural, zero {Select values} other {# selected...}}"
|
||||
msgstr "{0, plural, zero {Select values} other {# selected...}}"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:193
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:249
|
||||
msgid "{0} direct signing templates"
|
||||
msgstr "{0} direct signing templates"
|
||||
@ -107,7 +119,7 @@ msgstr "{0} Recipient(s)"
|
||||
#~ msgid "{0} the document to complete the process."
|
||||
#~ msgstr "{0} the document to complete the process."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:292
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:294
|
||||
msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}"
|
||||
msgstr "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}"
|
||||
|
||||
@ -465,6 +477,10 @@ msgstr "An error occurred while adding signers."
|
||||
msgid "An error occurred while adding the fields."
|
||||
msgstr "An error occurred while adding the fields."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:154
|
||||
msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields."
|
||||
msgstr "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
|
||||
msgid "An error occurred while creating document from template."
|
||||
msgstr "An error occurred while creating document from template."
|
||||
@ -649,7 +665,7 @@ msgstr "Approve"
|
||||
msgid "Approve Document"
|
||||
msgstr "Approve Document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:85
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:94
|
||||
msgid "Approved"
|
||||
msgstr "Approved"
|
||||
|
||||
@ -657,6 +673,10 @@ msgstr "Approved"
|
||||
msgid "Are you sure you want to delete this token?"
|
||||
msgstr "Are you sure you want to delete this token?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:120
|
||||
msgid "Are you sure you want to reject this document? This action cannot be undone."
|
||||
msgstr "Are you sure you want to reject this document? This action cannot be undone."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:188
|
||||
msgid "Are you sure you want to remove the <0>{passkeyName}</0> passkey."
|
||||
msgstr "Are you sure you want to remove the <0>{passkeyName}</0> passkey."
|
||||
@ -735,7 +755,7 @@ msgstr "Banner Updated"
|
||||
msgid "Basic details"
|
||||
msgstr "Basic details"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:74
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
|
||||
@ -797,6 +817,7 @@ msgstr "By using the electronic signature feature, you are consenting to conduct
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:119
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:220
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:178
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:71
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164
|
||||
@ -804,10 +825,11 @@ msgstr "By using the electronic signature feature, you are consenting to conduct
|
||||
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:220
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:215
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:327
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:333
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176
|
||||
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242
|
||||
@ -937,7 +959,7 @@ msgid "Complete Viewing"
|
||||
msgstr "Complete Viewing"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:62
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:77
|
||||
#: apps/web/src/components/formatter/document-status.tsx:28
|
||||
msgid "Completed"
|
||||
msgstr "Completed"
|
||||
@ -1026,7 +1048,7 @@ msgstr "Controls the default language of an uploaded document. This will be used
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr "Controls the default visibility of an uploaded document."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
|
||||
msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
|
||||
msgstr "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
|
||||
|
||||
@ -1034,7 +1056,7 @@ msgstr "Controls the formatting of the message that will be sent when inviting a
|
||||
msgid "Copied"
|
||||
msgstr "Copied"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:133
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:162
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:77
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:163
|
||||
@ -1508,6 +1530,10 @@ msgstr "Document preferences updated"
|
||||
msgid "Document re-sent"
|
||||
msgstr "Document re-sent"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
|
||||
msgid "Document Rejected"
|
||||
msgstr "Document Rejected"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
|
||||
msgid "Document resealed"
|
||||
msgstr "Document resealed"
|
||||
@ -1599,7 +1625,7 @@ msgstr "Download"
|
||||
msgid "Download Audit Logs"
|
||||
msgstr "Download Audit Logs"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:84
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:86
|
||||
msgid "Download Certificate"
|
||||
msgstr "Download Certificate"
|
||||
|
||||
@ -1762,7 +1788,7 @@ msgstr "Enter your email address to receive the completed document."
|
||||
msgid "Enter your name"
|
||||
msgstr "Enter your name"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:278
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:280
|
||||
msgid "Enter your text here"
|
||||
msgstr "Enter your text here"
|
||||
|
||||
@ -1781,6 +1807,7 @@ msgstr "Enter your text here"
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:152
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
|
||||
@ -2212,6 +2239,10 @@ msgstr "Manage all teams you are currently associated with."
|
||||
msgid "Manage and view template"
|
||||
msgstr "Manage and view template"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:136
|
||||
msgid "Manage billing"
|
||||
msgstr "Manage billing"
|
||||
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341
|
||||
msgid "Manage details for this public template"
|
||||
msgstr "Manage details for this public template"
|
||||
@ -2232,7 +2263,7 @@ msgstr "Manage passkeys"
|
||||
msgid "Manage subscription"
|
||||
msgstr "Manage subscription"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:67
|
||||
msgid "Manage Subscription"
|
||||
msgstr "Manage Subscription"
|
||||
|
||||
@ -2291,7 +2322,7 @@ msgstr "Member Since"
|
||||
msgid "Members"
|
||||
msgstr "Members"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:46
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35
|
||||
msgid "Modify recipients"
|
||||
msgstr "Modify recipients"
|
||||
@ -2385,6 +2416,10 @@ msgstr "Next field"
|
||||
msgid "No active drafts"
|
||||
msgstr "No active drafts"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
|
||||
msgid "No further action is required from you at this time."
|
||||
msgstr "No further action is required from you at this time."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
|
||||
msgid "No payment required"
|
||||
msgstr "No payment required"
|
||||
@ -2401,7 +2436,7 @@ msgstr "No recent activity"
|
||||
msgid "No recent documents"
|
||||
msgstr "No recent documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:61
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:70
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:49
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:96
|
||||
msgid "No recipients"
|
||||
@ -2441,7 +2476,7 @@ msgstr "Not supported"
|
||||
msgid "Nothing to do"
|
||||
msgstr "Nothing to do"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:270
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:271
|
||||
msgid "Number"
|
||||
msgstr "Number"
|
||||
|
||||
@ -2491,7 +2526,7 @@ msgstr "Only managers and above can access and view the document"
|
||||
msgid "Oops! Something went wrong."
|
||||
msgstr "Oops! Something went wrong."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:140
|
||||
msgid "Opened"
|
||||
msgstr "Opened"
|
||||
|
||||
@ -2590,7 +2625,7 @@ msgstr "Payment is required to finalise the creation of your team."
|
||||
msgid "Payment overdue"
|
||||
msgstr "Payment overdue"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:122
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:131
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:211
|
||||
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:82
|
||||
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:77
|
||||
@ -2683,6 +2718,10 @@ msgstr "Please note that this action is irreversible. Once confirmed, your webho
|
||||
msgid "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified"
|
||||
msgstr "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
|
||||
msgid "Please provide a reason"
|
||||
msgstr "Please provide a reason"
|
||||
|
||||
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:127
|
||||
msgid "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support."
|
||||
msgstr "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support."
|
||||
@ -2791,7 +2830,7 @@ msgstr "Read only field"
|
||||
msgid "Read the full <0>signature disclosure</0>."
|
||||
msgstr "Read the full <0>signature disclosure</0>."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:97
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:106
|
||||
msgid "Ready"
|
||||
msgstr "Ready"
|
||||
|
||||
@ -2799,6 +2838,14 @@ msgstr "Ready"
|
||||
msgid "Reason"
|
||||
msgstr "Reason"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
|
||||
msgid "Reason for rejection:"
|
||||
msgstr "Reason for rejection:"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
|
||||
msgid "Reason must be less than 500 characters"
|
||||
msgstr "Reason must be less than 500 characters"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
|
||||
msgid "Reauthentication is required to sign this field"
|
||||
msgstr "Reauthentication is required to sign this field"
|
||||
@ -2823,7 +2870,7 @@ msgid "Recipient updated"
|
||||
msgstr "Recipient updated"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:40
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:49
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:139
|
||||
msgid "Recipients"
|
||||
@ -2851,6 +2898,17 @@ msgstr "Recovery codes"
|
||||
msgid "Registration Successful"
|
||||
msgstr "Registration Successful"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162
|
||||
msgid "Reject Document"
|
||||
msgstr "Reject Document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:141
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
|
||||
msgid "Rejected"
|
||||
msgstr "Rejected"
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
|
||||
msgid "Remembered your password? <0>Sign In</0>"
|
||||
msgstr "Remembered your password? <0>Sign In</0>"
|
||||
@ -2981,10 +3039,10 @@ msgid "Roles"
|
||||
msgstr "Roles"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
|
||||
msgid "Save"
|
||||
msgstr "Save"
|
||||
|
||||
@ -3080,7 +3138,7 @@ msgstr "Sending Reset Email..."
|
||||
msgid "Sending..."
|
||||
msgstr "Sending..."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:92
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
|
||||
msgid "Sent"
|
||||
msgstr "Sent"
|
||||
@ -3130,6 +3188,7 @@ msgstr "Show templates in your team public profile for your audience to sign and
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
|
||||
#: apps/web/src/app/(profile)/p/[url]/page.tsx:192
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:124
|
||||
@ -3227,7 +3286,7 @@ msgstr "Signatures Collected"
|
||||
msgid "Signatures will appear once the document has been completed"
|
||||
msgstr "Signatures will appear once the document has been completed"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:105
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:270
|
||||
#: apps/web/src/components/document/document-read-only-fields.tsx:84
|
||||
msgid "Signed"
|
||||
@ -3280,13 +3339,13 @@ msgstr "Site Settings"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:80
|
||||
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:50
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:124
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:73
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:93
|
||||
@ -3352,7 +3411,7 @@ msgstr "Something went wrong. Please try again or contact support."
|
||||
msgid "Sorry, we were unable to download the audit logs. Please try again later."
|
||||
msgstr "Sorry, we were unable to download the audit logs. Please try again later."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:70
|
||||
msgid "Sorry, we were unable to download the certificate. Please try again later."
|
||||
msgstr "Sorry, we were unable to download the certificate. Please try again later."
|
||||
|
||||
@ -3601,8 +3660,8 @@ msgstr "Templates"
|
||||
msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields."
|
||||
msgstr "Templates allow you to quickly generate documents with pre-filled recipients and fields."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:256
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:272
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:257
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:274
|
||||
msgid "Text"
|
||||
msgstr "Text"
|
||||
|
||||
@ -3636,6 +3695,10 @@ msgstr "The document has been successfully moved to the selected team."
|
||||
msgid "The document is now completed, please follow any instructions provided within the parent application."
|
||||
msgstr "The document is now completed, please follow any instructions provided within the parent application."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:92
|
||||
msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
|
||||
msgstr "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
|
||||
msgid "The document was created but could not be sent to recipients."
|
||||
msgstr "The document was created but could not be sent to recipients."
|
||||
@ -3690,7 +3753,7 @@ msgstr "The recipient has been updated successfully"
|
||||
msgid "The selected team member will receive an email which they must accept before the team is transferred"
|
||||
msgstr "The selected team member will receive an email which they must accept before the team is transferred"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:134
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:163
|
||||
#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:41
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:118
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
@ -4132,7 +4195,7 @@ msgstr "Unable to sign in"
|
||||
msgid "Unauthorized"
|
||||
msgstr "Unauthorized"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:116
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:155
|
||||
msgid "Uncompleted"
|
||||
msgstr "Uncompleted"
|
||||
|
||||
@ -4377,12 +4440,12 @@ msgstr "View Recovery Codes"
|
||||
msgid "View teams"
|
||||
msgstr "View teams"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:111
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259
|
||||
msgid "Viewed"
|
||||
msgstr "Viewed"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:86
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:125
|
||||
msgid "Waiting"
|
||||
msgstr "Waiting"
|
||||
|
||||
@ -4402,7 +4465,7 @@ msgstr "Want to send slick signing links like this one? <0>Check out Documenso.<
|
||||
msgid "Want your own public profile?"
|
||||
msgstr "Want your own public profile?"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:40
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:41
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:55
|
||||
#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:31
|
||||
msgid "We are unable to proceed to the billing portal at this time. Please try again, or contact support."
|
||||
@ -4666,6 +4729,10 @@ msgstr "Were you trying to edit this document instead?"
|
||||
msgid "When you click continue, you will be prompted to add the first available authenticator on your system."
|
||||
msgstr "When you click continue, you will be prompted to add the first available authenticator on your system."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:183
|
||||
msgid "When you sign a document, we can automatically fill in and sign the following fields using information that has already been provided. You can also manually sign or remove any automatically signed fields afterwards if you desire."
|
||||
msgstr "When you sign a document, we can automatically fill in and sign the following fields using information that has already been provided. You can also manually sign or remove any automatically signed fields afterwards if you desire."
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36
|
||||
msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
|
||||
msgstr "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
|
||||
@ -4735,7 +4802,7 @@ msgstr "You are about to remove the following user from <0>{teamName}</0>."
|
||||
msgid "You are about to revoke access for team <0>{0}</0> ({1}) to use your email."
|
||||
msgstr "You are about to revoke access for team <0>{0}</0> ({1}) to use your email."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:80
|
||||
msgid "You are currently on the <0>Free Plan</0>."
|
||||
msgstr "You are currently on the <0>Free Plan</0>."
|
||||
|
||||
@ -4787,7 +4854,7 @@ msgstr "You cannot modify a team member who has a higher role than you."
|
||||
msgid "You cannot upload encrypted PDFs"
|
||||
msgstr "You cannot upload encrypted PDFs"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:45
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:46
|
||||
msgid "You do not currently have a customer record, this should not happen. Please contact support for assistance."
|
||||
msgstr "You do not currently have a customer record, this should not happen. Please contact support for assistance."
|
||||
|
||||
@ -4837,6 +4904,10 @@ msgstr "You have reached your document limit."
|
||||
msgid "You have reached your document limit. <0>Upgrade your account to continue!</0>"
|
||||
msgstr "You have reached your document limit. <0>Upgrade your account to continue!</0>"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
|
||||
msgid "You have rejected this document"
|
||||
msgstr "You have rejected this document"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
|
||||
msgid "You have successfully left this team."
|
||||
msgstr "You have successfully left this team."
|
||||
@ -4929,7 +5000,7 @@ msgstr "Your brand website URL"
|
||||
msgid "Your branding preferences have been updated"
|
||||
msgstr "Your branding preferences have been updated"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125
|
||||
msgid "Your current plan is past due. Please update your payment information."
|
||||
msgstr "Your current plan is past due. Please update your payment information."
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Project-Id-Version: documenso-app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 09:34\n"
|
||||
"PO-Revision-Date: 2024-11-20 11:56\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@ -28,7 +28,7 @@ msgstr "“{documentName}” ha sido firmado"
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:41
|
||||
msgid "“{documentName}” was signed by all signers"
|
||||
msgstr ""
|
||||
msgstr "\"{documentName}\" fue firmado por todos los firmantes"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:109
|
||||
#~ msgid "{0}"
|
||||
@ -36,11 +36,11 @@ msgstr ""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:80
|
||||
#~ msgid "{0} Document"
|
||||
#~ msgstr "{0} Documento"
|
||||
#~ msgstr "{0} Document"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
|
||||
msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
|
||||
msgstr ""
|
||||
msgstr "{0} te ha invitado a {recipientActionVerb} el documento \"{1}\"."
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
|
||||
msgid "{0} invited you to {recipientActionVerb} a document"
|
||||
@ -65,7 +65,7 @@ msgstr "{0} en nombre de {1} te ha invitado a {recipientActionVerb} el documento
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:51
|
||||
#~ msgid "{0}<0/>\"{documentName}\""
|
||||
#~ msgstr ""
|
||||
#~ msgstr "{0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:94
|
||||
msgid "{inviterName} <0>({inviterEmail})</0>"
|
||||
@ -79,7 +79,7 @@ msgstr "{inviterName} ha cancelado el documento {documentName}, ya no necesitas
|
||||
msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} ha cancelado el documento<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} te ha invitado a {0}<0/>\"{documentName}\""
|
||||
|
||||
@ -89,7 +89,7 @@ msgstr "{inviterName} te ha invitado a {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:106
|
||||
msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
|
||||
msgstr ""
|
||||
msgstr "{inviterName} te ha invitado a {action} el documento \"{documentName}\"."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:20
|
||||
msgid "{inviterName} has removed you from the document {documentName}."
|
||||
@ -97,15 +97,15 @@ msgstr "{inviterName} te ha eliminado del documento {documentName}."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:49
|
||||
msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
|
||||
msgstr ""
|
||||
msgstr "{inviterName} te ha eliminado del documento<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:53
|
||||
#: packages/email/template-components/template-document-invite.tsx:63
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
msgstr "{inviterName} en nombre de {teamName} te ha invitado a {0}"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{inviterName} en nombre de {teamName} te ha invitado a {0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:45
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
|
||||
@ -151,11 +151,11 @@ msgstr "{prefix} eliminó un campo"
|
||||
msgid "{prefix} removed a recipient"
|
||||
msgstr "{prefix} eliminó un destinatario"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
#: packages/lib/utils/document-audit-logs.ts:365
|
||||
msgid "{prefix} resent an email to {0}"
|
||||
msgstr "{prefix} reenviaron un correo electrónico a {0}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:356
|
||||
#: packages/lib/utils/document-audit-logs.ts:366
|
||||
msgid "{prefix} sent an email to {0}"
|
||||
msgstr "{prefix} envió un correo electrónico a {0}"
|
||||
|
||||
@ -207,13 +207,21 @@ msgstr "{prefix} actualizó la visibilidad del documento"
|
||||
msgid "{recipientName} {action} a document by using one of your direct links"
|
||||
msgstr "{recipientName} {action} un documento utilizando uno de tus enlaces directos"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:58
|
||||
#: packages/email/templates/document-rejected.tsx:27
|
||||
msgid "{recipientName} has rejected the document '{documentName}'"
|
||||
msgstr "{recipientName} ha rechazado el documento '{documentName}'"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:25
|
||||
msgid "{signerName} has rejected the document \"{documentName}\"."
|
||||
msgstr "{signerName} ha rechazado el documento \"{documentName}\"."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:68
|
||||
msgid "{teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
msgstr "{teamName} te ha invitado a {0}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:46
|
||||
msgid "{teamName} has invited you to {action} {documentName}"
|
||||
msgstr ""
|
||||
msgstr "{teamName} te ha invitado a {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:55
|
||||
msgid "{teamName} ownership transfer request"
|
||||
@ -231,6 +239,10 @@ msgstr "{userName} envió una copia del documento"
|
||||
msgid "{userName} completed their task"
|
||||
msgstr "{userName} completó su tarea"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
msgid "{userName} rejected the document"
|
||||
msgstr "{userName} rechazó el documento"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:341
|
||||
msgid "{userName} signed the document"
|
||||
msgstr "{userName} firmó el documento"
|
||||
@ -245,7 +257,7 @@ msgstr "{visibleRows, plural, one {Mostrando # resultado.} other {Mostrando # re
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:100
|
||||
#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
#~ msgstr "`${inviterName} te ha invitado a ${action} el documento \"${documentName}\".`"
|
||||
#~ msgstr "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:59
|
||||
msgid "<0>{senderName}</0> has requested that you take ownership of the following team"
|
||||
@ -253,11 +265,11 @@ msgstr "<0>{senderName}</0> ha solicitado que asumas la propiedad del siguiente
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:75
|
||||
msgid "<0>{teamName}</0> has requested to use your email address for their team on Documenso."
|
||||
msgstr ""
|
||||
msgstr "<0>{teamName}</0> ha solicitado usar tu dirección de correo electrónico para su equipo en Documenso."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
|
||||
msgid "<0>Email</0> - The recipient will be emailed the document to sign, approve, etc."
|
||||
msgstr ""
|
||||
msgstr "<0>Correo electrónico</0> - Al destinatario se le enviará el documento para firmar, aprobar, etc."
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
|
||||
msgid "<0>Inherit authentication method</0> - Use the global action signing authentication method configured in the \"General Settings\" step"
|
||||
@ -265,7 +277,7 @@ msgstr "<0>Heredar método de autenticación</0> - Use el método de autenticaci
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
|
||||
msgid "<0>Links</0> - We will generate links which you can send to the recipients manually."
|
||||
msgstr ""
|
||||
msgstr "<0>Enlaces</0> - Generaremos enlaces que puedes enviar a los destinatarios manualmente."
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
|
||||
msgid "<0>No restrictions</0> - No authentication required"
|
||||
@ -281,7 +293,7 @@ msgstr "<0>Ninguno</0> - No se requiere autenticación"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
msgid "<0>Note</0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
|
||||
msgstr ""
|
||||
msgstr "<0>Nota</0> - Si usas Enlaces en combinación con plantillas directas, necesitarás enviar manualmente los enlaces a los destinatarios restantes."
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
|
||||
@ -331,11 +343,11 @@ msgstr "Se actualizó un destinatario"
|
||||
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:156
|
||||
msgid "A request to use your email has been initiated by {0} on Documenso"
|
||||
msgstr ""
|
||||
msgstr "Se ha iniciado una solicitud para usar tu correo electrónico por {0} en Documenso"
|
||||
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
#~ msgstr "Se ha iniciado una solicitud para utilizar tu correo electrónico por {teamName} en Documenso"
|
||||
#~ msgstr "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:31
|
||||
msgid "A team member has joined a team on Documenso"
|
||||
@ -398,19 +410,19 @@ msgstr "Agregar otra opción"
|
||||
msgid "Add another value"
|
||||
msgstr "Agregar otro valor"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:662
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:691
|
||||
msgid "Add myself"
|
||||
msgstr "Agregame"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:637
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:645
|
||||
msgid "Add Myself"
|
||||
msgstr "Agregame"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:623
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:631
|
||||
msgid "Add Placeholder Recipient"
|
||||
msgstr "Agregar destinatario de marcador de posición"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:651
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:680
|
||||
msgid "Add Signer"
|
||||
msgstr "Agregar firmante"
|
||||
|
||||
@ -431,8 +443,8 @@ msgstr "Admin"
|
||||
msgid "Advanced Options"
|
||||
msgstr "Opciones avanzadas"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:573
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:406
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:576
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:409
|
||||
msgid "Advanced settings"
|
||||
msgstr "Configuraciones avanzadas"
|
||||
|
||||
@ -446,7 +458,7 @@ msgstr "Todas las firmas han sido anuladas."
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:98
|
||||
msgid "Allow document recipients to reply directly to this email address"
|
||||
msgstr ""
|
||||
msgstr "Permitir que los destinatarios del documento respondan directamente a esta dirección de correo electrónico"
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:22
|
||||
msgid "An admin has deleted your document \"{documentName}\"."
|
||||
@ -460,9 +472,9 @@ msgstr "Se produjo un error al cargar el documento."
|
||||
msgid "Approve"
|
||||
msgstr "Aprobar"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:89
|
||||
#: packages/email/template-components/template-document-invite.tsx:106
|
||||
msgid "Approve Document"
|
||||
msgstr ""
|
||||
msgstr "Aprobar Documento"
|
||||
|
||||
#: packages/lib/constants/recipient-roles.ts:68
|
||||
#~ msgid "APPROVE_REQUEST"
|
||||
@ -502,7 +514,7 @@ msgstr "por <0>{senderName}</0>"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:87
|
||||
msgid "By accepting this request, you will be granting <0>{teamName}</0> access to:"
|
||||
msgstr ""
|
||||
msgstr "Al aceptar esta solicitud, estarás concediendo a <0>{teamName}</0> acceso a:"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:70
|
||||
msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
|
||||
@ -538,6 +550,10 @@ msgstr "Ccers"
|
||||
msgid "Character Limit"
|
||||
msgstr "Límite de caracteres"
|
||||
|
||||
#: packages/ui/primitives/document-flow/types.ts:58
|
||||
msgid "Checkbox"
|
||||
msgstr "Checkbox"
|
||||
|
||||
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197
|
||||
msgid "Checkbox values"
|
||||
msgstr "Valores de Checkbox"
|
||||
@ -573,8 +589,8 @@ msgstr "Documento completado"
|
||||
msgid "Configure Direct Recipient"
|
||||
msgstr "Configurar destinatario directo"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:574
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:407
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:577
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:410
|
||||
msgid "Configure the {0} field"
|
||||
msgstr "Configurar el campo {0}"
|
||||
|
||||
@ -588,27 +604,27 @@ msgstr "Continuar"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:72
|
||||
#~ msgid "Continue by {0} the document."
|
||||
#~ msgstr "Continúa {0} el documento."
|
||||
#~ msgstr "Continue by {0} the document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
#: packages/email/template-components/template-document-invite.tsx:86
|
||||
msgid "Continue by approving the document."
|
||||
msgstr ""
|
||||
msgstr "Continúa aprobando el documento."
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:45
|
||||
msgid "Continue by downloading the document."
|
||||
msgstr "Continúa descargando el documento."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
#: packages/email/template-components/template-document-invite.tsx:84
|
||||
msgid "Continue by signing the document."
|
||||
msgstr ""
|
||||
msgstr "Continúa firmando el documento."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
#: packages/email/template-components/template-document-invite.tsx:85
|
||||
msgid "Continue by viewing the document."
|
||||
msgstr ""
|
||||
msgstr "Continúa viendo el documento."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:254
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
msgstr "Copiado"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:46
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:241
|
||||
@ -617,7 +633,7 @@ msgstr "Copiado al portapapeles"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:249
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Copiar"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:194
|
||||
msgid "Copy Link"
|
||||
@ -635,9 +651,9 @@ msgstr "Crear cuenta"
|
||||
msgid "Custom Text"
|
||||
msgstr "Texto personalizado"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:927
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:934
|
||||
#: packages/ui/primitives/document-flow/types.ts:53
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:690
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:697
|
||||
msgid "Date"
|
||||
msgstr "Fecha"
|
||||
|
||||
@ -654,10 +670,18 @@ msgstr "Rechazar"
|
||||
msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.</0>"
|
||||
msgstr "¿No solicitaste un cambio de contraseña? Estamos aquí para ayudarte a asegurar tu cuenta, solo <0>contáctanos.</0>"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:578
|
||||
msgid "Direct link receiver"
|
||||
msgstr "Receptor de enlace directo"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
|
||||
msgid "Document \"{0}\" - Rejected by {1}"
|
||||
msgstr "Documento \"{0}\" - Rechazado por {1}"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
|
||||
msgid "Document \"{0}\" - Rejection Confirmed"
|
||||
msgstr "Documento \"{0}\" - Rechazo confirmado"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:216
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
|
||||
@ -673,14 +697,14 @@ msgstr "Se actualizó la autenticación de acceso al documento"
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Documento cancelado"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:359
|
||||
#: packages/lib/utils/document-audit-logs.ts:360
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
msgid "Document completed"
|
||||
msgstr "Documento completado"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:168
|
||||
msgid "Document completed email"
|
||||
msgstr ""
|
||||
msgstr "Correo electrónico de documento completado"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:286
|
||||
msgid "Document created"
|
||||
@ -701,7 +725,7 @@ msgstr "Documento eliminado"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:207
|
||||
msgid "Document deleted email"
|
||||
msgstr ""
|
||||
msgstr "Correo electrónico de documento eliminado"
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:82
|
||||
msgid "Document Deleted!"
|
||||
@ -710,7 +734,7 @@ msgstr "¡Documento eliminado!"
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
|
||||
msgid "Document Distribution Method"
|
||||
msgstr ""
|
||||
msgstr "Método de distribución de documentos"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document external ID updated"
|
||||
@ -726,7 +750,14 @@ msgstr "Documento abierto"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:128
|
||||
msgid "Document pending email"
|
||||
msgstr ""
|
||||
msgstr "Correo electrónico de documento pendiente"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:21
|
||||
msgid "Document Rejected"
|
||||
msgstr "Documento Rechazado"
|
||||
|
||||
#~ msgid "Document Rejection Confirmed"
|
||||
#~ msgstr "Document Rejection Confirmed"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document sent"
|
||||
@ -761,8 +792,8 @@ msgstr "Borrador"
|
||||
msgid "Drag & drop your PDF here."
|
||||
msgstr "Arrastre y suelte su PDF aquí."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1058
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:820
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1065
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:827
|
||||
msgid "Dropdown"
|
||||
msgstr "Menú desplegable"
|
||||
|
||||
@ -771,14 +802,14 @@ msgid "Dropdown options"
|
||||
msgstr "Opciones de menú desplegable"
|
||||
|
||||
#: packages/lib/constants/document.ts:28
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:875
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:882
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:272
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:500
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:507
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:512
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:519
|
||||
#: packages/ui/primitives/document-flow/types.ts:54
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:638
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:463
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:645
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478
|
||||
msgid "Email"
|
||||
msgstr "Correo electrónico"
|
||||
|
||||
@ -790,15 +821,15 @@ msgstr "Se requiere email"
|
||||
msgid "Email Options"
|
||||
msgstr "Opciones de correo electrónico"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
msgid "Email resent"
|
||||
msgstr "Correo electrónico reeenviado"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
msgid "Email sent"
|
||||
msgstr "Correo electrónico enviado"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1123
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1130
|
||||
msgid "Empty field"
|
||||
msgstr "Campo vacío"
|
||||
|
||||
@ -807,11 +838,11 @@ msgid "Enable Direct Link Signing"
|
||||
msgstr "Habilitar firma de enlace directo"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:401
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:362
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:370
|
||||
msgid "Enable signing order"
|
||||
msgstr "Habilitar orden de firma"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:795
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:802
|
||||
msgid "Enable Typed Signatures"
|
||||
msgstr "Habilitar firmas escritas"
|
||||
|
||||
@ -889,7 +920,7 @@ msgstr "Firma gratuita"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:89
|
||||
msgid "Generate Links"
|
||||
msgstr ""
|
||||
msgstr "Generar enlaces"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
|
||||
msgid "Global recipient action authentication"
|
||||
@ -903,6 +934,9 @@ msgstr "Regresar"
|
||||
msgid "Green"
|
||||
msgstr "Verde"
|
||||
|
||||
#~ msgid "Hello {recipientName},"
|
||||
#~ msgstr "Hello {recipientName},"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:56
|
||||
msgid "Hi, {userName} <0>({userEmail})</0>"
|
||||
msgstr "Hola, {userName} <0>({userEmail})</0>"
|
||||
@ -986,14 +1020,14 @@ msgstr "Mensaje <0>(Opcional)</0>"
|
||||
msgid "Min"
|
||||
msgstr "Mín"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:901
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:908
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:298
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:535
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:541
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:550
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:556
|
||||
#: packages/ui/primitives/document-flow/types.ts:55
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:664
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:498
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:504
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:671
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
@ -1009,17 +1043,17 @@ msgstr "Necesita firmar"
|
||||
msgid "Needs to view"
|
||||
msgstr "Necesita ver"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:686
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:504
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:693
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:511
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "No se encontró ningún destinatario que coincidiera con esta descripción."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:215
|
||||
msgid "No recipients"
|
||||
msgstr ""
|
||||
msgstr "Sin destinatarios"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:701
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:708
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:526
|
||||
msgid "No recipients with this role"
|
||||
msgstr "No hay destinatarios con este rol"
|
||||
|
||||
@ -1045,11 +1079,11 @@ msgstr "No se encontró valor."
|
||||
|
||||
#: packages/lib/constants/document.ts:32
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
msgstr "Ninguno"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:979
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:986
|
||||
#: packages/ui/primitives/document-flow/types.ts:56
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:749
|
||||
msgid "Number"
|
||||
msgstr "Número"
|
||||
|
||||
@ -1107,7 +1141,7 @@ msgstr "Seleccione un número"
|
||||
msgid "Placeholder"
|
||||
msgstr "Marcador de posición"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:46
|
||||
#: packages/email/template-components/template-document-invite.tsx:56
|
||||
msgid "Please {0} your document<0/>\"{documentName}\""
|
||||
msgstr "Por favor {0} tu documento<0/>\"{documentName}\""
|
||||
|
||||
@ -1140,7 +1174,8 @@ msgstr "Por favor confirma tu dirección de correo electrónico"
|
||||
msgid "Please try again or contact our support."
|
||||
msgstr "Por favor, inténtalo de nuevo o contacta a nuestro soporte."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:768
|
||||
#: packages/ui/primitives/document-flow/types.ts:57
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:775
|
||||
msgid "Radio"
|
||||
msgstr "Radio"
|
||||
|
||||
@ -1156,11 +1191,16 @@ msgstr "Valores de radio"
|
||||
msgid "Read only"
|
||||
msgstr "Solo lectura"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:32
|
||||
msgid "Reason for rejection: {rejectionReason}"
|
||||
msgstr "Razón del rechazo: {rejectionReason}"
|
||||
|
||||
#: packages/ui/components/recipient/recipient-role-select.tsx:95
|
||||
msgid "Receives copy"
|
||||
msgstr "Recibe copia"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatario"
|
||||
|
||||
@ -1172,11 +1212,11 @@ msgstr "Autenticación de acción de destinatario"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:89
|
||||
msgid "Recipient removed email"
|
||||
msgstr ""
|
||||
msgstr "Correo electrónico de destinatario eliminado"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:50
|
||||
msgid "Recipient signing request email"
|
||||
msgstr ""
|
||||
msgstr "Correo electrónico de solicitud de firma de destinatario"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
|
||||
msgid "Red"
|
||||
@ -1187,6 +1227,18 @@ msgstr "Rojo"
|
||||
msgid "Redirect URL"
|
||||
msgstr "URL de redirección"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:96
|
||||
msgid "Reject Document"
|
||||
msgstr "Rechazar Documento"
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
|
||||
msgid "Rejection Confirmed"
|
||||
msgstr "Rechazo Confirmado"
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
|
||||
msgid "Rejection reason: {reason}"
|
||||
msgstr "Razón del rechazo: {reason}"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:192
|
||||
msgid "Reminder: {0}"
|
||||
msgstr "Recordatorio: {0}"
|
||||
@ -1203,7 +1255,7 @@ msgstr "Recordatorio: Por favor {recipientActionVerb} este documento"
|
||||
msgid "Reminder: Please {recipientActionVerb} your document"
|
||||
msgstr "Recordatorio: Por favor {recipientActionVerb} tu documento"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1110
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1117
|
||||
msgid "Remove"
|
||||
msgstr "Eliminar"
|
||||
|
||||
@ -1217,7 +1269,7 @@ msgstr "Campo obligatorio"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:84
|
||||
msgid "Resend"
|
||||
msgstr ""
|
||||
msgstr "Reenviar"
|
||||
|
||||
#: packages/email/template-components/template-forgot-password.tsx:33
|
||||
msgid "Reset Password"
|
||||
@ -1235,7 +1287,7 @@ msgstr "Filas por página"
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:854
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:861
|
||||
msgid "Save Template"
|
||||
msgstr "Guardar plantilla"
|
||||
|
||||
@ -1244,6 +1296,7 @@ msgid "Search languages..."
|
||||
msgstr "Buscar idiomas..."
|
||||
|
||||
#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:115
|
||||
#: packages/ui/primitives/document-flow/types.ts:59
|
||||
msgid "Select"
|
||||
msgstr "Seleccionar"
|
||||
|
||||
@ -1272,27 +1325,27 @@ msgstr "Enviar documento"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:158
|
||||
msgid "Send document completed email"
|
||||
msgstr ""
|
||||
msgstr "Enviar correo electrónico de documento completado"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:197
|
||||
msgid "Send document deleted email"
|
||||
msgstr ""
|
||||
msgstr "Enviar correo electrónico de documento eliminado"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:118
|
||||
msgid "Send document pending email"
|
||||
msgstr ""
|
||||
msgstr "Enviar correo electrónico de documento pendiente"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:101
|
||||
msgid "Send documents on behalf of the team using the email address"
|
||||
msgstr ""
|
||||
msgstr "Enviar documentos en nombre del equipo usando la dirección de correo electrónico"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:79
|
||||
msgid "Send recipient removed email"
|
||||
msgstr ""
|
||||
msgstr "Enviar correo electrónico de destinatario eliminado"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:40
|
||||
msgid "Send recipient signing request email"
|
||||
msgstr ""
|
||||
msgstr "Enviar correo electrónico de solicitud de firma de destinatario"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:135
|
||||
msgid "Share Signature Card"
|
||||
@ -1306,8 +1359,8 @@ msgstr "Compartir el enlace"
|
||||
msgid "Share your signing experience!"
|
||||
msgstr "¡Comparte tu experiencia de firma!"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:680
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:655
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:709
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:663
|
||||
msgid "Show advanced settings"
|
||||
msgstr "Mostrar configuraciones avanzadas"
|
||||
|
||||
@ -1315,19 +1368,19 @@ msgstr "Mostrar configuraciones avanzadas"
|
||||
msgid "Sign"
|
||||
msgstr "Firmar"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:87
|
||||
#: packages/email/template-components/template-document-invite.tsx:104
|
||||
msgid "Sign Document"
|
||||
msgstr ""
|
||||
msgstr "Firmar Documento"
|
||||
|
||||
#: packages/email/template-components/template-reset-password.tsx:34
|
||||
msgid "Sign In"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:823
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:830
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:323
|
||||
#: packages/ui/primitives/document-flow/field-icon.tsx:52
|
||||
#: packages/ui/primitives/document-flow/types.ts:49
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:586
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:593
|
||||
msgid "Signature"
|
||||
msgstr "Firma"
|
||||
|
||||
@ -1351,8 +1404,8 @@ msgstr "Los firmantes deben tener correos electrónicos únicos"
|
||||
msgid "Signing"
|
||||
msgstr "Firmando"
|
||||
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:111
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:191
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:114
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:194
|
||||
msgid "Signing Complete!"
|
||||
msgstr "¡Firma completa!"
|
||||
|
||||
@ -1392,7 +1445,7 @@ msgstr "Enviar"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team.ts:124
|
||||
msgid "Team \"{0}\" has been deleted on Documenso"
|
||||
msgstr ""
|
||||
msgstr "El equipo \"{0}\" ha sido eliminado en Documenso"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:104
|
||||
msgid "Team email has been revoked for {0}"
|
||||
@ -1410,9 +1463,9 @@ msgstr "Correo electrónico del equipo eliminado para {teamName} en Documenso"
|
||||
msgid "Template title"
|
||||
msgstr "Título de plantilla"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:953
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:960
|
||||
#: packages/ui/primitives/document-flow/types.ts:52
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:716
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:723
|
||||
msgid "Text"
|
||||
msgstr "Texto"
|
||||
|
||||
@ -1432,6 +1485,13 @@ msgstr "La autenticación requerida para que los destinatarios firmen el campo d
|
||||
msgid "The authentication required for recipients to view the document."
|
||||
msgstr "La autenticación requerida para que los destinatarios vean el documento."
|
||||
|
||||
#~ msgid "The document owner has been notified of this rejection. No further action is required from you at this time."
|
||||
#~ msgstr "The document owner has been notified of this rejection. No further action is required from you at this time."
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:39
|
||||
msgid "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection."
|
||||
msgstr "El propietario del documento ha sido notificado de este rechazo. No se requiere ninguna acción adicional de su parte en este momento. El propietario del documento puede contactarlo con cualquier pregunta relacionada con este rechazo."
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
|
||||
msgid "The document's name"
|
||||
msgstr "El nombre del documento"
|
||||
@ -1486,7 +1546,7 @@ msgstr "El nombre del firmante"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:243
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
msgstr ""
|
||||
msgstr "El enlace de firma ha sido copiado a tu portapapeles."
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:63
|
||||
msgid "The team email <0>{teamEmail}</0> has been removed from the following team"
|
||||
@ -1500,7 +1560,7 @@ msgstr "Esto se puede anular configurando los requisitos de autenticación direc
|
||||
msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
|
||||
msgstr "Este documento no se puede recuperar, si deseas impugnar la razón para documentos futuros, por favor contacta con el soporte."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:757
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:764
|
||||
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."
|
||||
|
||||
@ -1512,27 +1572,34 @@ msgstr "Este documento está protegido por contraseña. Por favor ingrese la con
|
||||
msgid "This document was sent using <0>Documenso.</0>"
|
||||
msgstr "Este documento fue enviado usando <0>Documenso.</0>"
|
||||
|
||||
#~ msgid "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
|
||||
#~ msgstr "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:26
|
||||
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."
|
||||
msgstr "Este correo electrónico confirma que ha rechazado el documento <0>\"{documentName}\"</0> enviado por {documentOwnerName}."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:94
|
||||
msgid "This email is sent to the recipient if they are removed from a pending document."
|
||||
msgstr ""
|
||||
msgstr "Este correo electrónico se envía al destinatario si es eliminado de un documento pendiente."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:55
|
||||
msgid "This email is sent to the recipient requesting them to sign the document."
|
||||
msgstr ""
|
||||
msgstr "Este correo electrónico se envía al destinatario solicitando que firme el documento."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:133
|
||||
msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
|
||||
msgstr ""
|
||||
msgstr "Este correo electrónico se enviará al destinatario que acaba de firmar el documento, si todavía hay otros destinatarios que no han firmado."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:581
|
||||
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
|
||||
msgstr "Este campo no se puede modificar ni eliminar. Cuando comparta el enlace directo de esta plantilla o lo agregue a su perfil público, cualquiera que acceda podrá ingresar su nombre y correo electrónico, y completar los campos que se le hayan asignado."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
|
||||
msgid "This is how the document will reach the recipients once the document is ready for signing."
|
||||
msgstr ""
|
||||
msgstr "Así es como el documento llegará a los destinatarios una vez que esté listo para firmarse."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1090
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1097
|
||||
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
|
||||
msgstr "Este destinatario ya no puede ser modificado ya que ha firmado un campo o completado el documento."
|
||||
|
||||
@ -1542,11 +1609,11 @@ msgstr "Este firmante ya ha firmado el documento."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:212
|
||||
msgid "This will be sent to all recipients if a pending document has been deleted."
|
||||
msgstr ""
|
||||
msgstr "Esto se enviará a todos los destinatarios si un documento pendiente ha sido eliminado."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:173
|
||||
msgid "This will be sent to all recipients once the document has been fully completed."
|
||||
msgstr ""
|
||||
msgstr "Esto se enviará a todos los destinatarios una vez que el documento esté completamente completado."
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
|
||||
msgid "This will override any global settings."
|
||||
@ -1561,8 +1628,8 @@ msgstr "Zona horaria"
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1073
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:834
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1080
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:841
|
||||
msgid "To proceed further, please set at least one value for the {0} field."
|
||||
msgstr "Para continuar, por favor establezca al menos un valor para el campo {0}."
|
||||
|
||||
@ -1594,7 +1661,7 @@ msgstr "Valor"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:71
|
||||
msgid "Verify your team email address"
|
||||
msgstr ""
|
||||
msgstr "Verifica tu dirección de correo electrónico del equipo"
|
||||
|
||||
#: packages/lib/constants/recipient-roles.ts:29
|
||||
msgid "View"
|
||||
@ -1602,17 +1669,18 @@ msgstr "Ver"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:95
|
||||
msgid "View all documents sent to and from this email address"
|
||||
msgstr ""
|
||||
msgstr "Ver todos los documentos enviados hacia y desde esta dirección de correo electrónico"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:75
|
||||
msgid "View document"
|
||||
msgstr "Ver documento"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:88
|
||||
#: packages/email/template-components/template-document-invite.tsx:105
|
||||
#: packages/email/template-components/template-document-rejected.tsx:44
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:90
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:91
|
||||
msgid "View Document"
|
||||
msgstr ""
|
||||
msgstr "Ver Documento"
|
||||
|
||||
#: packages/email/template-components/template-document-self-signed.tsx:79
|
||||
msgid "View plans"
|
||||
@ -1648,11 +1716,11 @@ msgstr "Esperando a que otros completen la firma."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:205
|
||||
msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
msgstr "Generaremos enlaces de firma para ti, que podrás enviar a los destinatarios a través de tu método preferido."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:201
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
msgstr "No enviaremos nada para notificar a los destinatarios."
|
||||
|
||||
#: packages/email/template-components/template-document-pending.tsx:41
|
||||
msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
|
||||
@ -1680,12 +1748,16 @@ msgstr "También puedes copiar y pegar este enlace en tu navegador: {confirmatio
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:106
|
||||
msgid "You can revoke access at any time in your team settings on Documenso <0>here.</0>"
|
||||
msgstr ""
|
||||
msgstr "Puedes revocar el acceso en cualquier momento en la configuración de tu equipo en Documenso <0>aquí.</0>"
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
|
||||
msgid "You can use the following variables in your message:"
|
||||
msgstr "Puede usar las siguientes variables en su mensaje:"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:37
|
||||
msgid "You can view the document and its status by clicking the button below."
|
||||
msgstr "Puede ver el documento y su estado haciendo clic en el botón de abajo."
|
||||
|
||||
#: packages/ui/primitives/document-dropzone.tsx:43
|
||||
msgid "You cannot upload documents at this time."
|
||||
msgstr "No puede cargar documentos en este momento."
|
||||
@ -1719,6 +1791,13 @@ msgstr "Has iniciado el documento {0} que requiere que {recipientActionVerb}."
|
||||
msgid "You have reached your document limit."
|
||||
msgstr "Ha alcanzado su límite de documentos."
|
||||
|
||||
#: packages/email/templates/document-rejection-confirmed.tsx:27
|
||||
msgid "You have rejected the document '{documentName}'"
|
||||
msgstr "Ha rechazado el documento '{documentName}'"
|
||||
|
||||
#~ msgid "You have rejected the document \"{documentName}\""
|
||||
#~ msgstr "You have rejected the document \"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-self-signed.tsx:42
|
||||
msgid "You have signed “{documentName}”"
|
||||
msgstr "Has firmado “{documentName}”"
|
||||
@ -1735,3 +1814,4 @@ msgstr "Tu contraseña ha sido actualizada."
|
||||
#: packages/email/templates/team-delete.tsx:32
|
||||
msgid "Your team has been deleted"
|
||||
msgstr "Tu equipo ha sido eliminado"
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Project-Id-Version: documenso-app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 09:34\n"
|
||||
"PO-Revision-Date: 2024-11-20 11:56\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@ -602,3 +602,4 @@ msgstr "Puedes autoalojar Documenso de forma gratuita o usar nuestra versión al
|
||||
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
|
||||
msgid "Your browser does not support the video tag."
|
||||
msgstr "Tu navegador no soporta la etiqueta de video."
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Project-Id-Version: documenso-app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 09:34\n"
|
||||
"PO-Revision-Date: 2024-11-20 11:56\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@ -18,9 +18,9 @@ msgstr ""
|
||||
"X-Crowdin-File: web.po\n"
|
||||
"X-Crowdin-File-ID: 8\n"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:211
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:214
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
msgstr "\"{0}\" te ha invitado a firmar \"ejemplo de documento\"."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
|
||||
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
|
||||
@ -32,31 +32,37 @@ msgstr "\"{documentTitle}\" ha sido eliminado con éxito"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:234
|
||||
msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
msgstr "\"{email}\" en nombre de \"{teamName}\" te ha invitado a firmar \"ejemplo de documento\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid ""
|
||||
"\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
"document\"."
|
||||
msgstr ""
|
||||
#~ msgid ""
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
#~ msgstr ""
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{placeholderEmail}\" en nombre de \"{0}\" te ha invitado a firmar \"documento de ejemplo\"."
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
|
||||
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
msgstr "\"{teamUrl}\" te ha invitado a firmar \"ejemplo de documento\"."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) te ha invitado a aprobar este documento"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:75
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
msgid "({0}) has invited you to sign this document"
|
||||
msgstr "({0}) te ha invitado a firmar este documento"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:72
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:74
|
||||
msgid "({0}) has invited you to view this document"
|
||||
msgstr "({0}) te ha invitado a ver este documento"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:313
|
||||
msgid "{0, plural, one {(1 character over)} other {(# characters over)}}"
|
||||
msgstr "{0, plural, one {(1 carácter excedido)} other {(# caracteres excedidos)}}"
|
||||
|
||||
@ -78,6 +84,10 @@ msgstr "{0, plural, one {# Asiento} other {# Asientos}}"
|
||||
msgid "{0, plural, one {<0>You have <1>1</1> pending team invitation</0>} other {<2>You have <3>#</3> pending team invitations</2>}}"
|
||||
msgstr "{0, plural, one {<0>Tienes <1>1</1> invitación de equipo pendiente</0>} other {<2>Tienes <3>#</3> invitaciones de equipo pendientes</2>}}"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:196
|
||||
msgid "{0, plural, one {1 matching field} other {# matching fields}}"
|
||||
msgstr "{0, plural, one {1 campo que coincide} other {# campos que coinciden}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:129
|
||||
msgid "{0, plural, one {1 Recipient} other {# Recipients}}"
|
||||
msgstr "{0, plural, one {1 Destinatario} other {# Destinatarios}}"
|
||||
@ -90,13 +100,17 @@ msgstr "{0, plural, one {Esperando 1 destinatario} other {Esperando # destinatar
|
||||
msgid "{0, plural, zero {Select values} other {# selected...}}"
|
||||
msgstr "{0, plural, zero {Selecciona valores} other {# seleccionados...}}"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:193
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:249
|
||||
msgid "{0} direct signing templates"
|
||||
msgstr "{0} plantillas de firma directa"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:66
|
||||
#~ msgid "{0} document"
|
||||
#~ msgstr "{0} documento"
|
||||
#~ msgstr "{0} document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/upload-document.tsx:146
|
||||
msgid "{0} of {1} documents remaining this month."
|
||||
@ -108,9 +122,9 @@ msgstr "{0} Destinatario(s)"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
|
||||
#~ msgid "{0} the document to complete the process."
|
||||
#~ msgstr "{0} el documento para completar el proceso."
|
||||
#~ msgstr "{0} the document to complete the process."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:292
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:294
|
||||
msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}"
|
||||
msgstr "{charactersRemaining, plural, one {1 carácter restante} other {{charactersRemaining} caracteres restantes}}"
|
||||
|
||||
@ -124,11 +138,11 @@ msgstr "{numberOfSeats, plural, one {# miembro} other {# miembros}}"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
|
||||
msgid "{recipientActionVerb} document"
|
||||
msgstr ""
|
||||
msgstr "{recipientActionVerb} documento"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:68
|
||||
msgid "{recipientActionVerb} the document to complete the process."
|
||||
msgstr ""
|
||||
msgstr "{recipientActionVerb} el documento para completar el proceso."
|
||||
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:231
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:389
|
||||
@ -341,7 +355,7 @@ msgstr "Agregar Firmantes"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
|
||||
#~ msgid "Add Subject"
|
||||
#~ msgstr "Agregar Asunto"
|
||||
#~ msgstr "Add Subject"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
|
||||
msgid "Add team email"
|
||||
@ -357,7 +371,7 @@ msgstr "Agrega los destinatarios con los que crear el documento"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
#~ msgid "Add the subject and message you wish to send to signers."
|
||||
#~ msgstr "Agrega el asunto y el mensaje que deseas enviar a los firmantes."
|
||||
#~ msgstr "Add the subject and message you wish to send to signers."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
|
||||
msgid "Adding and removing seats will adjust your invoice accordingly."
|
||||
@ -365,7 +379,7 @@ msgstr "Agregar y eliminar asientos ajustará tu factura en consecuencia."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
|
||||
msgid "Additional brand information to display at the bottom of emails"
|
||||
msgstr ""
|
||||
msgstr "Información adicional de la marca para mostrar al final de los correos electrónicos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
|
||||
msgid "Admin Actions"
|
||||
@ -405,7 +419,7 @@ msgstr "Todos los destinatarios serán notificados"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:62
|
||||
msgid "All signing links have been copied to your clipboard."
|
||||
msgstr ""
|
||||
msgstr "Todos los enlaces de firma se han copiado en su portapapeles."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:57
|
||||
msgid "All templates"
|
||||
@ -468,6 +482,10 @@ msgstr "Ocurrió un error al agregar firmantes."
|
||||
msgid "An error occurred while adding the fields."
|
||||
msgstr "Ocurrió un error al agregar los campos."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:154
|
||||
msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields."
|
||||
msgstr "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/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
|
||||
msgid "An error occurred while creating document from template."
|
||||
msgstr "Ocurrió un error al crear el documento a partir de la plantilla."
|
||||
@ -558,7 +576,7 @@ msgstr "Ocurrió un error al actualizar la configuración del documento."
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:78
|
||||
#~ msgid "An error occurred while updating the global team settings."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "An error occurred while updating the global team settings."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
|
||||
msgid "An error occurred while updating the signature."
|
||||
@ -652,7 +670,7 @@ msgstr "Aprobar"
|
||||
msgid "Approve Document"
|
||||
msgstr "Aprobar Documento"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:85
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:94
|
||||
msgid "Approved"
|
||||
msgstr "Aprobado"
|
||||
|
||||
@ -660,6 +678,10 @@ msgstr "Aprobado"
|
||||
msgid "Are you sure you want to delete this token?"
|
||||
msgstr "¿Estás seguro de que deseas eliminar este token?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:120
|
||||
msgid "Are you sure you want to reject this document? This action cannot be undone."
|
||||
msgstr "Are you sure you want to reject this document? This action cannot be undone."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:188
|
||||
msgid "Are you sure you want to remove the <0>{passkeyName}</0> passkey."
|
||||
msgstr "¿Está seguro de que desea eliminar la clave de acceso <0>{passkeyName}</0>?"
|
||||
@ -738,7 +760,7 @@ msgstr "Banner actualizado"
|
||||
msgid "Basic details"
|
||||
msgstr "Detalles básicos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:74
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
|
||||
@ -749,11 +771,11 @@ msgstr "Facturación"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr ""
|
||||
msgstr "Preferencias de marca"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
|
||||
msgid "Branding preferences updated"
|
||||
msgstr ""
|
||||
msgstr "Preferencias de marca actualizadas"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
|
||||
@ -762,7 +784,7 @@ msgstr "Navegador"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:145
|
||||
msgid "Bulk Copy"
|
||||
msgstr ""
|
||||
msgstr "Copia masiva"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:279
|
||||
msgid "Bulk Import"
|
||||
@ -800,6 +822,7 @@ msgstr "Al utilizar la función de firma electrónica, usted está consintiendo
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:119
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:220
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:178
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:71
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164
|
||||
@ -807,10 +830,11 @@ msgstr "Al utilizar la función de firma electrónica, usted está consintiendo
|
||||
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:220
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:215
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:327
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:333
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176
|
||||
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242
|
||||
@ -842,7 +866,7 @@ msgstr "Gráficas"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
|
||||
#~ msgid "Check out the documentaton for the <0>global team settings</0>."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Check out the documentaton for the <0>global team settings</0>."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
|
||||
msgid "Checkout"
|
||||
@ -858,7 +882,7 @@ msgstr "Elija el destinatario del enlace directo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
|
||||
msgid "Choose how the document will reach recipients"
|
||||
msgstr ""
|
||||
msgstr "Elige cómo el documento llegará a los destinatarios"
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:200
|
||||
msgid "Choose..."
|
||||
@ -940,7 +964,7 @@ msgid "Complete Viewing"
|
||||
msgstr "Completar Visualización"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:62
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:77
|
||||
#: apps/web/src/components/formatter/document-status.tsx:28
|
||||
msgid "Completed"
|
||||
msgstr "Completado"
|
||||
@ -1023,21 +1047,21 @@ msgstr "Continuar con el inicio de sesión"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr ""
|
||||
msgstr "Controla el idioma predeterminado de un documento cargado. Este se utilizará como el idioma en las comunicaciones por correo electrónico con los destinatarios."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr ""
|
||||
msgstr "Controla la visibilidad predeterminada de un documento cargado."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
|
||||
msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
|
||||
msgstr ""
|
||||
msgstr "Controla el formato del mensaje que se enviará al invitar a un destinatario a firmar un documento. Si se ha proporcionado un mensaje personalizado al configurar el documento, se usará en su lugar."
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
msgstr "Copiado"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:133
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:162
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:77
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:163
|
||||
@ -1050,7 +1074,7 @@ msgstr "Copiado al portapapeles"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:123
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Copiar"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:169
|
||||
msgid "Copy sharable link"
|
||||
@ -1062,7 +1086,7 @@ msgstr "Copiar enlace compartible"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:83
|
||||
msgid "Copy Signing Links"
|
||||
msgstr ""
|
||||
msgstr "Copiar enlaces de firma"
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:288
|
||||
msgid "Copy token"
|
||||
@ -1096,7 +1120,7 @@ msgstr "Crear como borrador"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
|
||||
msgid "Create as pending"
|
||||
msgstr ""
|
||||
msgstr "Crear como pendiente"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
|
||||
msgid "Create Direct Link"
|
||||
@ -1120,7 +1144,7 @@ msgstr "Crear uno automáticamente"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
|
||||
msgid "Create signing links"
|
||||
msgstr ""
|
||||
msgstr "Crear enlaces de firma"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
|
||||
@ -1135,7 +1159,7 @@ msgstr "Crear Equipo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
|
||||
msgid "Create the document as pending and ready to sign."
|
||||
msgstr ""
|
||||
msgstr "Crear el documento como pendiente y listo para firmar."
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:250
|
||||
#: apps/web/src/components/forms/token.tsx:259
|
||||
@ -1225,12 +1249,12 @@ msgstr "Invitación de equipo rechazada"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
msgid "Default Document Language"
|
||||
msgstr ""
|
||||
msgstr "Idioma predeterminado del documento"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
msgid "Default Document Visibility"
|
||||
msgstr ""
|
||||
msgstr "Visibilidad predeterminada del documento"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
msgid "delete"
|
||||
@ -1404,7 +1428,7 @@ msgstr "Mostrar su nombre y correo electrónico en documentos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Distribute Document"
|
||||
msgstr ""
|
||||
msgstr "Distribuir documento"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
|
||||
msgid "Do you want to delete this template?"
|
||||
@ -1505,12 +1529,16 @@ msgstr "Documento pendiente"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
|
||||
msgid "Document preferences updated"
|
||||
msgstr ""
|
||||
msgstr "Preferencias del documento actualizadas"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
|
||||
msgid "Document re-sent"
|
||||
msgstr "Documento reenviado"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
|
||||
msgid "Document Rejected"
|
||||
msgstr "Document Rejected"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
|
||||
msgid "Document resealed"
|
||||
msgstr "Documento sellado nuevamente"
|
||||
@ -1521,7 +1549,7 @@ msgstr "Documento enviado"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Document Settings"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Signed"
|
||||
@ -1602,7 +1630,7 @@ msgstr "Descargar"
|
||||
msgid "Download Audit Logs"
|
||||
msgstr "Descargar registros de auditoría"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:84
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:86
|
||||
msgid "Download Certificate"
|
||||
msgstr "Descargar certificado"
|
||||
|
||||
@ -1722,7 +1750,7 @@ msgstr "Habilitar aplicación autenticadora"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
|
||||
msgid "Enable custom branding for all documents in this team."
|
||||
msgstr ""
|
||||
msgstr "Habilitar branding personalizado para todos los documentos en este equipo."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
|
||||
msgid "Enable direct link signing"
|
||||
@ -1751,7 +1779,7 @@ msgstr "Termina en"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
|
||||
msgid "Enter your brand details"
|
||||
msgstr ""
|
||||
msgstr "Ingresa los detalles de tu marca"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
|
||||
msgid "Enter your email"
|
||||
@ -1765,7 +1793,7 @@ msgstr "Ingresa tu dirección de correo electrónico para recibir el documento c
|
||||
msgid "Enter your name"
|
||||
msgstr "Ingresa tu nombre"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:278
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:280
|
||||
msgid "Enter your text here"
|
||||
msgstr "Ingresa tu texto aquí"
|
||||
|
||||
@ -1784,6 +1812,7 @@ msgstr "Ingresa tu texto aquí"
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:152
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
|
||||
@ -1812,11 +1841,11 @@ msgstr "Error"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:77
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Error updating global team settings"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr ""
|
||||
msgstr "Todos pueden acceder y ver el documento"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
msgid "Everyone has signed"
|
||||
@ -1890,11 +1919,11 @@ msgstr "General"
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#~ msgid "Global Settings"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Global Settings"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:69
|
||||
#~ msgid "Global Team Settings Updated"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Global Team Settings Updated"
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
|
||||
@ -1934,11 +1963,11 @@ msgstr "Aquí puedes gestionar tu contraseña y la configuración de seguridad."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
|
||||
msgid "Here you can set preferences and defaults for branding."
|
||||
msgstr ""
|
||||
msgstr "Aquí puedes establecer preferencias y valores predeterminados para la marca."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
|
||||
msgid "Here you can set preferences and defaults for your team."
|
||||
msgstr ""
|
||||
msgstr "Aquí puedes establecer preferencias y valores predeterminados para tu equipo."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
|
||||
msgid "Here's how it works:"
|
||||
@ -1993,7 +2022,7 @@ msgstr "Documentos en bandeja de entrada"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:132
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Include Sender Details"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
|
||||
@ -2163,7 +2192,7 @@ msgstr "Enlace de plantilla"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
|
||||
msgid "Links Generated"
|
||||
msgstr ""
|
||||
msgstr "Enlaces generados"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
|
||||
@ -2215,6 +2244,10 @@ msgstr "Gestionar todos los equipos con los que estás asociado actualmente."
|
||||
msgid "Manage and view template"
|
||||
msgstr "Gestionar y ver plantilla"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:136
|
||||
msgid "Manage billing"
|
||||
msgstr "Gestionar la facturación"
|
||||
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341
|
||||
msgid "Manage details for this public template"
|
||||
msgstr "Gestionar detalles de esta plantilla pública"
|
||||
@ -2235,7 +2268,7 @@ msgstr "Gestionar claves de acceso"
|
||||
msgid "Manage subscription"
|
||||
msgstr "Gestionar suscripción"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:67
|
||||
msgid "Manage Subscription"
|
||||
msgstr "Gestionar Suscripción"
|
||||
|
||||
@ -2294,7 +2327,7 @@ msgstr "Miembro desde"
|
||||
msgid "Members"
|
||||
msgstr "Miembros"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:46
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35
|
||||
msgid "Modify recipients"
|
||||
msgstr "Modificar destinatarios"
|
||||
@ -2388,6 +2421,10 @@ msgstr "Siguiente campo"
|
||||
msgid "No active drafts"
|
||||
msgstr "No hay borradores activos"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
|
||||
msgid "No further action is required from you at this time."
|
||||
msgstr "No further action is required from you at this time."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
|
||||
msgid "No payment required"
|
||||
msgstr "No se requiere pago"
|
||||
@ -2404,7 +2441,7 @@ msgstr "No hay actividad reciente"
|
||||
msgid "No recent documents"
|
||||
msgstr "No hay documentos recientes"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:61
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:70
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:49
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:96
|
||||
msgid "No recipients"
|
||||
@ -2444,7 +2481,7 @@ msgstr "No soportado"
|
||||
msgid "Nothing to do"
|
||||
msgstr "Nada que hacer"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:270
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:271
|
||||
msgid "Number"
|
||||
msgstr "Número"
|
||||
|
||||
@ -2480,11 +2517,11 @@ msgstr "Una vez que hayas escaneado el código QR o ingresado el código manualm
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:134
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr ""
|
||||
msgstr "Solo los administradores pueden acceder y ver el documento"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr ""
|
||||
msgstr "Solo los gerentes y superiores pueden acceder y ver el documento"
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
|
||||
@ -2494,7 +2531,7 @@ msgstr ""
|
||||
msgid "Oops! Something went wrong."
|
||||
msgstr "¡Ups! Algo salió mal."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:140
|
||||
msgid "Opened"
|
||||
msgstr "Abierto"
|
||||
|
||||
@ -2593,7 +2630,7 @@ msgstr "Se requiere pago para finalizar la creación de tu equipo."
|
||||
msgid "Payment overdue"
|
||||
msgstr "Pago atrasado"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:122
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:131
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:211
|
||||
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:82
|
||||
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:77
|
||||
@ -2686,6 +2723,10 @@ msgstr "Por favor, ten en cuenta que esta acción es irreversible. Una vez confi
|
||||
msgid "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified"
|
||||
msgstr "Por favor, ten en cuenta que perderás acceso a todos los documentos asociados con este equipo y todos los miembros serán eliminados y notificados"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
|
||||
msgid "Please provide a reason"
|
||||
msgstr "Please provide a reason"
|
||||
|
||||
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:127
|
||||
msgid "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support."
|
||||
msgstr "Por favor, proporciona un token del autenticador o un código de respaldo. Si no tienes un código de respaldo disponible, contacta al soporte."
|
||||
@ -2722,7 +2763,7 @@ msgstr "Preferencias"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
msgstr "Vista previa"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
|
||||
msgid "Preview and configure template."
|
||||
@ -2730,7 +2771,7 @@ msgstr "Vista previa y configurar plantilla."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#~ msgid "Preview: {0}"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Preview: {0}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
|
||||
#: apps/web/src/components/formatter/template-type.tsx:22
|
||||
@ -2794,7 +2835,7 @@ msgstr "Campo de solo lectura"
|
||||
msgid "Read the full <0>signature disclosure</0>."
|
||||
msgstr "Lea la <0>divulgación de firma</0> completa."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:97
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:106
|
||||
msgid "Ready"
|
||||
msgstr "Listo"
|
||||
|
||||
@ -2802,6 +2843,14 @@ msgstr "Listo"
|
||||
msgid "Reason"
|
||||
msgstr "Razón"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
|
||||
msgid "Reason for rejection:"
|
||||
msgstr "Reason for rejection:"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
|
||||
msgid "Reason must be less than 500 characters"
|
||||
msgstr "Reason must be less than 500 characters"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
|
||||
msgid "Reauthentication is required to sign this field"
|
||||
msgstr "Se requiere reautenticación para firmar este campo"
|
||||
@ -2826,7 +2875,7 @@ msgid "Recipient updated"
|
||||
msgstr "Destinatario actualizado"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:40
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:49
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:139
|
||||
msgid "Recipients"
|
||||
@ -2854,6 +2903,17 @@ msgstr "Códigos de recuperación"
|
||||
msgid "Registration Successful"
|
||||
msgstr "Registro exitoso"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162
|
||||
msgid "Reject Document"
|
||||
msgstr "Reject Document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:141
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
|
||||
msgid "Rejected"
|
||||
msgstr "Rejected"
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
|
||||
msgid "Remembered your password? <0>Sign In</0>"
|
||||
msgstr "¿Recordaste tu contraseña? <0>Iniciar sesión</0>"
|
||||
@ -2984,10 +3044,10 @@ msgid "Roles"
|
||||
msgstr "Roles"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
@ -3065,7 +3125,7 @@ msgstr "Enviar documento"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr ""
|
||||
msgstr "Enviar en nombre del equipo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
|
||||
msgid "Send reminder"
|
||||
@ -3083,7 +3143,7 @@ msgstr "Enviando correo de restablecimiento..."
|
||||
msgid "Sending..."
|
||||
msgstr "Enviando..."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:92
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
|
||||
msgid "Sent"
|
||||
msgstr "Enviado"
|
||||
@ -3133,6 +3193,7 @@ msgstr "Mostrar plantillas en el perfil público de tu equipo para que tu audien
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
|
||||
#: apps/web/src/app/(profile)/p/[url]/page.tsx:192
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:124
|
||||
@ -3230,7 +3291,7 @@ msgstr "Firmas recolectadas"
|
||||
msgid "Signatures will appear once the document has been completed"
|
||||
msgstr "Las firmas aparecerán una vez que el documento se haya completado"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:105
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:270
|
||||
#: apps/web/src/components/document/document-read-only-fields.tsx:84
|
||||
msgid "Signed"
|
||||
@ -3256,11 +3317,11 @@ msgstr "Iniciando sesión..."
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:160
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
|
||||
msgid "Signing Links"
|
||||
msgstr ""
|
||||
msgstr "Enlaces de firma"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
|
||||
msgid "Signing links have been generated for this document."
|
||||
msgstr ""
|
||||
msgstr "Se han generado enlaces de firma para este documento."
|
||||
|
||||
#: apps/web/src/components/forms/signup.tsx:235
|
||||
msgid "Signing up..."
|
||||
@ -3283,13 +3344,13 @@ msgstr "Configuraciones del sitio"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:80
|
||||
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:50
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:124
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:73
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:93
|
||||
@ -3344,7 +3405,7 @@ msgstr "Algo salió mal al actualizar la suscripción de facturación del equipo
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
|
||||
msgid "Something went wrong!"
|
||||
msgstr ""
|
||||
msgstr "¡Algo salió mal!"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
|
||||
@ -3355,7 +3416,7 @@ msgstr "Algo salió mal. Por favor, intenta de nuevo o contacta al soporte."
|
||||
msgid "Sorry, we were unable to download the audit logs. Please try again later."
|
||||
msgstr "Lo sentimos, no pudimos descargar los registros de auditoría. Por favor, intenta de nuevo más tarde."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:70
|
||||
msgid "Sorry, we were unable to download the certificate. Please try again later."
|
||||
msgstr "Lo sentimos, no pudimos descargar el certificado. Por favor, intenta de nuevo más tarde."
|
||||
|
||||
@ -3511,7 +3572,7 @@ msgstr "¡Propiedad del equipo transferida!"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
|
||||
msgid "Team Preferences"
|
||||
msgstr ""
|
||||
msgstr "Preferencias del equipo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
|
||||
msgid "Team Public Profile"
|
||||
@ -3604,8 +3665,8 @@ msgstr "Plantillas"
|
||||
msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields."
|
||||
msgstr "Las plantillas te permiten generar documentos rápidamente con destinatarios y campos prellenados."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:256
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:272
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:257
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:274
|
||||
msgid "Text"
|
||||
msgstr "Texto"
|
||||
|
||||
@ -3639,6 +3700,10 @@ msgstr "El documento ha sido movido con éxito al equipo seleccionado."
|
||||
msgid "The document is now completed, please follow any instructions provided within the parent application."
|
||||
msgstr "El documento ahora está completado, por favor sigue cualquier instrucción proporcionada dentro de la aplicación principal."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:92
|
||||
msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
|
||||
msgstr "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
|
||||
msgid "The document was created but could not be sent to recipients."
|
||||
msgstr "El documento fue creado pero no se pudo enviar a los destinatarios."
|
||||
@ -3659,7 +3724,7 @@ msgstr "Los eventos que activarán un webhook para ser enviado a tu URL."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
|
||||
#~ msgid "The global settings for the documents in your team account."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "The global settings for the documents in your team account."
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
|
||||
msgid "The ownership of team <0>{0}</0> has been successfully transferred to you."
|
||||
@ -3693,7 +3758,7 @@ msgstr "El destinatario ha sido actualizado con éxito"
|
||||
msgid "The selected team member will receive an email which they must accept before the team is transferred"
|
||||
msgstr "El miembro del equipo seleccionado recibirá un correo electrónico que debe aceptar antes de que se transfiera el equipo"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:134
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:163
|
||||
#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:41
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:118
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
@ -4135,7 +4200,7 @@ msgstr "No se pudo iniciar sesión"
|
||||
msgid "Unauthorized"
|
||||
msgstr "No autorizado"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:116
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:155
|
||||
msgid "Uncompleted"
|
||||
msgstr "Incompleto"
|
||||
|
||||
@ -4228,7 +4293,7 @@ msgstr "Subir avatar"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
|
||||
msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
|
||||
msgstr ""
|
||||
msgstr "Carga el logo de tu marca (máx 5MB, JPG, PNG o WebP)"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
|
||||
@ -4380,12 +4445,12 @@ msgstr "Ver Códigos de Recuperación"
|
||||
msgid "View teams"
|
||||
msgstr "Ver equipos"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:111
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259
|
||||
msgid "Viewed"
|
||||
msgstr "Visto"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:86
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:125
|
||||
msgid "Waiting"
|
||||
msgstr "Esperando"
|
||||
|
||||
@ -4405,7 +4470,7 @@ msgstr "¿Quieres enviar enlaces de firma elegantes como este? <0>Consulta Docum
|
||||
msgid "Want your own public profile?"
|
||||
msgstr "¿Quieres tu propio perfil público?"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:40
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:41
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:55
|
||||
#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:31
|
||||
msgid "We are unable to proceed to the billing portal at this time. Please try again, or contact support."
|
||||
@ -4591,11 +4656,11 @@ msgstr "No pudimos enviar este documento en este momento. Por favor, inténtalo
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
|
||||
msgid "We were unable to update your branding preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
msgstr "No pudimos actualizar tus preferencias de marca en este momento, por favor intenta de nuevo más tarde"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
|
||||
msgid "We were unable to update your document preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
msgstr "No pudimos actualizar tus preferencias de documento en este momento, por favor intenta de nuevo más tarde"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
|
||||
msgid "We were unable to verify your details. Please try again or contact support"
|
||||
@ -4607,11 +4672,11 @@ msgstr "No pudimos verificar tu correo electrónico. Si tu correo electrónico n
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
|
||||
msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
msgstr "Generaremos enlaces de firma para ti, que podrás enviar a los destinatarios a través de tu método preferido."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
msgstr "No enviaremos nada para notificar a los destinatarios."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
|
||||
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
|
||||
@ -4669,6 +4734,10 @@ msgstr "¿Estabas intentando editar este documento en su lugar?"
|
||||
msgid "When you click continue, you will be prompted to add the first available authenticator on your system."
|
||||
msgstr "Cuando haces clic en continuar, se te pedirá que añadas el primer autenticador disponible en tu sistema."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:183
|
||||
msgid "When you sign a document, we can automatically fill in and sign the following fields using information that has already been provided. You can also manually sign or remove any automatically signed fields afterwards if you desire."
|
||||
msgstr "Cuando firme un documento, podemos completar y firmar automáticamente los siguientes campos usando información que ya se ha proporcionado. También puede firmar manualmente o eliminar cualquier campo firmado automáticamente más tarde si lo desea."
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36
|
||||
msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
|
||||
msgstr "Cuando utilice nuestra plataforma para colocar su firma electrónica en documentos, está consintiendo hacerlo bajo la Ley de Firmas Electrónicas en el Comercio Global y Nacional (Ley E-Sign) y otras leyes aplicables. Esta acción indica su aceptación de usar medios electrónicos para firmar documentos y recibir notificaciones."
|
||||
@ -4738,7 +4807,7 @@ msgstr "Estás a punto de eliminar al siguiente usuario de <0>{teamName}</0>."
|
||||
msgid "You are about to revoke access for team <0>{0}</0> ({1}) to use your email."
|
||||
msgstr "Estás a punto de revocar el acceso para el equipo <0>{0}</0> ({1}) para usar tu correo electrónico."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:80
|
||||
msgid "You are currently on the <0>Free Plan</0>."
|
||||
msgstr "Actualmente estás en el <0>Plan Gratuito</0>."
|
||||
|
||||
@ -4768,7 +4837,7 @@ msgstr "¡Puedes reclamar tu perfil más tarde yendo a la configuración de tu p
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:87
|
||||
msgid "You can copy and share these links to recipients so they can action the document."
|
||||
msgstr ""
|
||||
msgstr "Puede copiar y compartir estos enlaces con los destinatarios para que puedan gestionar el documento."
|
||||
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:154
|
||||
msgid "You can update the profile URL by updating the team URL in the general settings page."
|
||||
@ -4790,7 +4859,7 @@ msgstr "No puedes modificar a un miembro del equipo que tenga un rol más alto q
|
||||
msgid "You cannot upload encrypted PDFs"
|
||||
msgstr "No puedes subir PDFs encriptados"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:45
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:46
|
||||
msgid "You do not currently have a customer record, this should not happen. Please contact support for assistance."
|
||||
msgstr "Actualmente no tienes un registro de cliente, esto no debería suceder. Por favor contacta a soporte para obtener asistencia."
|
||||
|
||||
@ -4840,6 +4909,10 @@ msgstr "Has alcanzado tu límite de documentos."
|
||||
msgid "You have reached your document limit. <0>Upgrade your account to continue!</0>"
|
||||
msgstr "Has alcanzado tu límite de documentos. <0>¡Actualiza tu cuenta para continuar!</0>"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
|
||||
msgid "You have rejected this document"
|
||||
msgstr "You have rejected this document"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
|
||||
msgid "You have successfully left this team."
|
||||
msgstr "Has salido de este equipo con éxito."
|
||||
@ -4926,13 +4999,13 @@ msgstr "Tu banner ha sido actualizado con éxito."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
|
||||
msgid "Your brand website URL"
|
||||
msgstr ""
|
||||
msgstr "La URL de tu sitio web de marca"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
|
||||
msgid "Your branding preferences have been updated"
|
||||
msgstr ""
|
||||
msgstr "Tus preferencias de marca han sido actualizadas"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125
|
||||
msgid "Your current plan is past due. Please update your payment information."
|
||||
msgstr "Tu plan actual está vencido. Por favor actualiza tu información de pago."
|
||||
|
||||
@ -4970,7 +5043,7 @@ msgstr "Tu documento ha sido subido con éxito. Serás redirigido a la página d
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:92
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr ""
|
||||
msgstr "Tus preferencias de documento han sido actualizadas"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
|
||||
msgid "Your documents"
|
||||
@ -4991,7 +5064,7 @@ msgstr "Tus tokens existentes"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:70
|
||||
#~ msgid "Your global team document settings has been updated successfully."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Your global team document settings has been updated successfully."
|
||||
|
||||
#: apps/web/src/components/forms/password.tsx:72
|
||||
#: apps/web/src/components/forms/reset-password.tsx:73
|
||||
@ -5067,3 +5140,4 @@ msgstr "¡Tu token se creó con éxito! ¡Asegúrate de copiarlo porque no podr
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
|
||||
msgid "Your tokens will be shown here once you create them."
|
||||
msgstr "Tus tokens se mostrarán aquí una vez que los crees."
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: documenso-app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 09:34\n"
|
||||
"PO-Revision-Date: 2024-11-20 11:56\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@ -28,7 +28,7 @@ msgstr "« {documentName} » a été signé"
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:41
|
||||
msgid "“{documentName}” was signed by all signers"
|
||||
msgstr ""
|
||||
msgstr "“{documentName}” a été signé par tous les signataires"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:109
|
||||
#~ msgid "{0}"
|
||||
@ -40,7 +40,7 @@ msgstr ""
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:137
|
||||
msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"."
|
||||
msgstr ""
|
||||
msgstr "{0} vous a invité à {recipientActionVerb} le document \"{1}\"."
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-signing-email.ts:130
|
||||
msgid "{0} invited you to {recipientActionVerb} a document"
|
||||
@ -65,7 +65,7 @@ msgstr "{0} au nom de {1} vous a invité à {recipientActionVerb} le document \"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:51
|
||||
#~ msgid "{0}<0/>\"{documentName}\""
|
||||
#~ msgstr ""
|
||||
#~ msgstr "{0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:94
|
||||
msgid "{inviterName} <0>({inviterEmail})</0>"
|
||||
@ -79,7 +79,7 @@ msgstr "{inviterName} a annulé le document {documentName}, vous n'avez plus bes
|
||||
msgid "{inviterName} has cancelled the document<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} a annulé le document<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:65
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\""
|
||||
msgstr "{inviterName} vous a invité à {0}<0/>\"{documentName}\""
|
||||
|
||||
@ -89,7 +89,7 @@ msgstr "{inviterName} vous a invité à {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:106
|
||||
msgid "{inviterName} has invited you to {action} the document \"{documentName}\"."
|
||||
msgstr ""
|
||||
msgstr "{inviterName} vous a invité à {action} le document \"{documentName}\"."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:20
|
||||
msgid "{inviterName} has removed you from the document {documentName}."
|
||||
@ -97,15 +97,15 @@ msgstr "{inviterName} vous a retiré du document {documentName}."
|
||||
|
||||
#: packages/email/templates/recipient-removed-from-document.tsx:49
|
||||
msgid "{inviterName} has removed you from the document<0/>\"{documentName}\""
|
||||
msgstr ""
|
||||
msgstr "{inviterName} vous a retiré du document<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:53
|
||||
#: packages/email/template-components/template-document-invite.tsx:63
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
msgstr "{inviterName} au nom de {teamName} vous a invité à {0}"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:49
|
||||
#~ msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{inviterName} au nom de {teamName} vous a invité à {0}<0/>\"{documentName}\""
|
||||
#~ msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\""
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:45
|
||||
msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}"
|
||||
@ -151,11 +151,11 @@ msgstr "{prefix} a supprimé un champ"
|
||||
msgid "{prefix} removed a recipient"
|
||||
msgstr "{prefix} a supprimé un destinataire"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
#: packages/lib/utils/document-audit-logs.ts:365
|
||||
msgid "{prefix} resent an email to {0}"
|
||||
msgstr "{prefix} a renvoyé un e-mail à {0}"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:356
|
||||
#: packages/lib/utils/document-audit-logs.ts:366
|
||||
msgid "{prefix} sent an email to {0}"
|
||||
msgstr "{prefix} a envoyé un email à {0}"
|
||||
|
||||
@ -207,13 +207,21 @@ msgstr "{prefix} a mis à jour la visibilité du document"
|
||||
msgid "{recipientName} {action} a document by using one of your direct links"
|
||||
msgstr "{recipientName} {action} un document en utilisant l'un de vos liens directs"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:58
|
||||
#: packages/email/templates/document-rejected.tsx:27
|
||||
msgid "{recipientName} has rejected the document '{documentName}'"
|
||||
msgstr "{recipientName} a rejeté le document '{documentName}'"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:25
|
||||
msgid "{signerName} has rejected the document \"{documentName}\"."
|
||||
msgstr "{signerName} a rejeté le document \"{documentName}\"."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:68
|
||||
msgid "{teamName} has invited you to {0}"
|
||||
msgstr ""
|
||||
msgstr "{teamName} vous a invité à {0}"
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:46
|
||||
msgid "{teamName} has invited you to {action} {documentName}"
|
||||
msgstr ""
|
||||
msgstr "{teamName} vous a invité à {action} {documentName}"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:55
|
||||
msgid "{teamName} ownership transfer request"
|
||||
@ -231,6 +239,10 @@ msgstr "{userName} a mis en copie le document"
|
||||
msgid "{userName} completed their task"
|
||||
msgstr "{userName} a complété sa tâche"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:355
|
||||
msgid "{userName} rejected the document"
|
||||
msgstr "{userName} a rejeté le document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:341
|
||||
msgid "{userName} signed the document"
|
||||
msgstr "{userName} a signé le document"
|
||||
@ -245,7 +257,7 @@ msgstr "{visibleRows, plural, one {Affichage de # résultat.} other {Affichage d
|
||||
|
||||
#: packages/email/templates/document-invite.tsx:100
|
||||
#~ msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
#~ msgstr "`${inviterName} vous a invité à ${action} le document \"${documentName}\".`"
|
||||
#~ msgstr "`${inviterName} has invited you to ${action} the document \"${documentName}\".`"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:59
|
||||
msgid "<0>{senderName}</0> has requested that you take ownership of the following team"
|
||||
@ -253,11 +265,11 @@ msgstr "<0>{senderName}</0> a demandé que vous preniez possession de l'équipe
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:75
|
||||
msgid "<0>{teamName}</0> has requested to use your email address for their team on Documenso."
|
||||
msgstr ""
|
||||
msgstr "<0>{teamName}</0> a demandé à utiliser votre adresse e-mail pour leur équipe sur Documenso."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:241
|
||||
msgid "<0>Email</0> - The recipient will be emailed the document to sign, approve, etc."
|
||||
msgstr ""
|
||||
msgstr "<0>E-mail</0> - Le destinataire recevra le document par e-mail pour signer, approuver, etc."
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:53
|
||||
msgid "<0>Inherit authentication method</0> - Use the global action signing authentication method configured in the \"General Settings\" step"
|
||||
@ -265,7 +277,7 @@ msgstr "<0>Hériter du méthode d'authentification</0> - Utiliser la méthode d'
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:247
|
||||
msgid "<0>Links</0> - We will generate links which you can send to the recipients manually."
|
||||
msgstr ""
|
||||
msgstr "<0>Liens</0> - Nous générerons des liens que vous pourrez envoyer manuellement aux destinataires."
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:95
|
||||
msgid "<0>No restrictions</0> - No authentication required"
|
||||
@ -281,7 +293,7 @@ msgstr "<0>Aucun</0> - Aucune authentification requise"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:254
|
||||
msgid "<0>Note</0> - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients."
|
||||
msgstr ""
|
||||
msgstr "<0>Remarque</0> - Si vous utilisez des liens en combinaison avec des modèles directs, vous devrez envoyer manuellement les liens aux autres destinataires."
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:89
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:69
|
||||
@ -331,11 +343,11 @@ msgstr "Un destinataire a été mis à jour"
|
||||
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:156
|
||||
msgid "A request to use your email has been initiated by {0} on Documenso"
|
||||
msgstr ""
|
||||
msgstr "Une demande d'utilisation de votre e-mail a été initiée par {0} sur Documenso"
|
||||
|
||||
#: packages/lib/server-only/team/create-team-email-verification.ts:142
|
||||
#~ msgid "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
#~ msgstr "Une demande d'utilisation de votre email a été initiée par {teamName} sur Documenso"
|
||||
#~ msgstr "A request to use your email has been initiated by {teamName} on Documenso"
|
||||
|
||||
#: packages/email/templates/team-join.tsx:31
|
||||
msgid "A team member has joined a team on Documenso"
|
||||
@ -398,19 +410,19 @@ msgstr "Ajouter une autre option"
|
||||
msgid "Add another value"
|
||||
msgstr "Ajouter une autre valeur"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:662
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:691
|
||||
msgid "Add myself"
|
||||
msgstr "Ajoutez-moi"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:637
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:645
|
||||
msgid "Add Myself"
|
||||
msgstr "Ajoutez-moi"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:623
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:631
|
||||
msgid "Add Placeholder Recipient"
|
||||
msgstr "Ajouter un destinataire de substitution"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:651
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:680
|
||||
msgid "Add Signer"
|
||||
msgstr "Ajouter un signataire"
|
||||
|
||||
@ -431,8 +443,8 @@ msgstr "Administrateur"
|
||||
msgid "Advanced Options"
|
||||
msgstr "Options avancées"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:573
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:406
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:576
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:409
|
||||
msgid "Advanced settings"
|
||||
msgstr "Paramètres avancés"
|
||||
|
||||
@ -446,7 +458,7 @@ msgstr "Toutes les signatures ont été annulées."
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:98
|
||||
msgid "Allow document recipients to reply directly to this email address"
|
||||
msgstr ""
|
||||
msgstr "Autoriser les destinataires des documents à répondre directement à cette adresse e-mail"
|
||||
|
||||
#: packages/email/templates/document-super-delete.tsx:22
|
||||
msgid "An admin has deleted your document \"{documentName}\"."
|
||||
@ -460,9 +472,9 @@ msgstr "Une erreur s'est produite lors du chargement du document."
|
||||
msgid "Approve"
|
||||
msgstr "Approuver"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:89
|
||||
#: packages/email/template-components/template-document-invite.tsx:106
|
||||
msgid "Approve Document"
|
||||
msgstr ""
|
||||
msgstr "Approuver le document"
|
||||
|
||||
#: packages/lib/constants/recipient-roles.ts:68
|
||||
#~ msgid "APPROVE_REQUEST"
|
||||
@ -502,7 +514,7 @@ msgstr "par <0>{senderName}</0>"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:87
|
||||
msgid "By accepting this request, you will be granting <0>{teamName}</0> access to:"
|
||||
msgstr ""
|
||||
msgstr "En acceptant cette demande, vous accorderez à <0>{teamName}</0> l'accès à :"
|
||||
|
||||
#: packages/email/templates/team-transfer-request.tsx:70
|
||||
msgid "By accepting this request, you will take responsibility for any billing items associated with this team."
|
||||
@ -538,6 +550,10 @@ msgstr "Ccers"
|
||||
msgid "Character Limit"
|
||||
msgstr "Limite de caractères"
|
||||
|
||||
#: packages/ui/primitives/document-flow/types.ts:58
|
||||
msgid "Checkbox"
|
||||
msgstr "Case à cocher"
|
||||
|
||||
#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197
|
||||
msgid "Checkbox values"
|
||||
msgstr "Valeurs de case à cocher"
|
||||
@ -573,8 +589,8 @@ msgstr "Document Terminé"
|
||||
msgid "Configure Direct Recipient"
|
||||
msgstr "Configurer le destinataire direct"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:574
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:407
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:577
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:410
|
||||
msgid "Configure the {0} field"
|
||||
msgstr "Configurer le champ {0}"
|
||||
|
||||
@ -588,27 +604,27 @@ msgstr "Continuer"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:72
|
||||
#~ msgid "Continue by {0} the document."
|
||||
#~ msgstr "Continuez en {0} le document."
|
||||
#~ msgstr "Continue by {0} the document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:76
|
||||
#: packages/email/template-components/template-document-invite.tsx:86
|
||||
msgid "Continue by approving the document."
|
||||
msgstr ""
|
||||
msgstr "Continuez en approuvant le document."
|
||||
|
||||
#: packages/email/template-components/template-document-completed.tsx:45
|
||||
msgid "Continue by downloading the document."
|
||||
msgstr "Continuez en téléchargeant le document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:74
|
||||
#: packages/email/template-components/template-document-invite.tsx:84
|
||||
msgid "Continue by signing the document."
|
||||
msgstr ""
|
||||
msgstr "Continuez en signant le document."
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:75
|
||||
#: packages/email/template-components/template-document-invite.tsx:85
|
||||
msgid "Continue by viewing the document."
|
||||
msgstr ""
|
||||
msgstr "Continuez en visualisant le document."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:254
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
msgstr "Copié"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:46
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:241
|
||||
@ -617,7 +633,7 @@ msgstr "Copié dans le presse-papiers"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:249
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Copier"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:194
|
||||
msgid "Copy Link"
|
||||
@ -635,9 +651,9 @@ msgstr "Créer un compte"
|
||||
msgid "Custom Text"
|
||||
msgstr "Texte personnalisé"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:927
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:934
|
||||
#: packages/ui/primitives/document-flow/types.ts:53
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:690
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:697
|
||||
msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
@ -654,10 +670,18 @@ msgstr "Décliner"
|
||||
msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us.</0>"
|
||||
msgstr "Vous n'avez pas demandé de changement de mot de passe ? Nous sommes ici pour vous aider à sécuriser votre compte, il suffit de <0>nous contacter.</0>"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:578
|
||||
msgid "Direct link receiver"
|
||||
msgstr "Receveur de lien direct"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:149
|
||||
msgid "Document \"{0}\" - Rejected by {1}"
|
||||
msgstr "Document \"{0}\" - Rejeté par {1}"
|
||||
|
||||
#: packages/lib/jobs/definitions/emails/send-rejection-emails.ts:109
|
||||
msgid "Document \"{0}\" - Rejection Confirmed"
|
||||
msgstr "Document \"{0}\" - Rejet Confirmé"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-access-select.tsx:62
|
||||
#: packages/ui/primitives/document-flow/add-settings.tsx:216
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:202
|
||||
@ -673,14 +697,14 @@ msgstr "L'authentification d'accès au document a été mise à jour"
|
||||
msgid "Document Cancelled"
|
||||
msgstr "Document Annulé"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:359
|
||||
#: packages/lib/utils/document-audit-logs.ts:360
|
||||
#: packages/lib/utils/document-audit-logs.ts:369
|
||||
#: packages/lib/utils/document-audit-logs.ts:370
|
||||
msgid "Document completed"
|
||||
msgstr "Document terminé"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:168
|
||||
msgid "Document completed email"
|
||||
msgstr ""
|
||||
msgstr "E-mail de document complété"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:286
|
||||
msgid "Document created"
|
||||
@ -701,7 +725,7 @@ msgstr "Document supprimé"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:207
|
||||
msgid "Document deleted email"
|
||||
msgstr ""
|
||||
msgstr "E-mail de document supprimé"
|
||||
|
||||
#: packages/lib/server-only/document/send-delete-email.ts:82
|
||||
msgid "Document Deleted!"
|
||||
@ -710,7 +734,7 @@ msgstr "Document Supprimé !"
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:219
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:228
|
||||
msgid "Document Distribution Method"
|
||||
msgstr ""
|
||||
msgstr "Méthode de distribution du document"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:326
|
||||
msgid "Document external ID updated"
|
||||
@ -726,7 +750,14 @@ msgstr "Document ouvert"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:128
|
||||
msgid "Document pending email"
|
||||
msgstr ""
|
||||
msgstr "E-mail de document en attente"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:21
|
||||
msgid "Document Rejected"
|
||||
msgstr "Document Rejeté"
|
||||
|
||||
#~ msgid "Document Rejection Confirmed"
|
||||
#~ msgstr "Document Rejection Confirmed"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:330
|
||||
msgid "Document sent"
|
||||
@ -761,8 +792,8 @@ msgstr "Brouillon"
|
||||
msgid "Drag & drop your PDF here."
|
||||
msgstr "Faites glisser et déposez votre PDF ici."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1058
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:820
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1065
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:827
|
||||
msgid "Dropdown"
|
||||
msgstr "Liste déroulante"
|
||||
|
||||
@ -771,14 +802,14 @@ msgid "Dropdown options"
|
||||
msgstr "Options de liste déroulante"
|
||||
|
||||
#: packages/lib/constants/document.ts:28
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:875
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:882
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:272
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:500
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:507
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:512
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:519
|
||||
#: packages/ui/primitives/document-flow/types.ts:54
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:638
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:463
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:470
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:645
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:471
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:478
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
@ -790,15 +821,15 @@ msgstr "L'email est requis"
|
||||
msgid "Email Options"
|
||||
msgstr "Options d'email"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
msgid "Email resent"
|
||||
msgstr "Email renvoyé"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
#: packages/lib/utils/document-audit-logs.ts:363
|
||||
msgid "Email sent"
|
||||
msgstr "Email envoyé"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1123
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1130
|
||||
msgid "Empty field"
|
||||
msgstr "Champ vide"
|
||||
|
||||
@ -807,11 +838,11 @@ msgid "Enable Direct Link Signing"
|
||||
msgstr "Activer la signature de lien direct"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:401
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:362
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:370
|
||||
msgid "Enable signing order"
|
||||
msgstr "Activer l'ordre de signature"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:795
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:802
|
||||
msgid "Enable Typed Signatures"
|
||||
msgstr "Activer les signatures tapées"
|
||||
|
||||
@ -889,7 +920,7 @@ msgstr "Signature gratuite"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:89
|
||||
msgid "Generate Links"
|
||||
msgstr ""
|
||||
msgstr "Générer des liens"
|
||||
|
||||
#: packages/ui/components/document/document-global-auth-action-select.tsx:64
|
||||
msgid "Global recipient action authentication"
|
||||
@ -903,6 +934,9 @@ msgstr "Retourner"
|
||||
msgid "Green"
|
||||
msgstr "Vert"
|
||||
|
||||
#~ msgid "Hello {recipientName},"
|
||||
#~ msgstr "Hello {recipientName},"
|
||||
|
||||
#: packages/email/templates/reset-password.tsx:56
|
||||
msgid "Hi, {userName} <0>({userEmail})</0>"
|
||||
msgstr "Bonjour, {userName} <0>({userEmail})</0>"
|
||||
@ -986,14 +1020,14 @@ msgstr "Message <0>(Optionnel)</0>"
|
||||
msgid "Min"
|
||||
msgstr "Min"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:901
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:908
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:298
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:535
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:541
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:550
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:556
|
||||
#: packages/ui/primitives/document-flow/types.ts:55
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:664
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:498
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:504
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:671
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:506
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:512
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
@ -1009,17 +1043,17 @@ msgstr "Nécessite une signature"
|
||||
msgid "Needs to view"
|
||||
msgstr "Nécessite une visualisation"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:686
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:504
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:693
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:511
|
||||
msgid "No recipient matching this description was found."
|
||||
msgstr "Aucun destinataire correspondant à cette description n'a été trouvé."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:215
|
||||
msgid "No recipients"
|
||||
msgstr ""
|
||||
msgstr "Aucun destinataire"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:701
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:519
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:708
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:526
|
||||
msgid "No recipients with this role"
|
||||
msgstr "Aucun destinataire avec ce rôle"
|
||||
|
||||
@ -1045,11 +1079,11 @@ msgstr "Aucune valeur trouvée."
|
||||
|
||||
#: packages/lib/constants/document.ts:32
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
msgstr "Aucun"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:979
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:986
|
||||
#: packages/ui/primitives/document-flow/types.ts:56
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:742
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:749
|
||||
msgid "Number"
|
||||
msgstr "Numéro"
|
||||
|
||||
@ -1107,7 +1141,7 @@ msgstr "Choisissez un numéro"
|
||||
msgid "Placeholder"
|
||||
msgstr "Espace réservé"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:46
|
||||
#: packages/email/template-components/template-document-invite.tsx:56
|
||||
msgid "Please {0} your document<0/>\"{documentName}\""
|
||||
msgstr "Veuillez {0} votre document<0/>\"{documentName}\""
|
||||
|
||||
@ -1140,7 +1174,8 @@ msgstr "Veuillez confirmer votre adresse email"
|
||||
msgid "Please try again or contact our support."
|
||||
msgstr "Veuillez réessayer ou contacter notre support."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:768
|
||||
#: packages/ui/primitives/document-flow/types.ts:57
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:775
|
||||
msgid "Radio"
|
||||
msgstr "Radio"
|
||||
|
||||
@ -1156,11 +1191,16 @@ msgstr "Valeurs radio"
|
||||
msgid "Read only"
|
||||
msgstr "Lecture seule"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:32
|
||||
msgid "Reason for rejection: {rejectionReason}"
|
||||
msgstr "Raison du rejet : {rejectionReason}"
|
||||
|
||||
#: packages/ui/components/recipient/recipient-role-select.tsx:95
|
||||
msgid "Receives copy"
|
||||
msgstr "Recevoir une copie"
|
||||
|
||||
#: packages/lib/utils/document-audit-logs.ts:338
|
||||
#: packages/lib/utils/document-audit-logs.ts:353
|
||||
msgid "Recipient"
|
||||
msgstr "Destinataire"
|
||||
|
||||
@ -1172,11 +1212,11 @@ msgstr "Authentification d'action de destinataire"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:89
|
||||
msgid "Recipient removed email"
|
||||
msgstr ""
|
||||
msgstr "E-mail de destinataire supprimé"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:50
|
||||
msgid "Recipient signing request email"
|
||||
msgstr ""
|
||||
msgstr "E-mail de demande de signature de destinataire"
|
||||
|
||||
#: packages/ui/primitives/signature-pad/signature-pad.tsx:384
|
||||
msgid "Red"
|
||||
@ -1187,6 +1227,18 @@ msgstr "Rouge"
|
||||
msgid "Redirect URL"
|
||||
msgstr "URL de redirection"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:96
|
||||
msgid "Reject Document"
|
||||
msgstr "Rejeter le Document"
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:22
|
||||
msgid "Rejection Confirmed"
|
||||
msgstr "Rejet Confirmé"
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:34
|
||||
msgid "Rejection reason: {reason}"
|
||||
msgstr "Motif du rejet : {reason}"
|
||||
|
||||
#: packages/lib/server-only/document/resend-document.tsx:192
|
||||
msgid "Reminder: {0}"
|
||||
msgstr "Rappel : {0}"
|
||||
@ -1203,7 +1255,7 @@ msgstr "Rappel : Veuillez {recipientActionVerb} ce document"
|
||||
msgid "Reminder: Please {recipientActionVerb} your document"
|
||||
msgstr "Rappel : Veuillez {recipientActionVerb} votre document"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1110
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1117
|
||||
msgid "Remove"
|
||||
msgstr "Retirer"
|
||||
|
||||
@ -1217,7 +1269,7 @@ msgstr "Champ requis"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:84
|
||||
msgid "Resend"
|
||||
msgstr ""
|
||||
msgstr "Renvoyer"
|
||||
|
||||
#: packages/email/template-components/template-forgot-password.tsx:33
|
||||
msgid "Reset Password"
|
||||
@ -1235,7 +1287,7 @@ msgstr "Lignes par page"
|
||||
msgid "Save"
|
||||
msgstr "Sauvegarder"
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:854
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:861
|
||||
msgid "Save Template"
|
||||
msgstr "Sauvegarder le modèle"
|
||||
|
||||
@ -1244,6 +1296,7 @@ msgid "Search languages..."
|
||||
msgstr "Rechercher des langues..."
|
||||
|
||||
#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx:115
|
||||
#: packages/ui/primitives/document-flow/types.ts:59
|
||||
msgid "Select"
|
||||
msgstr "Sélectionner"
|
||||
|
||||
@ -1272,27 +1325,27 @@ msgstr "Envoyer le document"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:158
|
||||
msgid "Send document completed email"
|
||||
msgstr ""
|
||||
msgstr "Envoyer l'e-mail de document complété"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:197
|
||||
msgid "Send document deleted email"
|
||||
msgstr ""
|
||||
msgstr "Envoyer l'e-mail de document supprimé"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:118
|
||||
msgid "Send document pending email"
|
||||
msgstr ""
|
||||
msgstr "Envoyer l'e-mail de document en attente"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:101
|
||||
msgid "Send documents on behalf of the team using the email address"
|
||||
msgstr ""
|
||||
msgstr "Envoyer des documents au nom de l'équipe en utilisant l'adresse e-mail"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:79
|
||||
msgid "Send recipient removed email"
|
||||
msgstr ""
|
||||
msgstr "Envoyer l'e-mail de destinataire supprimé"
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:40
|
||||
msgid "Send recipient signing request email"
|
||||
msgstr ""
|
||||
msgstr "Envoyer l'e-mail de demande de signature de destinataire"
|
||||
|
||||
#: packages/ui/components/document/document-share-button.tsx:135
|
||||
msgid "Share Signature Card"
|
||||
@ -1306,8 +1359,8 @@ msgstr "Partager le lien"
|
||||
msgid "Share your signing experience!"
|
||||
msgstr "Partagez votre expérience de signature !"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:680
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:655
|
||||
#: packages/ui/primitives/document-flow/add-signers.tsx:709
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:663
|
||||
msgid "Show advanced settings"
|
||||
msgstr "Afficher les paramètres avancés"
|
||||
|
||||
@ -1315,19 +1368,19 @@ msgstr "Afficher les paramètres avancés"
|
||||
msgid "Sign"
|
||||
msgstr "Signer"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:87
|
||||
#: packages/email/template-components/template-document-invite.tsx:104
|
||||
msgid "Sign Document"
|
||||
msgstr ""
|
||||
msgstr "Signer le document"
|
||||
|
||||
#: packages/email/template-components/template-reset-password.tsx:34
|
||||
msgid "Sign In"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:823
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:830
|
||||
#: packages/ui/primitives/document-flow/add-signature.tsx:323
|
||||
#: packages/ui/primitives/document-flow/field-icon.tsx:52
|
||||
#: packages/ui/primitives/document-flow/types.ts:49
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:586
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:593
|
||||
msgid "Signature"
|
||||
msgstr "Signature"
|
||||
|
||||
@ -1351,8 +1404,8 @@ msgstr "Les signataires doivent avoir des e-mails uniques"
|
||||
msgid "Signing"
|
||||
msgstr "Signature en cours"
|
||||
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:111
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:191
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:114
|
||||
#: packages/lib/server-only/document/send-completed-email.ts:194
|
||||
msgid "Signing Complete!"
|
||||
msgstr "Signature Complète !"
|
||||
|
||||
@ -1392,7 +1445,7 @@ msgstr "Soumettre"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team.ts:124
|
||||
msgid "Team \"{0}\" has been deleted on Documenso"
|
||||
msgstr ""
|
||||
msgstr "L'équipe \"{0}\" a été supprimée sur Documenso"
|
||||
|
||||
#: packages/lib/server-only/team/delete-team-email.ts:104
|
||||
msgid "Team email has been revoked for {0}"
|
||||
@ -1410,9 +1463,9 @@ msgstr "Email d'équipe supprimé pour {teamName} sur Documenso"
|
||||
msgid "Template title"
|
||||
msgstr "Titre du modèle"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:953
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:960
|
||||
#: packages/ui/primitives/document-flow/types.ts:52
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:716
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:723
|
||||
msgid "Text"
|
||||
msgstr "Texte"
|
||||
|
||||
@ -1432,6 +1485,13 @@ msgstr "L'authentification requise pour que les destinataires signent le champ d
|
||||
msgid "The authentication required for recipients to view the document."
|
||||
msgstr "L'authentification requise pour que les destinataires visualisent le document."
|
||||
|
||||
#~ msgid "The document owner has been notified of this rejection. No further action is required from you at this time."
|
||||
#~ msgstr "The document owner has been notified of this rejection. No further action is required from you at this time."
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:39
|
||||
msgid "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection."
|
||||
msgstr "Le propriétaire du document a été informé de ce rejet. Aucune action supplémentaire n'est requise de votre part pour le moment. Le propriétaire du document peut vous contacter pour toute question concernant ce rejet."
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:31
|
||||
msgid "The document's name"
|
||||
msgstr "Le nom du document"
|
||||
@ -1486,7 +1546,7 @@ msgstr "Le nom du signataire"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:243
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
msgstr ""
|
||||
msgstr "Le lien de signature a été copié dans votre presse-papiers."
|
||||
|
||||
#: packages/email/templates/team-email-removed.tsx:63
|
||||
msgid "The team email <0>{teamEmail}</0> has been removed from the following team"
|
||||
@ -1500,7 +1560,7 @@ msgstr "Cela peut être remplacé par le paramétrage direct des exigences d'aut
|
||||
msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support."
|
||||
msgstr "Ce document ne peut pas être récupéré, si vous souhaitez contester la raison des documents futurs, veuillez contacter le support."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:757
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:764
|
||||
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."
|
||||
|
||||
@ -1512,27 +1572,34 @@ msgstr "Ce document est protégé par mot de passe. Veuillez entrer le mot de pa
|
||||
msgid "This document was sent using <0>Documenso.</0>"
|
||||
msgstr "Ce document a été envoyé via <0>Documenso.</0>"
|
||||
|
||||
#~ msgid "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
|
||||
#~ msgstr "This email confirms that you have rejected the document \"{documentName}\" sent by {documentOwnerName}."
|
||||
|
||||
#: packages/email/template-components/template-document-rejection-confirmed.tsx:26
|
||||
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."
|
||||
msgstr "Cet e-mail confirme que vous avez rejeté le document <0>\"{documentName}\"</0> envoyé par {documentOwnerName}."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:94
|
||||
msgid "This email is sent to the recipient if they are removed from a pending document."
|
||||
msgstr ""
|
||||
msgstr "Cet e-mail est envoyé au destinataire s'il est retiré d'un document en attente."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:55
|
||||
msgid "This email is sent to the recipient requesting them to sign the document."
|
||||
msgstr ""
|
||||
msgstr "Cet e-mail est envoyé au destinataire lui demandant de signer le document."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:133
|
||||
msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet."
|
||||
msgstr ""
|
||||
msgstr "Cet e-mail sera envoyé au destinataire qui vient de signer le document, s'il y a encore d'autres destinataires qui n'ont pas signé."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573
|
||||
#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:581
|
||||
msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them."
|
||||
msgstr "Ce champ ne peut pas être modifié ou supprimé. Lorsque vous partagez le lien direct de ce modèle ou l'ajoutez à votre profil public, toute personne qui y accède peut saisir son nom et son email, et remplir les champs qui lui sont attribués."
|
||||
|
||||
#: packages/ui/primitives/template-flow/add-template-settings.tsx:233
|
||||
msgid "This is how the document will reach the recipients once the document is ready for signing."
|
||||
msgstr ""
|
||||
msgstr "Voici comment le document atteindra les destinataires une fois qu'il sera prêt à être signé."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1090
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1097
|
||||
msgid "This recipient can no longer be modified as they have signed a field, or completed the document."
|
||||
msgstr "Ce destinataire ne peut plus être modifié car il a signé un champ ou complété le document."
|
||||
|
||||
@ -1542,11 +1609,11 @@ msgstr "Ce signataire a déjà signé le document."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:212
|
||||
msgid "This will be sent to all recipients if a pending document has been deleted."
|
||||
msgstr ""
|
||||
msgstr "Cela sera envoyé à tous les destinataires si un document en attente a été supprimé."
|
||||
|
||||
#: packages/ui/components/document/document-email-checkboxes.tsx:173
|
||||
msgid "This will be sent to all recipients once the document has been fully completed."
|
||||
msgstr ""
|
||||
msgstr "Cela sera envoyé à tous les destinataires une fois que le document aura été entièrement complété."
|
||||
|
||||
#: packages/ui/components/recipient/recipient-action-auth-select.tsx:48
|
||||
msgid "This will override any global settings."
|
||||
@ -1561,8 +1628,8 @@ msgstr "Fuseau horaire"
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1073
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:834
|
||||
#: packages/ui/primitives/document-flow/add-fields.tsx:1080
|
||||
#: packages/ui/primitives/template-flow/add-template-fields.tsx:841
|
||||
msgid "To proceed further, please set at least one value for the {0} field."
|
||||
msgstr "Pour continuer, veuillez définir au moins une valeur pour le champ {0}."
|
||||
|
||||
@ -1594,7 +1661,7 @@ msgstr "Valeur"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:71
|
||||
msgid "Verify your team email address"
|
||||
msgstr ""
|
||||
msgstr "Vérifiez votre adresse e-mail d'équipe"
|
||||
|
||||
#: packages/lib/constants/recipient-roles.ts:29
|
||||
msgid "View"
|
||||
@ -1602,17 +1669,18 @@ msgstr "Voir"
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:95
|
||||
msgid "View all documents sent to and from this email address"
|
||||
msgstr ""
|
||||
msgstr "Voir tous les documents envoyés à et depuis cette adresse e-mail"
|
||||
|
||||
#: packages/email/templates/document-created-from-direct-template.tsx:75
|
||||
msgid "View document"
|
||||
msgstr "Voir le document"
|
||||
|
||||
#: packages/email/template-components/template-document-invite.tsx:88
|
||||
#: packages/email/template-components/template-document-invite.tsx:105
|
||||
#: packages/email/template-components/template-document-rejected.tsx:44
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:90
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:91
|
||||
msgid "View Document"
|
||||
msgstr ""
|
||||
msgstr "Voir le document"
|
||||
|
||||
#: packages/email/template-components/template-document-self-signed.tsx:79
|
||||
msgid "View plans"
|
||||
@ -1648,11 +1716,11 @@ msgstr "En attente que d'autres terminent la signature."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:205
|
||||
msgid "We will generate signing links for with you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
msgstr "Nous générerons des liens de signature pour vous, que vous pourrez envoyer aux destinataires par votre méthode de choix."
|
||||
|
||||
#: packages/ui/primitives/document-flow/add-subject.tsx:201
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
msgstr "Nous n'enverrons rien pour notifier les destinataires."
|
||||
|
||||
#: packages/email/template-components/template-document-pending.tsx:41
|
||||
msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready."
|
||||
@ -1680,12 +1748,16 @@ msgstr "Vous pouvez également copier et coller ce lien dans votre navigateur :
|
||||
|
||||
#: packages/email/templates/confirm-team-email.tsx:106
|
||||
msgid "You can revoke access at any time in your team settings on Documenso <0>here.</0>"
|
||||
msgstr ""
|
||||
msgstr "Vous pouvez révoquer l'accès à tout moment dans les paramètres de votre équipe sur Documenso <0>ici.</0>"
|
||||
|
||||
#: packages/ui/components/document/document-send-email-message-helper.tsx:11
|
||||
msgid "You can use the following variables in your message:"
|
||||
msgstr "Vous pouvez utiliser les variables suivantes dans votre message :"
|
||||
|
||||
#: packages/email/template-components/template-document-rejected.tsx:37
|
||||
msgid "You can view the document and its status by clicking the button below."
|
||||
msgstr "Vous pouvez voir le document et son statut en cliquant sur le bouton ci-dessous."
|
||||
|
||||
#: packages/ui/primitives/document-dropzone.tsx:43
|
||||
msgid "You cannot upload documents at this time."
|
||||
msgstr "Vous ne pouvez pas télécharger de documents pour le moment."
|
||||
@ -1719,6 +1791,13 @@ msgstr "Vous avez initié le document {0} qui nécessite que vous {recipientActi
|
||||
msgid "You have reached your document limit."
|
||||
msgstr "Vous avez atteint votre limite de documents."
|
||||
|
||||
#: packages/email/templates/document-rejection-confirmed.tsx:27
|
||||
msgid "You have rejected the document '{documentName}'"
|
||||
msgstr "Vous avez rejeté le document '{documentName}'"
|
||||
|
||||
#~ msgid "You have rejected the document \"{documentName}\""
|
||||
#~ msgstr "You have rejected the document \"{documentName}\""
|
||||
|
||||
#: packages/email/template-components/template-document-self-signed.tsx:42
|
||||
msgid "You have signed “{documentName}”"
|
||||
msgstr "Vous avez signé “{documentName}”"
|
||||
@ -1735,3 +1814,4 @@ msgstr "Votre mot de passe a été mis à jour."
|
||||
#: packages/email/templates/team-delete.tsx:32
|
||||
msgid "Your team has been deleted"
|
||||
msgstr "Votre équipe a été supprimée"
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: documenso-app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 09:34\n"
|
||||
"PO-Revision-Date: 2024-11-20 11:56\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@ -602,3 +602,4 @@ msgstr "Vous pouvez auto-héberger Documenso gratuitement ou utiliser notre vers
|
||||
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
|
||||
msgid "Your browser does not support the video tag."
|
||||
msgstr "Votre navigateur ne prend pas en charge la balise vidéo."
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: documenso-app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 09:34\n"
|
||||
"PO-Revision-Date: 2024-11-20 11:56\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@ -18,9 +18,9 @@ msgstr ""
|
||||
"X-Crowdin-File: web.po\n"
|
||||
"X-Crowdin-File-ID: 8\n"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:211
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:214
|
||||
msgid "\"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
msgstr "\"{0}\" vous a invité à signer \"example document\"."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:69
|
||||
msgid "\"{0}\" will appear on the document as it has a timezone of \"{timezone}\"."
|
||||
@ -32,31 +32,37 @@ msgstr "\"{documentTitle}\" a été supprimé avec succès"
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:234
|
||||
msgid "\"{email}\" on behalf of \"{teamName}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
msgstr "\"{email}\" au nom de \"{teamName}\" vous a invité à signer \"example document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid ""
|
||||
"\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
"document\"."
|
||||
msgstr ""
|
||||
#~ msgid ""
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
#~ msgstr ""
|
||||
#~ "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example\n"
|
||||
#~ "document\"."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:209
|
||||
msgid "\"{placeholderEmail}\" on behalf of \"{0}\" has invited you to sign \"example document\"."
|
||||
msgstr "\"{placeholderEmail}\" au nom de \"{0}\" vous a invité à signer \"exemple de document\"."
|
||||
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:241
|
||||
msgid "\"{teamUrl}\" has invited you to sign \"example document\"."
|
||||
msgstr ""
|
||||
msgstr "\"{teamUrl}\" vous a invité à signer \"example document\"."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:78
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:80
|
||||
msgid "({0}) has invited you to approve this document"
|
||||
msgstr "({0}) vous a invité à approuver ce document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:75
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:77
|
||||
msgid "({0}) has invited you to sign this document"
|
||||
msgstr "({0}) vous a invité à signer ce document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:72
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signing-page-view.tsx:74
|
||||
msgid "({0}) has invited you to view this document"
|
||||
msgstr "({0}) vous a invité à consulter ce document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:311
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:313
|
||||
msgid "{0, plural, one {(1 character over)} other {(# characters over)}}"
|
||||
msgstr "{0, plural, one {(1 caractère de trop)} other {(# caractères de trop)}}"
|
||||
|
||||
@ -78,6 +84,10 @@ msgstr "{0, plural, one {# siège} other {# sièges}}"
|
||||
msgid "{0, plural, one {<0>You have <1>1</1> pending team invitation</0>} other {<2>You have <3>#</3> pending team invitations</2>}}"
|
||||
msgstr "{0, plural, one {<0>Vous avez <1>1</1> invitation d'équipe en attente</0>} other {<2>Vous avez <3>#</3> invitations d'équipe en attente</2>}}"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:196
|
||||
msgid "{0, plural, one {1 matching field} other {# matching fields}}"
|
||||
msgstr "{0, plural, one {1 champ correspondant} other {# champs correspondants}}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit/document-edit-page-view.tsx:129
|
||||
msgid "{0, plural, one {1 Recipient} other {# Recipients}}"
|
||||
msgstr "{0, plural, one {1 Destinataire} other {# Destinataires}}"
|
||||
@ -90,6 +100,10 @@ msgstr "{0, plural, one {En attente d'1 destinataire} other {En attente de # des
|
||||
msgid "{0, plural, zero {Select values} other {# selected...}}"
|
||||
msgstr "{0, plural, zero {Sélectionner des valeurs} other {# sélectionnées...}}"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:193
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:249
|
||||
msgid "{0} direct signing templates"
|
||||
msgstr "{0} modèles de signature directe"
|
||||
@ -108,9 +122,9 @@ msgstr "{0} Destinataire(s)"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
|
||||
#~ msgid "{0} the document to complete the process."
|
||||
#~ msgstr "{0} le document pour compléter le processus."
|
||||
#~ msgstr "{0} the document to complete the process."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:292
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:294
|
||||
msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}"
|
||||
msgstr "{charactersRemaining, plural, one {1 caractère restant} other {{charactersRemaining} caractères restants}}"
|
||||
|
||||
@ -124,11 +138,11 @@ msgstr "{numberOfSeats, plural, one {# membre} other {# membres}}"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67
|
||||
msgid "{recipientActionVerb} document"
|
||||
msgstr ""
|
||||
msgstr "{recipientActionVerb} document"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:68
|
||||
msgid "{recipientActionVerb} the document to complete the process."
|
||||
msgstr ""
|
||||
msgstr "{recipientActionVerb} the document to complete the process."
|
||||
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:231
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:389
|
||||
@ -341,7 +355,7 @@ msgstr "Ajouter des signataires"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180
|
||||
#~ msgid "Add Subject"
|
||||
#~ msgstr "Ajouter un sujet"
|
||||
#~ msgstr "Add Subject"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:133
|
||||
msgid "Add team email"
|
||||
@ -357,7 +371,7 @@ msgstr "Ajouter les destinataires pour créer le document avec"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
#~ msgid "Add the subject and message you wish to send to signers."
|
||||
#~ msgstr "Ajouter le sujet et le message que vous souhaitez envoyer aux signataires."
|
||||
#~ msgstr "Add the subject and message you wish to send to signers."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:152
|
||||
msgid "Adding and removing seats will adjust your invoice accordingly."
|
||||
@ -365,7 +379,7 @@ msgstr "Ajouter et supprimer des sièges ajustera votre facture en conséquence.
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:303
|
||||
msgid "Additional brand information to display at the bottom of emails"
|
||||
msgstr ""
|
||||
msgstr "Informations supplémentaires sur la marque à afficher en bas des e-mails"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:59
|
||||
msgid "Admin Actions"
|
||||
@ -405,7 +419,7 @@ msgstr "Tous les destinataires seront notifiés"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:62
|
||||
msgid "All signing links have been copied to your clipboard."
|
||||
msgstr ""
|
||||
msgstr "Tous les liens de signature ont été copiés dans votre presse-papiers."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:57
|
||||
msgid "All templates"
|
||||
@ -468,6 +482,10 @@ msgstr "Une erreur est survenue lors de l'ajout de signataires."
|
||||
msgid "An error occurred while adding the fields."
|
||||
msgstr "Une erreur est survenue lors de l'ajout des champs."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:154
|
||||
msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields."
|
||||
msgstr "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/web/src/app/(dashboard)/templates/use-template-dialog.tsx:176
|
||||
msgid "An error occurred while creating document from template."
|
||||
msgstr "Une erreur est survenue lors de la création du document à partir d'un modèle."
|
||||
@ -558,7 +576,7 @@ msgstr "Une erreur est survenue lors de la mise à jour des paramètres du docum
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:78
|
||||
#~ msgid "An error occurred while updating the global team settings."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "An error occurred while updating the global team settings."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:213
|
||||
msgid "An error occurred while updating the signature."
|
||||
@ -652,7 +670,7 @@ msgstr "Approuver"
|
||||
msgid "Approve Document"
|
||||
msgstr "Approuver le document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:85
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:94
|
||||
msgid "Approved"
|
||||
msgstr "Approuvé"
|
||||
|
||||
@ -660,6 +678,10 @@ msgstr "Approuvé"
|
||||
msgid "Are you sure you want to delete this token?"
|
||||
msgstr "Êtes-vous sûr de vouloir supprimer ce jeton ?"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:120
|
||||
msgid "Are you sure you want to reject this document? This action cannot be undone."
|
||||
msgstr "Êtes-vous sûr de vouloir rejeter ce document ? Cette action ne peut pas être annulée."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:188
|
||||
msgid "Are you sure you want to remove the <0>{passkeyName}</0> passkey."
|
||||
msgstr "Êtes-vous sûr de vouloir supprimer la clé de passe <0>{passkeyName}</0>."
|
||||
@ -738,7 +760,7 @@ msgstr "Bannière mise à jour"
|
||||
msgid "Basic details"
|
||||
msgstr "Détails de base"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:74
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:61
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/desktop-nav.tsx:117
|
||||
#: apps/web/src/components/(dashboard)/settings/layout/mobile-nav.tsx:120
|
||||
@ -749,11 +771,11 @@ msgstr "Facturation"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:42
|
||||
msgid "Branding Preferences"
|
||||
msgstr ""
|
||||
msgstr "Préférences de branding"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:102
|
||||
msgid "Branding preferences updated"
|
||||
msgstr ""
|
||||
msgstr "Préférences de branding mises à jour"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:99
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/data-table.tsx:48
|
||||
@ -762,7 +784,7 @@ msgstr "Navigateur"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:145
|
||||
msgid "Bulk Copy"
|
||||
msgstr ""
|
||||
msgstr "Copie groupée"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:279
|
||||
msgid "Bulk Import"
|
||||
@ -800,6 +822,7 @@ msgstr "En utilisant la fonctionnalité de signature électronique, vous consent
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:119
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:220
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:178
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:71
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164
|
||||
@ -807,10 +830,11 @@ msgstr "En utilisant la fonctionnalité de signature électronique, vous consent
|
||||
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/form.tsx:220
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:215
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:327
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:328
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:153
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:113
|
||||
#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:248
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:333
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:335
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121
|
||||
#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:176
|
||||
#: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:242
|
||||
@ -842,7 +866,7 @@ msgstr "Graphiques"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:32
|
||||
#~ msgid "Check out the documentaton for the <0>global team settings</0>."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Check out the documentaton for the <0>global team settings</0>."
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:179
|
||||
msgid "Checkout"
|
||||
@ -858,7 +882,7 @@ msgstr "Choisissez un destinataire pour le lien direct"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:182
|
||||
msgid "Choose how the document will reach recipients"
|
||||
msgstr ""
|
||||
msgstr "Choisissez comment le document atteindra les destinataires"
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:200
|
||||
msgid "Choose..."
|
||||
@ -940,7 +964,7 @@ msgid "Complete Viewing"
|
||||
msgstr "Compléter la visualisation"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:208
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:62
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:77
|
||||
#: apps/web/src/components/formatter/document-status.tsx:28
|
||||
msgid "Completed"
|
||||
msgstr "Complété"
|
||||
@ -1023,21 +1047,21 @@ msgstr "Continuer vers la connexion"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:173
|
||||
msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients."
|
||||
msgstr ""
|
||||
msgstr "Contrôle la langue par défaut d'un document téléchargé. Cela sera utilisé comme langue dans les communications par e-mail avec les destinataires."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:141
|
||||
msgid "Controls the default visibility of an uploaded document."
|
||||
msgstr ""
|
||||
msgstr "Contrôle la visibilité par défaut d'un document téléchargé."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:216
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:220
|
||||
msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead."
|
||||
msgstr ""
|
||||
msgstr "Contrôle le formatage du message qui sera envoyé lors de l'invitation d'un destinataire à signer un document. Si un message personnalisé a été fourni lors de la configuration du document, il sera utilisé à la place."
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:128
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
msgstr "Copié"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:133
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:162
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:77
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:163
|
||||
@ -1050,7 +1074,7 @@ msgstr "Copié dans le presse-papiers"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:123
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Copier"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:169
|
||||
msgid "Copy sharable link"
|
||||
@ -1062,7 +1086,7 @@ msgstr "Copier le lien partageable"
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:83
|
||||
msgid "Copy Signing Links"
|
||||
msgstr ""
|
||||
msgstr "Copier les liens de signature"
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:288
|
||||
msgid "Copy token"
|
||||
@ -1096,7 +1120,7 @@ msgstr "Créer en tant que brouillon"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:355
|
||||
msgid "Create as pending"
|
||||
msgstr ""
|
||||
msgstr "Créer comme en attente"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37
|
||||
msgid "Create Direct Link"
|
||||
@ -1120,7 +1144,7 @@ msgstr "Créer un automatiquement"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:399
|
||||
msgid "Create signing links"
|
||||
msgstr ""
|
||||
msgstr "Créer des liens de signature"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:181
|
||||
#: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:251
|
||||
@ -1135,7 +1159,7 @@ msgstr "Créer une équipe"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:362
|
||||
msgid "Create the document as pending and ready to sign."
|
||||
msgstr ""
|
||||
msgstr "Créer le document comme en attente et prêt à signer."
|
||||
|
||||
#: apps/web/src/components/forms/token.tsx:250
|
||||
#: apps/web/src/components/forms/token.tsx:259
|
||||
@ -1225,12 +1249,12 @@ msgstr "Invitation d'équipe refusée"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:153
|
||||
msgid "Default Document Language"
|
||||
msgstr ""
|
||||
msgstr "Langue par défaut du document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:117
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:195
|
||||
msgid "Default Document Visibility"
|
||||
msgstr ""
|
||||
msgstr "Visibilité par défaut du document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90
|
||||
msgid "delete"
|
||||
@ -1404,7 +1428,7 @@ msgstr "Afficher votre nom et votre email dans les documents"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181
|
||||
msgid "Distribute Document"
|
||||
msgstr ""
|
||||
msgstr "Distribuer le document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:63
|
||||
msgid "Do you want to delete this template?"
|
||||
@ -1505,12 +1529,16 @@ msgstr "Document en attente"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:91
|
||||
msgid "Document preferences updated"
|
||||
msgstr ""
|
||||
msgstr "Préférences de document mises à jour"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:97
|
||||
msgid "Document re-sent"
|
||||
msgstr "Document renvoyé"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:83
|
||||
msgid "Document Rejected"
|
||||
msgstr "Document rejeté"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:36
|
||||
msgid "Document resealed"
|
||||
msgstr "Document resealé"
|
||||
@ -1521,7 +1549,7 @@ msgstr "Document envoyé"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:26
|
||||
#~ msgid "Document Settings"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Document Settings"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:132
|
||||
msgid "Document Signed"
|
||||
@ -1602,7 +1630,7 @@ msgstr "Télécharger"
|
||||
msgid "Download Audit Logs"
|
||||
msgstr "Télécharger les journaux d'audit"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:84
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:86
|
||||
msgid "Download Certificate"
|
||||
msgstr "Télécharger le certificat"
|
||||
|
||||
@ -1722,7 +1750,7 @@ msgstr "Activer l'application Authenticator"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:170
|
||||
msgid "Enable custom branding for all documents in this team."
|
||||
msgstr ""
|
||||
msgstr "Activer la personnalisation de la marque pour tous les documents de cette équipe."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:251
|
||||
msgid "Enable direct link signing"
|
||||
@ -1751,7 +1779,7 @@ msgstr "Se termine le"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:295
|
||||
msgid "Enter your brand details"
|
||||
msgstr ""
|
||||
msgstr "Entrez les détails de votre marque"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:137
|
||||
msgid "Enter your email"
|
||||
@ -1765,7 +1793,7 @@ msgstr "Entrez votre adresse e-mail pour recevoir le document complété."
|
||||
msgid "Enter your name"
|
||||
msgstr "Entrez votre nom"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:278
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:280
|
||||
msgid "Enter your text here"
|
||||
msgstr "Entrez votre texte ici"
|
||||
|
||||
@ -1784,6 +1812,7 @@ msgstr "Entrez votre texte ici"
|
||||
#: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:175
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:152
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:122
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:151
|
||||
#: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:212
|
||||
@ -1812,11 +1841,11 @@ msgstr "Erreur"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:77
|
||||
#~ msgid "Error updating global team settings"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Error updating global team settings"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:128
|
||||
msgid "Everyone can access and view the document"
|
||||
msgstr ""
|
||||
msgstr "Tout le monde peut accéder et voir le document"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:142
|
||||
msgid "Everyone has signed"
|
||||
@ -1890,11 +1919,11 @@ msgstr "Général"
|
||||
#: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:57
|
||||
#: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:65
|
||||
#~ msgid "Global Settings"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Global Settings"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:69
|
||||
#~ msgid "Global Team Settings Updated"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Global Team Settings Updated"
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:30
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:33
|
||||
@ -1934,11 +1963,11 @@ msgstr "Ici, vous pouvez gérer votre mot de passe et vos paramètres de sécuri
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:43
|
||||
msgid "Here you can set preferences and defaults for branding."
|
||||
msgstr ""
|
||||
msgstr "Ici, vous pouvez définir des préférences et des valeurs par défaut pour le branding."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:34
|
||||
msgid "Here you can set preferences and defaults for your team."
|
||||
msgstr ""
|
||||
msgstr "Ici, vous pouvez définir des préférences et des valeurs par défaut pour votre équipe."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:206
|
||||
msgid "Here's how it works:"
|
||||
@ -1993,7 +2022,7 @@ msgstr "Documents de la boîte de réception"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:132
|
||||
#~ msgid "Include Sender Details"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Include Sender Details"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50
|
||||
@ -2163,7 +2192,7 @@ msgstr "Modèle de lien"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:338
|
||||
msgid "Links Generated"
|
||||
msgstr ""
|
||||
msgstr "Liens générés"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:79
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:84
|
||||
@ -2215,6 +2244,10 @@ msgstr "Gérer toutes les équipes avec lesquelles vous êtes actuellement assoc
|
||||
msgid "Manage and view template"
|
||||
msgstr "Gérer et afficher le modèle"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:136
|
||||
msgid "Manage billing"
|
||||
msgstr "Gérer la facturation"
|
||||
|
||||
#: apps/web/src/components/templates/manage-public-template-dialog.tsx:341
|
||||
msgid "Manage details for this public template"
|
||||
msgstr "Gérer les détails de ce modèle public"
|
||||
@ -2235,7 +2268,7 @@ msgstr "Gérer les clés d'accès"
|
||||
msgid "Manage subscription"
|
||||
msgstr "Gérer l'abonnement"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:67
|
||||
msgid "Manage Subscription"
|
||||
msgstr "Gérer l'abonnement"
|
||||
|
||||
@ -2294,7 +2327,7 @@ msgstr "Membre depuis"
|
||||
msgid "Members"
|
||||
msgstr "Membres"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:46
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35
|
||||
msgid "Modify recipients"
|
||||
msgstr "Modifier les destinataires"
|
||||
@ -2388,6 +2421,10 @@ msgstr "Champ suivant"
|
||||
msgid "No active drafts"
|
||||
msgstr "Pas de brouillons actifs"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:99
|
||||
msgid "No further action is required from you at this time."
|
||||
msgstr "Aucune autre action n'est requise de votre part pour le moment."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx:42
|
||||
msgid "No payment required"
|
||||
msgstr "Aucun paiement requis"
|
||||
@ -2404,7 +2441,7 @@ msgstr "Aucune activité récente"
|
||||
msgid "No recent documents"
|
||||
msgstr "Aucun document récent"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:61
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:70
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:49
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:96
|
||||
msgid "No recipients"
|
||||
@ -2444,7 +2481,7 @@ msgstr "Non pris en charge"
|
||||
msgid "Nothing to do"
|
||||
msgstr "Rien à faire"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:270
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:271
|
||||
msgid "Number"
|
||||
msgstr "Numéro"
|
||||
|
||||
@ -2480,11 +2517,11 @@ msgstr "Une fois que vous avez scanné le code QR ou saisi le code manuellement,
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:134
|
||||
msgid "Only admins can access and view the document"
|
||||
msgstr ""
|
||||
msgstr "Seules les administrateurs peuvent accéder et voir le document"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:131
|
||||
msgid "Only managers and above can access and view the document"
|
||||
msgstr ""
|
||||
msgstr "Seuls les responsables et au-dessus peuvent accéder et voir le document"
|
||||
|
||||
#: apps/web/src/app/(profile)/p/[url]/not-found.tsx:19
|
||||
#: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:19
|
||||
@ -2494,7 +2531,7 @@ msgstr ""
|
||||
msgid "Oops! Something went wrong."
|
||||
msgstr "Oups ! Quelque chose a mal tourné."
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:140
|
||||
msgid "Opened"
|
||||
msgstr "Ouvert"
|
||||
|
||||
@ -2593,7 +2630,7 @@ msgstr "Un paiement est requis pour finaliser la création de votre équipe."
|
||||
msgid "Payment overdue"
|
||||
msgstr "Paiement en retard"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:122
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:131
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:211
|
||||
#: apps/web/src/components/(teams)/tables/teams-member-page-data-table.tsx:82
|
||||
#: apps/web/src/components/(teams)/tables/user-settings-teams-page-data-table.tsx:77
|
||||
@ -2686,6 +2723,10 @@ msgstr "Veuillez noter que cette action est irréversible. Une fois confirmée,
|
||||
msgid "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified"
|
||||
msgstr "Veuillez noter que vous perdrez l'accès à tous les documents associés à cette équipe et que tous les membres seront supprimés et notifiés"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:37
|
||||
msgid "Please provide a reason"
|
||||
msgstr "Veuillez fournir une raison"
|
||||
|
||||
#: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:127
|
||||
msgid "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support."
|
||||
msgstr "Veuillez fournir un jeton de l'authentificateur, ou un code de secours. Si vous n'avez pas de code de secours disponible, veuillez contacter le support."
|
||||
@ -2722,7 +2763,7 @@ msgstr "Préférences"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:204
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
msgstr "Aperçu"
|
||||
|
||||
#: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:63
|
||||
msgid "Preview and configure template."
|
||||
@ -2730,7 +2771,7 @@ msgstr "Aperçu et configurer le modèle."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:130
|
||||
#~ msgid "Preview: {0}"
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Preview: {0}"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:105
|
||||
#: apps/web/src/components/formatter/template-type.tsx:22
|
||||
@ -2794,7 +2835,7 @@ msgstr "Champ en lecture seule"
|
||||
msgid "Read the full <0>signature disclosure</0>."
|
||||
msgstr "Lisez l'intégralité de la <0>divulgation de signature</0>."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:97
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:106
|
||||
msgid "Ready"
|
||||
msgstr "Prêt"
|
||||
|
||||
@ -2802,6 +2843,14 @@ msgstr "Prêt"
|
||||
msgid "Reason"
|
||||
msgstr "Raison"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:146
|
||||
msgid "Reason for rejection:"
|
||||
msgstr "Raison du rejet :"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:38
|
||||
msgid "Reason must be less than 500 characters"
|
||||
msgstr "La raison doit contenir moins de 500 caractères"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:62
|
||||
msgid "Reauthentication is required to sign this field"
|
||||
msgstr "Une nouvelle authentification est requise pour signer ce champ"
|
||||
@ -2826,7 +2875,7 @@ msgid "Recipient updated"
|
||||
msgstr "Destinataire mis à jour"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/admin/documents/[id]/page.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:40
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:49
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/audit-log/page.tsx:139
|
||||
msgid "Recipients"
|
||||
@ -2854,6 +2903,17 @@ msgstr "Codes de récupération"
|
||||
msgid "Registration Successful"
|
||||
msgstr "Inscription réussie"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:109
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:116
|
||||
#: apps/web/src/app/(signing)/sign/[token]/reject-document-dialog.tsx:162
|
||||
msgid "Reject Document"
|
||||
msgstr "Rejeter le document"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:141
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:101
|
||||
msgid "Rejected"
|
||||
msgstr "Rejeté"
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:34
|
||||
msgid "Remembered your password? <0>Sign In</0>"
|
||||
msgstr "Vous vous souvenez de votre mot de passe ? <0>Connectez-vous</0>"
|
||||
@ -2984,10 +3044,10 @@ msgid "Roles"
|
||||
msgstr "Rôles"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:446
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:336
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:342
|
||||
#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:337
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:344
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:312
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:228
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:232
|
||||
msgid "Save"
|
||||
msgstr "Sauvegarder"
|
||||
|
||||
@ -3065,7 +3125,7 @@ msgstr "Envoyer le document"
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:188
|
||||
#: apps/web/src/components/(teams)/forms/update-team-form.tsx:220
|
||||
msgid "Send on Behalf of Team"
|
||||
msgstr ""
|
||||
msgstr "Envoyer au nom de l'équipe"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:191
|
||||
msgid "Send reminder"
|
||||
@ -3083,7 +3143,7 @@ msgstr "Envoi de l'e-mail de réinitialisation..."
|
||||
msgid "Sending..."
|
||||
msgstr "Envoi..."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:92
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:101
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:248
|
||||
msgid "Sent"
|
||||
msgstr "Envoyé"
|
||||
@ -3133,6 +3193,7 @@ msgstr "Afficher des modèles dans le profil public de votre équipe pour que vo
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:114
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:139
|
||||
#: apps/web/src/app/(profile)/p/[url]/page.tsx:192
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:229
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:182
|
||||
#: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:224
|
||||
#: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:124
|
||||
@ -3230,7 +3291,7 @@ msgstr "Signatures collectées"
|
||||
msgid "Signatures will appear once the document has been completed"
|
||||
msgstr "Les signatures apparaîtront une fois le document complété"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:105
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:114
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:270
|
||||
#: apps/web/src/components/document/document-read-only-fields.tsx:84
|
||||
msgid "Signed"
|
||||
@ -3256,11 +3317,11 @@ msgstr "Connexion en cours..."
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:160
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:203
|
||||
msgid "Signing Links"
|
||||
msgstr ""
|
||||
msgstr "Liens de signature"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:339
|
||||
msgid "Signing links have been generated for this document."
|
||||
msgstr ""
|
||||
msgstr "Des liens de signature ont été générés pour ce document."
|
||||
|
||||
#: apps/web/src/components/forms/signup.tsx:235
|
||||
msgid "Signing up..."
|
||||
@ -3283,13 +3344,13 @@ msgstr "Paramètres du site"
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-button.tsx:63
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:91
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-audit-log-button.tsx:65
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:66
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-button.tsx:75
|
||||
#: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:106
|
||||
#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:80
|
||||
#: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:72
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-plans.tsx:62
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:50
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:51
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:124
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:73
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:93
|
||||
@ -3344,7 +3405,7 @@ msgstr "Quelque chose a mal tourné lors de la mise à jour de l'abonnement de l
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:96
|
||||
msgid "Something went wrong!"
|
||||
msgstr ""
|
||||
msgstr "Quelque chose a mal tourné !"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:240
|
||||
#: apps/web/src/components/forms/2fa/view-recovery-codes-dialog.tsx:154
|
||||
@ -3355,7 +3416,7 @@ msgstr "Quelque chose a mal tourné. Veuillez réessayer ou contacter le support
|
||||
msgid "Sorry, we were unable to download the audit logs. Please try again later."
|
||||
msgstr "Désolé, nous n'avons pas pu télécharger les journaux d'audit. Veuillez réessayer plus tard."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:68
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/logs/download-certificate-button.tsx:70
|
||||
msgid "Sorry, we were unable to download the certificate. Please try again later."
|
||||
msgstr "Désolé, nous n'avons pas pu télécharger le certificat. Veuillez réessayer plus tard."
|
||||
|
||||
@ -3511,7 +3572,7 @@ msgstr "Propriété de l'équipe transférée !"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/page.tsx:33
|
||||
msgid "Team Preferences"
|
||||
msgstr ""
|
||||
msgstr "Préférences de l'équipe"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:49
|
||||
msgid "Team Public Profile"
|
||||
@ -3604,8 +3665,8 @@ msgstr "Modèles"
|
||||
msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields."
|
||||
msgstr "Les modèles vous permettent de générer rapidement des documents avec des destinataires et des champs pré-remplis."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:256
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:272
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:257
|
||||
#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:274
|
||||
msgid "Text"
|
||||
msgstr "Texte"
|
||||
|
||||
@ -3639,6 +3700,10 @@ msgstr "Le document a été déplacé avec succès vers l'équipe sélectionnée
|
||||
msgid "The document is now completed, please follow any instructions provided within the parent application."
|
||||
msgstr "Le document est maintenant complet, veuillez suivre toutes les instructions fournies dans l'application parente."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:92
|
||||
msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary."
|
||||
msgstr "Le propriétaire du document a été informé de votre décision. Il peut vous contacter pour des instructions supplémentaires si nécessaire."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:182
|
||||
msgid "The document was created but could not be sent to recipients."
|
||||
msgstr "Le document a été créé mais n'a pas pu être envoyé aux destinataires."
|
||||
@ -3659,7 +3724,7 @@ msgstr "Les événements qui déclencheront un webhook à envoyer à votre URL."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/documents/page.tsx:27
|
||||
#~ msgid "The global settings for the documents in your team account."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "The global settings for the documents in your team account."
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114
|
||||
msgid "The ownership of team <0>{0}</0> has been successfully transferred to you."
|
||||
@ -3693,7 +3758,7 @@ msgstr "Le destinataire a été mis à jour avec succès"
|
||||
msgid "The selected team member will receive an email which they must accept before the team is transferred"
|
||||
msgstr "Le membre d'équipe sélectionné recevra un e-mail qu'il devra accepter avant que l'équipe soit transférée"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:134
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:163
|
||||
#: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:41
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:118
|
||||
msgid "The signing link has been copied to your clipboard."
|
||||
@ -4135,7 +4200,7 @@ msgstr "Impossible de se connecter"
|
||||
msgid "Unauthorized"
|
||||
msgstr "Non autorisé"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:116
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:155
|
||||
msgid "Uncompleted"
|
||||
msgstr "Non complet"
|
||||
|
||||
@ -4228,7 +4293,7 @@ msgstr "Télécharger un avatar"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:256
|
||||
msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)"
|
||||
msgstr ""
|
||||
msgstr "Téléchargez votre logo de marque (max 5 Mo, JPG, PNG ou WebP)"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31
|
||||
#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30
|
||||
@ -4380,12 +4445,12 @@ msgstr "Voir les codes de récupération"
|
||||
msgid "View teams"
|
||||
msgstr "Voir les équipes"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:111
|
||||
#: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:120
|
||||
#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:259
|
||||
msgid "Viewed"
|
||||
msgstr "Vu"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:86
|
||||
#: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:125
|
||||
msgid "Waiting"
|
||||
msgstr "En attente"
|
||||
|
||||
@ -4405,7 +4470,7 @@ msgstr "Vous voulez envoyer des liens de signature élégants comme celui-ci ? <
|
||||
msgid "Want your own public profile?"
|
||||
msgstr "Vous voulez votre propre profil public ?"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:40
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:41
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:55
|
||||
#: apps/web/src/components/(teams)/team-billing-portal-button.tsx:31
|
||||
msgid "We are unable to proceed to the billing portal at this time. Please try again, or contact support."
|
||||
@ -4591,11 +4656,11 @@ msgstr "Nous n'avons pas pu soumettre ce document pour le moment. Veuillez rées
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:109
|
||||
msgid "We were unable to update your branding preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
msgstr "Nous n'avons pas pu mettre à jour vos préférences de branding pour le moment, veuillez réessayer plus tard"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:98
|
||||
msgid "We were unable to update your document preferences at this time, please try again later"
|
||||
msgstr ""
|
||||
msgstr "Nous n'avons pas pu mettre à jour vos préférences de document pour le moment, veuillez réessayer plus tard"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:169
|
||||
msgid "We were unable to verify your details. Please try again or contact support"
|
||||
@ -4607,11 +4672,11 @@ msgstr "Nous n'avons pas pu vérifier votre e-mail. Si votre e-mail n'est pas d
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:370
|
||||
msgid "We will generate signing links for you, which you can send to the recipients through your method of choice."
|
||||
msgstr ""
|
||||
msgstr "Nous allons générer des liens de signature pour vous, que vous pouvez envoyer aux destinataires par votre méthode de choix."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:366
|
||||
msgid "We won't send anything to notify recipients."
|
||||
msgstr ""
|
||||
msgstr "Nous n'enverrons rien pour notifier les destinataires."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/documents/empty-state.tsx:29
|
||||
#: apps/web/src/app/(dashboard)/templates/empty-state.tsx:11
|
||||
@ -4669,6 +4734,10 @@ msgstr "Essayiez-vous d'éditer ce document à la place ?"
|
||||
msgid "When you click continue, you will be prompted to add the first available authenticator on your system."
|
||||
msgstr "Lorsque vous cliquez sur continuer, vous serez invité à ajouter le premier authentificateur disponible sur votre système."
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/auto-sign.tsx:183
|
||||
msgid "When you sign a document, we can automatically fill in and sign the following fields using information that has already been provided. You can also manually sign or remove any automatically signed fields afterwards if you desire."
|
||||
msgstr "Lorsque vous signez un document, nous pouvons automatiquement remplir et signer les champs suivants à l'aide des informations déjà fournies. Vous pouvez également signer manuellement ou supprimer les champs signés automatiquement par la suite si vous le souhaitez."
|
||||
|
||||
#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:36
|
||||
msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications."
|
||||
msgstr "Lorsque vous utilisez notre plateforme pour apposer votre signature électronique sur des documents, vous consentez à le faire conformément à la loi sur les signatures électroniques dans le commerce mondial et national (E-Sign Act) et aux autres lois applicables. Cette action indique votre accord à utiliser des moyens électroniques pour signer des documents et recevoir des notifications."
|
||||
@ -4738,7 +4807,7 @@ msgstr "Vous êtes sur le point de supprimer l'utilisateur suivant de <0>{teamNa
|
||||
msgid "You are about to revoke access for team <0>{0}</0> ({1}) to use your email."
|
||||
msgstr "Vous êtes sur le point de révoquer l'accès de l'équipe <0>{0}</0> ({1}) à votre e-mail."
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:78
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:80
|
||||
msgid "You are currently on the <0>Free Plan</0>."
|
||||
msgstr "Vous êtes actuellement sur le <0>Plan Gratuit</0>."
|
||||
|
||||
@ -4768,7 +4837,7 @@ msgstr "Vous pouvez revendiquer votre profil plus tard en allant dans vos param
|
||||
|
||||
#: apps/web/src/components/document/document-recipient-link-copy-dialog.tsx:87
|
||||
msgid "You can copy and share these links to recipients so they can action the document."
|
||||
msgstr ""
|
||||
msgstr "Vous pouvez copier et partager ces liens avec les destinataires afin qu'ils puissent agir sur le document."
|
||||
|
||||
#: apps/web/src/components/forms/public-profile-form.tsx:154
|
||||
msgid "You can update the profile URL by updating the team URL in the general settings page."
|
||||
@ -4790,7 +4859,7 @@ msgstr "Vous ne pouvez pas modifier un membre de l'équipe qui a un rôle plus
|
||||
msgid "You cannot upload encrypted PDFs"
|
||||
msgstr "Vous ne pouvez pas télécharger de PDF cryptés"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:45
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:46
|
||||
msgid "You do not currently have a customer record, this should not happen. Please contact support for assistance."
|
||||
msgstr "Vous n'avez actuellement pas de dossier client, cela ne devrait pas se produire. Veuillez contacter le support pour obtenir de l'aide."
|
||||
|
||||
@ -4840,6 +4909,10 @@ msgstr "Vous avez atteint votre limite de documents."
|
||||
msgid "You have reached your document limit. <0>Upgrade your account to continue!</0>"
|
||||
msgstr "Vous avez atteint votre limite de documents. <0>Mettez à niveau votre compte pour continuer !</0>"
|
||||
|
||||
#: apps/web/src/app/(signing)/sign/[token]/rejected/page.tsx:88
|
||||
msgid "You have rejected this document"
|
||||
msgstr "Vous avez rejeté ce document"
|
||||
|
||||
#: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:50
|
||||
msgid "You have successfully left this team."
|
||||
msgstr "Vous avez quitté cette équipe avec succès."
|
||||
@ -4926,13 +4999,13 @@ msgstr "Votre bannière a été mise à jour avec succès."
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:280
|
||||
msgid "Your brand website URL"
|
||||
msgstr ""
|
||||
msgstr "L'URL de votre site web de marque"
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/branding-preferences.tsx:103
|
||||
msgid "Your branding preferences have been updated"
|
||||
msgstr ""
|
||||
msgstr "Vos préférences de branding ont été mises à jour"
|
||||
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:119
|
||||
#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:125
|
||||
msgid "Your current plan is past due. Please update your payment information."
|
||||
msgstr "Votre plan actuel est en retard. Veuillez mettre à jour vos informations de paiement."
|
||||
|
||||
@ -4970,7 +5043,7 @@ msgstr "Votre document a été téléchargé avec succès. Vous serez redirigé
|
||||
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/preferences/document-preferences.tsx:92
|
||||
msgid "Your document preferences have been updated"
|
||||
msgstr ""
|
||||
msgstr "Vos préférences de document ont été mises à jour"
|
||||
|
||||
#: apps/web/src/components/(dashboard)/common/command-menu.tsx:223
|
||||
msgid "Your documents"
|
||||
@ -4991,7 +5064,7 @@ msgstr "Vos jetons existants"
|
||||
|
||||
#: apps/web/src/components/forms/team-document-settings.tsx:70
|
||||
#~ msgid "Your global team document settings has been updated successfully."
|
||||
#~ msgstr ""
|
||||
#~ msgstr "Your global team document settings has been updated successfully."
|
||||
|
||||
#: apps/web/src/components/forms/password.tsx:72
|
||||
#: apps/web/src/components/forms/reset-password.tsx:73
|
||||
@ -5067,3 +5140,4 @@ msgstr "Votre jeton a été créé avec succès ! Assurez-vous de le copier car
|
||||
#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86
|
||||
msgid "Your tokens will be shown here once you create them."
|
||||
msgstr "Vos jetons seront affichés ici une fois que vous les aurez créés."
|
||||
|
||||
|
||||
1817
packages/lib/translations/pl/common.po
Normal file
1817
packages/lib/translations/pl/common.po
Normal file
File diff suppressed because it is too large
Load Diff
605
packages/lib/translations/pl/marketing.po
Normal file
605
packages/lib/translations/pl/marketing.po
Normal file
@ -0,0 +1,605 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2024-07-24 13:01+1000\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: @lingui/cli\n"
|
||||
"Language: pl\n"
|
||||
"Project-Id-Version: documenso-app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-20 11:56\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"
|
||||
"X-Crowdin-Project: documenso-app\n"
|
||||
"X-Crowdin-Project-ID: 694691\n"
|
||||
"X-Crowdin-Language: pl\n"
|
||||
"X-Crowdin-File: marketing.po\n"
|
||||
"X-Crowdin-File-ID: 6\n"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/blog/page.tsx:45
|
||||
msgid "{0}"
|
||||
msgstr "{0}"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:100
|
||||
msgid "5 standard documents per month"
|
||||
msgstr "5 standard documents per month"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:198
|
||||
msgid "5 Users Included"
|
||||
msgstr "5 użytkowników w cenie"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:34
|
||||
msgid "A 10x better signing experience."
|
||||
msgstr "10 razy lepsze doświadczenie podpisywania."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/singleplayer/client.tsx:51
|
||||
msgid "Add document"
|
||||
msgstr "Dodaj dokument"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:201
|
||||
msgid "Add More Users for {0}"
|
||||
msgstr "Dodaj więcej użytkowników za {0}"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:165
|
||||
msgid "All our metrics, finances, and learnings are public. We believe in transparency and want to share our journey with you. You can read more about why here: <0>Announcing Open Metrics</0>"
|
||||
msgstr "Wszystkie nasze metryki, finanse i nauki są publiczne. Wierzymy w przejrzystość i chcemy dzielić się naszą podróżą z Tobą. Możesz przeczytać więcej o tym, dlaczego tutaj: <0>Ogłaszamy otwarte metryki</0>"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/funding-raised.tsx:58
|
||||
#: apps/marketing/src/app/(marketing)/open/funding-raised.tsx:65
|
||||
msgid "Amount Raised"
|
||||
msgstr "Zebrana kwota"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:145
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:189
|
||||
msgid "API Access"
|
||||
msgstr "Dostęp do API"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:67
|
||||
msgid "Beautiful."
|
||||
msgstr "Piękny."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:69
|
||||
msgid "Because signing should be celebrated. That’s why we care about the smallest detail in our product."
|
||||
msgstr "Ponieważ podpisywanie powinno być celebrowane. Dlatego dbamy o najmniejszy detal w naszym produkcie."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:35
|
||||
#: apps/marketing/src/components/(marketing)/header.tsx:57
|
||||
#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:36
|
||||
msgid "Blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:64
|
||||
msgid "Build on top."
|
||||
msgstr "Buduj na szczycie."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:163
|
||||
msgid "Can I use Documenso commercially?"
|
||||
msgstr "Czy mogę używać Documenso komercyjnie?"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:42
|
||||
msgid "Careers"
|
||||
msgstr "Kariera"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:36
|
||||
msgid "Changelog"
|
||||
msgstr "Dziennik zmian"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:85
|
||||
msgid "Choose a template from the community app store. Or submit your own template for others to use."
|
||||
msgstr "Wybierz szablon z sklepu aplikacji społeczności. Lub przekaż swój własny szablon, aby inni mogli z niego korzystać."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:219
|
||||
msgid "Community"
|
||||
msgstr "Społeczność"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/monthly-completed-documents-chart.tsx:55
|
||||
msgid "Completed Documents"
|
||||
msgstr "Zakończone dokumenty"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/monthly-completed-documents-chart.tsx:33
|
||||
msgid "Completed Documents per Month"
|
||||
msgstr "Zakończone dokumenty na miesiąc"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:65
|
||||
msgid "Connections"
|
||||
msgstr "Połączenia"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/enterprise.tsx:35
|
||||
msgid "Contact Us"
|
||||
msgstr "Skontaktuj się z nami"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:67
|
||||
msgid "Create connections and automations with Zapier and more to integrate with your favorite tools."
|
||||
msgstr "Twórz połączenia i automatyzacje z Zapier i innymi, aby zintegrować z ulubionymi narzędziami."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/call-to-action.tsx:23
|
||||
msgid "Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp."
|
||||
msgstr "Utwórz konto i rozpocznij korzystanie z nowoczesnego podpisywania dokumentów. Otwarty i piękny podpis jest w Twoim zasięgu."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/tooltip.tsx:35
|
||||
msgid "Customers with an Active Subscriptions."
|
||||
msgstr "Klienci z aktywnymi subskrypcjami."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:33
|
||||
msgid "Customise and expand."
|
||||
msgstr "Dostosuj i rozwijaj."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:38
|
||||
msgid "Design"
|
||||
msgstr "Projekt"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:44
|
||||
msgid "Designed for every stage of your journey."
|
||||
msgstr "Zaprojektowane na każdy etap Twojej podróży."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/carousel.tsx:40
|
||||
msgid "Direct Link"
|
||||
msgstr "Bezpośredni link"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:181
|
||||
msgid "Documenso is a community effort to create an open and vibrant ecosystem around a tool, everybody is free to use and adapt. By being truly open we want to create trusted infrastructure for the future of the internet."
|
||||
msgstr "Documenso to społeczny wysiłek na rzecz stworzenia otwartego i żywotnego ekosystemu wokół narzędzia, z którego każdy może korzystać i dostosowywać. Bycie naprawdę otwartym oznacza tworzenie zaufanej infrastruktury dla przyszłości internetu."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/typefully.tsx:28
|
||||
msgid "Documenso on X"
|
||||
msgstr "Documenso na X"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/hero.tsx:104
|
||||
msgid "Document signing,<0/>finally open source."
|
||||
msgstr "Podpisywanie dokumentów,<0/>w końcu open source."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:33
|
||||
#: apps/marketing/src/components/(marketing)/header.tsx:50
|
||||
#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:28
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentacja"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:110
|
||||
msgid "Easily embed Documenso into your product. Simply copy and paste our react widget into your application."
|
||||
msgstr "Łatwe osadzenie Documenso w Twoim produkcie. Po prostu skopiuj i wklej nasz widget react do swojej aplikacji."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:46
|
||||
msgid "Easy Sharing."
|
||||
msgstr "Łatwe udostępnianie."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:148
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:192
|
||||
msgid "Email and Discord Support"
|
||||
msgstr "Wsparcie E-mail i Discord"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/team-members.tsx:43
|
||||
msgid "Engagement"
|
||||
msgstr "Zaangażowanie"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/singleplayer/client.tsx:64
|
||||
msgid "Enter your details."
|
||||
msgstr "Wprowadź swoje dane."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/enterprise.tsx:16
|
||||
msgid "Enterprise Compliance, License or Technical Needs?"
|
||||
msgstr "Zgodność z przepisami dotyczącymi przedsiębiorstw, licencje lub potrzeby techniczne?"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:128
|
||||
msgid "Everything you need for a great signing experience."
|
||||
msgstr "Wszystko, czego potrzebujesz, aby mieć wspaniałe doświadczenie podpisywania."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:45
|
||||
msgid "Fast."
|
||||
msgstr "Szybkie."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:36
|
||||
msgid "Faster, smarter and more beautiful."
|
||||
msgstr "Szybszy, mądrzejszy i piękniejszy."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:210
|
||||
msgid "Finances"
|
||||
msgstr "Finanse"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/typefully.tsx:38
|
||||
msgid "Follow us on X"
|
||||
msgstr "Śledź nas na X"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:172
|
||||
msgid "For companies looking to scale across multiple teams."
|
||||
msgstr "Dla firm, które chcą się rozwijać w wielu zespołach."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:85
|
||||
msgid "For small teams and individuals with basic needs."
|
||||
msgstr "Dla małych zespołów i osób z podstawowymi potrzebami."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:80
|
||||
msgid "Free"
|
||||
msgstr "Darmowy"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/blog/page.tsx:26
|
||||
msgid "From the blog"
|
||||
msgstr "Z bloga"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/data.ts:9
|
||||
#: apps/marketing/src/app/(marketing)/open/data.ts:17
|
||||
#: apps/marketing/src/app/(marketing)/open/data.ts:25
|
||||
#: apps/marketing/src/app/(marketing)/open/data.ts:33
|
||||
#: apps/marketing/src/app/(marketing)/open/data.ts:41
|
||||
#: apps/marketing/src/app/(marketing)/open/data.ts:49
|
||||
msgid "Full-Time"
|
||||
msgstr "Pełnoetatowy"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:87
|
||||
msgid "Get paid (Soon)."
|
||||
msgstr "Zapłać (Wkrótce)."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/call-to-action.tsx:31
|
||||
msgid "Get started"
|
||||
msgstr "Rozpocznij"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:75
|
||||
msgid "Get Started"
|
||||
msgstr "Rozpocznij"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:47
|
||||
msgid "Get started today."
|
||||
msgstr "Rozpocznij dzisiaj."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/blog/page.tsx:30
|
||||
msgid "Get the latest news from Documenso, including product updates, team announcements and more!"
|
||||
msgstr "Otrzymaj najnowsze wiadomości od Documenso, w tym aktualizacje produktów, ogłoszenia zespołowe i inne!"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:233
|
||||
msgid "GitHub: Total Merged PRs"
|
||||
msgstr "GitHub: Całkowita liczba scalonych PR-ów"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:251
|
||||
msgid "GitHub: Total Open Issues"
|
||||
msgstr "GitHub: Całkowita liczba otwartych problemów"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:225
|
||||
msgid "GitHub: Total Stars"
|
||||
msgstr "GitHub: Całkowita liczba gwiazdek"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/salary-bands.tsx:23
|
||||
msgid "Global Salary Bands"
|
||||
msgstr "Globalne stawki płacy"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:261
|
||||
msgid "Growth"
|
||||
msgstr "Wzrost"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:134
|
||||
msgid "How can I contribute?"
|
||||
msgstr "Jak mogę się przyczynić?"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:105
|
||||
msgid "How do you handle my data?"
|
||||
msgstr "Jak radzisz sobie z moimi danymi?"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:118
|
||||
msgid "Individual"
|
||||
msgstr "Indywidualny"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:89
|
||||
msgid "Integrated payments with Stripe so you don’t have to worry about getting paid."
|
||||
msgstr "Zintegrowane płatności z Stripe, więc nie musisz się martwić o to, aby otrzymać zapłatę."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:35
|
||||
msgid "Integrates with all your favourite tools."
|
||||
msgstr "Integruje się ze wszystkimi Twoimi ulubionymi narzędziami."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:289
|
||||
msgid "Is there more?"
|
||||
msgstr "Czy jest więcej?"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:44
|
||||
msgid "It’s up to you. Either clone our repository or rely on our easy to use hosting solution."
|
||||
msgstr "To zależy od Ciebie. Albo sklonuj nasze repozytorium, albo polegaj na naszym łatwym w użyciu rozwiązaniu hostingowym."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/team-members.tsx:49
|
||||
msgid "Join Date"
|
||||
msgstr "Data przystąpienia"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/call-to-action.tsx:19
|
||||
msgid "Join the Open Signing Movement"
|
||||
msgstr "Dołącz do ruchu otwartego podpisywania"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/team-members.tsx:46
|
||||
msgid "Location"
|
||||
msgstr "Lokalizacja"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:66
|
||||
msgid "Make it your own through advanced customization and adjustability."
|
||||
msgstr "Spraw, aby było to Twoje dzięki zaawansowanej personalizacji i elastyczności."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:199
|
||||
msgid "Merged PR's"
|
||||
msgstr "Scalone PR-y"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:234
|
||||
msgid "Merged PRs"
|
||||
msgstr "Scalone PR"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:40
|
||||
msgid "Monthly"
|
||||
msgstr "Miesięcznie"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/team-members.tsx:34
|
||||
msgid "Name"
|
||||
msgstr "Nazwa"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/monthly-new-users-chart.tsx:30
|
||||
#: apps/marketing/src/app/(marketing)/open/monthly-new-users-chart.tsx:43
|
||||
#: apps/marketing/src/app/(marketing)/open/monthly-new-users-chart.tsx:52
|
||||
msgid "New Users"
|
||||
msgstr "Nowi użytkownicy"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:106
|
||||
msgid "No credit card required"
|
||||
msgstr "Nie jest wymagana karta kredytowa"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/callout.tsx:29
|
||||
#: apps/marketing/src/components/(marketing)/hero.tsx:125
|
||||
msgid "No Credit Card required"
|
||||
msgstr "Nie jest wymagana karta kredytowa"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:61
|
||||
msgid "None of these work for you? Try self-hosting!"
|
||||
msgstr "Żaden z tych wariantów nie działa dla Ciebie? Spróbuj samodzielnego hostingu!"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:194
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:252
|
||||
msgid "Open Issues"
|
||||
msgstr "Otwarte problemy"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:42
|
||||
msgid "Open Source or Hosted."
|
||||
msgstr "Oprogramowanie otwarte lub hostowane."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:161
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:37
|
||||
#: apps/marketing/src/components/(marketing)/header.tsx:64
|
||||
#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:40
|
||||
msgid "Open Startup"
|
||||
msgstr "Otwarte startupy"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:41
|
||||
msgid "OSS Friends"
|
||||
msgstr "Przyjaciele OSS"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:91
|
||||
msgid "Our custom templates come with smart rules that can help you save time and energy."
|
||||
msgstr "Nasze niestandardowe szablony mają inteligentne zasady, które mogą pomóc Ci zaoszczędzić czas i energię."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/enterprise.tsx:20
|
||||
msgid "Our Enterprise License is great for large organizations looking to switch to Documenso for all their signing needs. It's available for our cloud offering as well as self-hosted setups and offers a wide range of compliance and Adminstration Features."
|
||||
msgstr "Nasza licencja dla przedsiębiorstw jest doskonała dla dużych organizacji szukających zmiany na Documenso dla wszystkich swoich potrzeb związanych z podpisywaniem. Jest dostępna zarówno w naszej chmurze, jak i w ustawieniach do samodzielnego hostingu i oferuje szeroki zakres funkcji zgodności i administracyjnych."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:65
|
||||
msgid "Our self-hosted option is great for small teams and individuals who need a simple solution. You can use our docker based setup to get started in minutes. Take control with full customizability and data ownership."
|
||||
msgstr "Nasza opcja hostingu własnego jest świetna dla małych zespołów i osób, które potrzebują prostego rozwiązania. Możesz użyć naszego zestawu opartego na dockerze, aby rozpocząć w ciągu kilku minut. Przejmij kontrolę z pełną możliwością dostosowania i własnością danych."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:151
|
||||
msgid "Premium Profile Name"
|
||||
msgstr "Nazwa profilu premium"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:40
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:31
|
||||
#: apps/marketing/src/components/(marketing)/header.tsx:42
|
||||
#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:24
|
||||
msgid "Pricing"
|
||||
msgstr "Cennik"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:43
|
||||
#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:53
|
||||
msgid "Privacy"
|
||||
msgstr "Prywatność"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/carousel.tsx:58
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:108
|
||||
msgid "React Widget (Soon)."
|
||||
msgstr "Widget React (Wkrótce)."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:48
|
||||
msgid "Receive your personal link to share with everyone you care about."
|
||||
msgstr "Otrzymaj link do osobistego udostępnienia wszystkim, na których Ci zależy."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/team-members.tsx:37
|
||||
msgid "Role"
|
||||
msgstr "Rola"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/salary-bands.tsx:37
|
||||
#: apps/marketing/src/app/(marketing)/open/team-members.tsx:40
|
||||
msgid "Salary"
|
||||
msgstr "Wynagrodzenie"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:62
|
||||
msgid "Save $60 or $120"
|
||||
msgstr "Zaoszczędź 60 $ lub 120 $"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:109
|
||||
msgid "Securely. Our data centers are located in Frankfurt (Germany), giving us the best local privacy laws. We are very aware of the sensitive nature of our data and follow best practices to ensure the security and integrity of the data entrusted to us."
|
||||
msgstr "Bezpiecznie. Nasze centra danych znajdują się we Frankfurcie (Niemcy), co daje nam najlepsze lokalne przepisy o prywatności. Jesteśmy bardzo świadomi wrażliwego charakteru naszych danych i przestrzegamy najlepszych praktyk, aby zapewnić bezpieczeństwo i integralność danych, które nam powierzono."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:37
|
||||
msgid "Send, connect, receive and embed everywhere."
|
||||
msgstr "Wysyłaj, łącz, odbieraj i osadzaj wszędzie."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/salary-bands.tsx:34
|
||||
msgid "Seniority"
|
||||
msgstr "Poziom"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:39
|
||||
msgid "Shop"
|
||||
msgstr "Sklep"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/singleplayer/client.tsx:63
|
||||
msgid "Sign"
|
||||
msgstr "Podpisz"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/header.tsx:72
|
||||
#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:61
|
||||
msgid "Sign in"
|
||||
msgstr "Zaloguj się"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/header.tsx:77
|
||||
#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:57
|
||||
msgid "Sign up"
|
||||
msgstr "Zarejestruj się"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/carousel.tsx:22
|
||||
msgid "Signing Process"
|
||||
msgstr "Proces podpisywania"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:94
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:136
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:180
|
||||
msgid "Signup Now"
|
||||
msgstr "Zapisz się teraz"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:89
|
||||
msgid "Smart."
|
||||
msgstr "Inteligentny."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/hero.tsx:132
|
||||
msgid "Star on GitHub"
|
||||
msgstr "Dodaj gwiazdkę na GitHubie"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:226
|
||||
msgid "Stars"
|
||||
msgstr "Gwiazdy"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:40
|
||||
#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:44
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/footer.tsx:34
|
||||
#: apps/marketing/src/components/(marketing)/mobile-navigation.tsx:48
|
||||
msgid "Support"
|
||||
msgstr "Wsparcie"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/team-members.tsx:26
|
||||
msgid "Team"
|
||||
msgstr "Zespół"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:195
|
||||
msgid "Team Inbox"
|
||||
msgstr "Skrzynka zespołowa"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/carousel.tsx:28
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:162
|
||||
msgid "Teams"
|
||||
msgstr "Zespoły"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:83
|
||||
msgid "Template Store (Soon)."
|
||||
msgstr "Sklep z szablonami (Wkrótce)."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:138
|
||||
msgid "That's awesome. You can take a look at the current <0>Issues</0> and join our <1>Discord Community</1> to keep up to date, on what the current priorities are. In any case, we are an open community and welcome all input, technical and non-technical ❤️"
|
||||
msgstr "To niesamowite. Możesz spojrzeć na aktualne <0>Problemy</0> i dołączyć do naszej <1>społeczności Discord</1>, aby być na bieżąco z aktualnymi priorytetami. W każdym razie jesteśmy otwartą społecznością i witamy wszelkie opinie, techniczne i nietechniczne ❤️"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:293
|
||||
msgid "This page is evolving as we learn what makes a great signing company. We'll update it when we have more to share."
|
||||
msgstr "Ta strona ewoluuje, gdy uczymy się, co czyni firmę podpisującą doskonałą. Zaktualizujemy ją, gdy będziemy mieli więcej do podzielenia się."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/salary-bands.tsx:31
|
||||
msgid "Title"
|
||||
msgstr "Tytuł"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/total-signed-documents-chart.tsx:30
|
||||
#: apps/marketing/src/app/(marketing)/open/total-signed-documents-chart.tsx:55
|
||||
msgid "Total Completed Documents"
|
||||
msgstr "Całkowita liczba zakończonych dokumentów"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:267
|
||||
#: apps/marketing/src/app/(marketing)/open/page.tsx:268
|
||||
msgid "Total Customers"
|
||||
msgstr "Całkowita liczba klientów"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/funding-raised.tsx:29
|
||||
msgid "Total Funding Raised"
|
||||
msgstr "Całkowita kwota zebrana"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/monthly-total-users-chart.tsx:30
|
||||
#: apps/marketing/src/app/(marketing)/open/monthly-total-users-chart.tsx:43
|
||||
#: apps/marketing/src/app/(marketing)/open/monthly-total-users-chart.tsx:52
|
||||
msgid "Total Users"
|
||||
msgstr "Całkowita liczba użytkowników"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/open-build-template-bento.tsx:31
|
||||
msgid "Truly your own."
|
||||
msgstr "Naprawdę twoje."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/callout.tsx:27
|
||||
#: apps/marketing/src/components/(marketing)/hero.tsx:123
|
||||
msgid "Try our Free Plan"
|
||||
msgstr "Wypróbuj nasz plan darmowy"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/typefully.tsx:20
|
||||
msgid "Twitter Stats"
|
||||
msgstr "Statystyki Twittera"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:142
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:186
|
||||
msgid "Unlimited Documents per Month"
|
||||
msgstr "Nieograniczone dokumenty miesięcznie"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:103
|
||||
msgid "Up to 10 recipients per document"
|
||||
msgstr "Do 10 odbiorców na dokument"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/singleplayer/client.tsx:52
|
||||
msgid "Upload a document and add fields."
|
||||
msgstr "Prześlij dokument i dodaj pola."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:123
|
||||
msgid "Using our hosted version is the easiest way to get started, you can simply subscribe and start signing your documents. We take care of the infrastructure, so you can focus on your business. Additionally, when using our hosted version you benefit from our trusted signing certificates which helps you to build trust with your customers."
|
||||
msgstr "Korzystanie z naszej wersji hostowanej jest najłatwiejszym sposobem na rozpoczęcie, możesz po prostu subskrybować i zacząć podpisywanie swoich dokumentów. Zajmujemy się infrastrukturą, abyś mógł skupić się na swoim biznesie. Dodatkowo, korzystając z naszej wersji hostowanej, korzystasz z naszych zaufanych certyfikatów podpisujących, co pomaga budować zaufanie u Twoich klientów."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/open/typefully.tsx:33
|
||||
msgid "View all stats"
|
||||
msgstr "Zobacz wszystkie statystyki"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:195
|
||||
msgid "We are happy to assist you at <0>support@documenso.com</0> or <1>in our Discord-Support-Channel</1> please message either Lucas or Timur to get added to the channel if you are not already a member."
|
||||
msgstr "Cieszymy się, że możemy Ci pomóc pod adresem <0>support@documenso.com</0> lub <1>w naszym kanale wsparcia na Discordzie</1>, proszę napisz do Lucasa lub Timura, aby zostać dodanym do kanału, jeśli jeszcze nie jesteś członkiem."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:89
|
||||
msgid "What is the difference between the plans?"
|
||||
msgstr "Jaka jest różnica między planami?"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/faster-smarter-beautiful-bento.tsx:47
|
||||
msgid "When it comes to sending or receiving a contract, you can count on lightning-fast speeds."
|
||||
msgstr "Jeśli chodzi o wysyłanie lub odbieranie umowy, możesz liczyć na błyskawiczne prędkości."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:191
|
||||
msgid "Where can I get support?"
|
||||
msgstr "Gdzie mogę uzyskać pomoc?"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:177
|
||||
msgid "Why should I prefer Documenso over DocuSign or some other signing tool?"
|
||||
msgstr "Dlaczego powinienem preferować Documenso zamiast DocuSign lub innego narzędzia do podpisywania?"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:119
|
||||
msgid "Why should I use your hosting service?"
|
||||
msgstr "Dlaczego powinienem korzystać z usługi hostingu?"
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/pricing-table.tsx:60
|
||||
msgid "Yearly"
|
||||
msgstr "Rocznie"
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:167
|
||||
msgid "Yes! Documenso is offered under the GNU AGPL V3 open source license. This means you can use it for free and even modify it to fit your needs, as long as you publish your changes under the same license."
|
||||
msgstr "Tak! Documenso jest oferowane na podstawie licencji GNU AGPL V3 open source. Oznacza to, że możesz z niego korzystać bezpłatnie, a nawet modyfikować je zgodnie ze swoimi potrzebami, o ile opublikujesz swoje zmiany na tej samej licencji."
|
||||
|
||||
#: apps/marketing/src/app/(marketing)/pricing/page.tsx:93
|
||||
msgid "You can self-host Documenso for free or use our ready-to-use hosted version. The hosted version comes with additional support, painless scalability and more. Early adopters will get access to all features we build this year, for no additional cost! Forever! Yes, that includes multiple users per account later. If you want Documenso for your enterprise, we are happy to talk about your needs."
|
||||
msgstr "Możesz samodzielnie hostować Documenso za darmo lub skorzystać z naszej gotowej wersji hostowanej. Wersja hostowana zapewnia dodatkowe wsparcie, łatwą skalowalność i inne. Wczesni użytkownicy będą mieli dostęp do wszystkich funkcji, które budujemy w tym roku, bez dodatkowych kosztów! Na zawsze! Tak, to obejmuje wielu użytkowników na konto później. Jeśli chcesz Documenso dla swojej firmy, chętnie porozmawiamy o Twoich potrzebach."
|
||||
|
||||
#: apps/marketing/src/components/(marketing)/carousel.tsx:272
|
||||
msgid "Your browser does not support the video tag."
|
||||
msgstr "Twoja przeglądarka nie obsługuje tagu wideo."
|
||||
|
||||
5143
packages/lib/translations/pl/web.po
Normal file
5143
packages/lib/translations/pl/web.po
Normal file
File diff suppressed because it is too large
Load Diff
@ -33,6 +33,7 @@ export const ZDocumentAuditLogTypeSchema = z.enum([
|
||||
'DOCUMENT_GLOBAL_AUTH_ACTION_UPDATED', // When the global action authentication is updated.
|
||||
'DOCUMENT_META_UPDATED', // When the document meta data is updated.
|
||||
'DOCUMENT_OPENED', // When the document is opened by a recipient.
|
||||
'DOCUMENT_RECIPIENT_REJECTED', // When a recipient rejects the document.
|
||||
'DOCUMENT_RECIPIENT_COMPLETED', // When a recipient completes all their required tasks for the document.
|
||||
'DOCUMENT_SENT', // When the document transitions from DRAFT to PENDING.
|
||||
'DOCUMENT_TITLE_UPDATED', // When the document title is updated.
|
||||
@ -363,6 +364,16 @@ export const ZDocumentAuditLogEventDocumentRecipientCompleteSchema = z.object({
|
||||
}),
|
||||
});
|
||||
|
||||
/**
|
||||
* Event: Document recipient completed the document (the recipient has fully actioned and completed their required steps for the document).
|
||||
*/
|
||||
export const ZDocumentAuditLogEventDocumentRecipientRejectedSchema = z.object({
|
||||
type: z.literal(DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED),
|
||||
data: ZBaseRecipientDataSchema.extend({
|
||||
reason: z.string(),
|
||||
}),
|
||||
});
|
||||
|
||||
/**
|
||||
* Event: Document sent.
|
||||
*/
|
||||
@ -487,6 +498,7 @@ export const ZDocumentAuditLogSchema = ZDocumentAuditLogBaseSchema.and(
|
||||
ZDocumentAuditLogEventDocumentMetaUpdatedSchema,
|
||||
ZDocumentAuditLogEventDocumentOpenedSchema,
|
||||
ZDocumentAuditLogEventDocumentRecipientCompleteSchema,
|
||||
ZDocumentAuditLogEventDocumentRecipientRejectedSchema,
|
||||
ZDocumentAuditLogEventDocumentSentSchema,
|
||||
ZDocumentAuditLogEventDocumentTitleUpdatedSchema,
|
||||
ZDocumentAuditLogEventDocumentExternalIdUpdatedSchema,
|
||||
|
||||
@ -349,6 +349,16 @@ export const formatDocumentAuditLogAction = (
|
||||
identified: result,
|
||||
};
|
||||
})
|
||||
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_RECIPIENT_REJECTED }, ({ data }) => {
|
||||
const userName = prefix || _(msg`Recipient`);
|
||||
|
||||
const result = msg`${userName} rejected the document`;
|
||||
|
||||
return {
|
||||
anonymous: result,
|
||||
identified: result,
|
||||
};
|
||||
})
|
||||
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.EMAIL_SENT }, ({ data }) => ({
|
||||
anonymous: data.isResending ? msg`Email resent` : msg`Email sent`,
|
||||
identified: data.isResending
|
||||
|
||||
@ -0,0 +1,5 @@
|
||||
-- AlterEnum
|
||||
ALTER TYPE "SigningStatus" ADD VALUE 'REJECTED';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "Recipient" ADD COLUMN "rejectionReason" TEXT;
|
||||
@ -393,6 +393,7 @@ enum SendStatus {
|
||||
enum SigningStatus {
|
||||
NOT_SIGNED
|
||||
SIGNED
|
||||
REJECTED
|
||||
}
|
||||
|
||||
enum RecipientRole {
|
||||
@ -414,6 +415,7 @@ model Recipient {
|
||||
signedAt DateTime?
|
||||
authOptions Json?
|
||||
signingOrder Int?
|
||||
rejectionReason String?
|
||||
role RecipientRole @default(SIGNER)
|
||||
readStatus ReadStatus @default(NOT_OPENED)
|
||||
signingStatus SigningStatus @default(NOT_SIGNED)
|
||||
|
||||
@ -139,5 +139,9 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [require('tailwindcss-animate'), require('@tailwindcss/typography')],
|
||||
plugins: [
|
||||
require('tailwindcss-animate'),
|
||||
require('@tailwindcss/typography'),
|
||||
require('@tailwindcss/container-queries'),
|
||||
],
|
||||
};
|
||||
|
||||
@ -7,15 +7,15 @@
|
||||
"clean": "rimraf node_modules"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tailwindcss/container-queries": "^0.1.1",
|
||||
"@tailwindcss/typography": "^0.5.9",
|
||||
"autoprefixer": "^10.4.13",
|
||||
"postcss": "^8.4.32",
|
||||
"tailwindcss": "3.3.2",
|
||||
"tailwindcss-animate": "^1.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/typography": "^0.5.9"
|
||||
},
|
||||
"devDependencies": {},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
import { TRPCError } from '@trpc/server';
|
||||
|
||||
import { completeDocumentWithToken } from '@documenso/lib/server-only/document/complete-document-with-token';
|
||||
import { rejectDocumentWithToken } from '@documenso/lib/server-only/document/reject-document-with-token';
|
||||
import { setRecipientsForDocument } from '@documenso/lib/server-only/recipient/set-recipients-for-document';
|
||||
import { setRecipientsForTemplate } from '@documenso/lib/server-only/recipient/set-recipients-for-template';
|
||||
import { extractNextApiRequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
|
||||
@ -10,6 +11,7 @@ import {
|
||||
ZAddSignersMutationSchema,
|
||||
ZAddTemplateSignersMutationSchema,
|
||||
ZCompleteDocumentWithTokenMutationSchema,
|
||||
ZRejectDocumentWithTokenMutationSchema,
|
||||
} from './schema';
|
||||
|
||||
export const recipientRouter = router({
|
||||
@ -94,4 +96,26 @@ export const recipientRouter = router({
|
||||
});
|
||||
}
|
||||
}),
|
||||
|
||||
rejectDocumentWithToken: procedure
|
||||
.input(ZRejectDocumentWithTokenMutationSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
try {
|
||||
const { token, documentId, reason } = input;
|
||||
|
||||
return await rejectDocumentWithToken({
|
||||
token,
|
||||
documentId,
|
||||
reason,
|
||||
requestMetadata: extractNextApiRequestMetadata(ctx.req),
|
||||
});
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
|
||||
throw new TRPCError({
|
||||
code: 'BAD_REQUEST',
|
||||
message: 'We were unable to handle this request. Please try again later.',
|
||||
});
|
||||
}
|
||||
}),
|
||||
});
|
||||
|
||||
@ -69,3 +69,14 @@ export const ZCompleteDocumentWithTokenMutationSchema = z.object({
|
||||
export type TCompleteDocumentWithTokenMutationSchema = z.infer<
|
||||
typeof ZCompleteDocumentWithTokenMutationSchema
|
||||
>;
|
||||
|
||||
export const ZRejectDocumentWithTokenMutationSchema = z.object({
|
||||
token: z.string(),
|
||||
documentId: z.number(),
|
||||
reason: z.string(),
|
||||
authOptions: ZRecipientActionAuthSchema.optional(),
|
||||
});
|
||||
|
||||
export type TRejectDocumentWithTokenMutationSchema = z.infer<
|
||||
typeof ZRejectDocumentWithTokenMutationSchema
|
||||
>;
|
||||
|
||||
157
packages/ui/primitives/auto-sized-text.tsx
Normal file
157
packages/ui/primitives/auto-sized-text.tsx
Normal file
@ -0,0 +1,157 @@
|
||||
'use client';
|
||||
|
||||
import { useLayoutEffect, useRef } from 'react';
|
||||
|
||||
import { cn } from '../lib/utils';
|
||||
|
||||
export type Dimensions = {
|
||||
height: number;
|
||||
width: number;
|
||||
};
|
||||
|
||||
export type AutoSizedTextProps = {
|
||||
children: React.ReactNode;
|
||||
className?: string;
|
||||
maxHeight?: number;
|
||||
useRem?: boolean;
|
||||
};
|
||||
|
||||
const ITERATION_LIMIT = 20;
|
||||
const MAXIMUM_DIFFERENCE = 1; // px
|
||||
|
||||
function getElementDimensions(element: HTMLElement): Dimensions {
|
||||
const bbox = element.getBoundingClientRect();
|
||||
|
||||
return {
|
||||
width: bbox.width,
|
||||
height: bbox.height,
|
||||
};
|
||||
}
|
||||
|
||||
function getBaseFontSize(): number {
|
||||
try {
|
||||
const fontSize = getComputedStyle(document.documentElement).fontSize;
|
||||
const parsed = parseFloat(fontSize);
|
||||
|
||||
// Check if we got a valid number
|
||||
if (!Number.isFinite(parsed)) {
|
||||
return 16;
|
||||
}
|
||||
|
||||
return parsed;
|
||||
} catch (error) {
|
||||
// Fallback to browser default if anything goes wrong
|
||||
return 16;
|
||||
}
|
||||
}
|
||||
|
||||
function pxToRem(px: number): number {
|
||||
return px / getBaseFontSize();
|
||||
}
|
||||
|
||||
export function AutoSizedText({
|
||||
children,
|
||||
className,
|
||||
maxHeight,
|
||||
useRem = false,
|
||||
}: AutoSizedTextProps) {
|
||||
const childRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
const fontSize = useRef<number>(0);
|
||||
const fontSizeLowerBound = useRef<number>(0);
|
||||
const fontSizeUpperBound = useRef<number>(0);
|
||||
|
||||
const adjustFontSize = (childDimensions: Dimensions, parentDimensions: Dimensions) => {
|
||||
const childElement = childRef.current;
|
||||
|
||||
if (!childElement) {
|
||||
return;
|
||||
}
|
||||
|
||||
let newFontSize: number;
|
||||
|
||||
const targetHeight =
|
||||
maxHeight && maxHeight < parentDimensions.height ? maxHeight : parentDimensions.height;
|
||||
|
||||
const isElementTooBig =
|
||||
childDimensions.width > parentDimensions.width || childDimensions.height > targetHeight;
|
||||
|
||||
if (isElementTooBig) {
|
||||
// Scale down if element is bigger than target
|
||||
newFontSize = (fontSizeLowerBound.current + fontSize.current) / 2;
|
||||
fontSizeUpperBound.current = fontSize.current;
|
||||
} else if (
|
||||
childDimensions.width < parentDimensions.width ||
|
||||
childDimensions.height < parentDimensions.height
|
||||
) {
|
||||
// Scale up if element is smaller than target
|
||||
newFontSize = (fontSizeUpperBound.current + fontSize.current) / 2;
|
||||
fontSizeLowerBound.current = fontSize.current;
|
||||
}
|
||||
|
||||
fontSize.current = newFontSize;
|
||||
|
||||
// Convert to rem if useRem is true
|
||||
const displayFontSize = useRem ? `${pxToRem(newFontSize)}rem` : `${newFontSize}px`;
|
||||
childElement.style.fontSize = displayFontSize;
|
||||
};
|
||||
|
||||
useLayoutEffect(() => {
|
||||
const childElement = childRef.current;
|
||||
const parentElement = childRef.current?.parentElement;
|
||||
|
||||
if (!childElement || !parentElement) {
|
||||
return;
|
||||
}
|
||||
|
||||
const observer = new ResizeObserver((entries) => {
|
||||
const entry = entries[0];
|
||||
|
||||
if (!entry) {
|
||||
return;
|
||||
}
|
||||
|
||||
const parentDimensions = entry.contentRect;
|
||||
|
||||
// Reset iteration parameters
|
||||
fontSizeLowerBound.current = 0;
|
||||
fontSizeUpperBound.current = parentDimensions.height;
|
||||
|
||||
let iterationCount = 0;
|
||||
|
||||
while (iterationCount <= ITERATION_LIMIT) {
|
||||
const childDimensions = getElementDimensions(childElement);
|
||||
|
||||
const targetHeight =
|
||||
maxHeight && maxHeight < parentDimensions.height ? maxHeight : parentDimensions.height;
|
||||
|
||||
const widthDifference = parentDimensions.width - childDimensions.width;
|
||||
const heightDifference = targetHeight - childDimensions.height;
|
||||
|
||||
const childFitsIntoParent = heightDifference >= 0 && widthDifference >= 0;
|
||||
const isWithinTolerance =
|
||||
Math.abs(widthDifference) <= MAXIMUM_DIFFERENCE ||
|
||||
Math.abs(heightDifference) <= MAXIMUM_DIFFERENCE;
|
||||
|
||||
if (childFitsIntoParent && isWithinTolerance) {
|
||||
break;
|
||||
}
|
||||
|
||||
adjustFontSize(childDimensions, parentDimensions);
|
||||
iterationCount += 1;
|
||||
}
|
||||
});
|
||||
|
||||
observer.observe(parentElement);
|
||||
|
||||
return () => {
|
||||
observer.disconnect();
|
||||
};
|
||||
}, [maxHeight, useRem]);
|
||||
|
||||
return (
|
||||
<div ref={childRef} className={cn('inline-block leading-none', className)}>
|
||||
{children}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@ -113,7 +113,7 @@ const DialogTitle = React.forwardRef<
|
||||
>(({ className, ...props }, ref) => (
|
||||
<DialogPrimitive.Title
|
||||
ref={ref}
|
||||
className={cn('truncate text-lg font-semibold leading-none tracking-tight', className)}
|
||||
className={cn('truncate text-lg font-semibold tracking-tight', className)}
|
||||
{...props}
|
||||
/>
|
||||
));
|
||||
|
||||
@ -76,8 +76,11 @@ const fontCaveat = Caveat({
|
||||
variable: '--font-caveat',
|
||||
});
|
||||
|
||||
const MIN_HEIGHT_PX = 20;
|
||||
const MIN_WIDTH_PX = 80;
|
||||
const MIN_HEIGHT_PX = 12;
|
||||
const MIN_WIDTH_PX = 36;
|
||||
|
||||
const DEFAULT_HEIGHT_PX = MIN_HEIGHT_PX * 2.5;
|
||||
const DEFAULT_WIDTH_PX = MIN_WIDTH_PX * 2.5;
|
||||
|
||||
export type FieldFormType = {
|
||||
nativeId?: number;
|
||||
@ -480,8 +483,8 @@ export const AddFieldsFormPartial = ({
|
||||
}
|
||||
|
||||
fieldBounds.current = {
|
||||
height: Math.max(MIN_HEIGHT_PX),
|
||||
width: Math.max(MIN_WIDTH_PX),
|
||||
height: Math.max(DEFAULT_HEIGHT_PX),
|
||||
width: Math.max(DEFAULT_WIDTH_PX),
|
||||
};
|
||||
});
|
||||
|
||||
@ -594,7 +597,7 @@ export const AddFieldsFormPartial = ({
|
||||
{selectedField && (
|
||||
<div
|
||||
className={cn(
|
||||
'text-muted-foreground dark:text-muted-background pointer-events-none fixed z-50 flex cursor-pointer flex-col items-center justify-center bg-white transition duration-200',
|
||||
'text-muted-foreground dark:text-muted-background pointer-events-none fixed z-50 flex cursor-pointer flex-col items-center justify-center bg-white transition duration-200 [container-type:size]',
|
||||
selectedSignerStyles.default.base,
|
||||
{
|
||||
'-rotate-6 scale-90 opacity-50 dark:bg-black/20': !isFieldWithinBounds,
|
||||
@ -609,7 +612,9 @@ export const AddFieldsFormPartial = ({
|
||||
width: fieldBounds.current.width,
|
||||
}}
|
||||
>
|
||||
{parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[selectedField])}
|
||||
<span className="text-[clamp(0.425rem,25cqw,0.825rem)]">
|
||||
{parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[selectedField])}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@ -630,8 +635,10 @@ export const AddFieldsFormPartial = ({
|
||||
selectedSigner?.email !== field.signerEmail ||
|
||||
!canRecipientBeModified(selectedSigner, fields)
|
||||
}
|
||||
minHeight={fieldBounds.current.height}
|
||||
minWidth={fieldBounds.current.width}
|
||||
minHeight={MIN_HEIGHT_PX}
|
||||
minWidth={MIN_WIDTH_PX}
|
||||
defaultHeight={DEFAULT_HEIGHT_PX}
|
||||
defaultWidth={DEFAULT_WIDTH_PX}
|
||||
passive={isFieldWithinBounds && !!selectedField}
|
||||
onFocus={() => setLastActiveField(field)}
|
||||
onBlur={() => setLastActiveField(null)}
|
||||
|
||||
@ -453,7 +453,16 @@ export const AddSignersFormPartial = ({
|
||||
control={form.control}
|
||||
name={`signers.${index}.signingOrder`}
|
||||
render={({ field }) => (
|
||||
<FormItem className="col-span-2 mt-auto flex items-center gap-x-1 space-y-0">
|
||||
<FormItem
|
||||
className={cn(
|
||||
'col-span-2 mt-auto flex items-center gap-x-1 space-y-0',
|
||||
{
|
||||
'mb-6':
|
||||
form.formState.errors.signers?.[index] &&
|
||||
!form.formState.errors.signers[index]?.signingOrder,
|
||||
},
|
||||
)}
|
||||
>
|
||||
<GripVerticalIcon className="h-5 w-5 flex-shrink-0 opacity-40" />
|
||||
<FormControl>
|
||||
<Input
|
||||
@ -491,6 +500,9 @@ export const AddSignersFormPartial = ({
|
||||
render={({ field }) => (
|
||||
<FormItem
|
||||
className={cn('relative', {
|
||||
'mb-6':
|
||||
form.formState.errors.signers?.[index] &&
|
||||
!form.formState.errors.signers[index]?.email,
|
||||
'col-span-4': !showAdvancedSettings,
|
||||
'col-span-5': showAdvancedSettings,
|
||||
})}
|
||||
@ -526,6 +538,9 @@ export const AddSignersFormPartial = ({
|
||||
render={({ field }) => (
|
||||
<FormItem
|
||||
className={cn({
|
||||
'mb-6':
|
||||
form.formState.errors.signers?.[index] &&
|
||||
!form.formState.errors.signers[index]?.name,
|
||||
'col-span-4': !showAdvancedSettings,
|
||||
'col-span-5': showAdvancedSettings,
|
||||
})}
|
||||
@ -561,6 +576,9 @@ export const AddSignersFormPartial = ({
|
||||
render={({ field }) => (
|
||||
<FormItem
|
||||
className={cn('col-span-8', {
|
||||
'mb-6':
|
||||
form.formState.errors.signers?.[index] &&
|
||||
!form.formState.errors.signers[index]?.actionAuth,
|
||||
'col-span-10': isSigningOrderSequential,
|
||||
})}
|
||||
>
|
||||
@ -586,7 +604,13 @@ export const AddSignersFormPartial = ({
|
||||
<FormField
|
||||
name={`signers.${index}.role`}
|
||||
render={({ field }) => (
|
||||
<FormItem className="mt-auto">
|
||||
<FormItem
|
||||
className={cn('mt-auto', {
|
||||
'mb-6':
|
||||
form.formState.errors.signers?.[index] &&
|
||||
!form.formState.errors.signers[index]?.role,
|
||||
})}
|
||||
>
|
||||
<FormControl>
|
||||
<RecipientRoleSelect
|
||||
{...field}
|
||||
@ -606,7 +630,12 @@ export const AddSignersFormPartial = ({
|
||||
|
||||
<button
|
||||
type="button"
|
||||
className="mt-auto inline-flex h-10 w-10 items-center justify-center hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50"
|
||||
className={cn(
|
||||
'mt-auto inline-flex h-10 w-10 items-center justify-center hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50',
|
||||
{
|
||||
'mb-6': form.formState.errors.signers?.[index],
|
||||
},
|
||||
)}
|
||||
disabled={
|
||||
snapshot.isDragging ||
|
||||
isSubmitting ||
|
||||
|
||||
@ -45,7 +45,7 @@ export const FieldIcon = ({
|
||||
return (
|
||||
<div
|
||||
className={cn(
|
||||
'text-field-card-foreground flex items-center justify-center gap-x-1 text-[clamp(0.875rem,1.8cqw,1.2rem)]',
|
||||
'text-field-card-foreground flex items-center justify-center gap-x-1 text-[clamp(0.575rem,25cqw,1.2rem)]',
|
||||
fontCaveatClassName,
|
||||
)}
|
||||
>
|
||||
@ -71,8 +71,9 @@ export const FieldIcon = ({
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="text-field-card-foreground flex items-center justify-center gap-x-1.5 text-[clamp(0.625rem,1cqw,0.825rem)]">
|
||||
<Icon className="h-4 w-4" /> {label}
|
||||
<div className="text-field-card-foreground flex items-center justify-center gap-x-1.5 text-[clamp(0.425rem,25cqw,0.825rem)]">
|
||||
<Icon className="h-[clamp(0.625rem,20cqw,0.925rem)] w-[clamp(0.625rem,20cqw,0.925rem)]" />{' '}
|
||||
{label}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@ -35,6 +35,8 @@ export type FieldItemProps = {
|
||||
disabled?: boolean;
|
||||
minHeight?: number;
|
||||
minWidth?: number;
|
||||
defaultHeight?: number;
|
||||
defaultWidth?: number;
|
||||
onResize?: (_node: HTMLElement) => void;
|
||||
onMove?: (_node: HTMLElement) => void;
|
||||
onRemove?: () => void;
|
||||
@ -53,6 +55,8 @@ export const FieldItem = ({
|
||||
disabled,
|
||||
minHeight,
|
||||
minWidth,
|
||||
defaultHeight,
|
||||
defaultWidth,
|
||||
onResize,
|
||||
onMove,
|
||||
onRemove,
|
||||
@ -68,8 +72,8 @@ export const FieldItem = ({
|
||||
const [coords, setCoords] = useState({
|
||||
pageX: 0,
|
||||
pageY: 0,
|
||||
pageHeight: 0,
|
||||
pageWidth: 0,
|
||||
pageHeight: defaultHeight || 0,
|
||||
pageWidth: defaultWidth || 0,
|
||||
});
|
||||
const [settingsActive, setSettingsActive] = useState(false);
|
||||
const $el = useRef(null);
|
||||
|
||||
@ -44,18 +44,18 @@ export const ShowFieldItem = ({ field, recipients }: ShowFieldItemProps) => {
|
||||
width: `${coords.width}px`,
|
||||
}}
|
||||
>
|
||||
<Card className={cn('bg-background h-full w-full')}>
|
||||
<Card className={cn('bg-background h-full w-full [container-type:size]')}>
|
||||
<CardContent
|
||||
className={cn(
|
||||
'text-muted-foreground/50 flex h-full w-full flex-col items-center justify-center p-2 text-xl',
|
||||
'text-muted-foreground/50 flex h-full w-full flex-col items-center justify-center p-0 text-[clamp(0.575rem,1.8cqw,1.2rem)] leading-none',
|
||||
field.type === FieldType.SIGNATURE && fontCaveat.className,
|
||||
)}
|
||||
>
|
||||
{parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[field.type])}
|
||||
|
||||
<p className="text-muted-foreground/50 w-full truncate text-center text-xs">
|
||||
{/* <p className="text-muted-foreground/50 w-full truncate text-center text-xs">
|
||||
{signerEmail}
|
||||
</p>
|
||||
</p> */}
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>,
|
||||
|
||||
@ -45,7 +45,7 @@ export const ZDocumentFlowFormSchema = z.object({
|
||||
|
||||
export type TDocumentFlowFormSchema = z.infer<typeof ZDocumentFlowFormSchema>;
|
||||
|
||||
export const FRIENDLY_FIELD_TYPE: Record<FieldType, MessageDescriptor | string> = {
|
||||
export const FRIENDLY_FIELD_TYPE: Record<FieldType, MessageDescriptor> = {
|
||||
[FieldType.SIGNATURE]: msg`Signature`,
|
||||
[FieldType.FREE_SIGNATURE]: msg`Free Signature`,
|
||||
[FieldType.INITIALS]: msg`Initials`,
|
||||
@ -54,9 +54,9 @@ export const FRIENDLY_FIELD_TYPE: Record<FieldType, MessageDescriptor | string>
|
||||
[FieldType.EMAIL]: msg`Email`,
|
||||
[FieldType.NAME]: msg`Name`,
|
||||
[FieldType.NUMBER]: msg`Number`,
|
||||
[FieldType.RADIO]: `Radio`,
|
||||
[FieldType.CHECKBOX]: `Checkbox`,
|
||||
[FieldType.DROPDOWN]: `Select`,
|
||||
[FieldType.RADIO]: msg`Radio`,
|
||||
[FieldType.CHECKBOX]: msg`Checkbox`,
|
||||
[FieldType.DROPDOWN]: msg`Select`,
|
||||
};
|
||||
|
||||
export interface DocumentFlowStep {
|
||||
|
||||
@ -67,8 +67,11 @@ const fontCaveat = Caveat({
|
||||
variable: '--font-caveat',
|
||||
});
|
||||
|
||||
const MIN_HEIGHT_PX = 20;
|
||||
const MIN_WIDTH_PX = 80;
|
||||
const MIN_HEIGHT_PX = 12;
|
||||
const MIN_WIDTH_PX = 36;
|
||||
|
||||
const DEFAULT_HEIGHT_PX = MIN_HEIGHT_PX * 2.5;
|
||||
const DEFAULT_WIDTH_PX = MIN_WIDTH_PX * 2.5;
|
||||
|
||||
export type AddTemplateFieldsFormProps = {
|
||||
documentFlow: DocumentFlowStep;
|
||||
@ -354,8 +357,8 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
}
|
||||
|
||||
fieldBounds.current = {
|
||||
height: Math.max(MIN_HEIGHT_PX),
|
||||
width: Math.max(MIN_WIDTH_PX),
|
||||
height: Math.max(DEFAULT_HEIGHT_PX),
|
||||
width: Math.max(DEFAULT_WIDTH_PX),
|
||||
};
|
||||
});
|
||||
|
||||
@ -425,7 +428,7 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
{selectedField && (
|
||||
<div
|
||||
className={cn(
|
||||
'text-muted-foreground dark:text-muted-background pointer-events-none fixed z-50 flex cursor-pointer flex-col items-center justify-center bg-white transition duration-200',
|
||||
'text-muted-foreground dark:text-muted-background pointer-events-none fixed z-50 flex cursor-pointer flex-col items-center justify-center bg-white transition duration-200 [container-type:size]',
|
||||
selectedSignerStyles.default.base,
|
||||
{
|
||||
'-rotate-6 scale-90 opacity-50 dark:bg-black/20': !isFieldWithinBounds,
|
||||
@ -439,7 +442,9 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
width: fieldBounds.current.width,
|
||||
}}
|
||||
>
|
||||
{parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[selectedField])}
|
||||
<span className="text-[clamp(0.425rem,25cqw,0.825rem)]">
|
||||
{parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[selectedField])}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@ -452,8 +457,10 @@ export const AddTemplateFieldsFormPartial = ({
|
||||
recipientIndex={recipientIndex === -1 ? 0 : recipientIndex}
|
||||
field={field}
|
||||
disabled={selectedSigner?.email !== field.signerEmail}
|
||||
minHeight={fieldBounds.current.height}
|
||||
minWidth={fieldBounds.current.width}
|
||||
minHeight={MIN_HEIGHT_PX}
|
||||
minWidth={MIN_WIDTH_PX}
|
||||
defaultHeight={DEFAULT_HEIGHT_PX}
|
||||
defaultWidth={DEFAULT_WIDTH_PX}
|
||||
passive={isFieldWithinBounds && !!selectedField}
|
||||
onResize={(options) => onFieldResize(options, index)}
|
||||
onMove={(options) => onFieldMove(options, index)}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
'use client';
|
||||
|
||||
import React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';
|
||||
import { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';
|
||||
|
||||
import type { DropResult, SensorAPI } from '@hello-pangea/dnd';
|
||||
import { DragDropContext, Draggable, Droppable } from '@hello-pangea/dnd';
|
||||
@ -94,7 +94,7 @@ export const AddTemplatePlaceholderRecipientsFormPartial = ({
|
||||
];
|
||||
}
|
||||
|
||||
return recipients.map((recipient, index) => ({
|
||||
let mappedRecipients = recipients.map((recipient, index) => ({
|
||||
nativeId: recipient.id,
|
||||
formId: String(recipient.id),
|
||||
name: recipient.name,
|
||||
@ -103,6 +103,14 @@ export const AddTemplatePlaceholderRecipientsFormPartial = ({
|
||||
actionAuth: ZRecipientAuthOptionsSchema.parse(recipient.authOptions)?.actionAuth ?? undefined,
|
||||
signingOrder: recipient.signingOrder ?? index + 1,
|
||||
}));
|
||||
|
||||
if (signingOrder === DocumentSigningOrder.SEQUENTIAL) {
|
||||
mappedRecipients = mappedRecipients.sort(
|
||||
(a, b) => (a.signingOrder ?? 0) - (b.signingOrder ?? 0),
|
||||
);
|
||||
}
|
||||
|
||||
return mappedRecipients;
|
||||
};
|
||||
|
||||
const form = useForm<TAddTemplatePlacholderRecipientsFormSchema>({
|
||||
|
||||
Reference in New Issue
Block a user