From 5fcd8610c95f4b546e665d69087a98d94f508eb1 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Mon, 28 Oct 2024 11:21:49 +0900 Subject: [PATCH 01/52] fix: translate extract command (#1394) Change how the translate extract command is run on build --- apps/marketing/package.json | 2 +- apps/web/package.json | 2 +- turbo.json | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/apps/marketing/package.json b/apps/marketing/package.json index de0b41c88..907f74698 100644 --- a/apps/marketing/package.json +++ b/apps/marketing/package.json @@ -5,7 +5,7 @@ "license": "AGPL-3.0", "scripts": { "dev": "next dev -p 3001", - "build": "turbo run translate:extract && turbo run translate:compile && next build", + "build": "npm run translate:extract --prefix ../../ && turbo run translate:compile && next build", "start": "next start -p 3001", "lint": "next lint", "lint:fix": "next lint --fix", diff --git a/apps/web/package.json b/apps/web/package.json index f8c996cfb..314f39723 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -5,7 +5,7 @@ "license": "AGPL-3.0", "scripts": { "dev": "next dev -p 3000", - "build": "turbo run translate:extract && turbo run translate:compile && next build", + "build": "npm run translate:extract --prefix ../../ && turbo run translate:compile && next build", "start": "next start", "lint": "next lint", "e2e:prepare": "next build && next start", diff --git a/turbo.json b/turbo.json index 0004b30d1..753c11911 100644 --- a/turbo.json +++ b/turbo.json @@ -34,9 +34,6 @@ "dependsOn": ["^build"], "cache": false }, - "translate:extract": { - "cache": false - }, "translate:compile": { "cache": false } From 872762661a0795104b817b57da860cc5f3abcbb3 Mon Sep 17 00:00:00 2001 From: Andre G Date: Mon, 28 Oct 2024 03:23:08 +0100 Subject: [PATCH 02/52] style: Update web.po (#1403) Update translations --- packages/lib/translations/de/web.po | 34 ++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index 7c5327f4c..e777c6161 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -3102,40 +3102,40 @@ msgstr "Teams" #: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:83 msgid "Teams restricted" -msgstr "Teams restricted" +msgstr "Teams beschränkt" #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:271 msgid "Template" -msgstr "Template" +msgstr "Vorlage" #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:41 msgid "Template deleted" -msgstr "Template deleted" +msgstr "Vorlage gelöscht" #: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:67 msgid "Template document uploaded" -msgstr "Template document uploaded" +msgstr "Vorlagendokument hochgeladen" #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:42 msgid "Template duplicated" -msgstr "Template duplicated" +msgstr "Vorlage dupliziert" #: apps/web/src/components/templates/manage-public-template-dialog.tsx:134 msgid "Template has been removed from your public profile." -msgstr "Template has been removed from your public profile." +msgstr "Vorlage ist von Deinem öffentlichen Profil entfernt worden." #: apps/web/src/components/templates/manage-public-template-dialog.tsx:171 msgid "Template has been updated." -msgstr "Template has been updated." +msgstr "Vorlage wurde aktualisiert." #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:48 msgid "Template moved" -msgstr "Template moved" +msgstr "Vorlage verschoben" #: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:219 msgid "Template saved" -msgstr "Template saved" +msgstr "Vorlage gespeichert" #: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:60 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 @@ -3143,11 +3143,11 @@ msgstr "Template saved" #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 #: apps/web/src/components/(dashboard)/layout/mobile-navigation.tsx:39 msgid "Templates" -msgstr "Templates" +msgstr "Vorlagen" #: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:106 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." +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 @@ -3156,25 +3156,25 @@ msgstr "Text" #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:166 msgid "Text Color" -msgstr "Text Color" +msgstr "Textfarbe" #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52 msgid "The account has been deleted successfully." -msgstr "The account has been deleted successfully." +msgstr "Das Konto wurde erfolgreich gelöscht." #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:197 msgid "The content to show in the banner, HTML is allowed" -msgstr "The content to show in the banner, HTML is allowed" +msgstr "Der Inhalt, der im Banne rgezeig wird, HTML ist erlaubt" #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:78 #: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:32 #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:164 msgid "The direct link has been copied to your clipboard" -msgstr "The direct link has been copied to your clipboard" +msgstr "Der direkte Linkt wurde in die Zwischenablage kopiert" #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:50 msgid "The document has been successfully moved to the selected team." -msgstr "The document has been successfully moved to the selected team." +msgstr "Das Dokument wurde erfolgreich in das ausgewählte Team verschoben." #: apps/web/src/app/embed/completed.tsx:29 msgid "The document is now completed, please follow any instructions provided within the parent application." @@ -3182,7 +3182,7 @@ msgstr "Das Dokument ist jetzt abgeschlossen. Bitte folgen Sie allen Anweisungen #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:159 msgid "The document was created but could not be sent to recipients." -msgstr "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." #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:161 msgid "The document will be hidden from your account" From e30ceeb038d531a3910a088ad78efdc9fe691282 Mon Sep 17 00:00:00 2001 From: Andre G Date: Mon, 28 Oct 2024 03:26:12 +0100 Subject: [PATCH 03/52] style: update common.po (#1402) Update translations --- packages/lib/translations/de/common.po | 25 +---- packages/lib/translations/de/marketing.po | 17 ---- packages/lib/translations/de/web.po | 112 +++++----------------- packages/lib/translations/en/common.po | 16 ---- packages/lib/translations/en/marketing.po | 16 ---- packages/lib/translations/en/web.po | 111 +++++---------------- packages/lib/translations/es/common.po | 17 ---- packages/lib/translations/es/marketing.po | 17 ---- packages/lib/translations/es/web.po | 112 +++++----------------- packages/lib/translations/fr/common.po | 17 ---- packages/lib/translations/fr/marketing.po | 17 ---- packages/lib/translations/fr/web.po | 112 +++++----------------- 12 files changed, 108 insertions(+), 481 deletions(-) diff --git a/packages/lib/translations/de/common.po b/packages/lib/translations/de/common.po index ab0c6fb6c..c4a4a0cd5 100644 --- a/packages/lib/translations/de/common.po +++ b/packages/lib/translations/de/common.po @@ -157,10 +157,6 @@ msgstr "Abbrechen" msgid "Cannot remove signer" msgstr "Unterzeichner kann nicht entfernt werden" -#: packages/ui/primitives/document-flow/add-signers.tsx:221 -#~ msgid "Cannot update signer because they have already signed a field" -#~ msgstr "Cannot update signer because they have already signed a field" - #: packages/lib/constants/recipient-roles.ts:17 msgid "Cc" msgstr "Cc" @@ -374,10 +370,6 @@ msgstr "Ich bin ein Genehmiger dieses Dokuments" msgid "I am required to receive a copy of this document" msgstr "Ich bin verpflichtet, eine Kopie dieses Dokuments zu erhalten" -#: packages/lib/constants/recipient-roles.ts:74 -#~ msgid "I am required to recieve a copy of this document" -#~ msgstr "I am required to recieve a copy of this document" - #: packages/ui/components/recipient/recipient-action-auth-select.tsx:29 #: packages/ui/components/recipient/recipient-action-auth-select.tsx:87 msgid "Inherit authentication method" @@ -729,10 +721,6 @@ msgstr "Dieses Feld kann nicht geändert oder gelöscht werden. Wenn Sie den dir 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." -#: packages/ui/primitives/document-flow/add-signers.tsx:165 -#~ msgid "This signer has already received the document." -#~ msgstr "This signer has already received the document." - #: packages/ui/primitives/document-flow/add-signers.tsx:194 msgid "This signer has already signed the document." msgstr "Dieser Unterzeichner hat das Dokument bereits unterschrieben." @@ -783,23 +771,19 @@ msgstr "Wert" #: packages/lib/constants/recipient-roles.ts:26 msgid "View" -msgstr "View" +msgstr "Betrachten" #: packages/lib/constants/recipient-roles.ts:27 msgid "Viewed" -msgstr "Viewed" +msgstr "Betrachtet" #: packages/lib/constants/recipient-roles.ts:29 msgid "Viewer" -msgstr "Viewer" +msgstr "Betrachter" #: packages/lib/constants/recipient-roles.ts:28 msgid "Viewing" -msgstr "Viewing" - -#: packages/ui/primitives/signature-pad/signature-pad.tsx:280 -#~ msgid "White" -#~ msgstr "White" +msgstr "Betrachten" #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" @@ -816,4 +800,3 @@ msgstr "Sie können derzeit keine Dokumente hochladen." #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "Sie haben Ihr Dokumentenlimit erreicht." - diff --git a/packages/lib/translations/de/marketing.po b/packages/lib/translations/de/marketing.po index ed237f322..0c3a69fe2 100644 --- a/packages/lib/translations/de/marketing.po +++ b/packages/lib/translations/de/marketing.po @@ -160,10 +160,6 @@ msgstr "Dokumentation" msgid "Easily embed Documenso into your product. Simply copy and paste our react widget into your application." msgstr "Betten Sie Documenso ganz einfach in Ihr Produkt ein. Kopieren und fügen Sie einfach unser React-Widget in Ihre Anwendung ein." -#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:42 -#~ msgid "Easy Sharing (Soon)." -#~ msgstr "Easy Sharing (Soon)." - #: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:46 msgid "Easy Sharing." msgstr "Einfaches Teilen." @@ -377,18 +373,10 @@ msgstr "Unsere benutzerdefinierten Vorlagen verfügen über intelligente Regeln, 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 "Unsere Enterprise-Lizenz ist ideal für große Organisationen, die auf Documenso für all ihre Signaturanforderungen umsteigen möchten. Sie ist sowohl für unser Cloud-Angebot als auch für selbstgehostete Setups verfügbar und bietet eine breite Palette an Compliance- und Verwaltungsfunktionen." -#: apps/marketing/src/components/(marketing)/enterprise.tsx:20 -#~ msgid "Our Enterprise License is great large organizations looking to switch to Documenso for all their signing needs. It's availible for our cloud offering as well as self-hosted setups and offer a wide range of compliance and Adminstration Features." -#~ msgstr "Our Enterprise License is great large organizations looking to switch to Documenso for all their signing needs. It's availible for our cloud offering as well as self-hosted setups and offer a wide range of compliance and Adminstration Features." - #: 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 "Unsere selbstgehostete Option ist ideal für kleine Teams und Einzelpersonen, die eine einfache Lösung benötigen. Sie können unser docker-basiertes Setup verwenden, um in wenigen Minuten loszulegen. Übernehmen Sie die Kontrolle mit vollständiger Anpassbarkeit und Datenhoheit." -#: apps/marketing/src/app/(marketing)/open/data.ts:25 -#~ msgid "Part-Time" -#~ msgstr "Part-Time" - #: apps/marketing/src/components/(marketing)/pricing-table.tsx:151 msgid "Premium Profile Name" msgstr "Premium Profilname" @@ -430,10 +418,6 @@ msgstr "Gehalt" msgid "Save $60 or $120" msgstr "Sparen Sie $60 oder $120" -#: apps/marketing/src/components/(marketing)/i18n-switcher.tsx:47 -#~ msgid "Search languages..." -#~ msgstr "Search languages..." - #: 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 "Sicher. Unsere Rechenzentren befinden sich in Frankfurt (Deutschland) und bieten uns die besten lokalen Datenschutzgesetze. Uns ist die sensible Natur unserer Daten sehr bewusst und wir folgen bewährten Praktiken, um die Sicherheit und Integrität der uns anvertrauten Daten zu gewährleisten." @@ -618,4 +602,3 @@ 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." - diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index e777c6161..4c8bb1161 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -137,7 +137,7 @@ msgstr "404 Vorlage nicht gefunden" msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." msgstr "Eine Bestätigungs-E-Mail wurde gesendet, und sie sollte in Kürze in deinem Posteingang ankommen." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:193 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" msgstr "Ein Entwurf wird erstellt" @@ -250,10 +250,6 @@ msgstr "Felder hinzufügen" msgid "Add more" msgstr "Mehr hinzufügen" -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:270 -#~ msgid "Add number" -#~ msgstr "Add number" - #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:146 #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:154 msgid "Add passkey" @@ -275,19 +271,11 @@ msgstr "Betreff hinzufügen" msgid "Add team email" msgstr "Team-E-Mail hinzufügen" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:256 -#~ msgid "Add text" -#~ msgstr "Add text" - -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:272 -#~ msgid "Add Text" -#~ msgstr "Add Text" - #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 msgid "Add the people who will sign the document." msgstr "Fügen Sie die Personen hinzu, die das Dokument unterschreiben werden." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:195 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 msgid "Add the recipients to create the document with" msgstr "Fügen Sie die Empfänger hinzu, um das Dokument zu erstellen" @@ -380,7 +368,7 @@ 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/(dashboard)/templates/use-template-dialog.tsx:153 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:161 msgid "An error occurred while creating document from template." msgstr "Ein Fehler ist aufgetreten, während das Dokument aus der Vorlage erstellt wurde." @@ -561,7 +549,7 @@ msgstr "Bist du dir sicher, dass du dieses Team löschen möchtest?" #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:98 #: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:94 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:453 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:455 #: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:81 #: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:81 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:116 @@ -660,7 +648,7 @@ msgstr "Durch die Aktivierung von 2FA müssen Sie jedes Mal, wenn Sie sich anmel #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:81 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:119 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:470 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472 #: 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 @@ -759,7 +747,7 @@ msgid "Click to insert field" msgstr "Klicken Sie, um das Feld einzufügen" #: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:304 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 @@ -814,7 +802,7 @@ msgstr "Konfigurieren Sie die allgemeinen Einstellungen für die Vorlage." msgid "Configure template" msgstr "Vorlage konfigurieren" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:479 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:481 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:460 msgid "Confirm" msgstr "Bestätigen" @@ -900,11 +888,11 @@ msgstr "Ein Team erstellen, um mit Ihren Teammitgliedern zusammenzuarbeiten." msgid "Create account" msgstr "Konto erstellen" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:310 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 msgid "Create and send" msgstr "Erstellen und senden" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:312 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347 msgid "Create as draft" msgstr "Als Entwurf erstellen" @@ -916,7 +904,7 @@ msgstr "Direkten Link erstellen" msgid "Create Direct Signing Link" msgstr "Direkten Signatur-Link erstellen" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:189 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197 msgid "Create document from template" msgstr "Dokument aus der Vorlage erstellen" @@ -988,11 +976,6 @@ msgstr "Erstellt am" msgid "Created on {0}" msgstr "Erstellt am {0}" -#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:89 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:94 -#~ msgid "Created on <0/>" -#~ msgstr "Created on <0/>" - #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 msgid "Created on{0}" msgstr ">>>>>>> 4ca18b99 (fix: refactor dates)" @@ -1107,10 +1090,6 @@ msgstr "Gelöscht" msgid "Deleting account..." msgstr "Konto wird gelöscht..." -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:135 -#~ msgid "Deleting document" -#~ msgstr "Deleting document" - #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75 msgid "Device" msgstr "Gerät" @@ -1215,7 +1194,7 @@ msgstr "Dokument abgeschlossen" msgid "Document Completed!" msgstr "Dokument abgeschlossen!" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:142 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150 msgid "Document created" msgstr "Dokument erstellt" @@ -1246,7 +1225,7 @@ msgstr "Dokument-ID" msgid "Document inbox" msgstr "Dokumenten-Posteingang" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:178 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179 msgid "Document Limit Exceeded!" msgstr "Dokumentenlimit überschritten!" @@ -1369,10 +1348,6 @@ msgstr "Entwurfdokumente" msgid "Drafted Documents" msgstr "Entwurfte Dokumente" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:245 -#~ msgid "Draw" -#~ msgstr "Draw" - #: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:121 msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." msgstr "Aufgrund einer unbezahlten Rechnung wurde Ihrem Team der Zugriff eingeschränkt. Bitte begleichen Sie die Zahlung, um den vollumfänglichen Zugang zu Ihrem Team wiederherzustellen." @@ -1406,8 +1381,8 @@ msgstr "Webhook bearbeiten" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:213 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376 @@ -1507,7 +1482,7 @@ msgstr "Geben Sie hier Ihren Text ein" #: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230 #: 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:152 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 #: 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 @@ -1548,20 +1523,10 @@ msgstr "Zeitüberschreitung überschritten" msgid "Expired" msgstr "Abgelaufen" -#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:73 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:106 -#~ msgid "Expires on" -#~ msgstr "Expires on" - #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 msgid "Expires on {0}" msgstr ">>>>>>> 4ca18b99 (fix: refactor dates)" -#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108 -#~ msgid "Expires on <0/>" -#~ msgstr "Expires on <0/>" - #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107 msgid "Expires on{0}" msgstr "Läuft ab am{0}" @@ -1663,10 +1628,6 @@ msgstr "Ausblenden" msgid "Hide additional information" msgstr "Zusätzliche Informationen ausblenden" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:40 -#~ msgid "I am the owner of this document" -#~ msgstr "I am the owner of this document" - #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:186 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:173 msgid "I'm sure! Delete it" @@ -2010,8 +1971,8 @@ msgstr "Meine Vorlagen" #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:235 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:242 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 @@ -2162,7 +2123,7 @@ msgstr "Oder" msgid "Or continue with" msgstr "Oder fahren Sie fort mit" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:289 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324 msgid "Otherwise, the document will be created as a draft." msgstr "Andernfalls wird das Dokument als Entwurf erstellt." @@ -2302,7 +2263,7 @@ msgstr "Bitte geben Sie einen aussagekräftigen Namen für Ihr Token ein. Dies w msgid "Please mark as viewed to complete" msgstr "Bitte als angesehen markieren, um abzuschließen" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:457 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:459 msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Bitte beachten Sie, dass das Fortfahren den direkten Linkempfänger entfernt und ihn in einen Platzhalter umwandelt." @@ -2593,7 +2554,7 @@ msgstr "Rolle" msgid "Roles" msgstr "Rollen" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:444 +#: 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 msgid "Save" @@ -2662,7 +2623,7 @@ msgstr "Passkey auswählen" msgid "Send confirmation email" msgstr "Bestätigungs-E-Mail senden" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:273 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308 msgid "Send document" msgstr "Dokument senden" @@ -2744,10 +2705,6 @@ msgstr "Unterzeichnen" msgid "Sign as {0} <0>({1})" msgstr "Unterzeichnen als {0} <0>({1})" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:219 -#~ msgid "Sign as <0>{0} <1>({1})" -#~ msgstr "Sign as <0>{0} <1>({1})" - #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:183 msgid "Sign as<0>{0} <1>({1})" msgstr "Unterzeichnen als<0>{0} <1>({1})" @@ -3180,7 +3137,7 @@ msgstr "Das Dokument wurde erfolgreich in das ausgewählte Team verschoben." msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "Das Dokument ist jetzt abgeschlossen. Bitte folgen Sie allen Anweisungen, die in der übergeordneten Anwendung bereitgestellt werden." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:159 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167 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." @@ -3188,7 +3145,7 @@ msgstr "Das Dokument wurde erstellt, konnte aber nicht an die Empfänger versend msgid "The document will be hidden from your account" msgstr "The document will be hidden from your account" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:281 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316 msgid "The document will be immediately sent to recipients if this is checked." msgstr "The document will be immediately sent to recipients if this is checked." @@ -3556,10 +3513,6 @@ msgstr "Type 'delete' to confirm" msgid "Type a command or search..." msgstr "Type a command or search..." -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:275 -#~ msgid "Typed Signature" -#~ msgstr "Typed Signature" - #: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 msgid "Uh oh! Looks like you're missing a token" msgstr "Uh oh! Looks like you're missing a token" @@ -3750,7 +3703,7 @@ msgstr "Authenticator verwenden" msgid "Use Backup Code" msgstr "Backup-Code verwenden" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:183 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191 msgid "Use Template" msgstr "Vorlage verwenden" @@ -4184,10 +4137,6 @@ msgstr "Sie stehen kurz davor, den Zugriff für das Team <0>{0} ({1}) zu wid msgid "You are currently on the <0>Free Plan." msgstr "Sie befinden sich derzeit im <0>kostenlosen Plan." -#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:92 -#~ msgid "You are currently subscribed to <0>{0}" -#~ msgstr "You are currently subscribed to <0>{0}" - #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:148 msgid "You are currently updating <0>{teamMemberName}." msgstr "Sie aktualisieren derzeit <0>{teamMemberName}." @@ -4232,10 +4181,6 @@ 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/page.tsx:97 -#~ msgid "You currently have an active plan" -#~ msgstr "You currently have an active plan" - #: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:45 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." @@ -4282,7 +4227,7 @@ msgstr "Sie haben das maximale Limit von {0} direkten Vorlagen erreicht. <0>Upgr msgid "You have reached your document limit." msgstr "Sie haben Ihr Dokumentenlimit erreicht." -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:181 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182 msgid "You have reached your document limit. <0>Upgrade your account to continue!" msgstr "Sie haben Ihr Dokumentenlimit erreicht. <0>Upgrade your account to continue!" @@ -4316,10 +4261,6 @@ msgstr "Sie haben Ihre E-Mail-Adresse für <0>{0} bestätigt." msgid "You must be an admin of this team to manage billing." msgstr "Sie müssen Administrator dieses Teams sein, um die Abrechnung zu verwalten." -#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:80 -#~ msgid "You must enter '{confirmTransferMessage}' to proceed" -#~ msgstr "You must enter '{confirmTransferMessage}' to proceed" - #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:60 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:58 #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:54 @@ -4382,7 +4323,7 @@ msgstr "Ihre direkten Unterzeichnungsvorlagen" msgid "Your document failed to upload." msgstr "Ihr Dokument konnte nicht hochgeladen werden." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:143 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151 msgid "Your document has been created from the template successfully." msgstr "Ihr Dokument wurde erfolgreich aus der Vorlage erstellt." @@ -4497,4 +4438,3 @@ msgstr "Ihr Token wurde erfolgreich erstellt! Stellen Sie sicher, dass Sie es ko #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Ihre Tokens werden hier angezeigt, sobald Sie sie erstellt haben." - diff --git a/packages/lib/translations/en/common.po b/packages/lib/translations/en/common.po index 572c72b4e..f5e621d35 100644 --- a/packages/lib/translations/en/common.po +++ b/packages/lib/translations/en/common.po @@ -152,10 +152,6 @@ msgstr "Cancel" msgid "Cannot remove signer" msgstr "Cannot remove signer" -#: packages/ui/primitives/document-flow/add-signers.tsx:221 -#~ msgid "Cannot update signer because they have already signed a field" -#~ msgstr "Cannot update signer because they have already signed a field" - #: packages/lib/constants/recipient-roles.ts:17 msgid "Cc" msgstr "Cc" @@ -369,10 +365,6 @@ msgstr "I am an approver of this document" msgid "I am required to receive a copy of this document" msgstr "I am required to receive a copy of this document" -#: packages/lib/constants/recipient-roles.ts:74 -#~ msgid "I am required to recieve a copy of this document" -#~ msgstr "I am required to recieve a copy of this document" - #: packages/ui/components/recipient/recipient-action-auth-select.tsx:29 #: packages/ui/components/recipient/recipient-action-auth-select.tsx:87 msgid "Inherit authentication method" @@ -724,10 +716,6 @@ msgstr "This field cannot be modified or deleted. When you share this template's 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." -#: packages/ui/primitives/document-flow/add-signers.tsx:165 -#~ msgid "This signer has already received the document." -#~ msgstr "This signer has already received the document." - #: packages/ui/primitives/document-flow/add-signers.tsx:194 msgid "This signer has already signed the document." msgstr "This signer has already signed the document." @@ -792,10 +780,6 @@ msgstr "Viewer" msgid "Viewing" msgstr "Viewing" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:280 -#~ msgid "White" -#~ msgstr "White" - #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" msgstr "You are about to send this document to the recipients. Are you sure you want to continue?" diff --git a/packages/lib/translations/en/marketing.po b/packages/lib/translations/en/marketing.po index d5eafc50f..427ba58e5 100644 --- a/packages/lib/translations/en/marketing.po +++ b/packages/lib/translations/en/marketing.po @@ -155,10 +155,6 @@ msgstr "Documentation" msgid "Easily embed Documenso into your product. Simply copy and paste our react widget into your application." msgstr "Easily embed Documenso into your product. Simply copy and paste our react widget into your application." -#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:42 -#~ msgid "Easy Sharing (Soon)." -#~ msgstr "Easy Sharing (Soon)." - #: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:46 msgid "Easy Sharing." msgstr "Easy Sharing." @@ -372,18 +368,10 @@ msgstr "Our custom templates come with smart rules that can help you save time a 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 "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." -#: apps/marketing/src/components/(marketing)/enterprise.tsx:20 -#~ msgid "Our Enterprise License is great large organizations looking to switch to Documenso for all their signing needs. It's availible for our cloud offering as well as self-hosted setups and offer a wide range of compliance and Adminstration Features." -#~ msgstr "Our Enterprise License is great large organizations looking to switch to Documenso for all their signing needs. It's availible for our cloud offering as well as self-hosted setups and offer a wide range of compliance and Adminstration Features." - #: 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 "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." -#: apps/marketing/src/app/(marketing)/open/data.ts:25 -#~ msgid "Part-Time" -#~ msgstr "Part-Time" - #: apps/marketing/src/components/(marketing)/pricing-table.tsx:151 msgid "Premium Profile Name" msgstr "Premium Profile Name" @@ -425,10 +413,6 @@ msgstr "Salary" msgid "Save $60 or $120" msgstr "Save $60 or $120" -#: apps/marketing/src/components/(marketing)/i18n-switcher.tsx:47 -#~ msgid "Search languages..." -#~ msgstr "Search languages..." - #: 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 "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." diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index 58854ab50..557ffdb6b 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -132,7 +132,7 @@ msgstr "404 Template not found" msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." msgstr "A confirmation email has been sent, and it should arrive in your inbox shortly." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:193 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" msgstr "A draft document will be created" @@ -245,10 +245,6 @@ msgstr "Add Fields" msgid "Add more" msgstr "Add more" -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:270 -#~ msgid "Add number" -#~ msgstr "Add number" - #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:146 #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:154 msgid "Add passkey" @@ -270,19 +266,11 @@ msgstr "Add Subject" msgid "Add team email" msgstr "Add team email" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:256 -#~ msgid "Add text" -#~ msgstr "Add text" - -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:272 -#~ msgid "Add Text" -#~ msgstr "Add Text" - #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 msgid "Add the people who will sign the document." msgstr "Add the people who will sign the document." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:195 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 msgid "Add the recipients to create the document with" msgstr "Add the recipients to create the document with" @@ -375,7 +363,7 @@ 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/(dashboard)/templates/use-template-dialog.tsx:153 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:161 msgid "An error occurred while creating document from template." msgstr "An error occurred while creating document from template." @@ -556,7 +544,7 @@ msgstr "Are you sure you wish to delete this team?" #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:98 #: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:94 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:453 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:455 #: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:81 #: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:81 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:116 @@ -655,7 +643,7 @@ msgstr "By enabling 2FA, you will be required to enter a code from your authenti #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:81 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:119 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:470 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472 #: 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 @@ -754,7 +742,7 @@ msgid "Click to insert field" msgstr "Click to insert field" #: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:304 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 @@ -809,7 +797,7 @@ msgstr "Configure general settings for the template." msgid "Configure template" msgstr "Configure template" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:479 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:481 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:460 msgid "Confirm" msgstr "Confirm" @@ -895,11 +883,11 @@ msgstr "Create a team to collaborate with your team members." msgid "Create account" msgstr "Create account" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:310 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 msgid "Create and send" msgstr "Create and send" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:312 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347 msgid "Create as draft" msgstr "Create as draft" @@ -911,7 +899,7 @@ msgstr "Create Direct Link" msgid "Create Direct Signing Link" msgstr "Create Direct Signing Link" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:189 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197 msgid "Create document from template" msgstr "Create document from template" @@ -983,11 +971,6 @@ msgstr "Created on" msgid "Created on {0}" msgstr "Created on {0}" -#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:89 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:94 -#~ msgid "Created on <0/>" -#~ msgstr "Created on <0/>" - #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 msgid "Created on{0}" msgstr "Created on{0}" @@ -1102,10 +1085,6 @@ msgstr "Deleted" msgid "Deleting account..." msgstr "Deleting account..." -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:135 -#~ msgid "Deleting document" -#~ msgstr "Deleting document" - #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75 msgid "Device" msgstr "Device" @@ -1210,7 +1189,7 @@ msgstr "Document completed" msgid "Document Completed!" msgstr "Document Completed!" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:142 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150 msgid "Document created" msgstr "Document created" @@ -1241,7 +1220,7 @@ msgstr "Document ID" msgid "Document inbox" msgstr "Document inbox" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:178 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179 msgid "Document Limit Exceeded!" msgstr "Document Limit Exceeded!" @@ -1364,10 +1343,6 @@ msgstr "Draft documents" msgid "Drafted Documents" msgstr "Drafted Documents" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:245 -#~ msgid "Draw" -#~ msgstr "Draw" - #: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:121 msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." msgstr "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." @@ -1401,8 +1376,8 @@ msgstr "Edit webhook" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:213 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376 @@ -1502,7 +1477,7 @@ msgstr "Enter your text here" #: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230 #: 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:152 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 #: 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 @@ -1543,20 +1518,10 @@ msgstr "Exceeded timeout" msgid "Expired" msgstr "Expired" -#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:73 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:106 -#~ msgid "Expires on" -#~ msgstr "Expires on" - #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 msgid "Expires on {0}" msgstr "Expires on {0}" -#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108 -#~ msgid "Expires on <0/>" -#~ msgstr "Expires on <0/>" - #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107 msgid "Expires on{0}" msgstr "Expires on{0}" @@ -1658,10 +1623,6 @@ msgstr "Hide" msgid "Hide additional information" msgstr "Hide additional information" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:40 -#~ msgid "I am the owner of this document" -#~ msgstr "I am the owner of this document" - #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:186 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:173 msgid "I'm sure! Delete it" @@ -2005,8 +1966,8 @@ msgstr "My templates" #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:235 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:242 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 @@ -2157,7 +2118,7 @@ msgstr "Or" msgid "Or continue with" msgstr "Or continue with" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:289 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324 msgid "Otherwise, the document will be created as a draft." msgstr "Otherwise, the document will be created as a draft." @@ -2297,7 +2258,7 @@ msgstr "Please enter a meaningful name for your token. This will help you identi msgid "Please mark as viewed to complete" msgstr "Please mark as viewed to complete" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:457 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:459 msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." @@ -2588,7 +2549,7 @@ msgstr "Role" msgid "Roles" msgstr "Roles" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:444 +#: 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 msgid "Save" @@ -2657,7 +2618,7 @@ msgstr "Select passkey" msgid "Send confirmation email" msgstr "Send confirmation email" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:273 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308 msgid "Send document" msgstr "Send document" @@ -2739,10 +2700,6 @@ msgstr "Sign" msgid "Sign as {0} <0>({1})" msgstr "Sign as {0} <0>({1})" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:219 -#~ msgid "Sign as <0>{0} <1>({1})" -#~ msgstr "Sign as <0>{0} <1>({1})" - #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:183 msgid "Sign as<0>{0} <1>({1})" msgstr "Sign as<0>{0} <1>({1})" @@ -3175,7 +3132,7 @@ msgstr "The document has been successfully moved to the selected team." msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "The document is now completed, please follow any instructions provided within the parent application." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:159 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167 msgid "The document was created but could not be sent to recipients." msgstr "The document was created but could not be sent to recipients." @@ -3183,7 +3140,7 @@ msgstr "The document was created but could not be sent to recipients." msgid "The document will be hidden from your account" msgstr "The document will be hidden from your account" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:281 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316 msgid "The document will be immediately sent to recipients if this is checked." msgstr "The document will be immediately sent to recipients if this is checked." @@ -3551,10 +3508,6 @@ msgstr "Type 'delete' to confirm" msgid "Type a command or search..." msgstr "Type a command or search..." -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:275 -#~ msgid "Typed Signature" -#~ msgstr "Typed Signature" - #: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 msgid "Uh oh! Looks like you're missing a token" msgstr "Uh oh! Looks like you're missing a token" @@ -3745,7 +3698,7 @@ msgstr "Use Authenticator" msgid "Use Backup Code" msgstr "Use Backup Code" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:183 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191 msgid "Use Template" msgstr "Use Template" @@ -4179,10 +4132,6 @@ msgstr "You are about to revoke access for team <0>{0} ({1}) to use your ema msgid "You are currently on the <0>Free Plan." msgstr "You are currently on the <0>Free Plan." -#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:92 -#~ msgid "You are currently subscribed to <0>{0}" -#~ msgstr "You are currently subscribed to <0>{0}" - #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:148 msgid "You are currently updating <0>{teamMemberName}." msgstr "You are currently updating <0>{teamMemberName}." @@ -4227,10 +4176,6 @@ 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/page.tsx:97 -#~ msgid "You currently have an active plan" -#~ msgstr "You currently have an active plan" - #: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:45 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." @@ -4277,7 +4222,7 @@ msgstr "You have reached the maximum limit of {0} direct templates. <0>Upgrade y msgid "You have reached your document limit." msgstr "You have reached your document limit." -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:181 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182 msgid "You have reached your document limit. <0>Upgrade your account to continue!" msgstr "You have reached your document limit. <0>Upgrade your account to continue!" @@ -4311,10 +4256,6 @@ msgstr "You have verified your email address for <0>{0}." msgid "You must be an admin of this team to manage billing." msgstr "You must be an admin of this team to manage billing." -#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:80 -#~ msgid "You must enter '{confirmTransferMessage}' to proceed" -#~ msgstr "You must enter '{confirmTransferMessage}' to proceed" - #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:60 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:58 #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:54 @@ -4377,7 +4318,7 @@ msgstr "Your direct signing templates" msgid "Your document failed to upload." msgstr "Your document failed to upload." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:143 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151 msgid "Your document has been created from the template successfully." msgstr "Your document has been created from the template successfully." diff --git a/packages/lib/translations/es/common.po b/packages/lib/translations/es/common.po index b78eecbd5..ec1f27b97 100644 --- a/packages/lib/translations/es/common.po +++ b/packages/lib/translations/es/common.po @@ -157,10 +157,6 @@ msgstr "Cancelar" msgid "Cannot remove signer" msgstr "No se puede eliminar el firmante" -#: packages/ui/primitives/document-flow/add-signers.tsx:221 -#~ msgid "Cannot update signer because they have already signed a field" -#~ msgstr "Cannot update signer because they have already signed a field" - #: packages/lib/constants/recipient-roles.ts:17 msgid "Cc" msgstr "Cc" @@ -374,10 +370,6 @@ msgstr "Soy un aprobador de este documento" msgid "I am required to receive a copy of this document" msgstr "Se me requiere recibir una copia de este documento" -#: packages/lib/constants/recipient-roles.ts:74 -#~ msgid "I am required to recieve a copy of this document" -#~ msgstr "I am required to recieve a copy of this document" - #: packages/ui/components/recipient/recipient-action-auth-select.tsx:29 #: packages/ui/components/recipient/recipient-action-auth-select.tsx:87 msgid "Inherit authentication method" @@ -729,10 +721,6 @@ msgstr "Este campo no se puede modificar ni eliminar. Cuando comparta el enlace 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." -#: packages/ui/primitives/document-flow/add-signers.tsx:165 -#~ msgid "This signer has already received the document." -#~ msgstr "This signer has already received the document." - #: packages/ui/primitives/document-flow/add-signers.tsx:194 msgid "This signer has already signed the document." msgstr "Este firmante ya ha firmado el documento." @@ -797,10 +785,6 @@ msgstr "Visor" msgid "Viewing" msgstr "Viendo" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:280 -#~ msgid "White" -#~ msgstr "White" - #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" msgstr "Está a punto de enviar este documento a los destinatarios. ¿Está seguro de que desea continuar?" @@ -816,4 +800,3 @@ msgstr "No puede cargar documentos en este momento." #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "Ha alcanzado su límite de documentos." - diff --git a/packages/lib/translations/es/marketing.po b/packages/lib/translations/es/marketing.po index ee41b740a..eb837380f 100644 --- a/packages/lib/translations/es/marketing.po +++ b/packages/lib/translations/es/marketing.po @@ -160,10 +160,6 @@ msgstr "Documentación" msgid "Easily embed Documenso into your product. Simply copy and paste our react widget into your application." msgstr "Incrusta fácilmente Documenso en tu producto. Simplemente copia y pega nuestro widget de react en tu aplicación." -#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:42 -#~ msgid "Easy Sharing (Soon)." -#~ msgstr "Easy Sharing (Soon)." - #: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:46 msgid "Easy Sharing." msgstr "Compartición fácil." @@ -377,18 +373,10 @@ msgstr "Nuestras plantillas personalizadas vienen con reglas inteligentes que pu 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 "Nuestra Licencia Empresarial es excelente para grandes organizaciones que buscan cambiar a Documenso para todas sus necesidades de firma. Está disponible para nuestra oferta en la nube, así como para configuraciones autoalojadas y ofrece una amplia gama de funciones de cumplimiento y administración." -#: apps/marketing/src/components/(marketing)/enterprise.tsx:20 -#~ msgid "Our Enterprise License is great large organizations looking to switch to Documenso for all their signing needs. It's availible for our cloud offering as well as self-hosted setups and offer a wide range of compliance and Adminstration Features." -#~ msgstr "Our Enterprise License is great large organizations looking to switch to Documenso for all their signing needs. It's availible for our cloud offering as well as self-hosted setups and offer a wide range of compliance and Adminstration Features." - #: 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 "Nuestra opción de autoalojamiento es excelente para pequeños equipos e individuos que necesitan una solución simple. Puedes usar nuestra configuración basada en docker para empezar en minutos. Toma el control con total personalización y propiedad de los datos." -#: apps/marketing/src/app/(marketing)/open/data.ts:25 -#~ msgid "Part-Time" -#~ msgstr "Part-Time" - #: apps/marketing/src/components/(marketing)/pricing-table.tsx:151 msgid "Premium Profile Name" msgstr "Nombre de Perfil Premium" @@ -430,10 +418,6 @@ msgstr "Salario" msgid "Save $60 or $120" msgstr "Ahorra $60 o $120" -#: apps/marketing/src/components/(marketing)/i18n-switcher.tsx:47 -#~ msgid "Search languages..." -#~ msgstr "Search languages..." - #: 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 "De manera segura. Nuestros centros de datos están ubicados en Frankfurt (Alemania), dándonos las mejores leyes de privacidad locales. Somos muy conscientes de la naturaleza sensible de nuestros datos y seguimos las mejores prácticas para garantizar la seguridad y la integridad de los datos que se nos confían." @@ -618,4 +602,3 @@ 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." - diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 71b17a696..0bb509a84 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -137,7 +137,7 @@ msgstr "404 Plantilla no encontrada" msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." msgstr "Se ha enviado un correo electrónico de confirmación y debería llegar a tu bandeja de entrada en breve." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:193 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" msgstr "Se creará un documento borrador" @@ -250,10 +250,6 @@ msgstr "Agregar Campos" msgid "Add more" msgstr "Agregar más" -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:270 -#~ msgid "Add number" -#~ msgstr "Add number" - #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:146 #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:154 msgid "Add passkey" @@ -275,19 +271,11 @@ msgstr "Agregar Asunto" msgid "Add team email" msgstr "Agregar correo electrónico del equipo" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:256 -#~ msgid "Add text" -#~ msgstr "Add text" - -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:272 -#~ msgid "Add Text" -#~ msgstr "Add Text" - #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 msgid "Add the people who will sign the document." msgstr "Agrega a las personas que firmarán el documento." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:195 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 msgid "Add the recipients to create the document with" msgstr "Agrega los destinatarios con los que crear el documento" @@ -380,7 +368,7 @@ 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/(dashboard)/templates/use-template-dialog.tsx:153 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:161 msgid "An error occurred while creating document from template." msgstr "Ocurrió un error al crear el documento a partir de la plantilla." @@ -561,7 +549,7 @@ msgstr "¿Estás seguro de que deseas eliminar este equipo?" #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:98 #: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:94 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:453 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:455 #: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:81 #: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:81 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:116 @@ -660,7 +648,7 @@ msgstr "Al habilitar la 2FA, se requerirá ingresar un código de su aplicación #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:81 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:119 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:470 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472 #: 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 @@ -759,7 +747,7 @@ msgid "Click to insert field" msgstr "Haga clic para insertar campo" #: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:304 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 @@ -814,7 +802,7 @@ msgstr "Configurar ajustes generales para la plantilla." msgid "Configure template" msgstr "Configurar plantilla" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:479 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:481 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:460 msgid "Confirm" msgstr "Confirmar" @@ -900,11 +888,11 @@ msgstr "Crea un equipo para colaborar con los miembros de tu equipo." msgid "Create account" msgstr "Crear cuenta" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:310 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 msgid "Create and send" msgstr "Crear y enviar" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:312 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347 msgid "Create as draft" msgstr "Crear como borrador" @@ -916,7 +904,7 @@ msgstr "Crear enlace directo" msgid "Create Direct Signing Link" msgstr "Crear enlace de firma directo" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:189 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197 msgid "Create document from template" msgstr "Crear documento a partir de la plantilla" @@ -988,11 +976,6 @@ msgstr "Creado el" msgid "Created on {0}" msgstr "Creado el {0}" -#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:89 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:94 -#~ msgid "Created on <0/>" -#~ msgstr "Created on <0/>" - #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 msgid "Created on{0}" msgstr "Creado el{0}" @@ -1107,10 +1090,6 @@ msgstr "Eliminado" msgid "Deleting account..." msgstr "Eliminando cuenta..." -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:135 -#~ msgid "Deleting document" -#~ msgstr "Deleting document" - #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75 msgid "Device" msgstr "Dispositivo" @@ -1215,7 +1194,7 @@ msgstr "Documento completado" msgid "Document Completed!" msgstr "¡Documento completado!" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:142 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150 msgid "Document created" msgstr "Documento creado" @@ -1246,7 +1225,7 @@ msgstr "ID del documento" msgid "Document inbox" msgstr "Bandeja de documentos" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:178 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179 msgid "Document Limit Exceeded!" msgstr "¡Límite de documentos excedido!" @@ -1369,10 +1348,6 @@ msgstr "Documentos en borrador" msgid "Drafted Documents" msgstr "Documentos redactados" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:245 -#~ msgid "Draw" -#~ msgstr "Draw" - #: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:121 msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." msgstr "Debido a una factura impaga, tu equipo ha sido restringido. Realiza el pago para restaurar el acceso completo a tu equipo." @@ -1406,8 +1381,8 @@ msgstr "Editar webhook" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:213 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376 @@ -1507,7 +1482,7 @@ msgstr "Ingresa tu texto aquí" #: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230 #: 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:152 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 #: 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 @@ -1548,20 +1523,10 @@ msgstr "Tiempo de espera excedido" msgid "Expired" msgstr "Expirado" -#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:73 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:106 -#~ msgid "Expires on" -#~ msgstr "Expires on" - #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 msgid "Expires on {0}" msgstr "Expira el {0}" -#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108 -#~ msgid "Expires on <0/>" -#~ msgstr "Expires on <0/>" - #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107 msgid "Expires on{0}" msgstr "Expira el{0}" @@ -1663,10 +1628,6 @@ msgstr "Ocultar" msgid "Hide additional information" msgstr "Ocultar información adicional" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:40 -#~ msgid "I am the owner of this document" -#~ msgstr "I am the owner of this document" - #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:186 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:173 msgid "I'm sure! Delete it" @@ -2010,8 +1971,8 @@ msgstr "Mis plantillas" #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:235 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:242 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 @@ -2162,7 +2123,7 @@ msgstr "O" msgid "Or continue with" msgstr "O continúa con" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:289 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324 msgid "Otherwise, the document will be created as a draft." msgstr "De lo contrario, el documento se creará como un borrador." @@ -2302,7 +2263,7 @@ msgstr "Por favor, ingresa un nombre significativo para tu token. Esto te ayudar msgid "Please mark as viewed to complete" msgstr "Por favor, marca como visto para completar" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:457 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:459 msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Por favor, ten en cuenta que proceder eliminará el destinatario de enlace directo y lo convertirá en un marcador de posición." @@ -2593,7 +2554,7 @@ msgstr "Rol" msgid "Roles" msgstr "Roles" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:444 +#: 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 msgid "Save" @@ -2662,7 +2623,7 @@ msgstr "Seleccionar clave de acceso" msgid "Send confirmation email" msgstr "Enviar correo de confirmación" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:273 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308 msgid "Send document" msgstr "Enviar documento" @@ -2744,10 +2705,6 @@ msgstr "Firmar" msgid "Sign as {0} <0>({1})" msgstr "Firmar como {0} <0>({1})" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:219 -#~ msgid "Sign as <0>{0} <1>({1})" -#~ msgstr "Sign as <0>{0} <1>({1})" - #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:183 msgid "Sign as<0>{0} <1>({1})" msgstr "Firmar como<0>{0} <1>({1})" @@ -3180,7 +3137,7 @@ msgstr "El documento ha sido movido con éxito al equipo seleccionado." msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "El documento ahora está completado, por favor sigue cualquier instrucción proporcionada dentro de la aplicación principal." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:159 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167 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." @@ -3188,7 +3145,7 @@ msgstr "El documento fue creado pero no se pudo enviar a los destinatarios." msgid "The document will be hidden from your account" msgstr "El documento será ocultado de tu cuenta" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:281 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316 msgid "The document will be immediately sent to recipients if this is checked." msgstr "El documento se enviará inmediatamente a los destinatarios si esto está marcado." @@ -3556,10 +3513,6 @@ msgstr "Escribe 'eliminar' para confirmar" msgid "Type a command or search..." msgstr "Escribe un comando o busca..." -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:275 -#~ msgid "Typed Signature" -#~ msgstr "Typed Signature" - #: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 msgid "Uh oh! Looks like you're missing a token" msgstr "¡Oh no! Parece que te falta un token" @@ -3750,7 +3703,7 @@ msgstr "Usar Autenticador" msgid "Use Backup Code" msgstr "Usar Código de Respaldo" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:183 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191 msgid "Use Template" msgstr "Usar Plantilla" @@ -4184,10 +4137,6 @@ msgstr "Estás a punto de revocar el acceso para el equipo <0>{0} ({1}) para msgid "You are currently on the <0>Free Plan." msgstr "Actualmente estás en el <0>Plan Gratuito." -#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:92 -#~ msgid "You are currently subscribed to <0>{0}" -#~ msgstr "You are currently subscribed to <0>{0}" - #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:148 msgid "You are currently updating <0>{teamMemberName}." msgstr "Actualmente estás actualizando <0>{teamMemberName}." @@ -4232,10 +4181,6 @@ 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/page.tsx:97 -#~ msgid "You currently have an active plan" -#~ msgstr "You currently have an active plan" - #: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:45 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." @@ -4282,7 +4227,7 @@ msgstr "Has alcanzado el límite máximo de {0} plantillas directas. <0>¡Actual msgid "You have reached your document limit." msgstr "Has alcanzado tu límite de documentos." -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:181 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182 msgid "You have reached your document limit. <0>Upgrade your account to continue!" msgstr "Has alcanzado tu límite de documentos. <0>¡Actualiza tu cuenta para continuar!" @@ -4316,10 +4261,6 @@ msgstr "Has verificado tu dirección de correo electrónico para <0>{0}." msgid "You must be an admin of this team to manage billing." msgstr "Debes ser un administrador de este equipo para gestionar la facturación." -#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:80 -#~ msgid "You must enter '{confirmTransferMessage}' to proceed" -#~ msgstr "You must enter '{confirmTransferMessage}' to proceed" - #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:60 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:58 #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:54 @@ -4382,7 +4323,7 @@ msgstr "Tus {0} plantillas de firma directa" msgid "Your document failed to upload." msgstr "Tu documento no se pudo cargar." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:143 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151 msgid "Your document has been created from the template successfully." msgstr "Tu documento se ha creado exitosamente a partir de la plantilla." @@ -4497,4 +4438,3 @@ msgstr "¡Tu token se creó con éxito! ¡Asegúrate de copiarlo porque no podr #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Tus tokens se mostrarán aquí una vez que los crees." - diff --git a/packages/lib/translations/fr/common.po b/packages/lib/translations/fr/common.po index 97de3075d..f01cbd54d 100644 --- a/packages/lib/translations/fr/common.po +++ b/packages/lib/translations/fr/common.po @@ -157,10 +157,6 @@ msgstr "Annuler" msgid "Cannot remove signer" msgstr "Impossible de retirer le signataire" -#: packages/ui/primitives/document-flow/add-signers.tsx:221 -#~ msgid "Cannot update signer because they have already signed a field" -#~ msgstr "Cannot update signer because they have already signed a field" - #: packages/lib/constants/recipient-roles.ts:17 msgid "Cc" msgstr "Cc" @@ -374,10 +370,6 @@ msgstr "Je suis un approuveur de ce document" msgid "I am required to receive a copy of this document" msgstr "Je dois recevoir une copie de ce document" -#: packages/lib/constants/recipient-roles.ts:74 -#~ msgid "I am required to recieve a copy of this document" -#~ msgstr "I am required to recieve a copy of this document" - #: packages/ui/components/recipient/recipient-action-auth-select.tsx:29 #: packages/ui/components/recipient/recipient-action-auth-select.tsx:87 msgid "Inherit authentication method" @@ -729,10 +721,6 @@ msgstr "Ce champ ne peut pas être modifié ou supprimé. Lorsque vous partagez 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." -#: packages/ui/primitives/document-flow/add-signers.tsx:165 -#~ msgid "This signer has already received the document." -#~ msgstr "This signer has already received the document." - #: packages/ui/primitives/document-flow/add-signers.tsx:194 msgid "This signer has already signed the document." msgstr "Ce signataire a déjà signé le document." @@ -797,10 +785,6 @@ msgstr "Visiteur" msgid "Viewing" msgstr "Visionnage" -#: packages/ui/primitives/signature-pad/signature-pad.tsx:280 -#~ msgid "White" -#~ msgstr "White" - #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" msgstr "Vous êtes sur le point d'envoyer ce document aux destinataires. Êtes-vous sûr de vouloir continuer ?" @@ -816,4 +800,3 @@ msgstr "Vous ne pouvez pas télécharger de documents pour le moment." #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "Vous avez atteint votre limite de documents." - diff --git a/packages/lib/translations/fr/marketing.po b/packages/lib/translations/fr/marketing.po index 80e21c206..315d5f73f 100644 --- a/packages/lib/translations/fr/marketing.po +++ b/packages/lib/translations/fr/marketing.po @@ -160,10 +160,6 @@ msgstr "Documentation" msgid "Easily embed Documenso into your product. Simply copy and paste our react widget into your application." msgstr "Intégrez facilement Documenso dans votre produit. Il vous suffit de copier et coller notre widget React dans votre application." -#: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:42 -#~ msgid "Easy Sharing (Soon)." -#~ msgstr "Easy Sharing (Soon)." - #: apps/marketing/src/components/(marketing)/share-connect-paid-widget-bento.tsx:46 msgid "Easy Sharing." msgstr "Partage facile." @@ -377,18 +373,10 @@ msgstr "Nos modèles personnalisés sont dotés de règles intelligentes qui peu 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 "Notre licence entreprise est idéale pour les grandes organisations cherchant à passer à Documenso pour tous leurs besoins de signature. Elle est disponible pour notre offre cloud ainsi que pour des configurations auto-hébergées et propose un large éventail de fonctionnalités de conformité et d'administration." -#: apps/marketing/src/components/(marketing)/enterprise.tsx:20 -#~ msgid "Our Enterprise License is great large organizations looking to switch to Documenso for all their signing needs. It's availible for our cloud offering as well as self-hosted setups and offer a wide range of compliance and Adminstration Features." -#~ msgstr "Our Enterprise License is great large organizations looking to switch to Documenso for all their signing needs. It's availible for our cloud offering as well as self-hosted setups and offer a wide range of compliance and Adminstration Features." - #: 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 "Notre option auto-hébergée est idéale pour les petites équipes et les individus qui ont besoin d'une solution simple. Vous pouvez utiliser notre configuration basée sur Docker pour commencer en quelques minutes. Prenez le contrôle avec une personnalisation complète et une propriété des données." -#: apps/marketing/src/app/(marketing)/open/data.ts:25 -#~ msgid "Part-Time" -#~ msgstr "Part-Time" - #: apps/marketing/src/components/(marketing)/pricing-table.tsx:151 msgid "Premium Profile Name" msgstr "Nom de profil premium" @@ -430,10 +418,6 @@ msgstr "Salaire" msgid "Save $60 or $120" msgstr "Économisez 60 $ ou 120 $" -#: apps/marketing/src/components/(marketing)/i18n-switcher.tsx:47 -#~ msgid "Search languages..." -#~ msgstr "Search languages..." - #: 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 "De manière sécurisée. Nos centres de données sont situés à Francfort (Allemagne), ce qui nous permet de bénéficier des meilleures lois locales sur la confidentialité. Nous sommes très conscients de la nature sensible de nos données et suivons les meilleures pratiques pour garantir la sécurité et l'intégrité des données qui nous sont confiées." @@ -618,4 +602,3 @@ 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." - diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index 59780dd28..8ba329c44 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -137,7 +137,7 @@ msgstr "404 Modèle non trouvé" msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." msgstr "Un e-mail de confirmation a été envoyé et devrait arriver dans votre boîte de réception sous peu." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:193 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" msgstr "Un document brouillon sera créé" @@ -250,10 +250,6 @@ msgstr "Ajouter des champs" msgid "Add more" msgstr "Ajouter davantage" -#: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:270 -#~ msgid "Add number" -#~ msgstr "Add number" - #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:146 #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:154 msgid "Add passkey" @@ -275,19 +271,11 @@ msgstr "Ajouter un sujet" msgid "Add team email" msgstr "Ajouter un e-mail d'équipe" -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:256 -#~ msgid "Add text" -#~ msgstr "Add text" - -#: apps/web/src/app/(signing)/sign/[token]/text-field.tsx:272 -#~ msgid "Add Text" -#~ msgstr "Add Text" - #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 msgid "Add the people who will sign the document." msgstr "Ajouter les personnes qui signeront le document." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:195 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 msgid "Add the recipients to create the document with" msgstr "Ajouter les destinataires pour créer le document avec" @@ -380,7 +368,7 @@ 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/(dashboard)/templates/use-template-dialog.tsx:153 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:161 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." @@ -561,7 +549,7 @@ msgstr "Êtes-vous sûr de vouloir supprimer cette équipe ?" #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:98 #: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:94 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:453 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:455 #: apps/web/src/components/(teams)/dialogs/delete-team-member-dialog.tsx:81 #: apps/web/src/components/(teams)/dialogs/leave-team-dialog.tsx:81 #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:116 @@ -660,7 +648,7 @@ msgstr "En activant l'authentification à deux facteurs (2FA), vous devrez entre #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:81 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:78 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:119 -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:470 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:472 #: 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 @@ -759,7 +747,7 @@ msgid "Click to insert field" msgstr "Cliquez pour insérer le champ" #: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:304 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 @@ -814,7 +802,7 @@ msgstr "Configurer les paramètres généraux pour le modèle." msgid "Configure template" msgstr "Configurer le modèle" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:479 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:481 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:460 msgid "Confirm" msgstr "Confirmer" @@ -900,11 +888,11 @@ msgstr "Créer une équipe pour collaborer avec vos membres." msgid "Create account" msgstr "Créer un compte" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:310 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 msgid "Create and send" msgstr "Créer et envoyer" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:312 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347 msgid "Create as draft" msgstr "Créer en tant que brouillon" @@ -916,7 +904,7 @@ msgstr "Créer un lien direct" msgid "Create Direct Signing Link" msgstr "Créer un lien de signature directe" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:189 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197 msgid "Create document from template" msgstr "Créer un document à partir du modèle" @@ -988,11 +976,6 @@ msgstr "Créé le" msgid "Created on {0}" msgstr "Créé le {0}" -#: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:89 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:94 -#~ msgid "Created on <0/>" -#~ msgstr "Created on <0/>" - #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 msgid "Created on{0}" msgstr "Créé le{0}" @@ -1107,10 +1090,6 @@ msgstr "Supprimé" msgid "Deleting account..." msgstr "Suppression du compte..." -#: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:135 -#~ msgid "Deleting document" -#~ msgstr "Deleting document" - #: apps/web/src/app/(dashboard)/settings/security/activity/user-security-activity-data-table.tsx:75 msgid "Device" msgstr "Appareil" @@ -1215,7 +1194,7 @@ msgstr "Document complété" msgid "Document Completed!" msgstr "Document Complété !" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:142 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150 msgid "Document created" msgstr "Document créé" @@ -1246,7 +1225,7 @@ msgstr "ID du document" msgid "Document inbox" msgstr "Boîte de réception des documents" -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:178 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:179 msgid "Document Limit Exceeded!" msgstr "Limite de documents dépassée !" @@ -1369,10 +1348,6 @@ msgstr "Documents en brouillon" msgid "Drafted Documents" msgstr "Documents brouillon" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:245 -#~ msgid "Draw" -#~ msgstr "Draw" - #: apps/web/src/app/(teams)/t/[teamUrl]/layout-billing-banner.tsx:121 msgid "Due to an unpaid invoice, your team has been restricted. Please settle the payment to restore full access to your team." msgstr "En raison d'une facture impayée, votre équipe a été restreinte. Veuillez régler le paiement pour rétablir l'accès complet à votre équipe." @@ -1406,8 +1381,8 @@ msgstr "Modifier le webhook" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:213 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:220 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376 @@ -1507,7 +1482,7 @@ msgstr "Entrez votre texte ici" #: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230 #: 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:152 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 #: 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 @@ -1548,20 +1523,10 @@ msgstr "Délai dépassé" msgid "Expired" msgstr "Expiré" -#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:73 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:106 -#~ msgid "Expires on" -#~ msgstr "Expires on" - #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 msgid "Expires on {0}" msgstr "Expire le {0}" -#: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108 -#~ msgid "Expires on <0/>" -#~ msgstr "Expires on <0/>" - #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107 msgid "Expires on{0}" msgstr "Expire le{0}" @@ -1663,10 +1628,6 @@ msgstr "Cacher" msgid "Hide additional information" msgstr "Cacher des informations supplémentaires" -#: apps/web/src/app/(internal)/%5F%5Fhtmltopdf/certificate/page.tsx:40 -#~ msgid "I am the owner of this document" -#~ msgstr "I am the owner of this document" - #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:186 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:173 msgid "I'm sure! Delete it" @@ -2010,8 +1971,8 @@ msgstr "Mes modèles" #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:235 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:242 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 @@ -2162,7 +2123,7 @@ msgstr "Ou" msgid "Or continue with" msgstr "Ou continuez avec" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:289 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324 msgid "Otherwise, the document will be created as a draft." msgstr "Sinon, le document sera créé sous forme de brouillon." @@ -2302,7 +2263,7 @@ msgstr "Veuillez entrer un nom significatif pour votre jeton. Cela vous aidera msgid "Please mark as viewed to complete" msgstr "Veuillez marquer comme vu pour terminer" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:457 +#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:459 msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." msgstr "Veuillez noter que la poursuite supprimera le destinataire de lien direct et le transformera en espace réservé." @@ -2593,7 +2554,7 @@ msgstr "Rôle" msgid "Roles" msgstr "Rôles" -#: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:444 +#: 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 msgid "Save" @@ -2662,7 +2623,7 @@ msgstr "Sélectionner la clé d'authentification" msgid "Send confirmation email" msgstr "Envoyer l'e-mail de confirmation" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:273 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308 msgid "Send document" msgstr "Envoyer le document" @@ -2744,10 +2705,6 @@ msgstr "Signer" msgid "Sign as {0} <0>({1})" msgstr "Signer comme {0} <0>({1})" -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:219 -#~ msgid "Sign as <0>{0} <1>({1})" -#~ msgstr "Sign as <0>{0} <1>({1})" - #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:183 msgid "Sign as<0>{0} <1>({1})" msgstr "Signer comme<0>{0} <1>({1})" @@ -3180,7 +3137,7 @@ msgstr "Le document a été déplacé avec succès vers l'équipe sélectionnée msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "Le document est maintenant complet, veuillez suivre toutes les instructions fournies dans l'application parente." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:159 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167 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." @@ -3188,7 +3145,7 @@ msgstr "Le document a été créé mais n'a pas pu être envoyé aux destinatair msgid "The document will be hidden from your account" msgstr "Le document sera caché de votre compte" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:281 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316 msgid "The document will be immediately sent to recipients if this is checked." msgstr "Le document sera immédiatement envoyé aux destinataires si cela est coché." @@ -3556,10 +3513,6 @@ msgstr "Tapez 'supprimer' pour confirmer" msgid "Type a command or search..." msgstr "Tapez une commande ou recherchez..." -#: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:275 -#~ msgid "Typed Signature" -#~ msgstr "Typed Signature" - #: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 msgid "Uh oh! Looks like you're missing a token" msgstr "Oh oh ! On dirait que vous manquez un jeton" @@ -3750,7 +3703,7 @@ msgstr "Utiliser l'authentificateur" msgid "Use Backup Code" msgstr "Utiliser le code de secours" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:183 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191 msgid "Use Template" msgstr "Utiliser le modèle" @@ -4184,10 +4137,6 @@ msgstr "Vous êtes sur le point de révoquer l'accès de l'équipe <0>{0} ({ msgid "You are currently on the <0>Free Plan." msgstr "Vous êtes actuellement sur le <0>Plan Gratuit." -#: apps/web/src/app/(dashboard)/settings/billing/page.tsx:92 -#~ msgid "You are currently subscribed to <0>{0}" -#~ msgstr "You are currently subscribed to <0>{0}" - #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:148 msgid "You are currently updating <0>{teamMemberName}." msgstr "Vous mettez à jour actuellement <0>{teamMemberName}." @@ -4232,10 +4181,6 @@ 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/page.tsx:97 -#~ msgid "You currently have an active plan" -#~ msgstr "You currently have an active plan" - #: apps/web/src/app/(dashboard)/settings/billing/billing-portal-button.tsx:45 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." @@ -4282,7 +4227,7 @@ msgstr "Vous avez atteint la limite maximale de {0} modèles directs. <0>Mettez msgid "You have reached your document limit." msgstr "Vous avez atteint votre limite de documents." -#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:181 +#: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:182 msgid "You have reached your document limit. <0>Upgrade your account to continue!" msgstr "Vous avez atteint votre limite de documents. <0>Mettez à niveau votre compte pour continuer !" @@ -4316,10 +4261,6 @@ msgstr "Vous avez vérifié votre adresse e-mail pour <0>{0}." msgid "You must be an admin of this team to manage billing." msgstr "Vous devez être un administrateur de cette équipe pour gérer la facturation." -#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:80 -#~ msgid "You must enter '{confirmTransferMessage}' to proceed" -#~ msgstr "You must enter '{confirmTransferMessage}' to proceed" - #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:60 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:58 #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:54 @@ -4382,7 +4323,7 @@ msgstr "Vos modèles de signature directe" msgid "Your document failed to upload." msgstr "Votre document a échoué à se télécharger." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:143 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151 msgid "Your document has been created from the template successfully." msgstr "Votre document a été créé à partir du modèle avec succès." @@ -4497,4 +4438,3 @@ 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." - From 7fc497a642416980b28b7ef832f78cee283a9b73 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Tue, 29 Oct 2024 19:55:49 +0900 Subject: [PATCH 04/52] fix: translation upload token (#1423) --- .github/workflows/translations-upload.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/translations-upload.yml b/.github/workflows/translations-upload.yml index 65fd276f6..8a8564c29 100644 --- a/.github/workflows/translations-upload.yml +++ b/.github/workflows/translations-upload.yml @@ -22,6 +22,7 @@ jobs: uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.ref }} + token: ${{ secrets.GH_PAT }} - uses: ./.github/actions/node-install From 634b30aa54572710179ac636565e0706446d8d0f Mon Sep 17 00:00:00 2001 From: Mythie Date: Wed, 30 Oct 2024 14:30:28 +1100 Subject: [PATCH 05/52] fix: signature flickering during embed --- apps/web/src/app/embed/direct/[[...url]]/client.tsx | 8 ++++++-- apps/web/src/app/embed/sign/[[...url]]/client.tsx | 8 ++++++-- packages/lib/translations/de/web.po | 12 ++++++------ packages/lib/translations/en/web.po | 12 ++++++------ packages/lib/translations/es/web.po | 12 ++++++------ packages/lib/translations/fr/web.po | 12 ++++++------ 6 files changed, 36 insertions(+), 28 deletions(-) diff --git a/apps/web/src/app/embed/direct/[[...url]]/client.tsx b/apps/web/src/app/embed/direct/[[...url]]/client.tsx index 189e9f1ca..1bec0ac6b 100644 --- a/apps/web/src/app/embed/direct/[[...url]]/client.tsx +++ b/apps/web/src/app/embed/direct/[[...url]]/client.tsx @@ -367,7 +367,7 @@ export const EmbedDirectTemplateClientPage = ({ className="bg-background mt-2" disabled={isNameLocked} value={fullName} - onChange={(e) => !isNameLocked && setFullName(e.target.value.trim())} + onChange={(e) => !isNameLocked && setFullName(e.target.value)} /> @@ -394,13 +394,17 @@ export const EmbedDirectTemplateClientPage = ({ { setSignature(value); }} + allowTypedSignature={Boolean( + metadata && + 'typedSignatureEnabled' in metadata && + metadata.typedSignatureEnabled, + )} /> diff --git a/apps/web/src/app/embed/sign/[[...url]]/client.tsx b/apps/web/src/app/embed/sign/[[...url]]/client.tsx index 08f479004..8682b3c19 100644 --- a/apps/web/src/app/embed/sign/[[...url]]/client.tsx +++ b/apps/web/src/app/embed/sign/[[...url]]/client.tsx @@ -247,7 +247,7 @@ export const EmbedSignDocumentClientPage = ({ className="bg-background mt-2" disabled={isNameLocked} value={fullName} - onChange={(e) => !isNameLocked && setFullName(e.target.value.trim())} + onChange={(e) => !isNameLocked && setFullName(e.target.value)} /> @@ -273,13 +273,17 @@ export const EmbedSignDocumentClientPage = ({ { setSignature(value); }} + allowTypedSignature={Boolean( + metadata && + 'typedSignatureEnabled' in metadata && + metadata.typedSignatureEnabled, + )} /> diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index 4c8bb1161..e5135d844 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -741,8 +741,8 @@ msgstr "Klicken Sie, um den Signatur-Link zu kopieren, um ihn an den Empfänger #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:435 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:314 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:439 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:318 msgid "Click to insert field" msgstr "Klicken Sie, um das Feld einzufügen" @@ -759,8 +759,8 @@ msgid "Close" msgstr "Schließen" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:425 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:304 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:429 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:308 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Vollständig" @@ -2002,8 +2002,8 @@ msgstr "Neuer Teamowner" msgid "New Template" msgstr "Neue Vorlage" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:416 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:295 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:420 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:299 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Nächster" diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index 557ffdb6b..265235238 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -736,8 +736,8 @@ msgstr "Click to copy signing link for sending to recipient" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:435 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:314 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:439 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:318 msgid "Click to insert field" msgstr "Click to insert field" @@ -754,8 +754,8 @@ msgid "Close" msgstr "Close" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:425 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:304 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:429 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:308 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Complete" @@ -1997,8 +1997,8 @@ msgstr "New team owner" msgid "New Template" msgstr "New Template" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:416 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:295 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:420 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:299 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Next" diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 0bb509a84..865ce1490 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -741,8 +741,8 @@ msgstr "Haga clic para copiar el enlace de firma para enviar al destinatario" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:435 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:314 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:439 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:318 msgid "Click to insert field" msgstr "Haga clic para insertar campo" @@ -759,8 +759,8 @@ msgid "Close" msgstr "Cerrar" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:425 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:304 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:429 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:308 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Completo" @@ -2002,8 +2002,8 @@ msgstr "Nuevo propietario del equipo" msgid "New Template" msgstr "Nueva plantilla" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:416 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:295 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:420 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:299 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Siguiente" diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index 8ba329c44..d247d0b8f 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -741,8 +741,8 @@ msgstr "Cliquez pour copier le lien de signature à envoyer au destinataire" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:435 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:314 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:439 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:318 msgid "Click to insert field" msgstr "Cliquez pour insérer le champ" @@ -759,8 +759,8 @@ msgid "Close" msgstr "Fermer" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:425 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:304 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:429 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:308 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Compléter" @@ -2002,8 +2002,8 @@ msgstr "Nouveau propriétaire d'équipe" msgid "New Template" msgstr "Nouveau modèle" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:416 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:295 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:420 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:299 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Suivant" From 60203367924cc0741cecfeac70c6ad9ad1be190a Mon Sep 17 00:00:00 2001 From: Mythie Date: Wed, 30 Oct 2024 14:37:50 +1100 Subject: [PATCH 06/52] v1.7.2-rc.2 --- apps/marketing/package.json | 2 +- apps/web/package.json | 2 +- package-lock.json | 8 ++++---- package.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/marketing/package.json b/apps/marketing/package.json index 907f74698..5ddc81cc4 100644 --- a/apps/marketing/package.json +++ b/apps/marketing/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/marketing", - "version": "1.7.2-rc.1", + "version": "1.7.2-rc.2", "private": true, "license": "AGPL-3.0", "scripts": { diff --git a/apps/web/package.json b/apps/web/package.json index 314f39723..275e25c93 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/web", - "version": "1.7.2-rc.1", + "version": "1.7.2-rc.2", "private": true, "license": "AGPL-3.0", "scripts": { diff --git a/package-lock.json b/package-lock.json index 0432c882d..ccd158928 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@documenso/root", - "version": "1.7.2-rc.1", + "version": "1.7.2-rc.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@documenso/root", - "version": "1.7.2-rc.1", + "version": "1.7.2-rc.2", "workspaces": [ "apps/*", "packages/*" @@ -80,7 +80,7 @@ }, "apps/marketing": { "name": "@documenso/marketing", - "version": "1.7.2-rc.1", + "version": "1.7.2-rc.2", "license": "AGPL-3.0", "dependencies": { "@documenso/assets": "*", @@ -441,7 +441,7 @@ }, "apps/web": { "name": "@documenso/web", - "version": "1.7.2-rc.1", + "version": "1.7.2-rc.2", "license": "AGPL-3.0", "dependencies": { "@documenso/api": "*", diff --git a/package.json b/package.json index 2f0e6d146..c71093bf7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "1.7.2-rc.1", + "version": "1.7.2-rc.2", "scripts": { "build": "turbo run build", "build:web": "turbo run build --filter=@documenso/web", From f76f87ff1ccf354fc0edb4819842270ac4272345 Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 31 Oct 2024 15:31:40 +1100 Subject: [PATCH 07/52] fix: use key for expansion on embeds --- apps/web/src/app/embed/direct/[[...url]]/client.tsx | 1 + apps/web/src/app/embed/sign/[[...url]]/client.tsx | 1 + 2 files changed, 2 insertions(+) diff --git a/apps/web/src/app/embed/direct/[[...url]]/client.tsx b/apps/web/src/app/embed/direct/[[...url]]/client.tsx index 1bec0ac6b..0f71c0e89 100644 --- a/apps/web/src/app/embed/direct/[[...url]]/client.tsx +++ b/apps/web/src/app/embed/direct/[[...url]]/client.tsx @@ -318,6 +318,7 @@ export const EmbedDirectTemplateClientPage = ({ {/* Widget */}
diff --git a/apps/web/src/app/embed/sign/[[...url]]/client.tsx b/apps/web/src/app/embed/sign/[[...url]]/client.tsx index 8682b3c19..e10f4745c 100644 --- a/apps/web/src/app/embed/sign/[[...url]]/client.tsx +++ b/apps/web/src/app/embed/sign/[[...url]]/client.tsx @@ -198,6 +198,7 @@ export const EmbedSignDocumentClientPage = ({ {/* Widget */}
From 0cee07aed35a5ee87c007f277231f9a193723a6b Mon Sep 17 00:00:00 2001 From: Mythie Date: Thu, 31 Oct 2024 15:33:03 +1100 Subject: [PATCH 08/52] v1.7.2-rc.3 --- apps/marketing/package.json | 2 +- apps/web/package.json | 2 +- package-lock.json | 8 ++++---- package.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/marketing/package.json b/apps/marketing/package.json index 5ddc81cc4..a890c8374 100644 --- a/apps/marketing/package.json +++ b/apps/marketing/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/marketing", - "version": "1.7.2-rc.2", + "version": "1.7.2-rc.3", "private": true, "license": "AGPL-3.0", "scripts": { diff --git a/apps/web/package.json b/apps/web/package.json index 275e25c93..722e028d6 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/web", - "version": "1.7.2-rc.2", + "version": "1.7.2-rc.3", "private": true, "license": "AGPL-3.0", "scripts": { diff --git a/package-lock.json b/package-lock.json index ccd158928..27f0b5f26 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@documenso/root", - "version": "1.7.2-rc.2", + "version": "1.7.2-rc.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@documenso/root", - "version": "1.7.2-rc.2", + "version": "1.7.2-rc.3", "workspaces": [ "apps/*", "packages/*" @@ -80,7 +80,7 @@ }, "apps/marketing": { "name": "@documenso/marketing", - "version": "1.7.2-rc.2", + "version": "1.7.2-rc.3", "license": "AGPL-3.0", "dependencies": { "@documenso/assets": "*", @@ -441,7 +441,7 @@ }, "apps/web": { "name": "@documenso/web", - "version": "1.7.2-rc.2", + "version": "1.7.2-rc.3", "license": "AGPL-3.0", "dependencies": { "@documenso/api": "*", diff --git a/package.json b/package.json index c71093bf7..1aedb4fba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "1.7.2-rc.2", + "version": "1.7.2-rc.3", "scripts": { "build": "turbo run build", "build:web": "turbo run build --filter=@documenso/web", From f199183c78f3bb8f06a2857431eb2b329d2b406a Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Fri, 1 Nov 2024 08:57:32 +0900 Subject: [PATCH 09/52] feat: improve translation coverage (#1427) Improves translation coverage across the app. --- .../documents/delete-document-dialog.tsx | 2 +- .../documents/move-document-dialog.tsx | 4 +- .../d/[token]/configure-direct-template.tsx | 4 +- .../(signing)/sign/[token]/complete/page.tsx | 2 +- .../src/app/(signing)/sign/[token]/form.tsx | 18 +- .../(signing)/sign/[token]/initials-field.tsx | 13 +- .../articles/signature-disclosure/page.tsx | 169 ++++--- .../document-search/document-search.tsx | 8 +- .../(dashboard)/settings/token/contants.ts | 12 +- .../settings/token/delete-token-dialog.tsx | 2 +- .../webhooks/delete-webhook-dialog.tsx | 2 +- .../(teams)/dialogs/delete-team-dialog.tsx | 2 +- .../(teams)/dialogs/transfer-team-dialog.tsx | 2 +- .../tables/current-user-teams-data-table.tsx | 2 +- .../tables/team-members-data-table.tsx | 2 +- .../document/document-read-only-fields.tsx | 8 +- apps/web/src/components/forms/token.tsx | 2 +- .../components/general/signing-disclosure.tsx | 32 +- .../lib/client-only/providers/i18n.server.tsx | 12 +- packages/lib/constants/recipient-roles.ts | 4 + packages/lib/translations/de/common.po | 159 ++++-- packages/lib/translations/de/web.po | 452 +++++++++++++----- packages/lib/translations/en/common.po | 161 +++++-- packages/lib/translations/en/web.po | 206 +++++++- packages/lib/translations/es/common.po | 161 +++++-- packages/lib/translations/es/web.po | 206 +++++++- packages/lib/translations/fr/common.po | 161 +++++-- packages/lib/translations/fr/web.po | 206 +++++++- packages/lib/utils/i18n.ts | 18 +- .../document/document-share-button.tsx | 14 +- .../primitives/document-flow/add-fields.tsx | 18 +- .../document-flow/add-signature.types.ts | 5 +- .../primitives/document-flow/add-signers.tsx | 2 +- .../document-flow/add-signers.types.ts | 8 +- .../document-flow/show-field-item.tsx | 6 +- packages/ui/primitives/document-flow/types.ts | 25 +- .../ui/primitives/form/form-error-message.tsx | 12 +- packages/ui/primitives/form/form.tsx | 11 +- packages/ui/primitives/lazy-pdf-viewer.tsx | 5 +- packages/ui/primitives/pdf-viewer.tsx | 31 +- .../template-flow/add-template-fields.tsx | 16 +- 41 files changed, 1746 insertions(+), 439 deletions(-) diff --git a/apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx b/apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx index fdf3f4fa5..912de8f11 100644 --- a/apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx +++ b/apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx @@ -87,7 +87,7 @@ export const DeleteDocumentDialog = ({ const onInputChange = (event: React.ChangeEvent) => { setInputValue(event.target.value); - setIsDeleteEnabled(event.target.value === 'delete'); + setIsDeleteEnabled(event.target.value === _(msg`delete`)); }; return ( diff --git a/apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx b/apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx index bf84d3e81..8de33f8c2 100644 --- a/apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx +++ b/apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx @@ -117,10 +117,10 @@ export const MoveDocumentDialog = ({ documentId, open, onOpenChange }: MoveDocum diff --git a/apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx b/apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx index 40118260c..649099717 100644 --- a/apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx +++ b/apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx @@ -1,7 +1,7 @@ 'use client'; import { zodResolver } from '@hookform/resolvers/zod'; -import { Trans } from '@lingui/macro'; +import { Trans, msg } from '@lingui/macro'; import { useLingui } from '@lingui/react'; import { useSession } from 'next-auth/react'; import { useForm } from 'react-hook-form'; @@ -77,7 +77,7 @@ export const ConfigureDirectTemplateFormPartial = ({ if (template.Recipient.map((recipient) => recipient.email).includes(items.email)) { ctx.addIssue({ code: z.ZodIssueCode.custom, - message: 'Email cannot already exist in the template', + message: _(msg`Email cannot already exist in the template`), path: ['email'], }); } diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx index 01fa9dc9e..a234375c2 100644 --- a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx @@ -222,7 +222,7 @@ export default async function CompletedSigningPage({ )} {isLoggedIn && ( - + Go Back Home )} diff --git a/apps/web/src/app/(signing)/sign/[token]/form.tsx b/apps/web/src/app/(signing)/sign/[token]/form.tsx index b3f3a0587..8085234db 100644 --- a/apps/web/src/app/(signing)/sign/[token]/form.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/form.tsx @@ -124,9 +124,9 @@ export const SigningForm = ({ >

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

{recipient.role === RecipientRole.VIEWER ? ( @@ -166,7 +166,7 @@ export const SigningForm = ({ ) : ( <>

- Please review the document before signing. + Please review the document before signing.


@@ -174,7 +174,9 @@ export const SigningForm = ({
- +
- + @@ -213,7 +217,7 @@ export const SigningForm = ({ disabled={typeof window !== 'undefined' && window.history.length <= 1} onClick={() => router.back()} > - Cancel + Cancel { const router = useRouter(); const { toast } = useToast(); + const { _ } = useLingui(); const { fullName } = useRequiredSigningContext(); const initials = extractInitials(fullName); @@ -83,8 +86,8 @@ export const InitialsField = ({ console.error(err); toast({ - title: 'Error', - description: 'An error occurred while signing the document.', + title: _(msg`Error`), + description: _(msg`An error occurred while signing the document.`), variant: 'destructive', }); } @@ -109,8 +112,8 @@ export const InitialsField = ({ console.error(err); toast({ - title: 'Error', - description: 'An error occurred while removing the signature.', + title: _(msg`Error`), + description: _(msg`An error occurred while removing the field.`), variant: 'destructive', }); } @@ -126,7 +129,7 @@ export const InitialsField = ({ {!field.inserted && (

- Initials + Initials

)} diff --git a/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx b/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx index 8c79071b9..3ac77e01a 100644 --- a/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx +++ b/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx @@ -5,101 +5,156 @@ import { Trans } from '@lingui/macro'; import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; import { Button } from '@documenso/ui/primitives/button'; +const SUPPORT_EMAIL = 'support@documenso.com'; + export default function SignatureDisclosure() { setupI18nSSR(); return (
-

Electronic Signature Disclosure

+

+ Electronic Signature Disclosure +

-

Welcome

+

+ Welcome +

- Thank you for using Documenso to perform your electronic document signing. The purpose of - this disclosure is to inform you about the process, legality, and your rights regarding - the use of electronic signatures on our platform. By opting to use an electronic - signature, you are agreeing to the terms and conditions outlined below. + + Thank you for using Documenso to perform your electronic document signing. The purpose + of this disclosure is to inform you about the process, legality, and your rights + regarding the use of electronic signatures on our platform. By opting to use an + electronic signature, you are agreeing to the terms and conditions outlined below. +

-

Acceptance and Consent

+

+ Acceptance and Consent +

- 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. + + 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. +

-

Legality of Electronic Signatures

+

+ Legality of Electronic Signatures +

- An electronic signature provided by you on our platform, achieved through clicking through - to a document and entering your name, or any other electronic signing method we provide, - is legally binding. It carries the same weight and enforceability as a manual signature - written with ink on paper. + + An electronic signature provided by you on our platform, achieved through clicking + through to a document and entering your name, or any other electronic signing method we + provide, is legally binding. It carries the same weight and enforceability as a manual + signature written with ink on paper. +

-

System Requirements

-

To use our electronic signature service, you must have access to:

+

+ System Requirements +

+

+ To use our electronic signature service, you must have access to: +

    -
  • A stable internet connection
  • -
  • An email account
  • -
  • A device capable of accessing, opening, and reading documents
  • -
  • A means to print or download documents for your records
  • +
  • + A stable internet connection +
  • +
  • + An email account +
  • +
  • + A device capable of accessing, opening, and reading documents +
  • +
  • + A means to print or download documents for your records +
-

Electronic Delivery of Documents

+

+ Electronic Delivery of Documents +

- All documents related to the electronic signing process will be provided to you - electronically through our platform or via email. It is your responsibility to ensure that - your email address is current and that you can receive and open our emails. + + All documents related to the electronic signing process will be provided to you + electronically through our platform or via email. It is your responsibility to ensure + that your email address is current and that you can receive and open our emails. +

-

Consent to Electronic Transactions

+

+ Consent to Electronic Transactions +

- By using the electronic signature feature, you are consenting to conduct transactions and - receive disclosures electronically. You acknowledge that your electronic signature on - documents is binding and that you accept the terms outlined in the documents you are - signing. + + By using the electronic signature feature, you are consenting to conduct transactions + and receive disclosures electronically. You acknowledge that your electronic signature + on documents is binding and that you accept the terms outlined in the documents you are + signing. +

-

Withdrawing Consent

+

+ Withdrawing Consent +

- You have the right to withdraw your consent to use electronic signatures at any time - before completing the signing process. To withdraw your consent, please contact the sender - of the document. In failing to contact the sender you may reach out to{' '} - support@documenso.com for assistance. Be aware - that withdrawing consent may delay or halt the completion of the related transaction or - service. + + You have the right to withdraw your consent to use electronic signatures at any time + before completing the signing process. To withdraw your consent, please contact the + sender of the document. In failing to contact the sender you may reach out to{' '} + {SUPPORT_EMAIL} for assistance. Be aware that + withdrawing consent may delay or halt the completion of the related transaction or + service. +

-

Updating Your Information

+

+ Updating Your Information +

- It is crucial to keep your contact information, especially your email address, up to date - with us. Please notify us immediately of any changes to ensure that you continue to - receive all necessary communications. + + It is crucial to keep your contact information, especially your email address, up to + date with us. Please notify us immediately of any changes to ensure that you continue to + receive all necessary communications. +

-

Retention of Documents

+

+ Retention of Documents +

- After signing a document electronically, you will be provided the opportunity to view, - download, and print the document for your records. It is highly recommended that you - retain a copy of all electronically signed documents for your personal records. We will - also retain a copy of the signed document for our records however we may not be able to - provide you with a copy of the signed document after a certain period of time. + + After signing a document electronically, you will be provided the opportunity to view, + download, and print the document for your records. It is highly recommended that you + retain a copy of all electronically signed documents for your personal records. We will + also retain a copy of the signed document for our records however we may not be able to + provide you with a copy of the signed document after a certain period of time. +

-

Acknowledgment

+

+ Acknowledgment +

- By proceeding to use the electronic signature service provided by Documenso, you affirm - that you have read and understood this disclosure. You agree to all terms and conditions - related to the use of electronic signatures and electronic transactions as outlined - herein. + + By proceeding to use the electronic signature service provided by Documenso, you affirm + that you have read and understood this disclosure. You agree to all terms and conditions + related to the use of electronic signatures and electronic transactions as outlined + herein. +

-

Contact Information

+

+ Contact Information +

- For any questions regarding this disclosure, electronic signatures, or any related - process, please contact us at:{' '} - support@documenso.com + + For any questions regarding this disclosure, electronic signatures, or any related + process, please contact us at: {SUPPORT_EMAIL} +

diff --git a/apps/web/src/components/(dashboard)/document-search/document-search.tsx b/apps/web/src/components/(dashboard)/document-search/document-search.tsx index dbfad6775..966452152 100644 --- a/apps/web/src/components/(dashboard)/document-search/document-search.tsx +++ b/apps/web/src/components/(dashboard)/document-search/document-search.tsx @@ -4,12 +4,18 @@ import { useCallback, useEffect, useState } from 'react'; import { useRouter, useSearchParams } from 'next/navigation'; +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; + import { useDebouncedValue } from '@documenso/lib/client-only/hooks/use-debounced-value'; import { Input } from '@documenso/ui/primitives/input'; export const DocumentSearch = ({ initialValue = '' }: { initialValue?: string }) => { + const { _ } = useLingui(); + const router = useRouter(); const searchParams = useSearchParams(); + const [searchTerm, setSearchTerm] = useState(initialValue); const debouncedSearchTerm = useDebouncedValue(searchTerm, 500); @@ -33,7 +39,7 @@ export const DocumentSearch = ({ initialValue = '' }: { initialValue?: string }) return ( setSearchTerm(e.target.value)} /> diff --git a/apps/web/src/components/(dashboard)/settings/token/contants.ts b/apps/web/src/components/(dashboard)/settings/token/contants.ts index 232c37644..414425b25 100644 --- a/apps/web/src/components/(dashboard)/settings/token/contants.ts +++ b/apps/web/src/components/(dashboard)/settings/token/contants.ts @@ -1,7 +1,9 @@ +import { msg } from '@lingui/macro'; + export const EXPIRATION_DATES = { - ONE_WEEK: '7 days', - ONE_MONTH: '1 month', - THREE_MONTHS: '3 months', - SIX_MONTHS: '6 months', - ONE_YEAR: '12 months', + ONE_WEEK: msg`7 days`, + ONE_MONTH: msg`1 month`, + THREE_MONTHS: msg`3 months`, + SIX_MONTHS: msg`6 months`, + ONE_YEAR: msg`12 months`, } as const; diff --git a/apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx b/apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx index 428470dce..adaac05b0 100644 --- a/apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx +++ b/apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx @@ -53,7 +53,7 @@ export default function DeleteTokenDialog({ const [isOpen, setIsOpen] = useState(false); - const deleteMessage = `delete ${token.name}`; + const deleteMessage = _(msg`delete ${token.name}`); const ZDeleteTokenDialogSchema = z.object({ tokenName: z.literal(deleteMessage, { diff --git a/apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx b/apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx index 3ba291132..62d9df9bc 100644 --- a/apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx +++ b/apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx @@ -51,7 +51,7 @@ export const DeleteWebhookDialog = ({ webhook, children }: DeleteWebhookDialogPr const [open, setOpen] = useState(false); - const deleteMessage = `delete ${webhook.webhookUrl}`; + const deleteMessage = _(msg`delete ${webhook.webhookUrl}`); const ZDeleteWebhookFormSchema = z.object({ webhookUrl: z.literal(deleteMessage, { diff --git a/apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx b/apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx index ee974a25b..3377bc989 100644 --- a/apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx +++ b/apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx @@ -47,7 +47,7 @@ export const DeleteTeamDialog = ({ trigger, teamId, teamName }: DeleteTeamDialog const { _ } = useLingui(); const { toast } = useToast(); - const deleteMessage = `delete ${teamName}`; + const deleteMessage = _(msg`delete ${teamName}`); const ZDeleteTeamFormSchema = z.object({ teamName: z.literal(deleteMessage, { diff --git a/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx b/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx index 0859945dc..2fb5f31bf 100644 --- a/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx +++ b/apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx @@ -73,7 +73,7 @@ export const TransferTeamDialog = ({ teamId, }); - const confirmTransferMessage = `transfer ${teamName}`; + const confirmTransferMessage = _(msg`transfer ${teamName}`); const ZTransferTeamFormSchema = z.object({ teamName: z.literal(confirmTransferMessage, { diff --git a/apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx b/apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx index 5579535c6..a86281007 100644 --- a/apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx +++ b/apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx @@ -83,7 +83,7 @@ export const CurrentUserTeamsDataTable = () => { accessorKey: 'role', cell: ({ row }) => row.original.ownerUserId === row.original.currentTeamMember.userId - ? 'Owner' + ? _(msg`Owner`) : _(TEAM_MEMBER_ROLE_MAP[row.original.currentTeamMember.role]), }, { diff --git a/apps/web/src/components/(teams)/tables/team-members-data-table.tsx b/apps/web/src/components/(teams)/tables/team-members-data-table.tsx index fc8e28598..195c839dc 100644 --- a/apps/web/src/components/(teams)/tables/team-members-data-table.tsx +++ b/apps/web/src/components/(teams)/tables/team-members-data-table.tsx @@ -106,7 +106,7 @@ export const TeamMembersDataTable = ({ accessorKey: 'role', cell: ({ row }) => teamOwnerUserId === row.original.userId - ? 'Owner' + ? _(msg`Owner`) : _(TEAM_MEMBER_ROLE_MAP[row.original.role]), }, { diff --git a/apps/web/src/components/document/document-read-only-fields.tsx b/apps/web/src/components/document/document-read-only-fields.tsx index 84b77e0d5..9c534ca35 100644 --- a/apps/web/src/components/document/document-read-only-fields.tsx +++ b/apps/web/src/components/document/document-read-only-fields.tsx @@ -2,6 +2,7 @@ import { useState } from 'react'; +import { useLingui } from '@lingui/react'; import { EyeOffIcon } from 'lucide-react'; import { P, match } from 'ts-pattern'; @@ -12,6 +13,7 @@ import { import { PDF_VIEWER_PAGE_SELECTOR } from '@documenso/lib/constants/pdf-viewer'; import { DEFAULT_DOCUMENT_TIME_ZONE } from '@documenso/lib/constants/time-zones'; import type { DocumentField } from '@documenso/lib/server-only/field/get-fields-for-document'; +import { parseMessageDescriptor } from '@documenso/lib/utils/i18n'; import { extractInitials } from '@documenso/lib/utils/recipient-formatter'; import type { DocumentMeta } from '@documenso/prisma/client'; import { FieldType, SigningStatus } from '@documenso/prisma/client'; @@ -28,6 +30,8 @@ export type DocumentReadOnlyFieldsProps = { }; export const DocumentReadOnlyFields = ({ documentMeta, fields }: DocumentReadOnlyFieldsProps) => { + const { _ } = useLingui(); + const [hiddenFieldIds, setHiddenFieldIds] = useState>({}); const handleHideField = (fieldId: string) => { @@ -59,7 +63,7 @@ export const DocumentReadOnlyFields = ({ documentMeta, fields }: DocumentReadOnl >

{field.Recipient.signingStatus === SigningStatus.SIGNED ? 'Signed' : 'Pending'}{' '} - {FRIENDLY_FIELD_TYPE[field.type].toLowerCase()} field + {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[field.type]).toLowerCase()} field

@@ -127,7 +131,7 @@ export const DocumentReadOnlyFields = ({ documentMeta, fields }: DocumentReadOnl field.type === FieldType.FREE_SIGNATURE, })} > - {FRIENDLY_FIELD_TYPE[field.type]} + {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[field.type])}

)}
diff --git a/apps/web/src/components/forms/token.tsx b/apps/web/src/components/forms/token.tsx index b042bd937..a28aa21e0 100644 --- a/apps/web/src/components/forms/token.tsx +++ b/apps/web/src/components/forms/token.tsx @@ -202,7 +202,7 @@ export const ApiTokenForm = ({ className, teamId, tokens }: ApiTokenFormProps) = {Object.entries(EXPIRATION_DATES).map(([key, date]) => ( - {date} + {_(date)} ))} diff --git a/apps/web/src/components/general/signing-disclosure.tsx b/apps/web/src/components/general/signing-disclosure.tsx index bd1ef9707..a6257d35f 100644 --- a/apps/web/src/components/general/signing-disclosure.tsx +++ b/apps/web/src/components/general/signing-disclosure.tsx @@ -2,6 +2,8 @@ import type { HTMLAttributes } from 'react'; import Link from 'next/link'; +import { Trans } from '@lingui/macro'; + import { cn } from '@documenso/ui/lib/utils'; export type SigningDisclosureProps = HTMLAttributes; @@ -9,20 +11,24 @@ export type SigningDisclosureProps = HTMLAttributes; export const SigningDisclosure = ({ className, ...props }: SigningDisclosureProps) => { return (

- By proceeding with your electronic signature, you acknowledge and consent that it will be used - to sign the given document and holds the same legal validity as a handwritten signature. By - completing the electronic signing process, you affirm your understanding and acceptance of - these conditions. + + By proceeding with your electronic signature, you acknowledge and consent that it will be + used to sign the given document and holds the same legal validity as a handwritten + signature. By completing the electronic signing process, you affirm your understanding and + acceptance of these conditions. + - Read the full{' '} - - signature disclosure - - . + + Read the full{' '} + + signature disclosure + + . +

); diff --git a/packages/lib/client-only/providers/i18n.server.tsx b/packages/lib/client-only/providers/i18n.server.tsx index 8ee89f3de..b5f193072 100644 --- a/packages/lib/client-only/providers/i18n.server.tsx +++ b/packages/lib/client-only/providers/i18n.server.tsx @@ -18,7 +18,17 @@ async function loadCatalog(lang: SupportedLanguages): Promise<{ const extension = process.env.NODE_ENV === 'development' ? 'po' : 'js'; const context = IS_APP_WEB ? 'web' : 'marketing'; - const { messages } = await import(`../../translations/${lang}/${context}.${extension}`); + let { messages } = await import(`../../translations/${lang}/${context}.${extension}`); + + // Dirty way to load common messages for development since it's not compiled. + if (process.env.NODE_ENV === 'development') { + const commonMessages = await import(`../../translations/${lang}/common.${extension}`); + + messages = { + ...messages, + ...commonMessages.messages, + }; + } return { [lang]: messages, diff --git a/packages/lib/constants/recipient-roles.ts b/packages/lib/constants/recipient-roles.ts index ba099ceea..7dfe3c7fc 100644 --- a/packages/lib/constants/recipient-roles.ts +++ b/packages/lib/constants/recipient-roles.ts @@ -41,24 +41,28 @@ export const RECIPIENT_ROLES_DESCRIPTION_ENG = { actioned: `Approved`, progressiveVerb: `Approving`, roleName: `Approver`, + roleNamePlural: msg`Approvers`, }, [RecipientRole.CC]: { actionVerb: `CC`, actioned: `CC'd`, progressiveVerb: `CC`, roleName: `Cc`, + roleNamePlural: msg`Ccers`, }, [RecipientRole.SIGNER]: { actionVerb: `Sign`, actioned: `Signed`, progressiveVerb: `Signing`, roleName: `Signer`, + roleNamePlural: msg`Signers`, }, [RecipientRole.VIEWER]: { actionVerb: `View`, actioned: `Viewed`, progressiveVerb: `Viewing`, roleName: `Viewer`, + roleNamePlural: msg`Viewers`, }, } satisfies Record; diff --git a/packages/lib/translations/de/common.po b/packages/lib/translations/de/common.po index c4a4a0cd5..8aaf6650f 100644 --- a/packages/lib/translations/de/common.po +++ b/packages/lib/translations/de/common.po @@ -115,8 +115,8 @@ msgstr "Admin" msgid "Advanced Options" msgstr "Erweiterte Optionen" -#: packages/ui/primitives/document-flow/add-fields.tsx:570 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:402 +#: packages/ui/primitives/document-flow/add-fields.tsx:573 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:406 msgid "Advanced settings" msgstr "Erweiterte Einstellungen" @@ -124,6 +124,10 @@ msgstr "Erweiterte Einstellungen" msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." msgstr "Nach der Übermittlung wird ein Dokument automatisch generiert und zu Ihrer Dokumentenseite hinzugefügt. Sie erhalten außerdem eine Benachrichtigung per E-Mail." +#: packages/ui/primitives/pdf-viewer.tsx:167 +msgid "An error occurred while loading the document." +msgstr "" + #: packages/lib/constants/recipient-roles.ts:8 msgid "Approve" msgstr "Genehmigen" @@ -136,6 +140,10 @@ msgstr "Genehmigt" msgid "Approver" msgstr "Genehmiger" +#: packages/lib/constants/recipient-roles.ts:44 +msgid "Approvers" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:10 msgid "Approving" msgstr "Genehmigung" @@ -170,15 +178,14 @@ msgstr "CC" msgid "CC'd" msgstr "CC'd" +#: packages/lib/constants/recipient-roles.ts:51 +msgid "Ccers" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 msgid "Character Limit" msgstr "Zeichenbeschränkung" -#: packages/ui/primitives/document-flow/add-fields.tsx:1026 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:788 -msgid "Checkbox" -msgstr "Checkbox" - #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197 msgid "Checkbox values" msgstr "Checkbox-Werte" @@ -203,8 +210,8 @@ msgstr "Schließen" msgid "Configure Direct Recipient" msgstr "Direkten Empfänger konfigurieren" -#: packages/ui/primitives/document-flow/add-fields.tsx:571 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:403 +#: packages/ui/primitives/document-flow/add-fields.tsx:574 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:407 msgid "Configure the {0} field" msgstr "Konfigurieren Sie das Feld {0}" @@ -216,12 +223,17 @@ msgstr "Fortsetzen" msgid "Copied to clipboard" msgstr "In die Zwischenablage kopiert" +#: packages/ui/components/document/document-share-button.tsx:194 +msgid "Copy Link" +msgstr "" + #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" msgstr "Benutzerdefinierter Text" -#: packages/ui/primitives/document-flow/add-fields.tsx:922 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:684 +#: packages/ui/primitives/document-flow/add-fields.tsx:927 +#: packages/ui/primitives/document-flow/types.ts:53 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:690 msgid "Date" msgstr "Datum" @@ -252,8 +264,8 @@ msgstr "Herunterladen" msgid "Drag & drop your PDF here." msgstr "Ziehen Sie Ihr PDF hierher." -#: packages/ui/primitives/document-flow/add-fields.tsx:1052 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:814 +#: packages/ui/primitives/document-flow/add-fields.tsx:1058 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:820 msgid "Dropdown" msgstr "Dropdown" @@ -261,20 +273,26 @@ msgstr "Dropdown" msgid "Dropdown options" msgstr "Dropdown-Optionen" -#: packages/ui/primitives/document-flow/add-fields.tsx:870 +#: packages/ui/primitives/document-flow/add-fields.tsx:875 #: packages/ui/primitives/document-flow/add-signature.tsx:272 #: packages/ui/primitives/document-flow/add-signers.tsx:500 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:632 +#: packages/ui/primitives/document-flow/add-signers.tsx:507 +#: 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 msgid "Email" msgstr "E-Mail" +#: packages/ui/primitives/document-flow/add-signature.types.ts:7 +msgid "Email is required" +msgstr "" + #: packages/ui/primitives/template-flow/add-template-settings.tsx:184 msgid "Email Options" msgstr "E-Mail-Optionen" -#: packages/ui/primitives/document-flow/add-fields.tsx:1117 +#: packages/ui/primitives/document-flow/add-fields.tsx:1123 msgid "Empty field" msgstr "Leeres Feld" @@ -287,7 +305,7 @@ msgstr "Direktlink-Signierung aktivieren" msgid "Enable signing order" msgstr "Aktiviere die Signaturreihenfolge" -#: packages/ui/primitives/document-flow/add-fields.tsx:790 +#: packages/ui/primitives/document-flow/add-fields.tsx:795 msgid "Enable Typed Signatures" msgstr "Aktivieren Sie getippte Unterschriften" @@ -296,6 +314,7 @@ msgid "Enter password" msgstr "Passwort eingeben" #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:257 +#: packages/ui/primitives/pdf-viewer.tsx:166 msgid "Error" msgstr "Fehler" @@ -342,6 +361,10 @@ msgstr "Feldplatzhalter" msgid "Font Size" msgstr "Schriftgröße" +#: packages/ui/primitives/document-flow/types.ts:50 +msgid "Free Signature" +msgstr "" + #: packages/ui/components/document/document-global-auth-action-select.tsx:64 msgid "Global recipient action authentication" msgstr "Globale Empfängerauthentifizierung" @@ -354,19 +377,19 @@ msgstr "Zurück" msgid "Green" msgstr "Grün" -#: packages/lib/constants/recipient-roles.ts:72 +#: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" msgstr "Ich bin ein Unterzeichner dieses Dokuments" -#: packages/lib/constants/recipient-roles.ts:75 +#: packages/lib/constants/recipient-roles.ts:79 msgid "I am a viewer of this document" msgstr "Ich bin ein Betrachter dieses Dokuments" -#: packages/lib/constants/recipient-roles.ts:73 +#: packages/lib/constants/recipient-roles.ts:77 msgid "I am an approver of this document" msgstr "Ich bin ein Genehmiger dieses Dokuments" -#: packages/lib/constants/recipient-roles.ts:74 +#: packages/lib/constants/recipient-roles.ts:78 msgid "I am required to receive a copy of this document" msgstr "Ich bin verpflichtet, eine Kopie dieses Dokuments zu erhalten" @@ -375,12 +398,29 @@ msgstr "Ich bin verpflichtet, eine Kopie dieses Dokuments zu erhalten" msgid "Inherit authentication method" msgstr "Authentifizierungsmethode erben" +#: packages/ui/primitives/document-flow/types.ts:51 +msgid "Initials" +msgstr "" + +#: packages/ui/primitives/document-flow/add-signers.types.ts:17 +msgid "Invalid email" +msgstr "" + +#: packages/ui/primitives/document-flow/add-signature.types.ts:8 +msgid "Invalid email address" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 msgid "Label" msgstr "Beschriftung" +#: packages/ui/primitives/lazy-pdf-viewer.tsx:15 +#: packages/ui/primitives/pdf-viewer.tsx:44 +msgid "Loading document..." +msgstr "" + #: packages/lib/constants/teams.ts:11 msgid "Manager" msgstr "Manager" @@ -402,11 +442,12 @@ msgstr "Nachricht <0>(Optional)" msgid "Min" msgstr "Min" -#: packages/ui/primitives/document-flow/add-fields.tsx:896 +#: packages/ui/primitives/document-flow/add-fields.tsx:901 #: 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/template-flow/add-template-fields.tsx:658 +#: 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 msgid "Name" @@ -424,13 +465,13 @@ msgstr "Muss unterzeichnen" msgid "Needs to view" msgstr "Muss sehen" -#: packages/ui/primitives/document-flow/add-fields.tsx:680 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:497 +#: packages/ui/primitives/document-flow/add-fields.tsx:686 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:504 msgid "No recipient matching this description was found." msgstr "Kein passender Empfänger mit dieser Beschreibung gefunden." -#: packages/ui/primitives/document-flow/add-fields.tsx:696 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:513 +#: packages/ui/primitives/document-flow/add-fields.tsx:701 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:519 msgid "No recipients with this role" msgstr "Keine Empfänger mit dieser Rolle" @@ -454,8 +495,9 @@ msgstr "Kein Unterschriftsfeld gefunden" msgid "No value found." msgstr "Kein Wert gefunden." -#: packages/ui/primitives/document-flow/add-fields.tsx:974 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:736 +#: packages/ui/primitives/document-flow/add-fields.tsx:979 +#: packages/ui/primitives/document-flow/types.ts:56 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:742 msgid "Number" msgstr "Nummer" @@ -475,6 +517,10 @@ msgstr "Sobald Ihre Vorlage eingerichtet ist, teilen Sie den Link überall, wo S msgid "Page {0} of {1}" msgstr "Seite {0} von {1}" +#: packages/ui/primitives/pdf-viewer.tsx:259 +msgid "Page {0} of {numPages}" +msgstr "" + #: packages/ui/primitives/document-password-dialog.tsx:62 msgid "Password Required" msgstr "Passwort erforderlich" @@ -489,8 +535,12 @@ msgstr "Wählen Sie eine Zahl" msgid "Placeholder" msgstr "Platzhalter" -#: packages/ui/primitives/document-flow/add-fields.tsx:1000 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:762 +#: packages/ui/primitives/pdf-viewer.tsx:223 +#: packages/ui/primitives/pdf-viewer.tsx:238 +msgid "Please try again or contact our support." +msgstr "" + +#: packages/ui/primitives/template-flow/add-template-fields.tsx:768 msgid "Radio" msgstr "Radio" @@ -525,7 +575,7 @@ msgstr "Rot" msgid "Redirect URL" msgstr "Weiterleitungs-URL" -#: packages/ui/primitives/document-flow/add-fields.tsx:1104 +#: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" msgstr "Entfernen" @@ -537,6 +587,10 @@ msgstr "Entfernen" msgid "Required field" msgstr "Pflichtfeld" +#: packages/ui/components/document/document-share-button.tsx:147 +msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" +msgstr "" + #: packages/ui/primitives/data-table-pagination.tsx:55 msgid "Rows per page" msgstr "Zeilen pro Seite" @@ -545,7 +599,7 @@ msgstr "Zeilen pro Seite" msgid "Save" msgstr "Speichern" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:848 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:854 msgid "Save Template" msgstr "Vorlage speichern" @@ -587,6 +641,10 @@ msgstr "Unterschriftenkarte teilen" msgid "Share the Link" msgstr "Link teilen" +#: packages/ui/components/document/document-share-button.tsx:143 +msgid "Share your signing experience!" +msgstr "" + #: packages/ui/primitives/document-flow/add-signers.tsx:680 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:655 msgid "Show advanced settings" @@ -596,10 +654,11 @@ msgstr "Erweiterte Einstellungen anzeigen" msgid "Sign" msgstr "Unterschreiben" -#: packages/ui/primitives/document-flow/add-fields.tsx:818 +#: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:580 +#: packages/ui/primitives/document-flow/types.ts:49 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:586 msgid "Signature" msgstr "Unterschrift" @@ -611,6 +670,14 @@ msgstr "Unterzeichnet" msgid "Signer" msgstr "Unterzeichner" +#: packages/lib/constants/recipient-roles.ts:58 +msgid "Signers" +msgstr "" + +#: packages/ui/primitives/document-flow/add-signers.types.ts:36 +msgid "Signers must have unique emails" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:22 msgid "Signing" msgstr "Unterzeichnung" @@ -623,6 +690,11 @@ msgstr "Einige Unterzeichner haben noch kein Unterschriftsfeld zugewiesen bekomm msgid "Something went wrong" msgstr "Etwas ist schief gelaufen" +#: packages/ui/primitives/pdf-viewer.tsx:220 +#: packages/ui/primitives/pdf-viewer.tsx:235 +msgid "Something went wrong while loading the document." +msgstr "" + #: packages/ui/primitives/data-table.tsx:136 msgid "Something went wrong." msgstr "Etwas ist schief gelaufen." @@ -644,8 +716,9 @@ msgstr "Einreichen" msgid "Template title" msgstr "Vorlagentitel" -#: packages/ui/primitives/document-flow/add-fields.tsx:948 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:710 +#: packages/ui/primitives/document-flow/add-fields.tsx:953 +#: packages/ui/primitives/document-flow/types.ts:52 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:716 msgid "Text" msgstr "Text" @@ -705,7 +778,7 @@ msgstr "Der Name des Unterzeichners" msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." msgstr "Dies kann überschrieben werden, indem die Authentifizierungsanforderungen im nächsten Schritt direkt für jeden Empfänger festgelegt werden." -#: packages/ui/primitives/document-flow/add-fields.tsx:752 +#: packages/ui/primitives/document-flow/add-fields.tsx:757 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." @@ -717,7 +790,7 @@ msgstr "Dieses Dokument ist durch ein Passwort geschützt. Bitte geben Sie das P 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/document-flow/add-fields.tsx:1084 +#: packages/ui/primitives/document-flow/add-fields.tsx:1090 msgid "This recipient can no longer be modified as they have signed a field, or completed the document." msgstr "Dieser Empfänger kann nicht mehr bearbeitet werden, da er ein Feld unterschrieben oder das Dokument abgeschlossen hat." @@ -738,8 +811,8 @@ msgstr "Zeitzone" msgid "Title" msgstr "Titel" -#: packages/ui/primitives/document-flow/add-fields.tsx:1067 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:828 +#: packages/ui/primitives/document-flow/add-fields.tsx:1073 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:834 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." @@ -781,6 +854,10 @@ msgstr "Betrachtet" msgid "Viewer" msgstr "Betrachter" +#: packages/lib/constants/recipient-roles.ts:65 +msgid "Viewers" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:28 msgid "Viewing" msgstr "Betrachten" diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index e5135d844..aab337fde 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -86,7 +86,7 @@ msgstr "{0} von {1} Dokumenten verbleibend in diesem Monat." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:165 msgid "{0} Recipient(s)" -msgstr "{0} Empfänger(in) / -n" +msgstr "{0} Empfänger(in)" #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:67 msgid "{0} the document to complete the process." @@ -117,6 +117,18 @@ msgstr "<0>\"{0}\" steht nicht mehr zur Unterschrift zur Verfügung" msgid "<0>Sender: All" msgstr "<0>Absender: Alle" +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5 +msgid "1 month" +msgstr "" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:8 +msgid "12 months" +msgstr "" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:6 +msgid "3 months" +msgstr "" + #: apps/web/src/components/partials/not-found.tsx:45 msgid "404 Page not found" msgstr "404 Seite nicht gefunden" @@ -133,14 +145,30 @@ msgstr "404 Team nicht gefunden" msgid "404 Template not found" msgstr "404 Vorlage nicht gefunden" +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:7 +msgid "6 months" +msgstr "" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:4 +msgid "7 days" +msgstr "" + #: apps/web/src/components/forms/send-confirmation-email.tsx:55 msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." msgstr "Eine Bestätigungs-E-Mail wurde gesendet, und sie sollte in Kürze in deinem Posteingang ankommen." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70 +msgid "A device capable of accessing, opening, and reading documents" +msgstr "" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" msgstr "Ein Entwurf wird erstellt" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73 +msgid "A means to print or download documents for your records" +msgstr "" + #: apps/web/src/components/forms/token.tsx:127 msgid "A new token was created successfully." msgstr "Ein neuer Token wurde erfolgreich erstellt." @@ -163,6 +191,10 @@ msgstr "Ein Geheimnis, das an deine URL gesendet wird, damit du überprüfen kan msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso." msgstr "Ein Geheimnis, das an deine URL gesendet wird, damit du überprüfen kannst, dass die Anfrage von Documenso gesendet wurde." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64 +msgid "A stable internet connection" +msgstr "" + #: apps/web/src/components/forms/public-profile-form.tsx:198 msgid "A unique URL to access your profile" msgstr "Eine eindeutige URL, um auf dein Profil zuzugreifen" @@ -180,6 +212,10 @@ msgstr "Eine Bestätigungs-E-Mail wird an die angegebene E-Mail-Adresse gesendet msgid "Accept" msgstr "Akzeptieren" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33 +msgid "Acceptance and Consent" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26 msgid "Accepted team invitation" msgstr "Team-Einladung akzeptiert" @@ -189,6 +225,10 @@ msgstr "Team-Einladung akzeptiert" msgid "Account deleted" msgstr "Konto gelöscht" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139 +msgid "Acknowledgment" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:121 @@ -295,6 +335,10 @@ msgstr "Admin-Aktionen" msgid "Admin panel" msgstr "Admin-Panel" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129 +msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time." +msgstr "" + #: apps/web/src/components/formatter/document-status.tsx:46 msgid "All" msgstr "Alle" @@ -307,6 +351,10 @@ msgstr "Alle Dokumente" msgid "All documents have been processed. Any new documents that are sent or received will show here." msgstr "Alle Dokumente wurden verarbeitet. Alle neuen Dokumente, die gesendet oder empfangen werden, werden hier angezeigt." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81 +msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145 msgid "All inserted signatures will be voided" msgstr "Alle eingefügten Unterschriften werden annulliert" @@ -335,6 +383,14 @@ msgstr "Hast du bereits ein Konto? <0>Stattdessen anmelden" msgid "Amount" msgstr "Betrag" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48 +msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper." +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67 +msgid "An email account" +msgstr "" + #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262 msgid "An email containing an invitation will be sent to each member." msgstr "Eine E-Mail mit einer Einladung wird an jedes Mitglied gesendet." @@ -407,6 +463,10 @@ msgstr "Ein Fehler ist aufgetreten, während das Dokument verschoben wurde." msgid "An error occurred while moving the template." msgstr "Ein Fehler ist aufgetreten, während die Vorlage verschoben wurde." +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116 +msgid "An error occurred while removing the field." +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152 #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137 @@ -434,6 +494,7 @@ msgstr "Beim Senden Ihrer Bestätigungs-E-Mail ist ein Fehler aufgetreten" #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 @@ -531,6 +592,10 @@ msgstr "App-Version" msgid "Approve" msgstr "Genehmigen" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:129 +msgid "Approve Document" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78 msgid "Approved" msgstr "Genehmigt" @@ -588,7 +653,7 @@ msgstr "Warte auf E-Mail-Bestätigung" msgid "Back" msgstr "Zurück" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:109 +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:164 msgid "Back to Documents" msgstr "Zurück zu Dokumenten" @@ -638,9 +703,22 @@ msgstr "Durch das Löschen dieses Dokuments wird Folgendes passieren:" msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in." msgstr "Durch die Aktivierung von 2FA müssen Sie jedes Mal, wenn Sie sich anmelden, einen Code aus Ihrer Authenticator-App eingeben." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142 +msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein." +msgstr "" + +#: apps/web/src/components/general/signing-disclosure.tsx:14 +msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions." +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92 +msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:108 +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120 #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198 @@ -654,6 +732,7 @@ msgstr "Durch die Aktivierung von 2FA müssen Sie jedes Mal, wenn Sie sich anmel #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/form.tsx: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]/sign-dialog.tsx:113 @@ -832,6 +911,14 @@ msgstr "E-Mail bestätigen" msgid "Confirmation email sent" msgstr "Bestätigungs-E-Mail gesendet" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89 +msgid "Consent to Electronic Transactions" +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151 +msgid "Contact Information" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189 msgid "Content" msgstr "Inhalt" @@ -978,7 +1065,7 @@ msgstr "Erstellt am {0}" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 msgid "Created on{0}" -msgstr ">>>>>>> 4ca18b99 (fix: refactor dates)" +msgstr "" #: apps/web/src/components/forms/password.tsx:107 msgid "Current Password" @@ -1013,6 +1100,10 @@ msgstr "Ablehnen" msgid "Declined team invitation" msgstr "Team-Einladung abgelehnt" +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90 +msgid "delete" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200 @@ -1031,6 +1122,15 @@ msgstr "Team-Einladung abgelehnt" msgid "Delete" msgstr "Löschen" +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54 +msgid "delete {0}" +msgstr "" + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50 +msgid "delete {teamName}" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137 msgid "Delete account" msgstr "Konto löschen" @@ -1378,6 +1478,14 @@ msgstr "Bearbeiten" msgid "Edit webhook" msgstr "Webhook bearbeiten" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78 +msgid "Electronic Delivery of Documents" +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17 +msgid "Electronic Signature Disclosure" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 @@ -1406,6 +1514,10 @@ msgstr "E-Mail-Adresse" msgid "Email Address" msgstr "E-Mail-Adresse" +#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80 +msgid "Email cannot already exist in the template" +msgstr "" + #: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36 msgid "Email Confirmed!" msgstr "E-Mail bestätigt!" @@ -1492,6 +1604,8 @@ msgstr "Geben Sie hier Ihren Text ein" #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149 @@ -1525,7 +1639,7 @@ msgstr "Abgelaufen" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 msgid "Expires on {0}" -msgstr ">>>>>>> 4ca18b99 (fix: refactor dates)" +msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107 msgid "Expires on{0}" @@ -1552,12 +1666,21 @@ msgstr "Felder" msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" msgstr "Die Datei darf nicht größer als {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB sein" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154 +msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:152 +#~ msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>support@documenso.com" +#~ msgstr "" + #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 msgid "Forgot your password?" msgstr "Haben Sie Ihr Passwort vergessen?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241 @@ -1661,6 +1784,10 @@ msgstr "Posteingang Dokumente" msgid "Information" msgstr "Information" +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132 +msgid "Initials" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 msgid "Inserted" msgstr "Eingefügt" @@ -1727,6 +1854,10 @@ msgstr "Eingeladen am" msgid "Invoice" msgstr "Rechnung" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118 +msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications." +msgstr "" + #: apps/web/src/app/(profile)/p/[url]/page.tsx:134 msgid "It looks like {0} hasn't added any documents to their profile yet." msgstr "Es sieht so aus, als ob {0} noch keine Dokumente zu ihrem Profil hinzugefügt hat." @@ -1788,6 +1919,10 @@ msgstr "Verlassen" msgid "Leave team" msgstr "Team verlassen" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45 +msgid "Legality of Electronic Signatures" +msgstr "" + #: apps/web/src/components/(dashboard)/common/command-menu.tsx:264 msgid "Light Mode" msgstr "Lichtmodus" @@ -1941,6 +2076,7 @@ msgstr "Monatlich aktive Benutzer: Benutzer, die mindestens ein Dokument erstell msgid "Monthly Active Users: Users that had at least one of their documents completed" msgstr "Monatlich aktive Benutzer: Benutzer, die mindestens eines ihrer Dokumente abgeschlossen haben" +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122 msgid "Move" msgstr "Verschieben" @@ -1958,6 +2094,7 @@ msgstr "Vorlage in Team verschieben" msgid "Move to Team" msgstr "In Team verschieben" +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122 msgid "Moving..." msgstr "Verschieben..." @@ -2129,6 +2266,8 @@ msgstr "Andernfalls wird das Dokument als Entwurf erstellt." #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86 #: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:86 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:109 msgid "Owner" msgstr "Besitzer" @@ -2299,6 +2438,10 @@ msgstr "Bitte geben Sie ein Token von der Authentifizierungs-App oder einen Back msgid "Please provide a token from your authenticator, or a backup code." msgstr "Bitte geben Sie ein Token von Ihrem Authentifizierer oder einen Backup-Code an." +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:169 +msgid "Please review the document before signing." +msgstr "" + #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." msgstr "Bitte versuchen Sie es erneut und stellen Sie sicher, dass Sie die korrekte E-Mail-Adresse eingeben." @@ -2381,6 +2524,10 @@ msgstr "Öffentliche Vorlagen sind mit Ihrem öffentlichen Profil verbunden. Än msgid "Read only field" msgstr "Nur-Lese-Feld" +#: apps/web/src/components/general/signing-disclosure.tsx:21 +msgid "Read the full <0>signature disclosure." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90 msgid "Ready" msgstr "Bereit" @@ -2508,6 +2655,10 @@ msgstr "Zahlung klären" msgid "Resolve payment" msgstr "Zahlung klären" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126 +msgid "Retention of Documents" +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168 msgid "Retry" msgstr "Wiederholen" @@ -2575,6 +2726,10 @@ msgstr "Nach Dokumenttitel suchen" msgid "Search by name or email" msgstr "Nach Name oder E-Mail suchen" +#: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42 +msgid "Search documents..." +msgstr "" + #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217 msgid "Secret" @@ -2714,6 +2869,10 @@ msgstr "Unterzeichnen als<0>{0} <1>({1})" msgid "Sign document" msgstr "Dokument unterschreiben" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:128 +msgid "Sign Document" +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59 msgid "Sign field" msgstr "Unterzeichnen-Feld" @@ -2763,6 +2922,7 @@ msgstr "Registrieren mit OIDC" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391 @@ -2939,6 +3099,10 @@ msgstr "Erfolg" msgid "Successfully created passkey" msgstr "Passkey erfolgreich erstellt" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 +msgid "System Requirements" +msgstr "" + #: apps/web/src/components/(dashboard)/common/command-menu.tsx:266 msgid "System Theme" msgstr "Systemthema" @@ -3115,6 +3279,10 @@ msgstr "Text" msgid "Text Color" msgstr "Textfarbe" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24 +msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." +msgstr "" + #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52 msgid "The account has been deleted successfully." msgstr "Das Konto wurde erfolgreich gelöscht." @@ -3143,471 +3311,479 @@ msgstr "Das Dokument wurde erstellt, konnte aber nicht an die Empfänger versend #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:161 msgid "The document will be hidden from your account" -msgstr "The document will be hidden from your account" +msgstr "" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316 msgid "The document will be immediately sent to recipients if this is checked." -msgstr "The document will be immediately sent to recipients if this is checked." +msgstr "" #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:175 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:179 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:203 msgid "The events that will trigger a webhook to be sent to your URL." -msgstr "The events that will trigger a webhook to be sent to your URL." +msgstr "" #: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114 msgid "The ownership of team <0>{0} has been successfully transferred to you." -msgstr "The ownership of team <0>{0} has been successfully transferred to you." +msgstr "" #: apps/web/src/components/partials/not-found.tsx:53 msgid "The page you are looking for was moved, removed, renamed or might never have existed." -msgstr "The page you are looking for was moved, removed, renamed or might never have existed." +msgstr "" #: apps/web/src/components/forms/public-profile-form.tsx:118 msgid "The profile link has been copied to your clipboard" -msgstr "The profile link has been copied to your clipboard" +msgstr "" #: apps/web/src/app/(profile)/p/[url]/not-found.tsx:23 msgid "The profile you are looking for could not be found." -msgstr "The profile you are looking for could not be found." +msgstr "" #: apps/web/src/components/templates/manage-public-template-dialog.tsx:380 msgid "The public description that will be displayed with this template" -msgstr "The public description that will be displayed with this template" +msgstr "" #: apps/web/src/components/templates/manage-public-template-dialog.tsx:358 msgid "The public name for your template" -msgstr "The public name for your template" +msgstr "" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:119 msgid "The recipient has been updated successfully" -msgstr "The recipient has been updated successfully" +msgstr "" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:267 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" +msgstr "" #: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:41 msgid "The signing link has been copied to your clipboard." -msgstr "The signing link has been copied to your clipboard." +msgstr "" #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:105 msgid "The site banner is a message that is shown at the top of the site. It can be used to display important information to your users." -msgstr "The site banner is a message that is shown at the top of the site. It can be used to display important information to your users." +msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:45 msgid "The team transfer invitation has been successfully deleted." -msgstr "The team transfer invitation has been successfully deleted." +msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:86 msgid "The team transfer request to <0>{0} has expired." -msgstr "The team transfer request to <0>{0} has expired." +msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:23 msgid "The team you are looking for may have been removed, renamed or may have never existed." -msgstr "The team you are looking for may have been removed, renamed or may have never existed." +msgstr "" #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:49 msgid "The template has been successfully moved to the selected team." -msgstr "The template has been successfully moved to the selected team." +msgstr "" #: apps/web/src/components/templates/manage-public-template-dialog.tsx:443 msgid "The template will be removed from your profile" -msgstr "The template will be removed from your profile" +msgstr "" #: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:23 msgid "The template you are looking for may have been disabled, deleted or may have never existed." -msgstr "The template you are looking for may have been disabled, deleted or may have never existed." +msgstr "" #: apps/web/src/components/forms/token.tsx:106 msgid "The token was copied to your clipboard." -msgstr "The token was copied to your clipboard." +msgstr "" #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:88 msgid "The token was deleted successfully." -msgstr "The token was deleted successfully." +msgstr "" #: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:24 msgid "The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link." -msgstr "The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link." +msgstr "" #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:124 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:128 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:152 msgid "The URL for Documenso to send webhook events to." -msgstr "The URL for Documenso to send webhook events to." +msgstr "" #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:79 msgid "The webhook has been successfully deleted." -msgstr "The webhook has been successfully deleted." +msgstr "" #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:75 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:81 msgid "The webhook has been updated successfully." -msgstr "The webhook has been updated successfully." +msgstr "" #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:93 msgid "The webhook was successfully created." -msgstr "The webhook was successfully created." +msgstr "" #: apps/web/src/app/(dashboard)/documents/empty-state.tsx:25 msgid "There are no active drafts at the current moment. You can upload a document to start drafting." -msgstr "There are no active drafts at the current moment. You can upload a document to start drafting." +msgstr "" #: apps/web/src/app/(dashboard)/documents/empty-state.tsx:20 msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." -msgstr "There are no completed documents yet. Documents that you have created or received will appear here once completed." +msgstr "" #: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:70 msgid "They have permission on your behalf to:" -msgstr "They have permission on your behalf to:" +msgstr "" #: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:110 #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:110 #: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:109 msgid "This action is not reversible. Please be certain." -msgstr "This action is not reversible. Please be certain." +msgstr "" #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:81 msgid "This document could not be deleted at this time. Please try again." -msgstr "This document could not be deleted at this time. Please try again." +msgstr "" #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:73 msgid "This document could not be duplicated at this time. Please try again." -msgstr "This document could not be duplicated at this time. Please try again." +msgstr "" #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:106 msgid "This document could not be re-sent at this time. Please try again." -msgstr "This document could not be re-sent at this time. Please try again." +msgstr "" #: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:180 msgid "This document has been cancelled by the owner and is no longer available for others to sign." -msgstr "This document has been cancelled by the owner and is no longer available for others to sign." +msgstr "" #: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:52 msgid "This document has been cancelled by the owner." -msgstr "This document has been cancelled by the owner." +msgstr "" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:219 msgid "This document has been signed by all recipients" -msgstr "This document has been signed by all recipients" +msgstr "" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:222 msgid "This document is currently a draft and has not been sent" -msgstr "This document is currently a draft and has not been sent" +msgstr "" #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93 msgid "This email is already being used by another team." -msgstr "This email is already being used by another team." +msgstr "" #: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:40 msgid "This link is invalid or has expired. Please contact your team to resend a transfer request." -msgstr "This link is invalid or has expired. Please contact your team to resend a transfer request." +msgstr "" #: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:37 msgid "This link is invalid or has expired. Please contact your team to resend a verification." -msgstr "This link is invalid or has expired. Please contact your team to resend a verification." +msgstr "" #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:208 msgid "This passkey has already been registered." -msgstr "This passkey has already been registered." +msgstr "" #: apps/web/src/components/forms/signin.tsx:200 msgid "This passkey is not configured for this application. Please login and add one in the user settings." -msgstr "This passkey is not configured for this application. Please login and add one in the user settings." +msgstr "" #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:148 msgid "This price includes minimum 5 seats." -msgstr "This price includes minimum 5 seats." +msgstr "" #: apps/web/src/components/forms/signin.tsx:202 msgid "This session has expired. Please try again." -msgstr "This session has expired. Please try again." +msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195 msgid "This team, and any associated data excluding billing invoices will be permanently deleted." -msgstr "This team, and any associated data excluding billing invoices will be permanently deleted." +msgstr "" #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:51 msgid "This template could not be deleted at this time. Please try again." -msgstr "This template could not be deleted at this time. Please try again." +msgstr "" #: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:43 msgid "This token is invalid or has expired. No action is needed." -msgstr "This token is invalid or has expired. No action is needed." +msgstr "" #: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:43 msgid "This token is invalid or has expired. Please contact your team for a new invitation." -msgstr "This token is invalid or has expired. Please contact your team for a new invitation." +msgstr "" #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98 #: apps/web/src/components/(teams)/forms/update-team-form.tsx:87 msgid "This URL is already in use." -msgstr "This URL is already in use." +msgstr "" #: apps/web/src/components/forms/v2/signup.tsx:145 msgid "This username has already been taken" -msgstr "This username has already been taken" +msgstr "" #: apps/web/src/components/forms/public-profile-claim-dialog.tsx:98 msgid "This username is already taken" -msgstr "This username is already taken" +msgstr "" #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:77 msgid "Time" -msgstr "Time" +msgstr "" #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:97 msgid "Time zone" -msgstr "Time zone" +msgstr "" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:60 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61 msgid "Title" -msgstr "Title" +msgstr "" #: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:106 msgid "To accept this invitation you must create an account." -msgstr "To accept this invitation you must create an account." +msgstr "" #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:125 msgid "To change the email you must remove and add a new email address." -msgstr "To change the email you must remove and add a new email address." +msgstr "" #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:117 msgid "To confirm, please enter the accounts email address <0/>({0})." -msgstr "To confirm, please enter the accounts email address <0/>({0})." +msgstr "" #: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:117 msgid "To confirm, please enter the reason" -msgstr "To confirm, please enter the reason" +msgstr "" #: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:101 msgid "To decline this invitation you must create an account." -msgstr "To decline this invitation you must create an account." +msgstr "" #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:197 msgid "To enable two-factor authentication, scan the following QR code using your authenticator app." -msgstr "To enable two-factor authentication, scan the following QR code using your authenticator app." +msgstr "" #: apps/web/src/app/(unauthenticated)/unverified-account/page.tsx:23 msgid "To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox." -msgstr "To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox." +msgstr "" #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:54 msgid "To mark this document as viewed, you need to be logged in as <0>{0}" -msgstr "To mark this document as viewed, you need to be logged in as <0>{0}" +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60 +msgid "To use our electronic signature service, you must have access to:" +msgstr "" #: apps/web/src/app/embed/authenticate.tsx:21 msgid "To view this document you need to be signed into your account, please sign in to continue." -msgstr "Um dieses Dokument anzuzeigen, müssen Sie in Ihr Konto eingeloggt sein. Bitte melden Sie sich an, um fortzufahren." +msgstr "" #: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:178 msgid "Toggle the switch to hide your profile from the public." -msgstr "Toggle the switch to hide your profile from the public." +msgstr "" #: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:190 msgid "Toggle the switch to show your profile to the public." -msgstr "Toggle the switch to show your profile to the public." +msgstr "" #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:236 msgid "Token" -msgstr "Token" +msgstr "" #: apps/web/src/components/forms/token.tsx:105 msgid "Token copied to clipboard" -msgstr "Token copied to clipboard" +msgstr "" #: apps/web/src/components/forms/token.tsx:126 msgid "Token created" -msgstr "Token created" +msgstr "" #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:87 msgid "Token deleted" -msgstr "Token deleted" +msgstr "" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:114 msgid "Token doesn't have an expiration date" -msgstr "Token doesn't have an expiration date" +msgstr "" #: apps/web/src/components/forms/token.tsx:193 msgid "Token expiration date" -msgstr "Token expiration date" +msgstr "" #: apps/web/src/components/forms/token.tsx:165 msgid "Token name" -msgstr "Token name" +msgstr "" #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:65 msgid "Total Documents" -msgstr "Total Documents" +msgstr "" #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:108 msgid "Total Recipients" -msgstr "Total Recipients" +msgstr "" #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:150 msgid "Total Signers that Signed Up" -msgstr "Total Signers that Signed Up" +msgstr "" #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:64 msgid "Total Users" -msgstr "Total Users" +msgstr "" + +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76 +msgid "transfer {teamName}" +msgstr "" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160 msgid "Transfer ownership of this team to a selected team member." -msgstr "Transfer ownership of this team to a selected team member." +msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156 msgid "Transfer team" -msgstr "Transfer team" +msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173 msgid "Transfer the ownership of the team to another team member." -msgstr "Transfer the ownership of the team to another team member." +msgstr "" #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:163 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:167 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:191 msgid "Triggers" -msgstr "Triggers" +msgstr "" #: apps/web/src/app/(dashboard)/settings/security/page.tsx:52 msgid "Two factor authentication" -msgstr "Two factor authentication" +msgstr "" #: apps/web/src/app/(dashboard)/settings/security/page.tsx:88 msgid "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app." -msgstr "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app." +msgstr "" #: apps/web/src/components/forms/signin.tsx:448 msgid "Two-Factor Authentication" -msgstr "Two-Factor Authentication" +msgstr "" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:90 msgid "Two-factor authentication disabled" -msgstr "Two-factor authentication disabled" +msgstr "" #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:94 msgid "Two-factor authentication enabled" -msgstr "Two-factor authentication enabled" +msgstr "" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:92 msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in." -msgstr "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in." +msgstr "" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:73 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:67 msgid "Type" -msgstr "Type" +msgstr "" #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:184 msgid "Type 'delete' to confirm" -msgstr "Type 'delete' to confirm" +msgstr "" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:186 msgid "Type a command or search..." -msgstr "Type a command or search..." +msgstr "" #: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 msgid "Uh oh! Looks like you're missing a token" -msgstr "Uh oh! Looks like you're missing a token" +msgstr "" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:303 msgid "Unable to change the language at this time. Please try again later." -msgstr "Derzeit kann die Sprache nicht geändert werden. Bitte versuchen Sie es später erneut." +msgstr "" #: apps/web/src/components/forms/2fa/recovery-code-list.tsx:31 msgid "Unable to copy recovery code" -msgstr "Unable to copy recovery code" +msgstr "" #: apps/web/src/components/forms/token.tsx:110 msgid "Unable to copy token" -msgstr "Unable to copy token" +msgstr "" #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:105 msgid "Unable to create direct template access. Please try again later." -msgstr "Unable to create direct template access. Please try again later." +msgstr "" #: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:33 msgid "Unable to decline this team invitation at this time." -msgstr "Unable to decline this team invitation at this time." +msgstr "" #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:86 msgid "Unable to delete invitation. Please try again." -msgstr "Unable to delete invitation. Please try again." +msgstr "" #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:94 msgid "Unable to delete team" -msgstr "Unable to delete team" +msgstr "" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:103 msgid "Unable to disable two-factor authentication" -msgstr "Unable to disable two-factor authentication" +msgstr "" #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:33 msgid "Unable to join this team at this time." -msgstr "Unable to join this team at this time." +msgstr "" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:72 #: apps/web/src/components/document/document-history-sheet.tsx:127 msgid "Unable to load document history" -msgstr "Unable to load document history" +msgstr "" #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111 msgid "Unable to load your public profile templates at this time" -msgstr "Unable to load your public profile templates at this time" +msgstr "" #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:84 msgid "Unable to remove email verification at this time. Please try again." -msgstr "Unable to remove email verification at this time. Please try again." +msgstr "" #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:65 msgid "Unable to remove team email at this time. Please try again." -msgstr "Unable to remove team email at this time. Please try again." +msgstr "" #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:69 msgid "Unable to resend invitation. Please try again." -msgstr "Unable to resend invitation. Please try again." +msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:40 msgid "Unable to resend verification at this time. Please try again." -msgstr "Unable to resend verification at this time. Please try again." +msgstr "" #: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:20 msgid "Unable to reset password" -msgstr "Unable to reset password" +msgstr "" #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:68 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:101 msgid "Unable to setup two-factor authentication" -msgstr "Unable to setup two-factor authentication" +msgstr "" #: apps/web/src/components/forms/signin.tsx:247 #: apps/web/src/components/forms/signin.tsx:255 msgid "Unable to sign in" -msgstr "Unable to sign in" +msgstr "" #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:166 #: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:27 msgid "Unauthorized" -msgstr "Unauthorized" +msgstr "" #: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:116 msgid "Uncompleted" -msgstr "Uncompleted" +msgstr "" #: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:23 msgid "Unknown error" -msgstr "Unknown error" +msgstr "" #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79 msgid "Unpaid" -msgstr "Unpaid" +msgstr "" #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:181 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:162 @@ -3616,35 +3792,35 @@ msgstr "Unpaid" #: apps/web/src/components/forms/public-profile-form.tsx:279 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:428 msgid "Update" -msgstr "Update" +msgstr "" #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:211 msgid "Update Banner" -msgstr "Update Banner" +msgstr "" #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:118 msgid "Update passkey" -msgstr "Update passkey" +msgstr "" #: apps/web/src/components/forms/password.tsx:152 msgid "Update password" -msgstr "Update password" +msgstr "" #: apps/web/src/components/forms/profile.tsx:150 msgid "Update profile" -msgstr "Update profile" +msgstr "" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:180 msgid "Update Recipient" -msgstr "Update Recipient" +msgstr "" #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:146 msgid "Update role" -msgstr "Update role" +msgstr "" #: apps/web/src/components/(teams)/forms/update-team-form.tsx:176 msgid "Update team" -msgstr "Update team" +msgstr "" #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:113 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:121 @@ -3673,6 +3849,10 @@ msgstr "Passwort wird aktualisiert..." msgid "Updating profile..." msgstr "Profil wird aktualisiert..." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115 +msgid "Updating Your Information" +msgstr "" + #: apps/web/src/components/forms/avatar-image.tsx:182 msgid "Upload Avatar" msgstr "Avatar hochladen" @@ -3784,6 +3964,10 @@ msgstr "Sehen Sie sich alle Sicherheitsaktivitäten in Ihrem Konto an." msgid "View Codes" msgstr "Codes ansehen" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:127 +msgid "View Document" +msgstr "" + #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" msgstr "Dokumente ansehen, die mit dieser E-Mail verknüpft sind" @@ -4061,6 +4245,10 @@ msgstr "Webhooks" msgid "Weekly" msgstr "Wöchentlich" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21 +msgid "Welcome" +msgstr "" + #: apps/web/src/app/(unauthenticated)/signin/page.tsx:33 msgid "Welcome back, we are lucky to have you." msgstr "Willkommen zurück, wir freuen uns, Sie zu haben." @@ -4073,6 +4261,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/(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 "" + #: apps/web/src/app/(profile)/p/[url]/page.tsx:139 msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away." msgstr "Während Sie darauf warten, können Sie Ihr eigenes Documenso-Konto erstellen und sofort mit der Dokumentenunterzeichnung beginnen." @@ -4081,6 +4273,10 @@ msgstr "Während Sie darauf warten, können Sie Ihr eigenes Documenso-Konto erst msgid "Who do you want to remind?" msgstr "Wen möchten Sie erinnern?" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101 +msgid "Withdrawing Consent" +msgstr "" + #: apps/web/src/components/forms/public-profile-form.tsx:223 msgid "Write about the team" msgstr "Schreiben Sie über das Team" @@ -4249,6 +4445,14 @@ msgstr "Sie haben diesen Benutzer erfolgreich aus dem Team entfernt." msgid "You have successfully revoked access." msgstr "Sie haben den Zugriff erfolgreich widerrufen." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104 +msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:102 +#~ msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>support@documenso.com for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." +#~ msgstr "" + #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." msgstr "Sie haben {teamMemberName} aktualisiert." diff --git a/packages/lib/translations/en/common.po b/packages/lib/translations/en/common.po index f5e621d35..e2ec7c7c2 100644 --- a/packages/lib/translations/en/common.po +++ b/packages/lib/translations/en/common.po @@ -110,8 +110,8 @@ msgstr "Admin" msgid "Advanced Options" msgstr "Advanced Options" -#: packages/ui/primitives/document-flow/add-fields.tsx:570 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:402 +#: packages/ui/primitives/document-flow/add-fields.tsx:573 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:406 msgid "Advanced settings" msgstr "Advanced settings" @@ -119,6 +119,10 @@ msgstr "Advanced settings" msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." msgstr "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." +#: packages/ui/primitives/pdf-viewer.tsx:167 +msgid "An error occurred while loading the document." +msgstr "An error occurred while loading the document." + #: packages/lib/constants/recipient-roles.ts:8 msgid "Approve" msgstr "Approve" @@ -131,6 +135,10 @@ msgstr "Approved" msgid "Approver" msgstr "Approver" +#: packages/lib/constants/recipient-roles.ts:44 +msgid "Approvers" +msgstr "Approvers" + #: packages/lib/constants/recipient-roles.ts:10 msgid "Approving" msgstr "Approving" @@ -165,14 +173,17 @@ msgstr "CC" msgid "CC'd" msgstr "CC'd" +#: packages/lib/constants/recipient-roles.ts:51 +msgid "Ccers" +msgstr "Ccers" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 msgid "Character Limit" msgstr "Character Limit" -#: packages/ui/primitives/document-flow/add-fields.tsx:1026 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:788 -msgid "Checkbox" -msgstr "Checkbox" +#: packages/ui/primitives/template-flow/add-template-fields.tsx:794 +#~ msgid "Checkbox" +#~ msgstr "Checkbox" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197 msgid "Checkbox values" @@ -198,8 +209,8 @@ msgstr "Close" msgid "Configure Direct Recipient" msgstr "Configure Direct Recipient" -#: packages/ui/primitives/document-flow/add-fields.tsx:571 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:403 +#: packages/ui/primitives/document-flow/add-fields.tsx:574 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:407 msgid "Configure the {0} field" msgstr "Configure the {0} field" @@ -211,12 +222,17 @@ msgstr "Continue" msgid "Copied to clipboard" msgstr "Copied to clipboard" +#: packages/ui/components/document/document-share-button.tsx:194 +msgid "Copy Link" +msgstr "Copy Link" + #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" msgstr "Custom Text" -#: packages/ui/primitives/document-flow/add-fields.tsx:922 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:684 +#: packages/ui/primitives/document-flow/add-fields.tsx:927 +#: packages/ui/primitives/document-flow/types.ts:53 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:690 msgid "Date" msgstr "Date" @@ -247,8 +263,8 @@ msgstr "Download" msgid "Drag & drop your PDF here." msgstr "Drag & drop your PDF here." -#: packages/ui/primitives/document-flow/add-fields.tsx:1052 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:814 +#: packages/ui/primitives/document-flow/add-fields.tsx:1058 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:820 msgid "Dropdown" msgstr "Dropdown" @@ -256,20 +272,26 @@ msgstr "Dropdown" msgid "Dropdown options" msgstr "Dropdown options" -#: packages/ui/primitives/document-flow/add-fields.tsx:870 +#: packages/ui/primitives/document-flow/add-fields.tsx:875 #: packages/ui/primitives/document-flow/add-signature.tsx:272 #: packages/ui/primitives/document-flow/add-signers.tsx:500 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:632 +#: packages/ui/primitives/document-flow/add-signers.tsx:507 +#: 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 msgid "Email" msgstr "Email" +#: packages/ui/primitives/document-flow/add-signature.types.ts:7 +msgid "Email is required" +msgstr "Email is required" + #: packages/ui/primitives/template-flow/add-template-settings.tsx:184 msgid "Email Options" msgstr "Email Options" -#: packages/ui/primitives/document-flow/add-fields.tsx:1117 +#: packages/ui/primitives/document-flow/add-fields.tsx:1123 msgid "Empty field" msgstr "Empty field" @@ -282,7 +304,7 @@ msgstr "Enable Direct Link Signing" msgid "Enable signing order" msgstr "Enable signing order" -#: packages/ui/primitives/document-flow/add-fields.tsx:790 +#: packages/ui/primitives/document-flow/add-fields.tsx:795 msgid "Enable Typed Signatures" msgstr "Enable Typed Signatures" @@ -291,6 +313,7 @@ msgid "Enter password" msgstr "Enter password" #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:257 +#: packages/ui/primitives/pdf-viewer.tsx:166 msgid "Error" msgstr "Error" @@ -337,6 +360,10 @@ msgstr "Field placeholder" msgid "Font Size" msgstr "Font Size" +#: packages/ui/primitives/document-flow/types.ts:50 +msgid "Free Signature" +msgstr "Free Signature" + #: packages/ui/components/document/document-global-auth-action-select.tsx:64 msgid "Global recipient action authentication" msgstr "Global recipient action authentication" @@ -349,19 +376,19 @@ msgstr "Go Back" msgid "Green" msgstr "Green" -#: packages/lib/constants/recipient-roles.ts:72 +#: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" msgstr "I am a signer of this document" -#: packages/lib/constants/recipient-roles.ts:75 +#: packages/lib/constants/recipient-roles.ts:79 msgid "I am a viewer of this document" msgstr "I am a viewer of this document" -#: packages/lib/constants/recipient-roles.ts:73 +#: packages/lib/constants/recipient-roles.ts:77 msgid "I am an approver of this document" msgstr "I am an approver of this document" -#: packages/lib/constants/recipient-roles.ts:74 +#: packages/lib/constants/recipient-roles.ts:78 msgid "I am required to receive a copy of this document" msgstr "I am required to receive a copy of this document" @@ -370,12 +397,29 @@ msgstr "I am required to receive a copy of this document" msgid "Inherit authentication method" msgstr "Inherit authentication method" +#: packages/ui/primitives/document-flow/types.ts:51 +msgid "Initials" +msgstr "Initials" + +#: packages/ui/primitives/document-flow/add-signers.types.ts:17 +msgid "Invalid email" +msgstr "Invalid email" + +#: packages/ui/primitives/document-flow/add-signature.types.ts:8 +msgid "Invalid email address" +msgstr "Invalid email address" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 msgid "Label" msgstr "Label" +#: packages/ui/primitives/lazy-pdf-viewer.tsx:15 +#: packages/ui/primitives/pdf-viewer.tsx:44 +msgid "Loading document..." +msgstr "Loading document..." + #: packages/lib/constants/teams.ts:11 msgid "Manager" msgstr "Manager" @@ -397,11 +441,12 @@ msgstr "Message <0>(Optional)" msgid "Min" msgstr "Min" -#: packages/ui/primitives/document-flow/add-fields.tsx:896 +#: packages/ui/primitives/document-flow/add-fields.tsx:901 #: 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/template-flow/add-template-fields.tsx:658 +#: 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 msgid "Name" @@ -419,13 +464,13 @@ msgstr "Needs to sign" msgid "Needs to view" msgstr "Needs to view" -#: packages/ui/primitives/document-flow/add-fields.tsx:680 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:497 +#: packages/ui/primitives/document-flow/add-fields.tsx:686 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:504 msgid "No recipient matching this description was found." msgstr "No recipient matching this description was found." -#: packages/ui/primitives/document-flow/add-fields.tsx:696 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:513 +#: packages/ui/primitives/document-flow/add-fields.tsx:701 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:519 msgid "No recipients with this role" msgstr "No recipients with this role" @@ -449,8 +494,9 @@ msgstr "No signature field found" msgid "No value found." msgstr "No value found." -#: packages/ui/primitives/document-flow/add-fields.tsx:974 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:736 +#: packages/ui/primitives/document-flow/add-fields.tsx:979 +#: packages/ui/primitives/document-flow/types.ts:56 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:742 msgid "Number" msgstr "Number" @@ -470,6 +516,10 @@ msgstr "Once your template is set up, share the link anywhere you want. The pers msgid "Page {0} of {1}" msgstr "Page {0} of {1}" +#: packages/ui/primitives/pdf-viewer.tsx:259 +msgid "Page {0} of {numPages}" +msgstr "Page {0} of {numPages}" + #: packages/ui/primitives/document-password-dialog.tsx:62 msgid "Password Required" msgstr "Password Required" @@ -484,8 +534,12 @@ msgstr "Pick a number" msgid "Placeholder" msgstr "Placeholder" -#: packages/ui/primitives/document-flow/add-fields.tsx:1000 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:762 +#: packages/ui/primitives/pdf-viewer.tsx:223 +#: packages/ui/primitives/pdf-viewer.tsx:238 +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 msgid "Radio" msgstr "Radio" @@ -520,7 +574,7 @@ msgstr "Red" msgid "Redirect URL" msgstr "Redirect URL" -#: packages/ui/primitives/document-flow/add-fields.tsx:1104 +#: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" msgstr "Remove" @@ -532,6 +586,10 @@ msgstr "Remove" msgid "Required field" msgstr "Required field" +#: packages/ui/components/document/document-share-button.tsx:147 +msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" +msgstr "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" + #: packages/ui/primitives/data-table-pagination.tsx:55 msgid "Rows per page" msgstr "Rows per page" @@ -540,7 +598,7 @@ msgstr "Rows per page" msgid "Save" msgstr "Save" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:848 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:854 msgid "Save Template" msgstr "Save Template" @@ -582,6 +640,10 @@ msgstr "Share Signature Card" msgid "Share the Link" msgstr "Share the Link" +#: packages/ui/components/document/document-share-button.tsx:143 +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 msgid "Show advanced settings" @@ -591,10 +653,11 @@ msgstr "Show advanced settings" msgid "Sign" msgstr "Sign" -#: packages/ui/primitives/document-flow/add-fields.tsx:818 +#: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:580 +#: packages/ui/primitives/document-flow/types.ts:49 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:586 msgid "Signature" msgstr "Signature" @@ -606,6 +669,14 @@ msgstr "Signed" msgid "Signer" msgstr "Signer" +#: packages/lib/constants/recipient-roles.ts:58 +msgid "Signers" +msgstr "Signers" + +#: packages/ui/primitives/document-flow/add-signers.types.ts:36 +msgid "Signers must have unique emails" +msgstr "Signers must have unique emails" + #: packages/lib/constants/recipient-roles.ts:22 msgid "Signing" msgstr "Signing" @@ -618,6 +689,11 @@ msgstr "Some signers have not been assigned a signature field. Please assign at msgid "Something went wrong" msgstr "Something went wrong" +#: packages/ui/primitives/pdf-viewer.tsx:220 +#: packages/ui/primitives/pdf-viewer.tsx:235 +msgid "Something went wrong while loading the document." +msgstr "Something went wrong while loading the document." + #: packages/ui/primitives/data-table.tsx:136 msgid "Something went wrong." msgstr "Something went wrong." @@ -639,8 +715,9 @@ msgstr "Submit" msgid "Template title" msgstr "Template title" -#: packages/ui/primitives/document-flow/add-fields.tsx:948 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:710 +#: packages/ui/primitives/document-flow/add-fields.tsx:953 +#: packages/ui/primitives/document-flow/types.ts:52 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:716 msgid "Text" msgstr "Text" @@ -700,7 +777,7 @@ msgstr "The signer's name" msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." msgstr "This can be overriden by setting the authentication requirements directly on each recipient in the next step." -#: packages/ui/primitives/document-flow/add-fields.tsx:752 +#: packages/ui/primitives/document-flow/add-fields.tsx:757 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." @@ -712,7 +789,7 @@ msgstr "This document is password protected. Please enter the password to view t msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." msgstr "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." -#: packages/ui/primitives/document-flow/add-fields.tsx:1084 +#: packages/ui/primitives/document-flow/add-fields.tsx:1090 msgid "This recipient can no longer be modified as they have signed a field, or completed the document." msgstr "This recipient can no longer be modified as they have signed a field, or completed the document." @@ -733,8 +810,8 @@ msgstr "Time Zone" msgid "Title" msgstr "Title" -#: packages/ui/primitives/document-flow/add-fields.tsx:1067 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:828 +#: packages/ui/primitives/document-flow/add-fields.tsx:1073 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:834 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." @@ -776,6 +853,10 @@ msgstr "Viewed" msgid "Viewer" msgstr "Viewer" +#: packages/lib/constants/recipient-roles.ts:65 +msgid "Viewers" +msgstr "Viewers" + #: packages/lib/constants/recipient-roles.ts:28 msgid "Viewing" msgstr "Viewing" diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index 265235238..23f7bef13 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -112,6 +112,18 @@ msgstr "<0>\"{0}\"is no longer available to sign" msgid "<0>Sender: All" msgstr "<0>Sender: All" +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5 +msgid "1 month" +msgstr "1 month" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:8 +msgid "12 months" +msgstr "12 months" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:6 +msgid "3 months" +msgstr "3 months" + #: apps/web/src/components/partials/not-found.tsx:45 msgid "404 Page not found" msgstr "404 Page not found" @@ -128,14 +140,30 @@ msgstr "404 Team not found" msgid "404 Template not found" msgstr "404 Template not found" +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:7 +msgid "6 months" +msgstr "6 months" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:4 +msgid "7 days" +msgstr "7 days" + #: apps/web/src/components/forms/send-confirmation-email.tsx:55 msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." msgstr "A confirmation email has been sent, and it should arrive in your inbox shortly." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70 +msgid "A device capable of accessing, opening, and reading documents" +msgstr "A device capable of accessing, opening, and reading documents" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" msgstr "A draft document will be created" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73 +msgid "A means to print or download documents for your records" +msgstr "A means to print or download documents for your records" + #: apps/web/src/components/forms/token.tsx:127 msgid "A new token was created successfully." msgstr "A new token was created successfully." @@ -158,6 +186,10 @@ msgstr "A secret that will be sent to your URL so you can verify that the reques msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso." msgstr "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64 +msgid "A stable internet connection" +msgstr "A stable internet connection" + #: apps/web/src/components/forms/public-profile-form.tsx:198 msgid "A unique URL to access your profile" msgstr "A unique URL to access your profile" @@ -175,6 +207,10 @@ msgstr "A verification email will be sent to the provided email." msgid "Accept" msgstr "Accept" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33 +msgid "Acceptance and Consent" +msgstr "Acceptance and Consent" + #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26 msgid "Accepted team invitation" msgstr "Accepted team invitation" @@ -184,6 +220,10 @@ msgstr "Accepted team invitation" msgid "Account deleted" msgstr "Account deleted" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139 +msgid "Acknowledgment" +msgstr "Acknowledgment" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:121 @@ -290,6 +330,10 @@ msgstr "Admin Actions" msgid "Admin panel" msgstr "Admin panel" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129 +msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time." +msgstr "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time." + #: apps/web/src/components/formatter/document-status.tsx:46 msgid "All" msgstr "All" @@ -302,6 +346,10 @@ msgstr "All documents" msgid "All documents have been processed. Any new documents that are sent or received will show here." msgstr "All documents have been processed. Any new documents that are sent or received will show here." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81 +msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." +msgstr "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." + #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145 msgid "All inserted signatures will be voided" msgstr "All inserted signatures will be voided" @@ -330,6 +378,14 @@ msgstr "Already have an account? <0>Sign in instead" msgid "Amount" msgstr "Amount" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48 +msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper." +msgstr "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67 +msgid "An email account" +msgstr "An email account" + #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262 msgid "An email containing an invitation will be sent to each member." msgstr "An email containing an invitation will be sent to each member." @@ -402,6 +458,10 @@ msgstr "An error occurred while moving the document." msgid "An error occurred while moving the template." msgstr "An error occurred while moving the template." +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116 +msgid "An error occurred while removing the field." +msgstr "An error occurred while removing the field." + #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152 #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137 @@ -429,6 +489,7 @@ msgstr "An error occurred while sending your confirmation email" #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 @@ -526,6 +587,10 @@ msgstr "App Version" msgid "Approve" msgstr "Approve" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:129 +msgid "Approve Document" +msgstr "Approve Document" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78 msgid "Approved" msgstr "Approved" @@ -583,7 +648,7 @@ msgstr "Awaiting email confirmation" msgid "Back" msgstr "Back" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:109 +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:164 msgid "Back to Documents" msgstr "Back to Documents" @@ -633,9 +698,22 @@ msgstr "By deleting this document, the following will occur:" msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in." msgstr "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142 +msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein." +msgstr "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein." + +#: apps/web/src/components/general/signing-disclosure.tsx:14 +msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions." +msgstr "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92 +msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing." +msgstr "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing." + #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:108 +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120 #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198 @@ -649,6 +727,7 @@ msgstr "By enabling 2FA, you will be required to enter a code from your authenti #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/form.tsx: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]/sign-dialog.tsx:113 @@ -827,6 +906,14 @@ msgstr "Confirm email" msgid "Confirmation email sent" msgstr "Confirmation email sent" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89 +msgid "Consent to Electronic Transactions" +msgstr "Consent to Electronic Transactions" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151 +msgid "Contact Information" +msgstr "Contact Information" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189 msgid "Content" msgstr "Content" @@ -1008,6 +1095,10 @@ msgstr "Decline" msgid "Declined team invitation" msgstr "Declined team invitation" +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90 +msgid "delete" +msgstr "delete" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200 @@ -1026,6 +1117,15 @@ msgstr "Declined team invitation" msgid "Delete" msgstr "Delete" +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54 +msgid "delete {0}" +msgstr "delete {0}" + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50 +msgid "delete {teamName}" +msgstr "delete {teamName}" + #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137 msgid "Delete account" msgstr "Delete account" @@ -1373,6 +1473,14 @@ msgstr "Edit" msgid "Edit webhook" msgstr "Edit webhook" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78 +msgid "Electronic Delivery of Documents" +msgstr "Electronic Delivery of Documents" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17 +msgid "Electronic Signature Disclosure" +msgstr "Electronic Signature Disclosure" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 @@ -1401,6 +1509,10 @@ msgstr "Email address" msgid "Email Address" msgstr "Email Address" +#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80 +msgid "Email cannot already exist in the template" +msgstr "Email cannot already exist in the template" + #: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36 msgid "Email Confirmed!" msgstr "Email Confirmed!" @@ -1487,6 +1599,8 @@ msgstr "Enter your text here" #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149 @@ -1547,12 +1661,21 @@ msgstr "Fields" msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" msgstr "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154 +msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" +msgstr "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:152 +#~ msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>support@documenso.com" +#~ msgstr "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>support@documenso.com" + #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 msgid "Forgot your password?" msgstr "Forgot your password?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241 @@ -1656,6 +1779,10 @@ msgstr "Inbox documents" msgid "Information" msgstr "Information" +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132 +msgid "Initials" +msgstr "Initials" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 msgid "Inserted" msgstr "Inserted" @@ -1722,6 +1849,10 @@ msgstr "Invited At" msgid "Invoice" msgstr "Invoice" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118 +msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications." +msgstr "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications." + #: apps/web/src/app/(profile)/p/[url]/page.tsx:134 msgid "It looks like {0} hasn't added any documents to their profile yet." msgstr "It looks like {0} hasn't added any documents to their profile yet." @@ -1783,6 +1914,10 @@ msgstr "Leave" msgid "Leave team" msgstr "Leave team" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45 +msgid "Legality of Electronic Signatures" +msgstr "Legality of Electronic Signatures" + #: apps/web/src/components/(dashboard)/common/command-menu.tsx:264 msgid "Light Mode" msgstr "Light Mode" @@ -1936,6 +2071,7 @@ msgstr "Monthly Active Users: Users that created at least one Document" msgid "Monthly Active Users: Users that had at least one of their documents completed" msgstr "Monthly Active Users: Users that had at least one of their documents completed" +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122 msgid "Move" msgstr "Move" @@ -1953,6 +2089,7 @@ msgstr "Move Template to Team" msgid "Move to Team" msgstr "Move to Team" +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122 msgid "Moving..." msgstr "Moving..." @@ -2124,6 +2261,8 @@ msgstr "Otherwise, the document will be created as a draft." #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86 #: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:86 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:109 msgid "Owner" msgstr "Owner" @@ -2294,6 +2433,10 @@ msgstr "Please provide a token from the authenticator, or a backup code. If you msgid "Please provide a token from your authenticator, or a backup code." msgstr "Please provide a token from your authenticator, or a backup code." +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:169 +msgid "Please review the document before signing." +msgstr "Please review the document before signing." + #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." msgstr "Please try again and make sure you enter the correct email address." @@ -2376,6 +2519,10 @@ msgstr "Public templates are connected to your public profile. Any modifications msgid "Read only field" msgstr "Read only field" +#: apps/web/src/components/general/signing-disclosure.tsx:21 +msgid "Read the full <0>signature disclosure." +msgstr "Read the full <0>signature disclosure." + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90 msgid "Ready" msgstr "Ready" @@ -2503,6 +2650,10 @@ msgstr "Resolve" msgid "Resolve payment" msgstr "Resolve payment" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126 +msgid "Retention of Documents" +msgstr "Retention of Documents" + #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168 msgid "Retry" msgstr "Retry" @@ -2570,6 +2721,10 @@ msgstr "Search by document title" msgid "Search by name or email" msgstr "Search by name or email" +#: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42 +msgid "Search documents..." +msgstr "Search documents..." + #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217 msgid "Secret" @@ -2709,6 +2864,10 @@ msgstr "Sign as<0>{0} <1>({1})" msgid "Sign document" msgstr "Sign document" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:128 +msgid "Sign Document" +msgstr "Sign Document" + #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59 msgid "Sign field" msgstr "Sign field" @@ -2758,6 +2917,7 @@ msgstr "Sign Up with OIDC" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391 @@ -2934,6 +3094,10 @@ msgstr "Success" msgid "Successfully created passkey" msgstr "Successfully created passkey" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 +msgid "System Requirements" +msgstr "System Requirements" + #: apps/web/src/components/(dashboard)/common/command-menu.tsx:266 msgid "System Theme" msgstr "System Theme" @@ -3110,6 +3274,10 @@ msgstr "Text" msgid "Text Color" msgstr "Text Color" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24 +msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." +msgstr "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." + #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52 msgid "The account has been deleted successfully." msgstr "The account has been deleted successfully." @@ -3394,6 +3562,10 @@ msgstr "To gain access to your account, please confirm your email address by cli msgid "To mark this document as viewed, you need to be logged in as <0>{0}" msgstr "To mark this document as viewed, you need to be logged in as <0>{0}" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60 +msgid "To use our electronic signature service, you must have access to:" +msgstr "To use our electronic signature service, you must have access to:" + #: apps/web/src/app/embed/authenticate.tsx:21 msgid "To view this document you need to be signed into your account, please sign in to continue." msgstr "To view this document you need to be signed into your account, please sign in to continue." @@ -3451,6 +3623,10 @@ msgstr "Total Signers that Signed Up" msgid "Total Users" msgstr "Total Users" +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76 +msgid "transfer {teamName}" +msgstr "transfer {teamName}" + #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160 msgid "Transfer ownership of this team to a selected team member." msgstr "Transfer ownership of this team to a selected team member." @@ -3668,6 +3844,10 @@ msgstr "Updating password..." msgid "Updating profile..." msgstr "Updating profile..." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115 +msgid "Updating Your Information" +msgstr "Updating Your Information" + #: apps/web/src/components/forms/avatar-image.tsx:182 msgid "Upload Avatar" msgstr "Upload Avatar" @@ -3779,6 +3959,10 @@ msgstr "View all security activity related to your account." msgid "View Codes" msgstr "View Codes" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:127 +msgid "View Document" +msgstr "View Document" + #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" msgstr "View documents associated with this email" @@ -4056,6 +4240,10 @@ msgstr "Webhooks" msgid "Weekly" msgstr "Weekly" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21 +msgid "Welcome" +msgstr "Welcome" + #: apps/web/src/app/(unauthenticated)/signin/page.tsx:33 msgid "Welcome back, we are lucky to have you." msgstr "Welcome back, we are lucky to have you." @@ -4068,6 +4256,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/(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." + #: apps/web/src/app/(profile)/p/[url]/page.tsx:139 msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away." msgstr "While waiting for them to do so you can create your own Documenso account and get started with document signing right away." @@ -4076,6 +4268,10 @@ msgstr "While waiting for them to do so you can create your own Documenso accoun msgid "Who do you want to remind?" msgstr "Who do you want to remind?" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101 +msgid "Withdrawing Consent" +msgstr "Withdrawing Consent" + #: apps/web/src/components/forms/public-profile-form.tsx:223 msgid "Write about the team" msgstr "Write about the team" @@ -4244,6 +4440,14 @@ msgstr "You have successfully removed this user from the team." msgid "You have successfully revoked access." msgstr "You have successfully revoked access." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104 +msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." +msgstr "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:102 +#~ msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>support@documenso.com for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." +#~ msgstr "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>support@documenso.com for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." + #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." msgstr "You have updated {teamMemberName}." diff --git a/packages/lib/translations/es/common.po b/packages/lib/translations/es/common.po index ec1f27b97..8b6ff9230 100644 --- a/packages/lib/translations/es/common.po +++ b/packages/lib/translations/es/common.po @@ -115,8 +115,8 @@ msgstr "Admin" msgid "Advanced Options" msgstr "Opciones avanzadas" -#: packages/ui/primitives/document-flow/add-fields.tsx:570 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:402 +#: packages/ui/primitives/document-flow/add-fields.tsx:573 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:406 msgid "Advanced settings" msgstr "Configuraciones avanzadas" @@ -124,6 +124,10 @@ msgstr "Configuraciones avanzadas" msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." msgstr "Después de la presentación, se generará automáticamente un documento y se agregará a su página de documentos. También recibirá una notificación por correo electrónico." +#: packages/ui/primitives/pdf-viewer.tsx:167 +msgid "An error occurred while loading the document." +msgstr "" + #: packages/lib/constants/recipient-roles.ts:8 msgid "Approve" msgstr "Aprobar" @@ -136,6 +140,10 @@ msgstr "Aprobado" msgid "Approver" msgstr "Aprobador" +#: packages/lib/constants/recipient-roles.ts:44 +msgid "Approvers" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:10 msgid "Approving" msgstr "Aprobando" @@ -170,14 +178,17 @@ msgstr "CC" msgid "CC'd" msgstr "CC'd" +#: packages/lib/constants/recipient-roles.ts:51 +msgid "Ccers" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 msgid "Character Limit" msgstr "Límite de caracteres" -#: packages/ui/primitives/document-flow/add-fields.tsx:1026 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:788 -msgid "Checkbox" -msgstr "Caja de verificación" +#: packages/ui/primitives/template-flow/add-template-fields.tsx:794 +#~ msgid "Checkbox" +#~ msgstr "Caja de verificación" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197 msgid "Checkbox values" @@ -203,8 +214,8 @@ msgstr "Cerrar" msgid "Configure Direct Recipient" msgstr "Configurar destinatario directo" -#: packages/ui/primitives/document-flow/add-fields.tsx:571 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:403 +#: packages/ui/primitives/document-flow/add-fields.tsx:574 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:407 msgid "Configure the {0} field" msgstr "Configurar el campo {0}" @@ -216,12 +227,17 @@ msgstr "Continuar" msgid "Copied to clipboard" msgstr "Copiado al portapapeles" +#: packages/ui/components/document/document-share-button.tsx:194 +msgid "Copy Link" +msgstr "" + #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" msgstr "Texto personalizado" -#: packages/ui/primitives/document-flow/add-fields.tsx:922 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:684 +#: packages/ui/primitives/document-flow/add-fields.tsx:927 +#: packages/ui/primitives/document-flow/types.ts:53 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:690 msgid "Date" msgstr "Fecha" @@ -252,8 +268,8 @@ msgstr "Descargar" msgid "Drag & drop your PDF here." msgstr "Arrastre y suelte su PDF aquí." -#: packages/ui/primitives/document-flow/add-fields.tsx:1052 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:814 +#: packages/ui/primitives/document-flow/add-fields.tsx:1058 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:820 msgid "Dropdown" msgstr "Menú desplegable" @@ -261,20 +277,26 @@ msgstr "Menú desplegable" msgid "Dropdown options" msgstr "Opciones de menú desplegable" -#: packages/ui/primitives/document-flow/add-fields.tsx:870 +#: packages/ui/primitives/document-flow/add-fields.tsx:875 #: packages/ui/primitives/document-flow/add-signature.tsx:272 #: packages/ui/primitives/document-flow/add-signers.tsx:500 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:632 +#: packages/ui/primitives/document-flow/add-signers.tsx:507 +#: 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 msgid "Email" msgstr "Correo electrónico" +#: packages/ui/primitives/document-flow/add-signature.types.ts:7 +msgid "Email is required" +msgstr "" + #: packages/ui/primitives/template-flow/add-template-settings.tsx:184 msgid "Email Options" msgstr "Opciones de correo electrónico" -#: packages/ui/primitives/document-flow/add-fields.tsx:1117 +#: packages/ui/primitives/document-flow/add-fields.tsx:1123 msgid "Empty field" msgstr "Campo vacío" @@ -287,7 +309,7 @@ msgstr "Habilitar firma de enlace directo" msgid "Enable signing order" msgstr "Habilitar orden de firma" -#: packages/ui/primitives/document-flow/add-fields.tsx:790 +#: packages/ui/primitives/document-flow/add-fields.tsx:795 msgid "Enable Typed Signatures" msgstr "Habilitar firmas escritas" @@ -296,6 +318,7 @@ msgid "Enter password" msgstr "Ingrese la contraseña" #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:257 +#: packages/ui/primitives/pdf-viewer.tsx:166 msgid "Error" msgstr "Error" @@ -342,6 +365,10 @@ msgstr "Marcador de posición de campo" msgid "Font Size" msgstr "Tamaño de fuente" +#: packages/ui/primitives/document-flow/types.ts:50 +msgid "Free Signature" +msgstr "" + #: packages/ui/components/document/document-global-auth-action-select.tsx:64 msgid "Global recipient action authentication" msgstr "Autenticación de acción de destinatario global" @@ -354,19 +381,19 @@ msgstr "Regresar" msgid "Green" msgstr "Verde" -#: packages/lib/constants/recipient-roles.ts:72 +#: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" msgstr "Soy un firmante de este documento" -#: packages/lib/constants/recipient-roles.ts:75 +#: packages/lib/constants/recipient-roles.ts:79 msgid "I am a viewer of this document" msgstr "Soy un visualizador de este documento" -#: packages/lib/constants/recipient-roles.ts:73 +#: packages/lib/constants/recipient-roles.ts:77 msgid "I am an approver of this document" msgstr "Soy un aprobador de este documento" -#: packages/lib/constants/recipient-roles.ts:74 +#: packages/lib/constants/recipient-roles.ts:78 msgid "I am required to receive a copy of this document" msgstr "Se me requiere recibir una copia de este documento" @@ -375,12 +402,29 @@ msgstr "Se me requiere recibir una copia de este documento" msgid "Inherit authentication method" msgstr "Heredar método de autenticación" +#: packages/ui/primitives/document-flow/types.ts:51 +msgid "Initials" +msgstr "" + +#: packages/ui/primitives/document-flow/add-signers.types.ts:17 +msgid "Invalid email" +msgstr "" + +#: packages/ui/primitives/document-flow/add-signature.types.ts:8 +msgid "Invalid email address" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 msgid "Label" msgstr "Etiqueta" +#: packages/ui/primitives/lazy-pdf-viewer.tsx:15 +#: packages/ui/primitives/pdf-viewer.tsx:44 +msgid "Loading document..." +msgstr "" + #: packages/lib/constants/teams.ts:11 msgid "Manager" msgstr "Gerente" @@ -402,11 +446,12 @@ msgstr "Mensaje <0>(Opcional)" msgid "Min" msgstr "Mín" -#: packages/ui/primitives/document-flow/add-fields.tsx:896 +#: packages/ui/primitives/document-flow/add-fields.tsx:901 #: 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/template-flow/add-template-fields.tsx:658 +#: 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 msgid "Name" @@ -424,13 +469,13 @@ msgstr "Necesita firmar" msgid "Needs to view" msgstr "Necesita ver" -#: packages/ui/primitives/document-flow/add-fields.tsx:680 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:497 +#: packages/ui/primitives/document-flow/add-fields.tsx:686 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:504 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-fields.tsx:696 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:513 +#: packages/ui/primitives/document-flow/add-fields.tsx:701 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:519 msgid "No recipients with this role" msgstr "No hay destinatarios con este rol" @@ -454,8 +499,9 @@ msgstr "No se encontró campo de firma" msgid "No value found." msgstr "No se encontró valor." -#: packages/ui/primitives/document-flow/add-fields.tsx:974 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:736 +#: packages/ui/primitives/document-flow/add-fields.tsx:979 +#: packages/ui/primitives/document-flow/types.ts:56 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:742 msgid "Number" msgstr "Número" @@ -475,6 +521,10 @@ msgstr "Una vez que su plantilla esté configurada, comparta el enlace donde des msgid "Page {0} of {1}" msgstr "Página {0} de {1}" +#: packages/ui/primitives/pdf-viewer.tsx:259 +msgid "Page {0} of {numPages}" +msgstr "" + #: packages/ui/primitives/document-password-dialog.tsx:62 msgid "Password Required" msgstr "Se requiere contraseña" @@ -489,8 +539,12 @@ msgstr "Seleccione un número" msgid "Placeholder" msgstr "Marcador de posición" -#: packages/ui/primitives/document-flow/add-fields.tsx:1000 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:762 +#: packages/ui/primitives/pdf-viewer.tsx:223 +#: packages/ui/primitives/pdf-viewer.tsx:238 +msgid "Please try again or contact our support." +msgstr "" + +#: packages/ui/primitives/template-flow/add-template-fields.tsx:768 msgid "Radio" msgstr "Radio" @@ -525,7 +579,7 @@ msgstr "Rojo" msgid "Redirect URL" msgstr "URL de redirección" -#: packages/ui/primitives/document-flow/add-fields.tsx:1104 +#: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" msgstr "Eliminar" @@ -537,6 +591,10 @@ msgstr "Eliminar" msgid "Required field" msgstr "Campo obligatorio" +#: packages/ui/components/document/document-share-button.tsx:147 +msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" +msgstr "" + #: packages/ui/primitives/data-table-pagination.tsx:55 msgid "Rows per page" msgstr "Filas por página" @@ -545,7 +603,7 @@ msgstr "Filas por página" msgid "Save" msgstr "Guardar" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:848 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:854 msgid "Save Template" msgstr "Guardar plantilla" @@ -587,6 +645,10 @@ msgstr "Compartir tarjeta de firma" msgid "Share the Link" msgstr "Compartir el enlace" +#: packages/ui/components/document/document-share-button.tsx:143 +msgid "Share your signing experience!" +msgstr "" + #: packages/ui/primitives/document-flow/add-signers.tsx:680 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:655 msgid "Show advanced settings" @@ -596,10 +658,11 @@ msgstr "Mostrar configuraciones avanzadas" msgid "Sign" msgstr "Firmar" -#: packages/ui/primitives/document-flow/add-fields.tsx:818 +#: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:580 +#: packages/ui/primitives/document-flow/types.ts:49 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:586 msgid "Signature" msgstr "Firma" @@ -611,6 +674,14 @@ msgstr "Firmado" msgid "Signer" msgstr "Firmante" +#: packages/lib/constants/recipient-roles.ts:58 +msgid "Signers" +msgstr "" + +#: packages/ui/primitives/document-flow/add-signers.types.ts:36 +msgid "Signers must have unique emails" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:22 msgid "Signing" msgstr "Firmando" @@ -623,6 +694,11 @@ msgstr "Algunos firmantes no han sido asignados a un campo de firma. Asigne al m msgid "Something went wrong" msgstr "Algo salió mal" +#: packages/ui/primitives/pdf-viewer.tsx:220 +#: packages/ui/primitives/pdf-viewer.tsx:235 +msgid "Something went wrong while loading the document." +msgstr "" + #: packages/ui/primitives/data-table.tsx:136 msgid "Something went wrong." msgstr "Algo salió mal." @@ -644,8 +720,9 @@ msgstr "Enviar" msgid "Template title" msgstr "Título de plantilla" -#: packages/ui/primitives/document-flow/add-fields.tsx:948 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:710 +#: packages/ui/primitives/document-flow/add-fields.tsx:953 +#: packages/ui/primitives/document-flow/types.ts:52 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:716 msgid "Text" msgstr "Texto" @@ -705,7 +782,7 @@ msgstr "El nombre del firmante" msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." msgstr "Esto se puede anular configurando los requisitos de autenticación directamente en cada destinatario en el siguiente paso." -#: packages/ui/primitives/document-flow/add-fields.tsx:752 +#: packages/ui/primitives/document-flow/add-fields.tsx:757 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." @@ -717,7 +794,7 @@ msgstr "Este documento está protegido por contraseña. Por favor ingrese la con 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/document-flow/add-fields.tsx:1084 +#: packages/ui/primitives/document-flow/add-fields.tsx:1090 msgid "This recipient can no longer be modified as they have signed a field, or completed the document." msgstr "Este destinatario ya no puede ser modificado ya que ha firmado un campo o completado el documento." @@ -738,8 +815,8 @@ msgstr "Zona horaria" msgid "Title" msgstr "Título" -#: packages/ui/primitives/document-flow/add-fields.tsx:1067 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:828 +#: packages/ui/primitives/document-flow/add-fields.tsx:1073 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:834 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}." @@ -781,6 +858,10 @@ msgstr "Visto" msgid "Viewer" msgstr "Visor" +#: packages/lib/constants/recipient-roles.ts:65 +msgid "Viewers" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:28 msgid "Viewing" msgstr "Viendo" diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 865ce1490..5c6fe014f 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -117,6 +117,18 @@ msgstr "<0>\"{0}\" ya no está disponible para firmar" msgid "<0>Sender: All" msgstr "<0>Remitente: Todos" +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5 +msgid "1 month" +msgstr "" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:8 +msgid "12 months" +msgstr "" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:6 +msgid "3 months" +msgstr "" + #: apps/web/src/components/partials/not-found.tsx:45 msgid "404 Page not found" msgstr "404 Página no encontrada" @@ -133,14 +145,30 @@ msgstr "404 Equipo no encontrado" msgid "404 Template not found" msgstr "404 Plantilla no encontrada" +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:7 +msgid "6 months" +msgstr "" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:4 +msgid "7 days" +msgstr "" + #: apps/web/src/components/forms/send-confirmation-email.tsx:55 msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." msgstr "Se ha enviado un correo electrónico de confirmación y debería llegar a tu bandeja de entrada en breve." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70 +msgid "A device capable of accessing, opening, and reading documents" +msgstr "" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" msgstr "Se creará un documento borrador" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73 +msgid "A means to print or download documents for your records" +msgstr "" + #: apps/web/src/components/forms/token.tsx:127 msgid "A new token was created successfully." msgstr "Un nuevo token se ha creado con éxito." @@ -163,6 +191,10 @@ msgstr "Un secreto que se enviará a tu URL para que puedas verificar que la sol msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso." msgstr "Un secreto que se enviará a tu URL para que puedas verificar que la solicitud ha sido enviada por Documenso." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64 +msgid "A stable internet connection" +msgstr "" + #: apps/web/src/components/forms/public-profile-form.tsx:198 msgid "A unique URL to access your profile" msgstr "Una URL única para acceder a tu perfil" @@ -180,6 +212,10 @@ msgstr "Se enviará un correo electrónico de verificación a la dirección prop msgid "Accept" msgstr "Aceptar" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33 +msgid "Acceptance and Consent" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26 msgid "Accepted team invitation" msgstr "Invitación de equipo aceptada" @@ -189,6 +225,10 @@ msgstr "Invitación de equipo aceptada" msgid "Account deleted" msgstr "Cuenta eliminada" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139 +msgid "Acknowledgment" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:121 @@ -295,6 +335,10 @@ msgstr "Acciones Administrativas" msgid "Admin panel" msgstr "Panel administrativo" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129 +msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time." +msgstr "" + #: apps/web/src/components/formatter/document-status.tsx:46 msgid "All" msgstr "Todos" @@ -307,6 +351,10 @@ msgstr "Todos los documentos" msgid "All documents have been processed. Any new documents that are sent or received will show here." msgstr "Todos los documentos han sido procesados. Cualquier nuevo documento que se envíe o reciba aparecerá aquí." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81 +msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145 msgid "All inserted signatures will be voided" msgstr "Todas las firmas insertadas serán anuladas" @@ -335,6 +383,14 @@ msgstr "¿Ya tienes una cuenta? <0>Iniciar sesión en su lugar" msgid "Amount" msgstr "Cantidad" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48 +msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper." +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67 +msgid "An email account" +msgstr "" + #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262 msgid "An email containing an invitation will be sent to each member." msgstr "Un correo electrónico que contiene una invitación se enviará a cada miembro." @@ -407,6 +463,10 @@ msgstr "Ocurrió un error al mover el documento." msgid "An error occurred while moving the template." msgstr "Ocurrió un error al mover la plantilla." +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116 +msgid "An error occurred while removing the field." +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152 #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137 @@ -434,6 +494,7 @@ msgstr "Ocurrió un error al enviar tu correo electrónico de confirmación" #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 @@ -531,6 +592,10 @@ msgstr "Versión de la Aplicación" msgid "Approve" msgstr "Aprobar" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:129 +msgid "Approve Document" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78 msgid "Approved" msgstr "Aprobado" @@ -588,7 +653,7 @@ msgstr "Esperando confirmación de correo electrónico" msgid "Back" msgstr "Atrás" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:109 +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:164 msgid "Back to Documents" msgstr "Volver a Documentos" @@ -638,9 +703,22 @@ msgstr "Al eliminar este documento, ocurrirá lo siguiente:" msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in." msgstr "Al habilitar la 2FA, se requerirá ingresar un código de su aplicación de autenticación cada vez que inicie sesión." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142 +msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein." +msgstr "" + +#: apps/web/src/components/general/signing-disclosure.tsx:14 +msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions." +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92 +msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:108 +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120 #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198 @@ -654,6 +732,7 @@ msgstr "Al habilitar la 2FA, se requerirá ingresar un código de su aplicación #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/form.tsx: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]/sign-dialog.tsx:113 @@ -832,6 +911,14 @@ msgstr "Confirmar correo electrónico" msgid "Confirmation email sent" msgstr "Correo electrónico de confirmación enviado" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89 +msgid "Consent to Electronic Transactions" +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151 +msgid "Contact Information" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189 msgid "Content" msgstr "Contenido" @@ -1013,6 +1100,10 @@ msgstr "Rechazar" msgid "Declined team invitation" msgstr "Invitación de equipo rechazada" +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90 +msgid "delete" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200 @@ -1031,6 +1122,15 @@ msgstr "Invitación de equipo rechazada" msgid "Delete" msgstr "Eliminar" +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54 +msgid "delete {0}" +msgstr "" + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50 +msgid "delete {teamName}" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137 msgid "Delete account" msgstr "Eliminar cuenta" @@ -1378,6 +1478,14 @@ msgstr "Editar" msgid "Edit webhook" msgstr "Editar webhook" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78 +msgid "Electronic Delivery of Documents" +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17 +msgid "Electronic Signature Disclosure" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 @@ -1406,6 +1514,10 @@ msgstr "Dirección de correo electrónico" msgid "Email Address" msgstr "Dirección de correo electrónico" +#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80 +msgid "Email cannot already exist in the template" +msgstr "" + #: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36 msgid "Email Confirmed!" msgstr "¡Correo electrónico confirmado!" @@ -1492,6 +1604,8 @@ msgstr "Ingresa tu texto aquí" #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149 @@ -1552,12 +1666,21 @@ msgstr "Campos" msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" msgstr "El archivo no puede ser mayor a {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154 +msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:152 +#~ msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>support@documenso.com" +#~ msgstr "" + #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 msgid "Forgot your password?" msgstr "¿Olvidaste tu contraseña?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241 @@ -1661,6 +1784,10 @@ msgstr "Documentos en bandeja de entrada" msgid "Information" msgstr "Información" +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132 +msgid "Initials" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 msgid "Inserted" msgstr "Insertado" @@ -1727,6 +1854,10 @@ msgstr "Invitado el" msgid "Invoice" msgstr "Factura" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118 +msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications." +msgstr "" + #: apps/web/src/app/(profile)/p/[url]/page.tsx:134 msgid "It looks like {0} hasn't added any documents to their profile yet." msgstr "Parece que {0} aún no ha agregado documentos a su perfil." @@ -1788,6 +1919,10 @@ msgstr "Salir" msgid "Leave team" msgstr "Salir del equipo" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45 +msgid "Legality of Electronic Signatures" +msgstr "" + #: apps/web/src/components/(dashboard)/common/command-menu.tsx:264 msgid "Light Mode" msgstr "Modo claro" @@ -1941,6 +2076,7 @@ msgstr "Usuarios activos mensuales: Usuarios que crearon al menos un documento" msgid "Monthly Active Users: Users that had at least one of their documents completed" msgstr "Usuarios activos mensuales: Usuarios que completaron al menos uno de sus documentos" +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122 msgid "Move" msgstr "Mover" @@ -1958,6 +2094,7 @@ msgstr "Mover plantilla al equipo" msgid "Move to Team" msgstr "Mover al equipo" +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122 msgid "Moving..." msgstr "Moviendo..." @@ -2129,6 +2266,8 @@ msgstr "De lo contrario, el documento se creará como un borrador." #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86 #: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:86 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:109 msgid "Owner" msgstr "Propietario" @@ -2299,6 +2438,10 @@ msgstr "Por favor, proporciona un token del autenticador o un código de respald msgid "Please provide a token from your authenticator, or a backup code." msgstr "Por favor, proporciona un token de tu autenticador, o un código de respaldo." +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:169 +msgid "Please review the document before signing." +msgstr "" + #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." msgstr "Por favor, intenta de nuevo y asegúrate de ingresar la dirección de correo electrónico correcta." @@ -2381,6 +2524,10 @@ msgstr "Las plantillas públicas están conectadas a tu perfil público. Cualqui msgid "Read only field" msgstr "Campo de solo lectura" +#: apps/web/src/components/general/signing-disclosure.tsx:21 +msgid "Read the full <0>signature disclosure." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90 msgid "Ready" msgstr "Listo" @@ -2508,6 +2655,10 @@ msgstr "Resolver" msgid "Resolve payment" msgstr "Resolver pago" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126 +msgid "Retention of Documents" +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168 msgid "Retry" msgstr "Reintentar" @@ -2575,6 +2726,10 @@ msgstr "Buscar por título del documento" msgid "Search by name or email" msgstr "Buscar por nombre o correo electrónico" +#: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42 +msgid "Search documents..." +msgstr "" + #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217 msgid "Secret" @@ -2714,6 +2869,10 @@ msgstr "Firmar como<0>{0} <1>({1})" msgid "Sign document" msgstr "Firmar documento" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:128 +msgid "Sign Document" +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59 msgid "Sign field" msgstr "Campo de firma" @@ -2763,6 +2922,7 @@ msgstr "Regístrate con OIDC" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391 @@ -2939,6 +3099,10 @@ msgstr "Éxito" msgid "Successfully created passkey" msgstr "Clave de acceso creada con éxito" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 +msgid "System Requirements" +msgstr "" + #: apps/web/src/components/(dashboard)/common/command-menu.tsx:266 msgid "System Theme" msgstr "Tema del sistema" @@ -3115,6 +3279,10 @@ msgstr "Texto" msgid "Text Color" msgstr "Color de texto" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24 +msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." +msgstr "" + #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52 msgid "The account has been deleted successfully." msgstr "La cuenta ha sido eliminada con éxito." @@ -3399,6 +3567,10 @@ msgstr "Para acceder a tu cuenta, por favor confirma tu dirección de correo ele msgid "To mark this document as viewed, you need to be logged in as <0>{0}" msgstr "Para marcar este documento como visto, debes iniciar sesión como <0>{0}" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60 +msgid "To use our electronic signature service, you must have access to:" +msgstr "" + #: apps/web/src/app/embed/authenticate.tsx:21 msgid "To view this document you need to be signed into your account, please sign in to continue." msgstr "Para ver este documento debes iniciar sesión en tu cuenta, por favor inicia sesión para continuar." @@ -3456,6 +3628,10 @@ msgstr "Total de firmantes que se registraron" msgid "Total Users" msgstr "Total de usuarios" +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76 +msgid "transfer {teamName}" +msgstr "" + #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160 msgid "Transfer ownership of this team to a selected team member." msgstr "Transferir la propiedad de este equipo a un miembro del equipo seleccionado." @@ -3673,6 +3849,10 @@ msgstr "Actualizando contraseña..." msgid "Updating profile..." msgstr "Actualizando perfil..." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115 +msgid "Updating Your Information" +msgstr "" + #: apps/web/src/components/forms/avatar-image.tsx:182 msgid "Upload Avatar" msgstr "Subir avatar" @@ -3784,6 +3964,10 @@ msgstr "Ver toda la actividad de seguridad relacionada con tu cuenta." msgid "View Codes" msgstr "Ver Códigos" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:127 +msgid "View Document" +msgstr "" + #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" msgstr "Ver documentos asociados con este correo electrónico" @@ -4061,6 +4245,10 @@ msgstr "Webhooks" msgid "Weekly" msgstr "Semanal" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21 +msgid "Welcome" +msgstr "" + #: apps/web/src/app/(unauthenticated)/signin/page.tsx:33 msgid "Welcome back, we are lucky to have you." msgstr "Bienvenido de nuevo, somos afortunados de tenerte." @@ -4073,6 +4261,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/(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 "" + #: apps/web/src/app/(profile)/p/[url]/page.tsx:139 msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away." msgstr "Mientras esperas a que ellos lo hagan, puedes crear tu propia cuenta de Documenso y comenzar a firmar documentos de inmediato." @@ -4081,6 +4273,10 @@ msgstr "Mientras esperas a que ellos lo hagan, puedes crear tu propia cuenta de msgid "Who do you want to remind?" msgstr "¿A quién deseas recordar?" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101 +msgid "Withdrawing Consent" +msgstr "" + #: apps/web/src/components/forms/public-profile-form.tsx:223 msgid "Write about the team" msgstr "Escribe sobre el equipo" @@ -4249,6 +4445,14 @@ msgstr "Has eliminado a este usuario del equipo con éxito." msgid "You have successfully revoked access." msgstr "Has revocado el acceso con éxito." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104 +msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:102 +#~ msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>support@documenso.com for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." +#~ msgstr "" + #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." msgstr "Has actualizado a {teamMemberName}." diff --git a/packages/lib/translations/fr/common.po b/packages/lib/translations/fr/common.po index f01cbd54d..9d6d3be72 100644 --- a/packages/lib/translations/fr/common.po +++ b/packages/lib/translations/fr/common.po @@ -115,8 +115,8 @@ msgstr "Administrateur" msgid "Advanced Options" msgstr "Options avancées" -#: packages/ui/primitives/document-flow/add-fields.tsx:570 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:402 +#: packages/ui/primitives/document-flow/add-fields.tsx:573 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:406 msgid "Advanced settings" msgstr "Paramètres avancés" @@ -124,6 +124,10 @@ msgstr "Paramètres avancés" msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." msgstr "Après soumission, un document sera automatiquement généré et ajouté à votre page de documents. Vous recevrez également une notification par email." +#: packages/ui/primitives/pdf-viewer.tsx:167 +msgid "An error occurred while loading the document." +msgstr "" + #: packages/lib/constants/recipient-roles.ts:8 msgid "Approve" msgstr "Approuver" @@ -136,6 +140,10 @@ msgstr "Approuvé" msgid "Approver" msgstr "Approuveur" +#: packages/lib/constants/recipient-roles.ts:44 +msgid "Approvers" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:10 msgid "Approving" msgstr "En attente d'approbation" @@ -170,14 +178,17 @@ msgstr "CC" msgid "CC'd" msgstr "CC'd" +#: packages/lib/constants/recipient-roles.ts:51 +msgid "Ccers" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 msgid "Character Limit" msgstr "Limite de caractères" -#: packages/ui/primitives/document-flow/add-fields.tsx:1026 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:788 -msgid "Checkbox" -msgstr "Case à cocher" +#: packages/ui/primitives/template-flow/add-template-fields.tsx:794 +#~ msgid "Checkbox" +#~ msgstr "Case à cocher" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197 msgid "Checkbox values" @@ -203,8 +214,8 @@ msgstr "Fermer" msgid "Configure Direct Recipient" msgstr "Configurer le destinataire direct" -#: packages/ui/primitives/document-flow/add-fields.tsx:571 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:403 +#: packages/ui/primitives/document-flow/add-fields.tsx:574 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:407 msgid "Configure the {0} field" msgstr "Configurer le champ {0}" @@ -216,12 +227,17 @@ msgstr "Continuer" msgid "Copied to clipboard" msgstr "Copié dans le presse-papiers" +#: packages/ui/components/document/document-share-button.tsx:194 +msgid "Copy Link" +msgstr "" + #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" msgstr "Texte personnalisé" -#: packages/ui/primitives/document-flow/add-fields.tsx:922 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:684 +#: packages/ui/primitives/document-flow/add-fields.tsx:927 +#: packages/ui/primitives/document-flow/types.ts:53 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:690 msgid "Date" msgstr "Date" @@ -252,8 +268,8 @@ msgstr "Télécharger" msgid "Drag & drop your PDF here." msgstr "Faites glisser et déposez votre PDF ici." -#: packages/ui/primitives/document-flow/add-fields.tsx:1052 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:814 +#: packages/ui/primitives/document-flow/add-fields.tsx:1058 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:820 msgid "Dropdown" msgstr "Liste déroulante" @@ -261,20 +277,26 @@ msgstr "Liste déroulante" msgid "Dropdown options" msgstr "Options de liste déroulante" -#: packages/ui/primitives/document-flow/add-fields.tsx:870 +#: packages/ui/primitives/document-flow/add-fields.tsx:875 #: packages/ui/primitives/document-flow/add-signature.tsx:272 #: packages/ui/primitives/document-flow/add-signers.tsx:500 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:632 +#: packages/ui/primitives/document-flow/add-signers.tsx:507 +#: 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 msgid "Email" msgstr "Email" +#: packages/ui/primitives/document-flow/add-signature.types.ts:7 +msgid "Email is required" +msgstr "" + #: packages/ui/primitives/template-flow/add-template-settings.tsx:184 msgid "Email Options" msgstr "Options d'email" -#: packages/ui/primitives/document-flow/add-fields.tsx:1117 +#: packages/ui/primitives/document-flow/add-fields.tsx:1123 msgid "Empty field" msgstr "Champ vide" @@ -287,7 +309,7 @@ msgstr "Activer la signature de lien direct" msgid "Enable signing order" msgstr "Activer l'ordre de signature" -#: packages/ui/primitives/document-flow/add-fields.tsx:790 +#: packages/ui/primitives/document-flow/add-fields.tsx:795 msgid "Enable Typed Signatures" msgstr "Activer les signatures tapées" @@ -296,6 +318,7 @@ msgid "Enter password" msgstr "Entrez le mot de passe" #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:257 +#: packages/ui/primitives/pdf-viewer.tsx:166 msgid "Error" msgstr "Erreur" @@ -342,6 +365,10 @@ msgstr "Espace réservé du champ" msgid "Font Size" msgstr "Taille de Police" +#: packages/ui/primitives/document-flow/types.ts:50 +msgid "Free Signature" +msgstr "" + #: packages/ui/components/document/document-global-auth-action-select.tsx:64 msgid "Global recipient action authentication" msgstr "Authentification d'action de destinataire globale" @@ -354,19 +381,19 @@ msgstr "Retourner" msgid "Green" msgstr "Vert" -#: packages/lib/constants/recipient-roles.ts:72 +#: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" msgstr "Je suis un signataire de ce document" -#: packages/lib/constants/recipient-roles.ts:75 +#: packages/lib/constants/recipient-roles.ts:79 msgid "I am a viewer of this document" msgstr "Je suis un visualiseur de ce document" -#: packages/lib/constants/recipient-roles.ts:73 +#: packages/lib/constants/recipient-roles.ts:77 msgid "I am an approver of this document" msgstr "Je suis un approuveur de ce document" -#: packages/lib/constants/recipient-roles.ts:74 +#: packages/lib/constants/recipient-roles.ts:78 msgid "I am required to receive a copy of this document" msgstr "Je dois recevoir une copie de ce document" @@ -375,12 +402,29 @@ msgstr "Je dois recevoir une copie de ce document" msgid "Inherit authentication method" msgstr "Hériter de la méthode d'authentification" +#: packages/ui/primitives/document-flow/types.ts:51 +msgid "Initials" +msgstr "" + +#: packages/ui/primitives/document-flow/add-signers.types.ts:17 +msgid "Invalid email" +msgstr "" + +#: packages/ui/primitives/document-flow/add-signature.types.ts:8 +msgid "Invalid email address" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 msgid "Label" msgstr "Étiquette" +#: packages/ui/primitives/lazy-pdf-viewer.tsx:15 +#: packages/ui/primitives/pdf-viewer.tsx:44 +msgid "Loading document..." +msgstr "" + #: packages/lib/constants/teams.ts:11 msgid "Manager" msgstr "Gestionnaire" @@ -402,11 +446,12 @@ msgstr "Message <0>(Optionnel)" msgid "Min" msgstr "Min" -#: packages/ui/primitives/document-flow/add-fields.tsx:896 +#: packages/ui/primitives/document-flow/add-fields.tsx:901 #: 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/template-flow/add-template-fields.tsx:658 +#: 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 msgid "Name" @@ -424,13 +469,13 @@ msgstr "Nécessite une signature" msgid "Needs to view" msgstr "Nécessite une visualisation" -#: packages/ui/primitives/document-flow/add-fields.tsx:680 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:497 +#: packages/ui/primitives/document-flow/add-fields.tsx:686 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:504 msgid "No recipient matching this description was found." msgstr "Aucun destinataire correspondant à cette description n'a été trouvé." -#: packages/ui/primitives/document-flow/add-fields.tsx:696 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:513 +#: packages/ui/primitives/document-flow/add-fields.tsx:701 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:519 msgid "No recipients with this role" msgstr "Aucun destinataire avec ce rôle" @@ -454,8 +499,9 @@ msgstr "Aucun champ de signature trouvé" msgid "No value found." msgstr "Aucune valeur trouvée." -#: packages/ui/primitives/document-flow/add-fields.tsx:974 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:736 +#: packages/ui/primitives/document-flow/add-fields.tsx:979 +#: packages/ui/primitives/document-flow/types.ts:56 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:742 msgid "Number" msgstr "Numéro" @@ -475,6 +521,10 @@ msgstr "Une fois votre modèle configuré, partagez le lien où vous le souhaite msgid "Page {0} of {1}" msgstr "Page {0} sur {1}" +#: packages/ui/primitives/pdf-viewer.tsx:259 +msgid "Page {0} of {numPages}" +msgstr "" + #: packages/ui/primitives/document-password-dialog.tsx:62 msgid "Password Required" msgstr "Mot de passe requis" @@ -489,8 +539,12 @@ msgstr "Choisissez un numéro" msgid "Placeholder" msgstr "Espace réservé" -#: packages/ui/primitives/document-flow/add-fields.tsx:1000 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:762 +#: packages/ui/primitives/pdf-viewer.tsx:223 +#: packages/ui/primitives/pdf-viewer.tsx:238 +msgid "Please try again or contact our support." +msgstr "" + +#: packages/ui/primitives/template-flow/add-template-fields.tsx:768 msgid "Radio" msgstr "Radio" @@ -525,7 +579,7 @@ msgstr "Rouge" msgid "Redirect URL" msgstr "URL de redirection" -#: packages/ui/primitives/document-flow/add-fields.tsx:1104 +#: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" msgstr "Retirer" @@ -537,6 +591,10 @@ msgstr "Retirer" msgid "Required field" msgstr "Champ requis" +#: packages/ui/components/document/document-share-button.tsx:147 +msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" +msgstr "" + #: packages/ui/primitives/data-table-pagination.tsx:55 msgid "Rows per page" msgstr "Lignes par page" @@ -545,7 +603,7 @@ msgstr "Lignes par page" msgid "Save" msgstr "Sauvegarder" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:848 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:854 msgid "Save Template" msgstr "Sauvegarder le modèle" @@ -587,6 +645,10 @@ msgstr "Partager la carte de signature" msgid "Share the Link" msgstr "Partager le lien" +#: packages/ui/components/document/document-share-button.tsx:143 +msgid "Share your signing experience!" +msgstr "" + #: packages/ui/primitives/document-flow/add-signers.tsx:680 #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:655 msgid "Show advanced settings" @@ -596,10 +658,11 @@ msgstr "Afficher les paramètres avancés" msgid "Sign" msgstr "Signer" -#: packages/ui/primitives/document-flow/add-fields.tsx:818 +#: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:580 +#: packages/ui/primitives/document-flow/types.ts:49 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:586 msgid "Signature" msgstr "Signature" @@ -611,6 +674,14 @@ msgstr "Signé" msgid "Signer" msgstr "Signataire" +#: packages/lib/constants/recipient-roles.ts:58 +msgid "Signers" +msgstr "" + +#: packages/ui/primitives/document-flow/add-signers.types.ts:36 +msgid "Signers must have unique emails" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:22 msgid "Signing" msgstr "Signature en cours" @@ -623,6 +694,11 @@ msgstr "Certains signataires n'ont pas été assignés à un champ de signature. msgid "Something went wrong" msgstr "Quelque chose a mal tourné" +#: packages/ui/primitives/pdf-viewer.tsx:220 +#: packages/ui/primitives/pdf-viewer.tsx:235 +msgid "Something went wrong while loading the document." +msgstr "" + #: packages/ui/primitives/data-table.tsx:136 msgid "Something went wrong." msgstr "Quelque chose a mal tourné." @@ -644,8 +720,9 @@ msgstr "Soumettre" msgid "Template title" msgstr "Titre du modèle" -#: packages/ui/primitives/document-flow/add-fields.tsx:948 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:710 +#: packages/ui/primitives/document-flow/add-fields.tsx:953 +#: packages/ui/primitives/document-flow/types.ts:52 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:716 msgid "Text" msgstr "Texte" @@ -705,7 +782,7 @@ msgstr "Le nom du signataire" msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." msgstr "Cela peut être remplacé par le paramétrage direct des exigences d'authentification pour chaque destinataire à l'étape suivante." -#: packages/ui/primitives/document-flow/add-fields.tsx:752 +#: packages/ui/primitives/document-flow/add-fields.tsx:757 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." @@ -717,7 +794,7 @@ msgstr "Ce document est protégé par mot de passe. Veuillez entrer le mot de pa 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/document-flow/add-fields.tsx:1084 +#: packages/ui/primitives/document-flow/add-fields.tsx:1090 msgid "This recipient can no longer be modified as they have signed a field, or completed the document." msgstr "Ce destinataire ne peut plus être modifié car il a signé un champ ou complété le document." @@ -738,8 +815,8 @@ msgstr "Fuseau horaire" msgid "Title" msgstr "Titre" -#: packages/ui/primitives/document-flow/add-fields.tsx:1067 -#: packages/ui/primitives/template-flow/add-template-fields.tsx:828 +#: packages/ui/primitives/document-flow/add-fields.tsx:1073 +#: packages/ui/primitives/template-flow/add-template-fields.tsx:834 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}." @@ -781,6 +858,10 @@ msgstr "Vu" msgid "Viewer" msgstr "Visiteur" +#: packages/lib/constants/recipient-roles.ts:65 +msgid "Viewers" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:28 msgid "Viewing" msgstr "Visionnage" diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index d247d0b8f..7ba885755 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -117,6 +117,18 @@ msgstr "<0>\"{0}\" n'est plus disponible pour signer" msgid "<0>Sender: All" msgstr "<0>Expéditeur : Tous" +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:5 +msgid "1 month" +msgstr "" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:8 +msgid "12 months" +msgstr "" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:6 +msgid "3 months" +msgstr "" + #: apps/web/src/components/partials/not-found.tsx:45 msgid "404 Page not found" msgstr "404 Page non trouvée" @@ -133,14 +145,30 @@ msgstr "404 Équipe non trouvée" msgid "404 Template not found" msgstr "404 Modèle non trouvé" +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:7 +msgid "6 months" +msgstr "" + +#: apps/web/src/components/(dashboard)/settings/token/contants.ts:4 +msgid "7 days" +msgstr "" + #: apps/web/src/components/forms/send-confirmation-email.tsx:55 msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." msgstr "Un e-mail de confirmation a été envoyé et devrait arriver dans votre boîte de réception sous peu." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70 +msgid "A device capable of accessing, opening, and reading documents" +msgstr "" + #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" msgstr "Un document brouillon sera créé" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73 +msgid "A means to print or download documents for your records" +msgstr "" + #: apps/web/src/components/forms/token.tsx:127 msgid "A new token was created successfully." msgstr "Un nouveau jeton a été créé avec succès." @@ -163,6 +191,10 @@ msgstr "Un secret qui sera envoyé à votre URL afin que vous puissiez vérifier msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso." msgstr "Un secret qui sera envoyé à votre URL afin que vous puissiez vérifier que la demande a été envoyée par Documenso." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64 +msgid "A stable internet connection" +msgstr "" + #: apps/web/src/components/forms/public-profile-form.tsx:198 msgid "A unique URL to access your profile" msgstr "Une URL unique pour accéder à votre profil" @@ -180,6 +212,10 @@ msgstr "Un e-mail de vérification sera envoyé à l'adresse e-mail fournie." msgid "Accept" msgstr "Accepter" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33 +msgid "Acceptance and Consent" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26 msgid "Accepted team invitation" msgstr "Invitation d'équipe acceptée" @@ -189,6 +225,10 @@ msgstr "Invitation d'équipe acceptée" msgid "Account deleted" msgstr "Compte supprimé" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139 +msgid "Acknowledgment" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:121 @@ -295,6 +335,10 @@ msgstr "Actions administratives" msgid "Admin panel" msgstr "Panneau d'administration" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129 +msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time." +msgstr "" + #: apps/web/src/components/formatter/document-status.tsx:46 msgid "All" msgstr "Tout" @@ -307,6 +351,10 @@ msgstr "Tous les documents" msgid "All documents have been processed. Any new documents that are sent or received will show here." msgstr "Tous les documents ont été traités. Tous nouveaux documents envoyés ou reçus s'afficheront ici." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81 +msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145 msgid "All inserted signatures will be voided" msgstr "Toutes les signatures insérées seront annulées" @@ -335,6 +383,14 @@ msgstr "Vous avez déjà un compte ? <0>Connectez-vous plutôt" msgid "Amount" msgstr "Montant" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48 +msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper." +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67 +msgid "An email account" +msgstr "" + #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262 msgid "An email containing an invitation will be sent to each member." msgstr "Un e-mail contenant une invitation sera envoyé à chaque membre." @@ -407,6 +463,10 @@ msgstr "Une erreur est survenue lors du déplacement du document." msgid "An error occurred while moving the template." msgstr "Une erreur est survenue lors du déplacement du modèle." +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116 +msgid "An error occurred while removing the field." +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152 #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:137 @@ -434,6 +494,7 @@ msgstr "Une erreur est survenue lors de l'envoi de votre e-mail de confirmation" #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:100 #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:106 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:84 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:90 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:122 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:150 #: apps/web/src/app/(signing)/sign/[token]/radio-field.tsx:102 @@ -531,6 +592,10 @@ msgstr "Version de l'application" msgid "Approve" msgstr "Approuver" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:129 +msgid "Approve Document" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78 msgid "Approved" msgstr "Approuvé" @@ -588,7 +653,7 @@ msgstr "En attente de confirmation par e-mail" msgid "Back" msgstr "Retour" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:109 +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:164 msgid "Back to Documents" msgstr "Retour aux documents" @@ -638,9 +703,22 @@ msgstr "En supprimant ce document, les éléments suivants se produiront :" msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in." msgstr "En activant l'authentification à deux facteurs (2FA), vous devrez entrer un code provenant de votre application d'authentification chaque fois que vous vous connectez." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142 +msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein." +msgstr "" + +#: apps/web/src/components/general/signing-disclosure.tsx:14 +msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions." +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92 +msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:108 +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:120 #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:248 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:157 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:198 @@ -654,6 +732,7 @@ msgstr "En activant l'authentification à deux facteurs (2FA), vous devrez entre #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:164 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:189 #: apps/web/src/app/(signing)/sign/[token]/form.tsx: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]/sign-dialog.tsx:113 @@ -832,6 +911,14 @@ msgstr "Confirmer l'email" msgid "Confirmation email sent" msgstr "Email de confirmation envoyé" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89 +msgid "Consent to Electronic Transactions" +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151 +msgid "Contact Information" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189 msgid "Content" msgstr "Contenu" @@ -1013,6 +1100,10 @@ msgstr "Décliner" msgid "Declined team invitation" msgstr "Invitation d'équipe refusée" +#: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90 +msgid "delete" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:200 @@ -1031,6 +1122,15 @@ msgstr "Invitation d'équipe refusée" msgid "Delete" msgstr "Supprimer" +#: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56 +#: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54 +msgid "delete {0}" +msgstr "" + +#: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50 +msgid "delete {teamName}" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137 msgid "Delete account" msgstr "Supprimer le compte" @@ -1378,6 +1478,14 @@ msgstr "Modifier" msgid "Edit webhook" msgstr "Modifier le webhook" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78 +msgid "Electronic Delivery of Documents" +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17 +msgid "Electronic Signature Disclosure" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 @@ -1406,6 +1514,10 @@ msgstr "Adresse email" msgid "Email Address" msgstr "Adresse e-mail" +#: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80 +msgid "Email cannot already exist in the template" +msgstr "" + #: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36 msgid "Email Confirmed!" msgstr "Email confirmé !" @@ -1492,6 +1604,8 @@ msgstr "Entrez votre texte ici" #: apps/web/src/app/(signing)/sign/[token]/dropdown-field.tsx:136 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:83 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:109 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:89 +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:115 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:121 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:147 #: apps/web/src/app/(signing)/sign/[token]/number-field.tsx:149 @@ -1552,12 +1666,21 @@ msgstr "Champs" msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" msgstr "Le fichier ne peut pas dépasser {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} Mo" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154 +msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:152 +#~ msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>support@documenso.com" +#~ msgstr "" + #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 msgid "Forgot your password?" msgstr "Mot de passe oublié ?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361 #: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241 @@ -1661,6 +1784,10 @@ msgstr "Documents de la boîte de réception" msgid "Information" msgstr "Information" +#: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132 +msgid "Initials" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 msgid "Inserted" msgstr "Inséré" @@ -1727,6 +1854,10 @@ msgstr "Invité à" msgid "Invoice" msgstr "Facture" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118 +msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications." +msgstr "" + #: apps/web/src/app/(profile)/p/[url]/page.tsx:134 msgid "It looks like {0} hasn't added any documents to their profile yet." msgstr "Il semble que {0} n'ait pas encore ajouté de documents à son profil." @@ -1788,6 +1919,10 @@ msgstr "Quitter" msgid "Leave team" msgstr "Quitter l'équipe" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45 +msgid "Legality of Electronic Signatures" +msgstr "" + #: apps/web/src/components/(dashboard)/common/command-menu.tsx:264 msgid "Light Mode" msgstr "Mode clair" @@ -1941,6 +2076,7 @@ msgstr "Utilisateurs actifs mensuels : utilisateurs ayant créé au moins un doc msgid "Monthly Active Users: Users that had at least one of their documents completed" msgstr "Utilisateurs actifs mensuels : utilisateurs ayant terminé au moins un de leurs documents" +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122 msgid "Move" msgstr "Déplacer" @@ -1958,6 +2094,7 @@ msgstr "Déplacer le modèle vers l'équipe" msgid "Move to Team" msgstr "Déplacer vers l'équipe" +#: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:123 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:122 msgid "Moving..." msgstr "Déplacement..." @@ -2129,6 +2266,8 @@ msgstr "Sinon, le document sera créé sous forme de brouillon." #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:86 #: apps/web/src/components/(dashboard)/layout/menu-switcher.tsx:81 +#: apps/web/src/components/(teams)/tables/current-user-teams-data-table.tsx:86 +#: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:109 msgid "Owner" msgstr "Propriétaire" @@ -2299,6 +2438,10 @@ msgstr "Veuillez fournir un jeton de l'authentificateur, ou un code de secours. msgid "Please provide a token from your authenticator, or a backup code." msgstr "Veuillez fournir un jeton de votre authentificateur, ou un code de secours." +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:169 +msgid "Please review the document before signing." +msgstr "" + #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." msgstr "Veuillez réessayer et assurez-vous d'entrer la bonne adresse email." @@ -2381,6 +2524,10 @@ msgstr "Les modèles publics sont connectés à votre profil public. Toute modif msgid "Read only field" msgstr "Champ en lecture seule" +#: apps/web/src/components/general/signing-disclosure.tsx:21 +msgid "Read the full <0>signature disclosure." +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90 msgid "Ready" msgstr "Prêt" @@ -2508,6 +2655,10 @@ msgstr "Résoudre" msgid "Resolve payment" msgstr "Résoudre le paiement" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126 +msgid "Retention of Documents" +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168 msgid "Retry" msgstr "Réessayer" @@ -2575,6 +2726,10 @@ msgstr "Recherche par titre de document" msgid "Search by name or email" msgstr "Recherche par nom ou e-mail" +#: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42 +msgid "Search documents..." +msgstr "" + #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217 msgid "Secret" @@ -2714,6 +2869,10 @@ msgstr "Signer comme<0>{0} <1>({1})" msgid "Sign document" msgstr "Signer le document" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:128 +msgid "Sign Document" +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59 msgid "Sign field" msgstr "Champ de signature" @@ -2763,6 +2922,7 @@ msgstr "S'inscrire avec OIDC" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:88 #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:338 +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391 @@ -2939,6 +3099,10 @@ msgstr "Succès" msgid "Successfully created passkey" msgstr "Clé d'authentification créée avec succès" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 +msgid "System Requirements" +msgstr "" + #: apps/web/src/components/(dashboard)/common/command-menu.tsx:266 msgid "System Theme" msgstr "Thème système" @@ -3115,6 +3279,10 @@ msgstr "Texte" msgid "Text Color" msgstr "Couleur du texte" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24 +msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." +msgstr "" + #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52 msgid "The account has been deleted successfully." msgstr "Le compte a été supprimé avec succès." @@ -3399,6 +3567,10 @@ msgstr "Pour accéder à votre compte, veuillez confirmer votre adresse e-mail e msgid "To mark this document as viewed, you need to be logged in as <0>{0}" msgstr "Pour marquer ce document comme consulté, vous devez être connecté en tant que <0>{0}" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60 +msgid "To use our electronic signature service, you must have access to:" +msgstr "" + #: apps/web/src/app/embed/authenticate.tsx:21 msgid "To view this document you need to be signed into your account, please sign in to continue." msgstr "Pour afficher ce document, vous devez être connecté à votre compte, veuillez vous connecter pour continuer." @@ -3456,6 +3628,10 @@ msgstr "Total des signataires qui se sont inscrits" msgid "Total Users" msgstr "Total des utilisateurs" +#: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76 +msgid "transfer {teamName}" +msgstr "" + #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160 msgid "Transfer ownership of this team to a selected team member." msgstr "Transférer la propriété de cette équipe à un membre d'équipe sélectionné." @@ -3673,6 +3849,10 @@ msgstr "Mise à jour du mot de passe..." msgid "Updating profile..." msgstr "Mise à jour du profil..." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115 +msgid "Updating Your Information" +msgstr "" + #: apps/web/src/components/forms/avatar-image.tsx:182 msgid "Upload Avatar" msgstr "Télécharger un avatar" @@ -3784,6 +3964,10 @@ msgstr "Voir toute l'activité de sécurité liée à votre compte." msgid "View Codes" msgstr "Voir les codes" +#: apps/web/src/app/(signing)/sign/[token]/form.tsx:127 +msgid "View Document" +msgstr "" + #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" msgstr "Voir les documents associés à cet e-mail" @@ -4061,6 +4245,10 @@ msgstr "Webhooks" msgid "Weekly" msgstr "Hebdomadaire" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21 +msgid "Welcome" +msgstr "" + #: apps/web/src/app/(unauthenticated)/signin/page.tsx:33 msgid "Welcome back, we are lucky to have you." msgstr "Contentieux, nous avons de la chance de vous avoir." @@ -4073,6 +4261,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/(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 "" + #: apps/web/src/app/(profile)/p/[url]/page.tsx:139 msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away." msgstr "En attendant qu'ils le fassent, vous pouvez créer votre propre compte Documenso et commencer à signer des documents dès maintenant." @@ -4081,6 +4273,10 @@ msgstr "En attendant qu'ils le fassent, vous pouvez créer votre propre compte D msgid "Who do you want to remind?" msgstr "Qui voulez-vous rappeler ?" +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101 +msgid "Withdrawing Consent" +msgstr "" + #: apps/web/src/components/forms/public-profile-form.tsx:223 msgid "Write about the team" msgstr "Écrivez sur l'équipe" @@ -4249,6 +4445,14 @@ msgstr "Vous avez retiré cet utilisateur de l'équipe avec succès." msgid "You have successfully revoked access." msgstr "Vous avez révoqué l'accès avec succès." +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104 +msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." +msgstr "" + +#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:102 +#~ msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>support@documenso.com for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." +#~ msgstr "" + #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." msgstr "Vous avez mis à jour {teamMemberName}." diff --git a/packages/lib/utils/i18n.ts b/packages/lib/utils/i18n.ts index 7c4f494a4..d568f1df0 100644 --- a/packages/lib/utils/i18n.ts +++ b/packages/lib/utils/i18n.ts @@ -1,6 +1,6 @@ import type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies'; -import type { I18n } from '@lingui/core'; +import type { I18n, MessageDescriptor } from '@lingui/core'; import { IS_APP_WEB, IS_APP_WEB_I18N_ENABLED } from '../constants/app'; import type { I18nLocaleData, SupportedLanguageCodes } from '../constants/i18n'; @@ -10,7 +10,17 @@ export async function dynamicActivate(i18nInstance: I18n, locale: string) { const extension = process.env.NODE_ENV === 'development' ? 'po' : 'js'; const context = IS_APP_WEB ? 'web' : 'marketing'; - const { messages } = await import(`../translations/${locale}/${context}.${extension}`); + let { messages } = await import(`../translations/${locale}/${context}.${extension}`); + + // Dirty way to load common messages for development since it's not compiled. + if (process.env.NODE_ENV === 'development') { + const commonMessages = await import(`../translations/${locale}/common.${extension}`); + + messages = { + ...messages, + ...commonMessages.messages, + }; + } i18nInstance.loadAndActivate({ locale, messages }); } @@ -106,3 +116,7 @@ export const extractLocaleData = ({ locales, }; }; + +export const parseMessageDescriptor = (_: I18n['_'], value: string | MessageDescriptor) => { + return typeof value === 'string' ? value : _(value); +}; diff --git a/packages/ui/components/document/document-share-button.tsx b/packages/ui/components/document/document-share-button.tsx index bcf888838..bfaeb6afd 100644 --- a/packages/ui/components/document/document-share-button.tsx +++ b/packages/ui/components/document/document-share-button.tsx @@ -139,12 +139,16 @@ export const DocumentShareButton = ({ - Share your signing experience! + + Share your signing experience! + - Rest assured, your document is strictly confidential and will never be shared. Only your - signing experience will be highlighted. Share your personalized signing card to showcase - your signature! + + Rest assured, your document is strictly confidential and will never be shared. Only + your signing experience will be highlighted. Share your personalized signing card to + showcase your signature! + @@ -187,7 +191,7 @@ export const DocumentShareButton = ({
diff --git a/packages/ui/primitives/document-flow/add-fields.tsx b/packages/ui/primitives/document-flow/add-fields.tsx index a7903f2e8..3adb96b5e 100644 --- a/packages/ui/primitives/document-flow/add-fields.tsx +++ b/packages/ui/primitives/document-flow/add-fields.tsx @@ -5,6 +5,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { Caveat } from 'next/font/google'; import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; import { Prisma } from '@prisma/client'; import { CalendarDays, @@ -34,6 +35,7 @@ import { } from '@documenso/lib/types/field-meta'; import { nanoid } from '@documenso/lib/universal/id'; import { validateFieldsUninserted } from '@documenso/lib/utils/fields'; +import { parseMessageDescriptor } from '@documenso/lib/utils/i18n'; import { canRecipientBeModified, canRecipientFieldsBeModified, @@ -114,6 +116,7 @@ export const AddFieldsFormPartial = ({ teamId, }: AddFieldsFormProps) => { const { toast } = useToast(); + const { _ } = useLingui(); const [isMissingSignatureDialogVisible, setIsMissingSignatureDialogVisible] = useState(false); @@ -568,7 +571,10 @@ export const AddFieldsFormPartial = ({ {showAdvancedSettings && currentField ? ( - {FRIENDLY_FIELD_TYPE[selectedField]} + {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[selectedField])}
)} @@ -684,8 +690,7 @@ export const AddFieldsFormPartial = ({ {recipientsByRoleToDisplay.map(([role, roleRecipients], roleIndex) => (
- {/* Todo: Translations - Add plural translations. */} - {`${RECIPIENT_ROLES_DESCRIPTION_ENG[role].roleName}s`} + {_(RECIPIENT_ROLES_DESCRIPTION_ENG[role].roleNamePlural)}
{roleRecipients.length === 0 && ( @@ -997,7 +1002,7 @@ export const AddFieldsFormPartial = ({ )} > - Radio + Radio

@@ -1023,7 +1028,8 @@ export const AddFieldsFormPartial = ({ )} > - Checkbox + {/* Not translated on purpose. */} + Checkbox

diff --git a/packages/ui/primitives/document-flow/add-signature.types.ts b/packages/ui/primitives/document-flow/add-signature.types.ts index 29c505a66..1439a4bb0 100644 --- a/packages/ui/primitives/document-flow/add-signature.types.ts +++ b/packages/ui/primitives/document-flow/add-signature.types.ts @@ -1,10 +1,11 @@ +import { msg } from '@lingui/macro'; import { z } from 'zod'; export const ZAddSignatureFormSchema = z.object({ email: z .string() - .min(1, { message: 'Email is required' }) - .email({ message: 'Invalid email address' }), + .min(1, { message: msg`Email is required`.id }) + .email({ message: msg`Invalid email address`.id }), name: z.string(), customText: z.string(), number: z.number().optional(), diff --git a/packages/ui/primitives/document-flow/add-signers.tsx b/packages/ui/primitives/document-flow/add-signers.tsx index 7c3d2a96e..9c94fcc7a 100644 --- a/packages/ui/primitives/document-flow/add-signers.tsx +++ b/packages/ui/primitives/document-flow/add-signers.tsx @@ -504,7 +504,7 @@ export const AddSignersFormPartial = ({ ; diff --git a/packages/ui/primitives/document-flow/show-field-item.tsx b/packages/ui/primitives/document-flow/show-field-item.tsx index 5cc2885d6..ced978e7c 100644 --- a/packages/ui/primitives/document-flow/show-field-item.tsx +++ b/packages/ui/primitives/document-flow/show-field-item.tsx @@ -2,10 +2,12 @@ import { Caveat } from 'next/font/google'; +import { useLingui } from '@lingui/react'; import type { Prisma } from '@prisma/client'; import { createPortal } from 'react-dom'; import { useFieldPageCoords } from '@documenso/lib/client-only/hooks/use-field-page-coords'; +import { parseMessageDescriptor } from '@documenso/lib/utils/i18n'; import { FieldType } from '@documenso/prisma/client'; import { cn } from '../../lib/utils'; @@ -25,6 +27,8 @@ export type ShowFieldItemProps = { }; export const ShowFieldItem = ({ field, recipients }: ShowFieldItemProps) => { + const { _ } = useLingui(); + const coords = useFieldPageCoords(field); const signerEmail = @@ -47,7 +51,7 @@ export const ShowFieldItem = ({ field, recipients }: ShowFieldItemProps) => { field.type === FieldType.SIGNATURE && fontCaveat.className, )} > - {FRIENDLY_FIELD_TYPE[field.type]} + {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[field.type])}

{signerEmail} diff --git a/packages/ui/primitives/document-flow/types.ts b/packages/ui/primitives/document-flow/types.ts index c98d71434..ca43ae2fc 100644 --- a/packages/ui/primitives/document-flow/types.ts +++ b/packages/ui/primitives/document-flow/types.ts @@ -1,4 +1,5 @@ import type { MessageDescriptor } from '@lingui/core'; +import { msg } from '@lingui/macro'; import { z } from 'zod'; import { ZFieldMetaSchema } from '@documenso/lib/types/field-meta'; @@ -44,18 +45,18 @@ export const ZDocumentFlowFormSchema = z.object({ export type TDocumentFlowFormSchema = z.infer; -export const FRIENDLY_FIELD_TYPE: Record = { - [FieldType.SIGNATURE]: 'Signature', - [FieldType.FREE_SIGNATURE]: 'Free Signature', - [FieldType.INITIALS]: 'Initials', - [FieldType.TEXT]: 'Text', - [FieldType.DATE]: 'Date', - [FieldType.EMAIL]: 'Email', - [FieldType.NAME]: 'Name', - [FieldType.NUMBER]: 'Number', - [FieldType.RADIO]: 'Radio', - [FieldType.CHECKBOX]: 'Checkbox', - [FieldType.DROPDOWN]: 'Select', +export const FRIENDLY_FIELD_TYPE: Record = { + [FieldType.SIGNATURE]: msg`Signature`, + [FieldType.FREE_SIGNATURE]: msg`Free Signature`, + [FieldType.INITIALS]: msg`Initials`, + [FieldType.TEXT]: msg`Text`, + [FieldType.DATE]: msg`Date`, + [FieldType.EMAIL]: msg`Email`, + [FieldType.NAME]: msg`Name`, + [FieldType.NUMBER]: msg`Number`, + [FieldType.RADIO]: `Radio`, + [FieldType.CHECKBOX]: `Checkbox`, + [FieldType.DROPDOWN]: `Select`, }; export interface DocumentFlowStep { diff --git a/packages/ui/primitives/form/form-error-message.tsx b/packages/ui/primitives/form/form-error-message.tsx index e429799da..7de28b585 100644 --- a/packages/ui/primitives/form/form-error-message.tsx +++ b/packages/ui/primitives/form/form-error-message.tsx @@ -1,3 +1,4 @@ +import { useLingui } from '@lingui/react'; import { AnimatePresence, motion } from 'framer-motion'; import { cn } from '../../lib/utils'; @@ -12,6 +13,15 @@ const isErrorWithMessage = (error: unknown): error is { message?: string } => { }; export const FormErrorMessage = ({ error, className }: FormErrorMessageProps) => { + const { i18n } = useLingui(); + + let errorMessage = isErrorWithMessage(error) ? error.message : ''; + + // Checks to see if there's a translation for the string, since we're passing IDs for Zod errors. + if (typeof errorMessage === 'string' && i18n.t(errorMessage)) { + errorMessage = i18n.t(errorMessage); + } + return ( {isErrorWithMessage(error) && ( @@ -30,7 +40,7 @@ export const FormErrorMessage = ({ error, className }: FormErrorMessageProps) => }} className={cn('text-xs text-red-500', className)} > - {error.message} + {errorMessage} )} diff --git a/packages/ui/primitives/form/form.tsx b/packages/ui/primitives/form/form.tsx index f500accae..6614fccbe 100644 --- a/packages/ui/primitives/form/form.tsx +++ b/packages/ui/primitives/form/form.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; +import { useLingui } from '@lingui/react'; import type * as LabelPrimitive from '@radix-ui/react-label'; import { Slot } from '@radix-ui/react-slot'; import { AnimatePresence, motion } from 'framer-motion'; @@ -136,13 +137,21 @@ const FormMessage = React.forwardRef< HTMLParagraphElement, React.HTMLAttributes >(({ className, children, ...props }, ref) => { + const { i18n } = useLingui(); + const { error, formMessageId } = useFormField(); - const body = error ? String(error?.message) : children; + + let body = error ? String(error?.message) : children; if (!body) { return null; } + // Checks to see if there's a translation for the string, since we're passing IDs for Zod errors. + if (typeof body === 'string' && i18n.t(body)) { + body = i18n.t(body); + } + return ( import('./pdf-viewer'), { @@ -10,7 +11,9 @@ export const LazyPDFViewer = dynamic(async () => import('./pdf-viewer'), {

-

Loading document...

+

+ Loading document... +

), }); diff --git a/packages/ui/primitives/pdf-viewer.tsx b/packages/ui/primitives/pdf-viewer.tsx index a1bce432d..95a380eb5 100644 --- a/packages/ui/primitives/pdf-viewer.tsx +++ b/packages/ui/primitives/pdf-viewer.tsx @@ -2,6 +2,8 @@ import React, { useEffect, useMemo, useRef, useState } from 'react'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; import { Loader } from 'lucide-react'; import { type PDFDocumentProxy, PasswordResponses } from 'pdfjs-dist'; import { Document as PDFDocument, Page as PDFPage, pdfjs } from 'react-pdf'; @@ -38,7 +40,9 @@ const PDFLoader = () => ( <> -

Loading document...

+

+ Loading document... +

); @@ -61,6 +65,7 @@ export const PDFViewer = ({ onPageClick, ...props }: PDFViewerProps) => { + const { _ } = useLingui(); const { toast } = useToast(); const $el = useRef(null); @@ -158,8 +163,8 @@ export const PDFViewer = ({ console.error(err); toast({ - title: 'Error', - description: 'An error occurred while loading the document.', + title: _(msg`Error`), + description: _(msg`An error occurred while loading the document.`), variant: 'destructive', }); } @@ -211,8 +216,12 @@ export const PDFViewer = ({
{pdfError ? (
-

Something went wrong while loading the document.

-

Please try again or contact our support.

+

+ Something went wrong while loading the document. +

+

+ Please try again or contact our support. +

) : ( @@ -222,8 +231,12 @@ export const PDFViewer = ({ error={
-

Something went wrong while loading the document.

-

Please try again or contact our support.

+

+ Something went wrong while loading the document. +

+

+ Please try again or contact our support. +

} @@ -243,7 +256,9 @@ export const PDFViewer = ({ />

- Page {i + 1} of {numPages} + + Page {i + 1} of {numPages} +

))} diff --git a/packages/ui/primitives/template-flow/add-template-fields.tsx b/packages/ui/primitives/template-flow/add-template-fields.tsx index 4070c0932..ec5bcef07 100644 --- a/packages/ui/primitives/template-flow/add-template-fields.tsx +++ b/packages/ui/primitives/template-flow/add-template-fields.tsx @@ -5,6 +5,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { Caveat } from 'next/font/google'; import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; import { CalendarDays, CheckSquare, @@ -28,6 +29,7 @@ import { ZFieldMetaSchema, } from '@documenso/lib/types/field-meta'; import { nanoid } from '@documenso/lib/universal/id'; +import { parseMessageDescriptor } from '@documenso/lib/utils/i18n'; import type { Field, Recipient } from '@documenso/prisma/client'; import { FieldType, RecipientRole } from '@documenso/prisma/client'; import { cn } from '@documenso/ui/lib/utils'; @@ -85,6 +87,8 @@ export const AddTemplateFieldsFormPartial = ({ onSubmit, teamId, }: AddTemplateFieldsFormProps) => { + const { _ } = useLingui(); + const { isWithinPageBounds, getFieldPosition, getPage } = useDocumentElement(); const { currentStep, totalSteps, previousStep } = useStep(); const [showAdvancedSettings, setShowAdvancedSettings] = useState(false); @@ -400,7 +404,10 @@ export const AddTemplateFieldsFormPartial = ({ {showAdvancedSettings && currentField ? ( - {FRIENDLY_FIELD_TYPE[selectedField]} + {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[selectedField])}
)} @@ -501,8 +508,7 @@ export const AddTemplateFieldsFormPartial = ({ {recipientsByRoleToDisplay.map(([role, roleRecipients], roleIndex) => (
- {/* Todo: Translations - Add plural translations. */} - {`${RECIPIENT_ROLES_DESCRIPTION_ENG[role].roleName}s`} + {_(RECIPIENT_ROLES_DESCRIPTION_ENG[role].roleNamePlural)}
{roleRecipients.length === 0 && ( @@ -785,7 +791,7 @@ export const AddTemplateFieldsFormPartial = ({ )} > - Checkbox + Checkbox

From 88eaec91c944d39c3be3573491a015be8cb3e711 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Fri, 1 Nov 2024 11:27:09 +0900 Subject: [PATCH 10/52] chore: extract translations --- packages/lib/translations/de/web.po | 32 ++++++++++++++--------------- packages/lib/translations/en/web.po | 32 ++++++++++++++--------------- packages/lib/translations/es/web.po | 32 ++++++++++++++--------------- packages/lib/translations/fr/web.po | 32 ++++++++++++++--------------- 4 files changed, 64 insertions(+), 64 deletions(-) diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index aab337fde..f88442e79 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -820,8 +820,8 @@ msgstr "Klicken Sie, um den Signatur-Link zu kopieren, um ihn an den Empfänger #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:439 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:318 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319 msgid "Click to insert field" msgstr "Klicken Sie, um das Feld einzufügen" @@ -838,8 +838,8 @@ msgid "Close" msgstr "Schließen" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:429 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:308 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Vollständig" @@ -1493,8 +1493,8 @@ msgstr "" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:256 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 @@ -1682,8 +1682,8 @@ msgstr "Haben Sie Ihr Passwort vergessen?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242 #: apps/web/src/components/forms/profile.tsx:110 #: apps/web/src/components/forms/v2/signup.tsx:312 msgid "Full Name" @@ -2139,8 +2139,8 @@ msgstr "Neuer Teamowner" msgid "New Template" msgstr "Neue Vorlage" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:420 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:299 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Nächster" @@ -2864,8 +2864,8 @@ msgstr "Unterzeichnen als {0} <0>({1})" msgid "Sign as<0>{0} <1>({1})" msgstr "Unterzeichnen als<0>{0} <1>({1})" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:329 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:209 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210 msgid "Sign document" msgstr "Dokument unterschreiben" @@ -2897,8 +2897,8 @@ msgstr "Melden Sie sich bei Ihrem Konto an" msgid "Sign Out" msgstr "Ausloggen" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:350 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:230 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231 msgid "Sign the document to complete the process." msgstr "Unterschreiben Sie das Dokument, um den Vorgang abzuschließen." @@ -2925,8 +2925,8 @@ msgstr "Registrieren mit OIDC" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:270 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271 #: apps/web/src/components/forms/profile.tsx:132 msgid "Signature" msgstr "Unterschrift" diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index 23f7bef13..d34d13ac6 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -815,8 +815,8 @@ msgstr "Click to copy signing link for sending to recipient" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:439 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:318 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319 msgid "Click to insert field" msgstr "Click to insert field" @@ -833,8 +833,8 @@ msgid "Close" msgstr "Close" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:429 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:308 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Complete" @@ -1488,8 +1488,8 @@ msgstr "Electronic Signature Disclosure" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:256 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 @@ -1677,8 +1677,8 @@ msgstr "Forgot your password?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242 #: apps/web/src/components/forms/profile.tsx:110 #: apps/web/src/components/forms/v2/signup.tsx:312 msgid "Full Name" @@ -2134,8 +2134,8 @@ msgstr "New team owner" msgid "New Template" msgstr "New Template" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:420 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:299 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Next" @@ -2859,8 +2859,8 @@ msgstr "Sign as {0} <0>({1})" msgid "Sign as<0>{0} <1>({1})" msgstr "Sign as<0>{0} <1>({1})" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:329 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:209 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210 msgid "Sign document" msgstr "Sign document" @@ -2892,8 +2892,8 @@ msgstr "Sign in to your account" msgid "Sign Out" msgstr "Sign Out" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:350 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:230 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231 msgid "Sign the document to complete the process." msgstr "Sign the document to complete the process." @@ -2920,8 +2920,8 @@ msgstr "Sign Up with OIDC" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:270 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271 #: apps/web/src/components/forms/profile.tsx:132 msgid "Signature" msgstr "Signature" diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 5c6fe014f..bda803f3c 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -820,8 +820,8 @@ msgstr "Haga clic para copiar el enlace de firma para enviar al destinatario" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:439 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:318 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319 msgid "Click to insert field" msgstr "Haga clic para insertar campo" @@ -838,8 +838,8 @@ msgid "Close" msgstr "Cerrar" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:429 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:308 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Completo" @@ -1493,8 +1493,8 @@ msgstr "" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:256 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 @@ -1682,8 +1682,8 @@ msgstr "¿Olvidaste tu contraseña?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242 #: apps/web/src/components/forms/profile.tsx:110 #: apps/web/src/components/forms/v2/signup.tsx:312 msgid "Full Name" @@ -2139,8 +2139,8 @@ msgstr "Nuevo propietario del equipo" msgid "New Template" msgstr "Nueva plantilla" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:420 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:299 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Siguiente" @@ -2864,8 +2864,8 @@ msgstr "Firmar como {0} <0>({1})" msgid "Sign as<0>{0} <1>({1})" msgstr "Firmar como<0>{0} <1>({1})" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:329 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:209 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210 msgid "Sign document" msgstr "Firmar documento" @@ -2897,8 +2897,8 @@ msgstr "Inicia sesión en tu cuenta" msgid "Sign Out" msgstr "Cerrar sesión" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:350 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:230 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231 msgid "Sign the document to complete the process." msgstr "Firma el documento para completar el proceso." @@ -2925,8 +2925,8 @@ msgstr "Regístrate con OIDC" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:270 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271 #: apps/web/src/components/forms/profile.tsx:132 msgid "Signature" msgstr "Firma" diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index 7ba885755..1b1c0864a 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -820,8 +820,8 @@ msgstr "Cliquez pour copier le lien de signature à envoyer au destinataire" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:175 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:115 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:439 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:318 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:440 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:319 msgid "Click to insert field" msgstr "Cliquez pour insérer le champ" @@ -838,8 +838,8 @@ msgid "Close" msgstr "Fermer" #: apps/web/src/app/(signing)/sign/[token]/sign-dialog.tsx:61 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:429 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:308 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:430 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:309 #: apps/web/src/components/forms/v2/signup.tsx:534 msgid "Complete" msgstr "Compléter" @@ -1493,8 +1493,8 @@ msgstr "" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:376 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:256 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:257 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:169 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:153 #: apps/web/src/components/forms/forgot-password.tsx:81 @@ -1682,8 +1682,8 @@ msgstr "Mot de passe oublié ?" #: apps/web/src/app/(recipient)/d/[token]/sign-direct-template.tsx:326 #: apps/web/src/app/(signing)/sign/[token]/form.tsx:178 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:193 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:361 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:241 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:362 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:242 #: apps/web/src/components/forms/profile.tsx:110 #: apps/web/src/components/forms/v2/signup.tsx:312 msgid "Full Name" @@ -2139,8 +2139,8 @@ msgstr "Nouveau propriétaire d'équipe" msgid "New Template" msgstr "Nouveau modèle" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:420 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:299 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:421 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:300 #: apps/web/src/components/forms/v2/signup.tsx:521 msgid "Next" msgstr "Suivant" @@ -2864,8 +2864,8 @@ msgstr "Signer comme {0} <0>({1})" msgid "Sign as<0>{0} <1>({1})" msgstr "Signer comme<0>{0} <1>({1})" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:329 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:209 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:330 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:210 msgid "Sign document" msgstr "Signer le document" @@ -2897,8 +2897,8 @@ msgstr "Connectez-vous à votre compte" msgid "Sign Out" msgstr "Déconnexion" -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:350 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:230 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:351 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:231 msgid "Sign the document to complete the process." msgstr "Signez le document pour terminer le processus." @@ -2925,8 +2925,8 @@ msgstr "S'inscrire avec OIDC" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:192 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:195 #: apps/web/src/app/(signing)/sign/[token]/signature-field.tsx:225 -#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:391 -#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:270 +#: apps/web/src/app/embed/direct/[[...url]]/client.tsx:392 +#: apps/web/src/app/embed/sign/[[...url]]/client.tsx:271 #: apps/web/src/components/forms/profile.tsx:132 msgid "Signature" msgstr "Signature" From f42e600e3fa7804435bcfcbe7beeca1c207c536b Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Fri, 1 Nov 2024 12:37:54 +0900 Subject: [PATCH 11/52] chore: update workflow --- .github/workflows/translations-upload.yml | 1 - .../app/(teams)/t/[teamUrl]/settings/tokens/page.tsx | 10 ++-------- packages/lib/translations/de/web.po | 10 +--------- 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/.github/workflows/translations-upload.yml b/.github/workflows/translations-upload.yml index 8a8564c29..cb69d6338 100644 --- a/.github/workflows/translations-upload.yml +++ b/.github/workflows/translations-upload.yml @@ -21,7 +21,6 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: - ref: ${{ github.event.pull_request.head.ref }} token: ${{ secrets.GH_PAT }} - uses: ./.github/actions/node-install diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx index 1ff9c9afa..43b85483e 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx @@ -97,17 +97,11 @@ export default async function ApiTokensPage({ params }: ApiTokensPageProps) {
{token.name}

- - Created on - {i18n.date(token.createdAt, DateTime.DATETIME_FULL)} - + Created on {i18n.date(token.createdAt, DateTime.DATETIME_FULL)}

{token.expires ? (

- - Expires on - {i18n.date(token.expires, DateTime.DATETIME_FULL)} - + Expires on {i18n.date(token.expires, DateTime.DATETIME_FULL)}

) : (

diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index f88442e79..3fce8d693 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -1063,10 +1063,6 @@ msgstr "Erstellt am" msgid "Created on {0}" msgstr "Erstellt am {0}" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 -msgid "Created on{0}" -msgstr "" - #: apps/web/src/components/forms/password.tsx:107 msgid "Current Password" msgstr "Aktuelles Passwort" @@ -1639,11 +1635,7 @@ msgstr "Abgelaufen" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 msgid "Expires on {0}" -msgstr "" - -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107 -msgid "Expires on{0}" -msgstr "Läuft ab am{0}" +msgstr "Läuft ab am {0}" #: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:42 msgid "Failed to reseal document" From 378e515843e2731dbfff0e1ed208347d587f0d48 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Fri, 1 Nov 2024 12:56:07 +0900 Subject: [PATCH 12/52] chore: extract translations --- packages/lib/translations/de/web.po | 14 ++++---------- packages/lib/translations/en/common.po | 4 ---- packages/lib/translations/en/web.po | 22 ++++------------------ packages/lib/translations/es/common.po | 4 ---- packages/lib/translations/es/web.po | 22 ++++------------------ packages/lib/translations/fr/common.po | 4 ---- packages/lib/translations/fr/web.po | 22 ++++------------------ 7 files changed, 16 insertions(+), 76 deletions(-) diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index 3fce8d693..4f8e8bab0 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -1059,6 +1059,7 @@ msgstr "Erstellt am" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:67 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:88 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:93 msgid "Created on {0}" msgstr "Erstellt am {0}" @@ -1109,7 +1110,7 @@ msgstr "" #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 #: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:122 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:109 @@ -1634,6 +1635,7 @@ msgid "Expired" msgstr "Abgelaufen" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:104 msgid "Expires on {0}" msgstr "Läuft ab am {0}" @@ -1662,10 +1664,6 @@ msgstr "Die Datei darf nicht größer als {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB se msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" msgstr "" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:152 -#~ msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>support@documenso.com" -#~ msgstr "" - #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 msgid "Forgot your password?" @@ -3592,7 +3590,7 @@ msgid "Token deleted" msgstr "" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:114 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108 msgid "Token doesn't have an expiration date" msgstr "" @@ -4441,10 +4439,6 @@ msgstr "Sie haben den Zugriff erfolgreich widerrufen." msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." msgstr "" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:102 -#~ msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>support@documenso.com for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." -#~ msgstr "" - #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." msgstr "Sie haben {teamMemberName} aktualisiert." diff --git a/packages/lib/translations/en/common.po b/packages/lib/translations/en/common.po index e2ec7c7c2..37f959cf7 100644 --- a/packages/lib/translations/en/common.po +++ b/packages/lib/translations/en/common.po @@ -181,10 +181,6 @@ msgstr "Ccers" msgid "Character Limit" msgstr "Character Limit" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:794 -#~ msgid "Checkbox" -#~ msgstr "Checkbox" - #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197 msgid "Checkbox values" msgstr "Checkbox values" diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index d34d13ac6..bcd28a642 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -1054,14 +1054,11 @@ msgstr "Created on" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:67 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:88 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:93 msgid "Created on {0}" msgstr "Created on {0}" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 -msgid "Created on{0}" -msgstr "Created on{0}" - #: apps/web/src/components/forms/password.tsx:107 msgid "Current Password" msgstr "Current Password" @@ -1108,7 +1105,7 @@ msgstr "delete" #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 #: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:122 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:109 @@ -1633,13 +1630,10 @@ msgid "Expired" msgstr "Expired" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:104 msgid "Expires on {0}" msgstr "Expires on {0}" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107 -msgid "Expires on{0}" -msgstr "Expires on{0}" - #: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:42 msgid "Failed to reseal document" msgstr "Failed to reseal document" @@ -1665,10 +1659,6 @@ msgstr "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" msgstr "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:152 -#~ msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>support@documenso.com" -#~ msgstr "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>support@documenso.com" - #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 msgid "Forgot your password?" @@ -3595,7 +3585,7 @@ msgid "Token deleted" msgstr "Token deleted" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:114 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108 msgid "Token doesn't have an expiration date" msgstr "Token doesn't have an expiration date" @@ -4444,10 +4434,6 @@ msgstr "You have successfully revoked access." msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." msgstr "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:102 -#~ msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>support@documenso.com for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." -#~ msgstr "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>support@documenso.com for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." - #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." msgstr "You have updated {teamMemberName}." diff --git a/packages/lib/translations/es/common.po b/packages/lib/translations/es/common.po index 8b6ff9230..5dad84e7e 100644 --- a/packages/lib/translations/es/common.po +++ b/packages/lib/translations/es/common.po @@ -186,10 +186,6 @@ msgstr "" msgid "Character Limit" msgstr "Límite de caracteres" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:794 -#~ msgid "Checkbox" -#~ msgstr "Caja de verificación" - #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:197 msgid "Checkbox values" msgstr "Valores de Checkbox" diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index bda803f3c..c6caf0154 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -1059,14 +1059,11 @@ msgstr "Creado el" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:67 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:88 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:93 msgid "Created on {0}" msgstr "Creado el {0}" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 -msgid "Created on{0}" -msgstr "Creado el{0}" - #: apps/web/src/components/forms/password.tsx:107 msgid "Current Password" msgstr "Contraseña actual" @@ -1113,7 +1110,7 @@ msgstr "" #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 #: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:122 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:109 @@ -1638,13 +1635,10 @@ msgid "Expired" msgstr "Expirado" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:104 msgid "Expires on {0}" msgstr "Expira el {0}" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107 -msgid "Expires on{0}" -msgstr "Expira el{0}" - #: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:42 msgid "Failed to reseal document" msgstr "Falló al volver a sellar el documento" @@ -1670,10 +1664,6 @@ msgstr "El archivo no puede ser mayor a {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" msgstr "" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:152 -#~ msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>support@documenso.com" -#~ msgstr "" - #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 msgid "Forgot your password?" @@ -3600,7 +3590,7 @@ msgid "Token deleted" msgstr "Token eliminado" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:114 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108 msgid "Token doesn't have an expiration date" msgstr "El token no tiene una fecha de expiración" @@ -4449,10 +4439,6 @@ msgstr "Has revocado el acceso con éxito." msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." msgstr "" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:102 -#~ msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>support@documenso.com for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." -#~ msgstr "" - #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." msgstr "Has actualizado a {teamMemberName}." diff --git a/packages/lib/translations/fr/common.po b/packages/lib/translations/fr/common.po index 9d6d3be72..6bf5539bd 100644 --- a/packages/lib/translations/fr/common.po +++ b/packages/lib/translations/fr/common.po @@ -186,10 +186,6 @@ msgstr "" msgid "Character Limit" msgstr "Limite de caractères" -#: packages/ui/primitives/template-flow/add-template-fields.tsx:794 -#~ 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" diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index 1b1c0864a..f1c958309 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -1059,14 +1059,11 @@ msgstr "Créé le" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:67 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:88 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:93 msgid "Created on {0}" msgstr "Créé le {0}" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:100 -msgid "Created on{0}" -msgstr "Créé le{0}" - #: apps/web/src/components/forms/password.tsx:107 msgid "Current Password" msgstr "Mot de passe actuel" @@ -1113,7 +1110,7 @@ msgstr "" #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 #: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:122 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:121 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:109 @@ -1638,13 +1635,10 @@ msgid "Expired" msgstr "Expiré" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:71 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:104 msgid "Expires on {0}" msgstr "Expire le {0}" -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:107 -msgid "Expires on{0}" -msgstr "Expire le{0}" - #: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:42 msgid "Failed to reseal document" msgstr "Échec du reseal du document" @@ -1670,10 +1664,6 @@ msgstr "Le fichier ne peut pas dépasser {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} Mo" msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" msgstr "" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:152 -#~ msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>support@documenso.com" -#~ msgstr "" - #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 msgid "Forgot your password?" @@ -3600,7 +3590,7 @@ msgid "Token deleted" msgstr "Jeton supprimé" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 -#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:114 +#: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108 msgid "Token doesn't have an expiration date" msgstr "Le jeton n'a pas de date d'expiration" @@ -4449,10 +4439,6 @@ msgstr "Vous avez révoqué l'accès avec succès." msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." msgstr "" -#: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:102 -#~ msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>support@documenso.com for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." -#~ msgstr "" - #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." msgstr "Vous avez mis à jour {teamMemberName}." From 8aa6d8e602d0115f4673613589089c1d71f8a883 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Fri, 1 Nov 2024 15:22:51 +1100 Subject: [PATCH 13/52] chore: add translations (#1433) --- packages/lib/translations/de/common.po | 39 +-- packages/lib/translations/de/marketing.po | 3 +- packages/lib/translations/de/web.po | 335 +++++++++++----------- packages/lib/translations/es/common.po | 39 +-- packages/lib/translations/es/marketing.po | 3 +- packages/lib/translations/es/web.po | 95 +++--- packages/lib/translations/fr/common.po | 39 +-- packages/lib/translations/fr/marketing.po | 3 +- packages/lib/translations/fr/web.po | 95 +++--- 9 files changed, 330 insertions(+), 321 deletions(-) diff --git a/packages/lib/translations/de/common.po b/packages/lib/translations/de/common.po index 8aaf6650f..557739d1d 100644 --- a/packages/lib/translations/de/common.po +++ b/packages/lib/translations/de/common.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-10-18 04:04\n" +"PO-Revision-Date: 2024-11-01 04:00\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -126,7 +126,7 @@ msgstr "Nach der Übermittlung wird ein Dokument automatisch generiert und zu Ih #: packages/ui/primitives/pdf-viewer.tsx:167 msgid "An error occurred while loading the document." -msgstr "" +msgstr "Ein Fehler ist beim Laden des Dokuments aufgetreten." #: packages/lib/constants/recipient-roles.ts:8 msgid "Approve" @@ -142,7 +142,7 @@ msgstr "Genehmiger" #: packages/lib/constants/recipient-roles.ts:44 msgid "Approvers" -msgstr "" +msgstr "Genehmigende" #: packages/lib/constants/recipient-roles.ts:10 msgid "Approving" @@ -180,7 +180,7 @@ msgstr "CC'd" #: packages/lib/constants/recipient-roles.ts:51 msgid "Ccers" -msgstr "" +msgstr "Ccers" #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 msgid "Character Limit" @@ -225,7 +225,7 @@ msgstr "In die Zwischenablage kopiert" #: packages/ui/components/document/document-share-button.tsx:194 msgid "Copy Link" -msgstr "" +msgstr "Link kopieren" #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" @@ -286,7 +286,7 @@ msgstr "E-Mail" #: packages/ui/primitives/document-flow/add-signature.types.ts:7 msgid "Email is required" -msgstr "" +msgstr "E-Mail ist erforderlich" #: packages/ui/primitives/template-flow/add-template-settings.tsx:184 msgid "Email Options" @@ -363,7 +363,7 @@ msgstr "Schriftgröße" #: packages/ui/primitives/document-flow/types.ts:50 msgid "Free Signature" -msgstr "" +msgstr "Freie Unterschrift" #: packages/ui/components/document/document-global-auth-action-select.tsx:64 msgid "Global recipient action authentication" @@ -400,15 +400,15 @@ msgstr "Authentifizierungsmethode erben" #: packages/ui/primitives/document-flow/types.ts:51 msgid "Initials" -msgstr "" +msgstr "Initialen" #: packages/ui/primitives/document-flow/add-signers.types.ts:17 msgid "Invalid email" -msgstr "" +msgstr "Ungültige E-Mail" #: packages/ui/primitives/document-flow/add-signature.types.ts:8 msgid "Invalid email address" -msgstr "" +msgstr "Ungültige E-Mail-Adresse" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 @@ -419,7 +419,7 @@ msgstr "Beschriftung" #: packages/ui/primitives/lazy-pdf-viewer.tsx:15 #: packages/ui/primitives/pdf-viewer.tsx:44 msgid "Loading document..." -msgstr "" +msgstr "Lade Dokument..." #: packages/lib/constants/teams.ts:11 msgid "Manager" @@ -519,7 +519,7 @@ msgstr "Seite {0} von {1}" #: packages/ui/primitives/pdf-viewer.tsx:259 msgid "Page {0} of {numPages}" -msgstr "" +msgstr "Seite {0} von {numPages}" #: packages/ui/primitives/document-password-dialog.tsx:62 msgid "Password Required" @@ -538,7 +538,7 @@ msgstr "Platzhalter" #: packages/ui/primitives/pdf-viewer.tsx:223 #: packages/ui/primitives/pdf-viewer.tsx:238 msgid "Please try again or contact our support." -msgstr "" +msgstr "Bitte versuchen Sie es erneut oder kontaktieren Sie unseren Support." #: packages/ui/primitives/template-flow/add-template-fields.tsx:768 msgid "Radio" @@ -589,7 +589,7 @@ msgstr "Pflichtfeld" #: packages/ui/components/document/document-share-button.tsx:147 msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" -msgstr "" +msgstr "Seien Sie versichert, Ihr Dokument ist streng vertraulich und wird niemals geteilt. Nur Ihre Unterzeichnungserfahrung wird hervorgehoben. Teilen Sie Ihre personalisierte Unterschriftkarte, um Ihre Unterschrift zu präsentieren!" #: packages/ui/primitives/data-table-pagination.tsx:55 msgid "Rows per page" @@ -643,7 +643,7 @@ msgstr "Link teilen" #: packages/ui/components/document/document-share-button.tsx:143 msgid "Share your signing experience!" -msgstr "" +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 @@ -672,11 +672,11 @@ msgstr "Unterzeichner" #: packages/lib/constants/recipient-roles.ts:58 msgid "Signers" -msgstr "" +msgstr "Unterzeichner" #: packages/ui/primitives/document-flow/add-signers.types.ts:36 msgid "Signers must have unique emails" -msgstr "" +msgstr "Unterzeichner müssen eindeutige E-Mails haben" #: packages/lib/constants/recipient-roles.ts:22 msgid "Signing" @@ -693,7 +693,7 @@ msgstr "Etwas ist schief gelaufen" #: packages/ui/primitives/pdf-viewer.tsx:220 #: packages/ui/primitives/pdf-viewer.tsx:235 msgid "Something went wrong while loading the document." -msgstr "" +msgstr "Beim Laden des Dokuments ist ein Fehler aufgetreten." #: packages/ui/primitives/data-table.tsx:136 msgid "Something went wrong." @@ -856,7 +856,7 @@ msgstr "Betrachter" #: packages/lib/constants/recipient-roles.ts:65 msgid "Viewers" -msgstr "" +msgstr "Betrachter" #: packages/lib/constants/recipient-roles.ts:28 msgid "Viewing" @@ -877,3 +877,4 @@ msgstr "Sie können derzeit keine Dokumente hochladen." #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "Sie haben Ihr Dokumentenlimit erreicht." + diff --git a/packages/lib/translations/de/marketing.po b/packages/lib/translations/de/marketing.po index 0c3a69fe2..51b162dde 100644 --- a/packages/lib/translations/de/marketing.po +++ b/packages/lib/translations/de/marketing.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-10-18 04:04\n" +"PO-Revision-Date: 2024-11-01 02:29\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." + diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index 4f8e8bab0..81d733570 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-10-18 04:04\n" +"PO-Revision-Date: 2024-11-01 04:20\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -119,15 +119,15 @@ msgstr "<0>Absender: Alle" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:5 msgid "1 month" -msgstr "" +msgstr "1 Monat" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:8 msgid "12 months" -msgstr "" +msgstr "12 Monate" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:6 msgid "3 months" -msgstr "" +msgstr "3 Monate" #: apps/web/src/components/partials/not-found.tsx:45 msgid "404 Page not found" @@ -147,11 +147,11 @@ msgstr "404 Vorlage nicht gefunden" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:7 msgid "6 months" -msgstr "" +msgstr "6 Monate" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:4 msgid "7 days" -msgstr "" +msgstr "7 Tage" #: apps/web/src/components/forms/send-confirmation-email.tsx:55 msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." @@ -159,7 +159,7 @@ msgstr "Eine Bestätigungs-E-Mail wurde gesendet, und sie sollte in Kürze in de #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70 msgid "A device capable of accessing, opening, and reading documents" -msgstr "" +msgstr "Ein Gerät, das in der Lage ist, Dokumente zuzugreifen, zu öffnen und zu lesen" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" @@ -167,7 +167,7 @@ msgstr "Ein Entwurf wird erstellt" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73 msgid "A means to print or download documents for your records" -msgstr "" +msgstr "Ein Mittel, um Dokumente für Ihre Unterlagen zu drucken oder herunterzuladen" #: apps/web/src/components/forms/token.tsx:127 msgid "A new token was created successfully." @@ -193,7 +193,7 @@ msgstr "Ein Geheimnis, das an deine URL gesendet wird, damit du überprüfen kan #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64 msgid "A stable internet connection" -msgstr "" +msgstr "Eine stabile Internetverbindung" #: apps/web/src/components/forms/public-profile-form.tsx:198 msgid "A unique URL to access your profile" @@ -214,7 +214,7 @@ msgstr "Akzeptieren" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33 msgid "Acceptance and Consent" -msgstr "" +msgstr "Zustimmung und Einverständnis" #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26 msgid "Accepted team invitation" @@ -227,7 +227,7 @@ msgstr "Konto gelöscht" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139 msgid "Acknowledgment" -msgstr "" +msgstr "Bestätigung" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104 @@ -337,7 +337,7 @@ msgstr "Admin-Panel" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129 msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time." -msgstr "" +msgstr "Nach der elektronischen Unterzeichnung eines Dokuments haben Sie die Möglichkeit, das Dokument für Ihre Unterlagen anzusehen, herunterzuladen und auszudrucken. Es wird dringend empfohlen, eine Kopie aller elektronisch unterschriebenen Dokumente für Ihre persönlichen Unterlagen aufzubewahren. Wir werden ebenfalls eine Kopie des unterzeichneten Dokuments für unsere Unterlagen behalten, jedoch können wir Ihnen nach einer bestimmten Zeit möglicherweise keine Kopie des unterzeichneten Dokuments mehr zur Verfügung stellen." #: apps/web/src/components/formatter/document-status.tsx:46 msgid "All" @@ -353,7 +353,7 @@ msgstr "Alle Dokumente wurden verarbeitet. Alle neuen Dokumente, die gesendet od #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81 msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." -msgstr "" +msgstr "Alle Dokumente, die mit dem elektronischen Unterzeichnungsprozess zusammenhängen, werden Ihnen elektronisch über unsere Plattform oder per E-Mail zur Verfügung gestellt. Es liegt in Ihrer Verantwortung, sicherzustellen, dass Ihre E-Mail-Adresse aktuell ist und dass Sie unsere E-Mails empfangen und öffnen können." #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145 msgid "All inserted signatures will be voided" @@ -385,11 +385,11 @@ msgstr "Betrag" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48 msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper." -msgstr "" +msgstr "Eine elektronische Unterschrift, die Sie auf unserer Plattform bereitstellen, durch Klicken auf ein Dokument und Eingabe Ihres Namens oder einer anderen von uns bereitgestellten elektronischen Unterzeichnungsart, ist rechtlich bindend. Sie hat das gleiche Gewicht und die gleiche Durchsetzbarkeit wie eine handschriftliche Unterschrift auf Papier." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67 msgid "An email account" -msgstr "" +msgstr "Ein E-Mail-Konto" #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262 msgid "An email containing an invitation will be sent to each member." @@ -465,7 +465,7 @@ msgstr "Ein Fehler ist aufgetreten, während die Vorlage verschoben wurde." #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116 msgid "An error occurred while removing the field." -msgstr "" +msgstr "Ein Fehler ist beim Entfernen des Feldes aufgetreten." #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152 #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 @@ -594,7 +594,7 @@ msgstr "Genehmigen" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:129 msgid "Approve Document" -msgstr "" +msgstr "Dokument genehmigen" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78 msgid "Approved" @@ -705,15 +705,15 @@ msgstr "Durch die Aktivierung von 2FA müssen Sie jedes Mal, wenn Sie sich anmel #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142 msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein." -msgstr "" +msgstr "Indem Sie den elektronischen Unterzeichnungsdienst von Documenso verwenden, bestätigen Sie, dass Sie diese Offenlegung gelesen und verstanden haben. Sie stimmen allen Bedingungen und Konditionen zu, die mit der Verwendung elektronischer Unterschriften und elektronischer Transaktionen verbunden sind, wie hierin dargelegt." #: apps/web/src/components/general/signing-disclosure.tsx:14 msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions." -msgstr "" +msgstr "Indem Sie fortfahren, Ihre elektronische Unterschrift zu leisten, erkennen Sie an und stimmen zu, dass sie verwendet wird, um das gegebene Dokument zu unterzeichnen, und die gleiche rechtliche Gültigkeit wie eine handschriftliche Unterschrift hat. Durch den Abschluss des elektronischen Unterzeichnungsprozesses bestätigen Sie Ihr Verständnis und Ihre Akzeptanz dieser Bedingungen." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92 msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing." -msgstr "" +msgstr "Durch die Verwendung der elektronischen Unterschriftsfunktion stimmen Sie zu, Transaktionen durchzuführen und Offenlegungen elektronisch zu erhalten. Sie erkennen an, dass Ihre elektronische Unterschrift auf Dokumenten bindend ist und dass Sie die Bedingungen akzeptieren, die in den Dokumenten dargelegt sind, die Sie unterzeichnen." #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190 @@ -913,11 +913,11 @@ msgstr "Bestätigungs-E-Mail gesendet" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89 msgid "Consent to Electronic Transactions" -msgstr "" +msgstr "Zustimmung zu elektronischen Transaktionen" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151 msgid "Contact Information" -msgstr "" +msgstr "Kontaktinformationen" #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189 msgid "Content" @@ -1099,7 +1099,7 @@ msgstr "Team-Einladung abgelehnt" #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90 msgid "delete" -msgstr "" +msgstr "löschen" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 @@ -1122,11 +1122,11 @@ msgstr "Löschen" #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54 msgid "delete {0}" -msgstr "" +msgstr "löschen {0}" #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50 msgid "delete {teamName}" -msgstr "" +msgstr "löschen {teamName}" #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137 msgid "Delete account" @@ -1477,11 +1477,11 @@ msgstr "Webhook bearbeiten" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78 msgid "Electronic Delivery of Documents" -msgstr "" +msgstr "Elektronische Zustellung von Dokumenten" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17 msgid "Electronic Signature Disclosure" -msgstr "" +msgstr "Offenlegung der elektronischen Unterschrift" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 @@ -1513,7 +1513,7 @@ msgstr "E-Mail-Adresse" #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80 msgid "Email cannot already exist in the template" -msgstr "" +msgstr "E-Mail darf nicht bereits in der Vorlage vorhanden sein" #: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36 msgid "Email Confirmed!" @@ -1662,7 +1662,7 @@ msgstr "Die Datei darf nicht größer als {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB se #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154 msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" -msgstr "" +msgstr "Für Fragen zu dieser Offenlegung, elektronischen Unterschriften oder einem verwandten Verfahren kontaktieren Sie uns bitte unter: <0>{SUPPORT_EMAIL}" #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 @@ -1776,7 +1776,7 @@ msgstr "Information" #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132 msgid "Initials" -msgstr "" +msgstr "Inititalen" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 msgid "Inserted" @@ -1846,7 +1846,7 @@ msgstr "Rechnung" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118 msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications." -msgstr "" +msgstr "Es ist entscheidend, dass Sie Ihre Kontaktinformationen, insbesondere Ihre E-Mail-Adresse, aktuell halten. Bitte informieren Sie uns sofort über Änderungen, damit Sie weiterhin alle notwendigen Mitteilungen erhalten." #: apps/web/src/app/(profile)/p/[url]/page.tsx:134 msgid "It looks like {0} hasn't added any documents to their profile yet." @@ -1911,7 +1911,7 @@ msgstr "Team verlassen" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45 msgid "Legality of Electronic Signatures" -msgstr "" +msgstr "Rechtlichkeit elektronischer Unterschriften" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:264 msgid "Light Mode" @@ -2430,7 +2430,7 @@ msgstr "Bitte geben Sie ein Token von Ihrem Authentifizierer oder einen Backup-C #: apps/web/src/app/(signing)/sign/[token]/form.tsx:169 msgid "Please review the document before signing." -msgstr "" +msgstr "Bitte überprüfen Sie das Dokument vor der Unterzeichnung." #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." @@ -2516,7 +2516,7 @@ msgstr "Nur-Lese-Feld" #: apps/web/src/components/general/signing-disclosure.tsx:21 msgid "Read the full <0>signature disclosure." -msgstr "" +msgstr "Lesen Sie die vollständige <0>Offenlegung der Unterschrift." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90 msgid "Ready" @@ -2647,7 +2647,7 @@ msgstr "Zahlung klären" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126 msgid "Retention of Documents" -msgstr "" +msgstr "Aufbewahrung von Dokumenten" #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168 msgid "Retry" @@ -2718,7 +2718,7 @@ msgstr "Nach Name oder E-Mail suchen" #: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42 msgid "Search documents..." -msgstr "" +msgstr "Dokumente suchen..." #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217 @@ -2861,7 +2861,7 @@ msgstr "Dokument unterschreiben" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:128 msgid "Sign Document" -msgstr "" +msgstr "Dokument unterzeichnen" #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59 msgid "Sign field" @@ -3091,7 +3091,7 @@ msgstr "Passkey erfolgreich erstellt" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 msgid "System Requirements" -msgstr "" +msgstr "Systemanforderungen" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:266 msgid "System Theme" @@ -3271,7 +3271,7 @@ msgstr "Textfarbe" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24 msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." -msgstr "" +msgstr "Vielen Dank, dass Sie Documenso zur elektronischen Unterzeichnung Ihrer Dokumente verwenden. Der Zweck dieser Offenlegung besteht darin, Sie über den Prozess, die Rechtmäßigkeit und Ihre Rechte in Bezug auf die Verwendung elektronischer Unterschriften auf unserer Plattform zu informieren. Indem Sie sich entscheiden, eine elektronische Unterschrift zu verwenden, stimmen Sie den nachfolgend dargelegten Bedingungen zu." #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52 msgid "The account has been deleted successfully." @@ -3301,479 +3301,479 @@ msgstr "Das Dokument wurde erstellt, konnte aber nicht an die Empfänger versend #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:161 msgid "The document will be hidden from your account" -msgstr "" +msgstr "Das Dokument wird von Ihrem Konto verborgen werden" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316 msgid "The document will be immediately sent to recipients if this is checked." -msgstr "" +msgstr "Das Dokument wird sofort an die Empfänger gesendet, wenn dies angehakt ist." #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:175 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:179 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:203 msgid "The events that will trigger a webhook to be sent to your URL." -msgstr "" +msgstr "Die Ereignisse, die einen Webhook auslösen, der an Ihre URL gesendet wird." #: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:114 msgid "The ownership of team <0>{0} has been successfully transferred to you." -msgstr "" +msgstr "Die Inhaberschaft des Teams <0>{0} wurde erfolgreich auf Sie übertragen." #: apps/web/src/components/partials/not-found.tsx:53 msgid "The page you are looking for was moved, removed, renamed or might never have existed." -msgstr "" +msgstr "Die Seite, die Sie suchen, wurde verschoben, entfernt, umbenannt oder hat möglicherweise nie existiert." #: apps/web/src/components/forms/public-profile-form.tsx:118 msgid "The profile link has been copied to your clipboard" -msgstr "" +msgstr "Der Profil-Link wurde in die Zwischenablage kopiert" #: apps/web/src/app/(profile)/p/[url]/not-found.tsx:23 msgid "The profile you are looking for could not be found." -msgstr "" +msgstr "Das Profil, nach dem Sie suchen, konnte nicht gefunden werden." #: apps/web/src/components/templates/manage-public-template-dialog.tsx:380 msgid "The public description that will be displayed with this template" -msgstr "" +msgstr "Die öffentliche Beschreibung, die mit dieser Vorlage angezeigt wird" #: apps/web/src/components/templates/manage-public-template-dialog.tsx:358 msgid "The public name for your template" -msgstr "" +msgstr "Der öffentliche Name für Ihre Vorlage" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:119 msgid "The recipient has been updated successfully" -msgstr "" +msgstr "Der Empfänger wurde erfolgreich aktualisiert" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:267 msgid "The selected team member will receive an email which they must accept before the team is transferred" -msgstr "" +msgstr "Das ausgewählte Teammitglied erhält eine E-Mail, die es akzeptieren muss, bevor das Team übertragen wird" #: apps/web/src/components/(dashboard)/avatar/avatar-with-recipient.tsx:41 msgid "The signing link has been copied to your clipboard." -msgstr "" +msgstr "Der Signierlink wurde in die Zwischenablage kopiert." #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:105 msgid "The site banner is a message that is shown at the top of the site. It can be used to display important information to your users." -msgstr "" +msgstr "Das Seitenbanner ist eine Nachricht, die oben auf der Seite angezeigt wird. Es kann verwendet werden, um Ihren Nutzern wichtige Informationen anzuzeigen." #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:45 msgid "The team transfer invitation has been successfully deleted." -msgstr "" +msgstr "Die Einladung zur Teamübertragung wurde erfolgreich gelöscht." #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:86 msgid "The team transfer request to <0>{0} has expired." -msgstr "" +msgstr "Die Teamübertragungsanfrage an <0>{0} ist abgelaufen." #: apps/web/src/app/(teams)/t/[teamUrl]/not-found.tsx:23 msgid "The team you are looking for may have been removed, renamed or may have never existed." -msgstr "" +msgstr "Das Team, das Sie suchen, wurde möglicherweise entfernt, umbenannt oder hat möglicherweise nie existiert." #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:49 msgid "The template has been successfully moved to the selected team." -msgstr "" +msgstr "Die Vorlage wurde erfolgreich in das ausgewählte Team verschoben." #: apps/web/src/components/templates/manage-public-template-dialog.tsx:443 msgid "The template will be removed from your profile" -msgstr "" +msgstr "Die Vorlage wird von Ihrem Profil entfernt" #: apps/web/src/app/(recipient)/d/[token]/not-found.tsx:23 msgid "The template you are looking for may have been disabled, deleted or may have never existed." -msgstr "" +msgstr "Die Vorlage, die Sie suchen, wurde möglicherweise deaktiviert, gelöscht oder hat möglicherweise nie existiert." #: apps/web/src/components/forms/token.tsx:106 msgid "The token was copied to your clipboard." -msgstr "" +msgstr "Der Token wurde in die Zwischenablage kopiert." #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:88 msgid "The token was deleted successfully." -msgstr "" +msgstr "Das Token wurde erfolgreich gelöscht." #: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:24 msgid "The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link." -msgstr "" +msgstr "Der Token, den Sie zur Zurücksetzung Ihres Passworts verwendet haben, ist entweder abgelaufen oder hat nie existiert. Wenn Sie Ihr Passwort immer noch vergessen haben, fordern Sie bitte einen neuen Zurücksetzungslink an." #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:124 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:128 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:152 msgid "The URL for Documenso to send webhook events to." -msgstr "" +msgstr "Die URL für Documenso, um Webhook-Ereignisse zu senden." #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:79 msgid "The webhook has been successfully deleted." -msgstr "" +msgstr "Das Webhook wurde erfolgreich gelöscht." #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:75 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:81 msgid "The webhook has been updated successfully." -msgstr "" +msgstr "Der Webhook wurde erfolgreich aktualisiert." #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:93 msgid "The webhook was successfully created." -msgstr "" +msgstr "Der Webhook wurde erfolgreich erstellt." #: apps/web/src/app/(dashboard)/documents/empty-state.tsx:25 msgid "There are no active drafts at the current moment. You can upload a document to start drafting." -msgstr "" +msgstr "Es gibt derzeit keine aktiven Entwürfe. Sie können ein Dokument hochladen, um mit dem Entwerfen zu beginnen." #: apps/web/src/app/(dashboard)/documents/empty-state.tsx:20 msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." -msgstr "" +msgstr "Es gibt noch keine abgeschlossenen Dokumente. Dokumente, die Sie erstellt oder erhalten haben, werden hier angezeigt, sobald sie abgeschlossen sind." #: apps/web/src/app/(dashboard)/settings/teams/team-email-usage.tsx:70 msgid "They have permission on your behalf to:" -msgstr "" +msgstr "Sie haben in Ihrem Namen die Erlaubnis, zu:" #: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:110 #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:110 #: apps/web/src/app/(dashboard)/settings/profile/delete-account-dialog.tsx:109 msgid "This action is not reversible. Please be certain." -msgstr "" +msgstr "Diese Aktion ist nicht umkehrbar. Bitte seien Sie sicher." #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:81 msgid "This document could not be deleted at this time. Please try again." -msgstr "" +msgstr "Dieses Dokument konnte derzeit nicht gelöscht werden. Bitte versuchen Sie es erneut." #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:73 msgid "This document could not be duplicated at this time. Please try again." -msgstr "" +msgstr "Dieses Dokument konnte derzeit nicht dupliziert werden. Bitte versuche es erneut." #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:106 msgid "This document could not be re-sent at this time. Please try again." -msgstr "" +msgstr "Dieses Dokument konnte zu diesem Zeitpunkt nicht erneut gesendet werden. Bitte versuchen Sie es erneut." #: apps/web/src/app/(signing)/sign/[token]/complete/page.tsx:180 msgid "This document has been cancelled by the owner and is no longer available for others to sign." -msgstr "" +msgstr "Dieses Dokument wurde vom Eigentümer storniert und steht anderen nicht mehr zur Unterzeichnung zur Verfügung." #: apps/web/src/app/(signing)/sign/[token]/no-longer-available.tsx:52 msgid "This document has been cancelled by the owner." -msgstr "" +msgstr "Dieses Dokument wurde vom Eigentümer storniert." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:219 msgid "This document has been signed by all recipients" -msgstr "" +msgstr "Dieses Dokument wurde von allen Empfängern unterschrieben" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:222 msgid "This document is currently a draft and has not been sent" -msgstr "" +msgstr "Dieses Dokument ist momentan ein Entwurf und wurde nicht gesendet" #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93 msgid "This email is already being used by another team." -msgstr "" +msgstr "Diese E-Mail-Adresse wird bereits von einem anderen Team verwendet." #: apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx:40 msgid "This link is invalid or has expired. Please contact your team to resend a transfer request." -msgstr "" +msgstr "Dieser Link ist ungültig oder abgelaufen. Bitte kontaktieren Sie Ihr Team, um eine erneute Überweisungsanfrage zu senden." #: apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx:37 msgid "This link is invalid or has expired. Please contact your team to resend a verification." -msgstr "" +msgstr "Dieser Link ist ungültig oder abgelaufen. Bitte kontaktieren Sie Ihr Team, um eine neue Bestätigungsanfrage zu senden." #: apps/web/src/app/(dashboard)/settings/security/passkeys/create-passkey-dialog.tsx:208 msgid "This passkey has already been registered." -msgstr "" +msgstr "Dieser Zugangsschlüssel wurde bereits registriert." #: apps/web/src/components/forms/signin.tsx:200 msgid "This passkey is not configured for this application. Please login and add one in the user settings." -msgstr "" +msgstr "Dieser Passkey ist für diese Anwendung nicht konfiguriert. Bitte melden Sie sich an und fügen Sie einen in den Benutzereinstellungen hinzu." #: apps/web/src/components/(teams)/dialogs/create-team-checkout-dialog.tsx:148 msgid "This price includes minimum 5 seats." -msgstr "" +msgstr "Dieser Preis beinhaltet mindestens 5 Plätze." #: apps/web/src/components/forms/signin.tsx:202 msgid "This session has expired. Please try again." -msgstr "" +msgstr "Diese Sitzung ist abgelaufen. Bitte versuchen Sie es erneut." #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:195 msgid "This team, and any associated data excluding billing invoices will be permanently deleted." -msgstr "" +msgstr "Dieses Team und alle zugehörigen Daten, ausgenommen Rechnungen, werden permanent gelöscht." #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:51 msgid "This template could not be deleted at this time. Please try again." -msgstr "" +msgstr "Diese Vorlage konnte derzeit nicht gelöscht werden. Bitte versuchen Sie es erneut." #: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:43 msgid "This token is invalid or has expired. No action is needed." -msgstr "" +msgstr "Dieses Token ist ungültig oder abgelaufen. Es sind keine weiteren Maßnahmen erforderlich." #: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:43 msgid "This token is invalid or has expired. Please contact your team for a new invitation." -msgstr "" +msgstr "Dieser Token ist ungültig oder abgelaufen. Bitte kontaktieren Sie Ihr Team für eine neue Einladung." #: apps/web/src/components/(teams)/dialogs/create-team-dialog.tsx:98 #: apps/web/src/components/(teams)/forms/update-team-form.tsx:87 msgid "This URL is already in use." -msgstr "" +msgstr "Diese URL wird bereits verwendet." #: apps/web/src/components/forms/v2/signup.tsx:145 msgid "This username has already been taken" -msgstr "" +msgstr "Dieser Benutzername ist bereits vergeben" #: apps/web/src/components/forms/public-profile-claim-dialog.tsx:98 msgid "This username is already taken" -msgstr "" +msgstr "Dieser Benutzername ist bereits vergeben" #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:77 msgid "Time" -msgstr "" +msgstr "Zeit" #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:97 msgid "Time zone" -msgstr "" +msgstr "Zeitzone" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:60 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61 msgid "Title" -msgstr "" +msgstr "Titel" #: apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx:106 msgid "To accept this invitation you must create an account." -msgstr "" +msgstr "Um diese Einladung anzunehmen, müssen Sie ein Konto erstellen." #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:125 msgid "To change the email you must remove and add a new email address." -msgstr "" +msgstr "Um die E-Mail zu ändern, müssen Sie die aktuelle entfernen und eine neue hinzufügen." #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:117 msgid "To confirm, please enter the accounts email address <0/>({0})." -msgstr "" +msgstr "Um zu bestätigen, geben Sie bitte die E-Mail-Adresse des Kontos <0/>({0}) ein." #: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:117 msgid "To confirm, please enter the reason" -msgstr "" +msgstr "Um zu bestätigen, geben Sie bitte den Grund ein" #: apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx:101 msgid "To decline this invitation you must create an account." -msgstr "" +msgstr "Um diese Einladung abzulehnen, müssen Sie ein Konto erstellen." #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:197 msgid "To enable two-factor authentication, scan the following QR code using your authenticator app." -msgstr "" +msgstr "Um die Zwei-Faktor-Authentifizierung zu aktivieren, scannen Sie den folgenden QR-Code mit Ihrer Authentifizierungs-App." #: apps/web/src/app/(unauthenticated)/unverified-account/page.tsx:23 msgid "To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox." -msgstr "" +msgstr "Um Zugang zu Ihrem Konto zu erhalten, bestätigen Sie bitte Ihre E-Mail-Adresse, indem Sie auf den Bestätigungslink in Ihrem Posteingang klicken." #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-account.tsx:54 msgid "To mark this document as viewed, you need to be logged in as <0>{0}" -msgstr "" +msgstr "Um dieses Dokument als angesehen zu markieren, müssen Sie als <0>{0} angemeldet sein" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60 msgid "To use our electronic signature service, you must have access to:" -msgstr "" +msgstr "Um unseren elektronischen Signaturdienst nutzen zu können, müssen Sie Zugriff auf Folgendes haben:" #: apps/web/src/app/embed/authenticate.tsx:21 msgid "To view this document you need to be signed into your account, please sign in to continue." -msgstr "" +msgstr "Um dieses Dokument anzusehen, müssen Sie in Ihr Konto eingeloggt sein. Bitte melden Sie sich an, um fortzufahren." #: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:178 msgid "Toggle the switch to hide your profile from the public." -msgstr "" +msgstr "Schalten Sie den Schalter um, um Ihr Profil vor der Öffentlichkeit zu verbergen." #: apps/web/src/app/(dashboard)/settings/public-profile/public-profile-page-view.tsx:190 msgid "Toggle the switch to show your profile to the public." -msgstr "" +msgstr "Schalten Sie den Schalter um, um Ihr Profil der Öffentlichkeit anzuzeigen." #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:236 msgid "Token" -msgstr "" +msgstr "Token" #: apps/web/src/components/forms/token.tsx:105 msgid "Token copied to clipboard" -msgstr "" +msgstr "Token wurde in die Zwischenablage kopiert" #: apps/web/src/components/forms/token.tsx:126 msgid "Token created" -msgstr "" +msgstr "Token erstellt" #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:87 msgid "Token deleted" -msgstr "" +msgstr "Token gelöscht" #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:75 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:108 msgid "Token doesn't have an expiration date" -msgstr "" +msgstr "Token hat kein Ablaufdatum" #: apps/web/src/components/forms/token.tsx:193 msgid "Token expiration date" -msgstr "" +msgstr "Ablaufdatum des Tokens" #: apps/web/src/components/forms/token.tsx:165 msgid "Token name" -msgstr "" +msgstr "Token-Name" #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:65 msgid "Total Documents" -msgstr "" +msgstr "Gesamtdokumente" #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:108 msgid "Total Recipients" -msgstr "" +msgstr "Gesamtempfänger" #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:150 msgid "Total Signers that Signed Up" -msgstr "" +msgstr "Gesamtanzahl der Unterzeichner, die sich angemeldet haben" #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:64 msgid "Total Users" -msgstr "" +msgstr "Gesamtanzahl der Benutzer" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76 msgid "transfer {teamName}" -msgstr "" +msgstr "übertragen {teamName}" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160 msgid "Transfer ownership of this team to a selected team member." -msgstr "" +msgstr "Übertragen Sie die Inhaberschaft dieses Teams auf ein ausgewähltes Teammitglied." #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:169 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:147 #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:156 msgid "Transfer team" -msgstr "" +msgstr "Team übertragen" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:173 msgid "Transfer the ownership of the team to another team member." -msgstr "" +msgstr "Übertragen Sie das Eigentum des Teams auf ein anderes Teammitglied." #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:163 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:167 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:191 msgid "Triggers" -msgstr "" +msgstr "Auslöser" #: apps/web/src/app/(dashboard)/settings/security/page.tsx:52 msgid "Two factor authentication" -msgstr "" +msgstr "Zwei-Faktor-Authentifizierung" #: apps/web/src/app/(dashboard)/settings/security/page.tsx:88 msgid "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app." -msgstr "" +msgstr "Wiederherstellungscodes für die Zwei-Faktor-Authentifizierung werden verwendet, um auf Ihr Konto zuzugreifen, falls Sie den Zugang zu Ihrer Authentifizierungs-App verlieren." #: apps/web/src/components/forms/signin.tsx:448 msgid "Two-Factor Authentication" -msgstr "" +msgstr "Zwei-Faktor-Authentifizierung" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:90 msgid "Two-factor authentication disabled" -msgstr "" +msgstr "Zwei-Faktor-Authentifizierung deaktiviert" #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:94 msgid "Two-factor authentication enabled" -msgstr "" +msgstr "Zwei-Faktor-Authentifizierung aktiviert" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:92 msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in." -msgstr "" +msgstr "Die Zwei-Faktor-Authentifizierung wurde für Ihr Konto deaktiviert. Sie müssen beim Anmelden keinen Code aus Ihrer Authentifizierungs-App mehr eingeben." #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:73 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:67 msgid "Type" -msgstr "" +msgstr "Typ" #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:184 msgid "Type 'delete' to confirm" -msgstr "" +msgstr "Geben Sie 'delete' ein, um zu bestätigen" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:186 msgid "Type a command or search..." -msgstr "" +msgstr "Geben Sie einen Befehl ein oder suchen Sie..." #: apps/web/src/app/(unauthenticated)/verify-email/page.tsx:26 msgid "Uh oh! Looks like you're missing a token" -msgstr "" +msgstr "Oh oh! Es sieht so aus, als fehlt Ihnen ein Token" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:303 msgid "Unable to change the language at this time. Please try again later." -msgstr "" +msgstr "Zurzeit kann die Sprache nicht geändert werden. Bitte versuchen Sie es später noch einmal." #: apps/web/src/components/forms/2fa/recovery-code-list.tsx:31 msgid "Unable to copy recovery code" -msgstr "" +msgstr "Kann Code zur Wiederherstellung nicht kopieren" #: apps/web/src/components/forms/token.tsx:110 msgid "Unable to copy token" -msgstr "" +msgstr "Token kann nicht kopiert werden" #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:105 msgid "Unable to create direct template access. Please try again later." -msgstr "" +msgstr "Direkter Zugriff auf die Vorlage kann nicht erstellt werden. Bitte versuche es später noch einmal." #: apps/web/src/app/(dashboard)/settings/teams/decline-team-invitation-button.tsx:33 msgid "Unable to decline this team invitation at this time." -msgstr "" +msgstr "Zurzeit kann diese Teameinladung nicht abgelehnt werden." #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:86 msgid "Unable to delete invitation. Please try again." -msgstr "" +msgstr "Einladung kann nicht gelöscht werden. Bitte versuchen Sie es erneut." #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:94 msgid "Unable to delete team" -msgstr "" +msgstr "Team konnte nicht gelöscht werden" #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:103 msgid "Unable to disable two-factor authentication" -msgstr "" +msgstr "Zwei-Faktor-Authentifizierung kann nicht deaktiviert werden" #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:33 msgid "Unable to join this team at this time." -msgstr "" +msgstr "Zurzeit kann diesem Team nicht beigetreten werden." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:72 #: apps/web/src/components/document/document-history-sheet.tsx:127 msgid "Unable to load document history" -msgstr "" +msgstr "Kann den Dokumentverlauf nicht laden" #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111 msgid "Unable to load your public profile templates at this time" -msgstr "" +msgstr "Derzeit können Ihre öffentlichen Profilvorlagen nicht geladen werden" #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:84 msgid "Unable to remove email verification at this time. Please try again." -msgstr "" +msgstr "Derzeit ist es nicht möglich, die E-Mail-Verifizierung zu entfernen. Bitte versuchen Sie es erneut." #: apps/web/src/components/(teams)/dialogs/remove-team-email-dialog.tsx:65 msgid "Unable to remove team email at this time. Please try again." -msgstr "" +msgstr "Das Team-E-Mail kann zurzeit nicht entfernt werden. Bitte versuchen Sie es erneut." #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:69 msgid "Unable to resend invitation. Please try again." -msgstr "" +msgstr "Einladung kann nicht erneut gesendet werden. Bitte versuchen Sie es erneut." #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:40 msgid "Unable to resend verification at this time. Please try again." -msgstr "" +msgstr "Derzeit ist es nicht möglich, die Verifizierung erneut zu senden. Bitte versuchen Sie es erneut." #: apps/web/src/app/(unauthenticated)/reset-password/page.tsx:20 msgid "Unable to reset password" -msgstr "" +msgstr "Passwort kann nicht zurückgesetzt werden" #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:68 #: apps/web/src/components/forms/2fa/enable-authenticator-app-dialog.tsx:101 msgid "Unable to setup two-factor authentication" -msgstr "" +msgstr "Zwei-Faktor-Authentifizierung kann nicht eingerichtet werden" #: apps/web/src/components/forms/signin.tsx:247 #: apps/web/src/components/forms/signin.tsx:255 msgid "Unable to sign in" -msgstr "" +msgstr "Anmeldung nicht möglich" #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:166 #: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:27 msgid "Unauthorized" -msgstr "" +msgstr "Nicht autorisiert" #: apps/web/src/components/(dashboard)/avatar/stack-avatars-with-tooltip.tsx:116 msgid "Uncompleted" -msgstr "" +msgstr "Unvollendet" #: apps/web/src/app/(teams)/t/[teamUrl]/error.tsx:23 msgid "Unknown error" -msgstr "" +msgstr "Unbekannter Fehler" #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:79 msgid "Unpaid" -msgstr "" +msgstr "Unbezahlt" #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:181 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:162 @@ -3782,35 +3782,35 @@ msgstr "" #: apps/web/src/components/forms/public-profile-form.tsx:279 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:428 msgid "Update" -msgstr "" +msgstr "Aktualisieren" #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:211 msgid "Update Banner" -msgstr "" +msgstr "Banner aktualisieren" #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:118 msgid "Update passkey" -msgstr "" +msgstr "Passkey aktualisieren" #: apps/web/src/components/forms/password.tsx:152 msgid "Update password" -msgstr "" +msgstr "Passwort aktualisieren" #: apps/web/src/components/forms/profile.tsx:150 msgid "Update profile" -msgstr "" +msgstr "Profil aktualisieren" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:180 msgid "Update Recipient" -msgstr "" +msgstr "Empfänger aktualisieren" #: apps/web/src/components/(teams)/tables/team-members-data-table.tsx:146 msgid "Update role" -msgstr "" +msgstr "Rolle aktualisieren" #: apps/web/src/components/(teams)/forms/update-team-form.tsx:176 msgid "Update team" -msgstr "" +msgstr "Team aktualisieren" #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:113 #: apps/web/src/components/(teams)/dialogs/update-team-email-dialog.tsx:121 @@ -3841,7 +3841,7 @@ msgstr "Profil wird aktualisiert..." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115 msgid "Updating Your Information" -msgstr "" +msgstr "Aktualisierung Ihrer Informationen" #: apps/web/src/components/forms/avatar-image.tsx:182 msgid "Upload Avatar" @@ -3956,7 +3956,7 @@ msgstr "Codes ansehen" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:127 msgid "View Document" -msgstr "" +msgstr "Dokument anzeigen" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" @@ -4237,7 +4237,7 @@ msgstr "Wöchentlich" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21 msgid "Welcome" -msgstr "" +msgstr "Willkommen" #: apps/web/src/app/(unauthenticated)/signin/page.tsx:33 msgid "Welcome back, we are lucky to have you." @@ -4253,7 +4253,7 @@ msgstr "Wenn Sie auf Fortfahren klicken, werden Sie aufgefordert, den ersten ver #: 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 "" +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." #: apps/web/src/app/(profile)/p/[url]/page.tsx:139 msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away." @@ -4265,7 +4265,7 @@ msgstr "Wen möchten Sie erinnern?" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101 msgid "Withdrawing Consent" -msgstr "" +msgstr "Zustimmung widerrufen" #: apps/web/src/components/forms/public-profile-form.tsx:223 msgid "Write about the team" @@ -4437,7 +4437,7 @@ msgstr "Sie haben den Zugriff erfolgreich widerrufen." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104 msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." -msgstr "" +msgstr "Sie haben das Recht, Ihre Zustimmung zur Verwendung elektronischer Unterschriften jederzeit vor Abschluss des Unterzeichnungsprozesses zu widerrufen. Um Ihre Zustimmung zu widerrufen, kontaktieren Sie bitte den Absender des Dokuments. Sollten Sie den Absender nicht erreichen, können Sie sich für Unterstützung an <0>{SUPPORT_EMAIL} wenden. Seien Sie sich bewusst, dass der Widerruf der Zustimmung den Abschluss der zugehörigen Transaktion oder Dienstleistung verzögern oder stoppen kann." #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." @@ -4628,3 +4628,4 @@ msgstr "Ihr Token wurde erfolgreich erstellt! Stellen Sie sicher, dass Sie es ko #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Ihre Tokens werden hier angezeigt, sobald Sie sie erstellt haben." + diff --git a/packages/lib/translations/es/common.po b/packages/lib/translations/es/common.po index 5dad84e7e..4a8a9071f 100644 --- a/packages/lib/translations/es/common.po +++ b/packages/lib/translations/es/common.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-10-22 02:25\n" +"PO-Revision-Date: 2024-11-01 04:00\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -126,7 +126,7 @@ msgstr "Después de la presentación, se generará automáticamente un documento #: packages/ui/primitives/pdf-viewer.tsx:167 msgid "An error occurred while loading the document." -msgstr "" +msgstr "Se produjo un error al cargar el documento." #: packages/lib/constants/recipient-roles.ts:8 msgid "Approve" @@ -142,7 +142,7 @@ msgstr "Aprobador" #: packages/lib/constants/recipient-roles.ts:44 msgid "Approvers" -msgstr "" +msgstr "Aprobadores" #: packages/lib/constants/recipient-roles.ts:10 msgid "Approving" @@ -180,7 +180,7 @@ msgstr "CC'd" #: packages/lib/constants/recipient-roles.ts:51 msgid "Ccers" -msgstr "" +msgstr "Ccers" #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 msgid "Character Limit" @@ -225,7 +225,7 @@ msgstr "Copiado al portapapeles" #: packages/ui/components/document/document-share-button.tsx:194 msgid "Copy Link" -msgstr "" +msgstr "Copiar enlace" #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" @@ -286,7 +286,7 @@ msgstr "Correo electrónico" #: packages/ui/primitives/document-flow/add-signature.types.ts:7 msgid "Email is required" -msgstr "" +msgstr "Se requiere email" #: packages/ui/primitives/template-flow/add-template-settings.tsx:184 msgid "Email Options" @@ -363,7 +363,7 @@ msgstr "Tamaño de fuente" #: packages/ui/primitives/document-flow/types.ts:50 msgid "Free Signature" -msgstr "" +msgstr "Firma gratuita" #: packages/ui/components/document/document-global-auth-action-select.tsx:64 msgid "Global recipient action authentication" @@ -400,15 +400,15 @@ msgstr "Heredar método de autenticación" #: packages/ui/primitives/document-flow/types.ts:51 msgid "Initials" -msgstr "" +msgstr "Iniciales" #: packages/ui/primitives/document-flow/add-signers.types.ts:17 msgid "Invalid email" -msgstr "" +msgstr "Email inválido" #: packages/ui/primitives/document-flow/add-signature.types.ts:8 msgid "Invalid email address" -msgstr "" +msgstr "Dirección de email inválida" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 @@ -419,7 +419,7 @@ msgstr "Etiqueta" #: packages/ui/primitives/lazy-pdf-viewer.tsx:15 #: packages/ui/primitives/pdf-viewer.tsx:44 msgid "Loading document..." -msgstr "" +msgstr "Cargando documento..." #: packages/lib/constants/teams.ts:11 msgid "Manager" @@ -519,7 +519,7 @@ msgstr "Página {0} de {1}" #: packages/ui/primitives/pdf-viewer.tsx:259 msgid "Page {0} of {numPages}" -msgstr "" +msgstr "Página {0} de {numPages}" #: packages/ui/primitives/document-password-dialog.tsx:62 msgid "Password Required" @@ -538,7 +538,7 @@ msgstr "Marcador de posición" #: packages/ui/primitives/pdf-viewer.tsx:223 #: packages/ui/primitives/pdf-viewer.tsx:238 msgid "Please try again or contact our support." -msgstr "" +msgstr "Por favor, inténtalo de nuevo o contacta a nuestro soporte." #: packages/ui/primitives/template-flow/add-template-fields.tsx:768 msgid "Radio" @@ -589,7 +589,7 @@ msgstr "Campo obligatorio" #: packages/ui/components/document/document-share-button.tsx:147 msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" -msgstr "" +msgstr "Ten la seguridad de que tu documento es estrictamente confidencial y nunca será compartido. Solo se destacará tu experiencia de firma. ¡Comparte tu tarjeta de firma personalizada para mostrar tu firma!" #: packages/ui/primitives/data-table-pagination.tsx:55 msgid "Rows per page" @@ -643,7 +643,7 @@ msgstr "Compartir el enlace" #: packages/ui/components/document/document-share-button.tsx:143 msgid "Share your signing experience!" -msgstr "" +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 @@ -672,11 +672,11 @@ msgstr "Firmante" #: packages/lib/constants/recipient-roles.ts:58 msgid "Signers" -msgstr "" +msgstr "Firmantes" #: packages/ui/primitives/document-flow/add-signers.types.ts:36 msgid "Signers must have unique emails" -msgstr "" +msgstr "Los firmantes deben tener correos electrónicos únicos" #: packages/lib/constants/recipient-roles.ts:22 msgid "Signing" @@ -693,7 +693,7 @@ msgstr "Algo salió mal" #: packages/ui/primitives/pdf-viewer.tsx:220 #: packages/ui/primitives/pdf-viewer.tsx:235 msgid "Something went wrong while loading the document." -msgstr "" +msgstr "Algo salió mal al cargar el documento." #: packages/ui/primitives/data-table.tsx:136 msgid "Something went wrong." @@ -856,7 +856,7 @@ msgstr "Visor" #: packages/lib/constants/recipient-roles.ts:65 msgid "Viewers" -msgstr "" +msgstr "Espectadores" #: packages/lib/constants/recipient-roles.ts:28 msgid "Viewing" @@ -877,3 +877,4 @@ msgstr "No puede cargar documentos en este momento." #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "Ha alcanzado su límite de documentos." + diff --git a/packages/lib/translations/es/marketing.po b/packages/lib/translations/es/marketing.po index eb837380f..34766aa42 100644 --- a/packages/lib/translations/es/marketing.po +++ b/packages/lib/translations/es/marketing.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-10-22 02:25\n" +"PO-Revision-Date: 2024-11-01 02:29\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." + diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index c6caf0154..33b35aafc 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-10-22 02:26\n" +"PO-Revision-Date: 2024-11-01 04:00\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -119,15 +119,15 @@ msgstr "<0>Remitente: Todos" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:5 msgid "1 month" -msgstr "" +msgstr "1 mes" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:8 msgid "12 months" -msgstr "" +msgstr "12 meses" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:6 msgid "3 months" -msgstr "" +msgstr "3 meses" #: apps/web/src/components/partials/not-found.tsx:45 msgid "404 Page not found" @@ -147,11 +147,11 @@ msgstr "404 Plantilla no encontrada" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:7 msgid "6 months" -msgstr "" +msgstr "6 meses" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:4 msgid "7 days" -msgstr "" +msgstr "7 días" #: apps/web/src/components/forms/send-confirmation-email.tsx:55 msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." @@ -159,7 +159,7 @@ msgstr "Se ha enviado un correo electrónico de confirmación y debería llegar #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70 msgid "A device capable of accessing, opening, and reading documents" -msgstr "" +msgstr "Un dispositivo capaz de acceder, abrir y leer documentos" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" @@ -167,7 +167,7 @@ msgstr "Se creará un documento borrador" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73 msgid "A means to print or download documents for your records" -msgstr "" +msgstr "Un medio para imprimir o descargar documentos para sus registros" #: apps/web/src/components/forms/token.tsx:127 msgid "A new token was created successfully." @@ -193,7 +193,7 @@ msgstr "Un secreto que se enviará a tu URL para que puedas verificar que la sol #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64 msgid "A stable internet connection" -msgstr "" +msgstr "Una conexión a Internet estable" #: apps/web/src/components/forms/public-profile-form.tsx:198 msgid "A unique URL to access your profile" @@ -214,7 +214,7 @@ msgstr "Aceptar" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33 msgid "Acceptance and Consent" -msgstr "" +msgstr "Aceptación y Consentimiento" #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26 msgid "Accepted team invitation" @@ -227,7 +227,7 @@ msgstr "Cuenta eliminada" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139 msgid "Acknowledgment" -msgstr "" +msgstr "Reconocimiento" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104 @@ -337,7 +337,7 @@ msgstr "Panel administrativo" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129 msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time." -msgstr "" +msgstr "Después de firmar un documento electrónicamente, se le dará la oportunidad de ver, descargar e imprimir el documento para sus registros. Se recomienda encarecidamente que conserve una copia de todos los documentos firmados electrónicamente para sus registros personales. También mantendremos una copia del documento firmado para nuestros registros, sin embargo, es posible que no podamos proporcionarle una copia del documento firmado después de un cierto período de tiempo." #: apps/web/src/components/formatter/document-status.tsx:46 msgid "All" @@ -353,7 +353,7 @@ msgstr "Todos los documentos han sido procesados. Cualquier nuevo documento que #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81 msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." -msgstr "" +msgstr "Todos los documentos relacionados con el proceso de firma electrónica se le proporcionarán electrónicamente a través de nuestra plataforma o por correo electrónico. Es su responsabilidad asegurarse de que su dirección de correo electrónico esté actualizada y que pueda recibir y abrir nuestros correos electrónicos." #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145 msgid "All inserted signatures will be voided" @@ -385,11 +385,11 @@ msgstr "Cantidad" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48 msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper." -msgstr "" +msgstr "Una firma electrónica proporcionada por usted en nuestra plataforma, lograda mediante el clic en un documento e ingresando su nombre, o cualquier otro método de firma electrónica que proporcionemos, es legalmente vinculante. Tiene el mismo peso y exigibilidad que una firma manual escrita con tinta en papel." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67 msgid "An email account" -msgstr "" +msgstr "Una cuenta de correo electrónico" #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262 msgid "An email containing an invitation will be sent to each member." @@ -465,7 +465,7 @@ msgstr "Ocurrió un error al mover la plantilla." #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116 msgid "An error occurred while removing the field." -msgstr "" +msgstr "Ocurrió un error mientras se eliminaba el campo." #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152 #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 @@ -594,7 +594,7 @@ msgstr "Aprobar" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:129 msgid "Approve Document" -msgstr "" +msgstr "Aprobar Documento" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78 msgid "Approved" @@ -705,15 +705,15 @@ msgstr "Al habilitar la 2FA, se requerirá ingresar un código de su aplicación #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142 msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein." -msgstr "" +msgstr "Al continuar utilizando el servicio de firma electrónica proporcionado por Documenso, usted afirma que ha leído y entendido esta divulgación. Acepta todos los términos y condiciones relacionados con el uso de firmas electrónicas y transacciones electrónicas según lo detallado aquí." #: apps/web/src/components/general/signing-disclosure.tsx:14 msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions." -msgstr "" +msgstr "Al continuar con su firma electrónica, usted reconoce y consiente que se utilizará para firmar el documento dado y tiene la misma validez legal que una firma manuscrita. Al completar el proceso de firma electrónica, usted afirma su comprensión y aceptación de estas condiciones." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92 msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing." -msgstr "" +msgstr "Al utilizar la función de firma electrónica, usted está consintiendo realizar transacciones y recibir divulgaciones electrónicamente. Reconoce que su firma electrónica en los documentos es vinculante y que acepta los términos esbozados en los documentos que está firmando." #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190 @@ -913,11 +913,11 @@ msgstr "Correo electrónico de confirmación enviado" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89 msgid "Consent to Electronic Transactions" -msgstr "" +msgstr "Consentimiento para Transacciones Electrónicas" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151 msgid "Contact Information" -msgstr "" +msgstr "Información de Contacto" #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189 msgid "Content" @@ -1099,7 +1099,7 @@ msgstr "Invitación de equipo rechazada" #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90 msgid "delete" -msgstr "" +msgstr "eliminar" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 @@ -1122,11 +1122,11 @@ msgstr "Eliminar" #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54 msgid "delete {0}" -msgstr "" +msgstr "eliminar {0}" #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50 msgid "delete {teamName}" -msgstr "" +msgstr "eliminar {teamName}" #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137 msgid "Delete account" @@ -1477,11 +1477,11 @@ msgstr "Editar webhook" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78 msgid "Electronic Delivery of Documents" -msgstr "" +msgstr "Entrega Electrónica de Documentos" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17 msgid "Electronic Signature Disclosure" -msgstr "" +msgstr "Divulgación de Firma Electrónica" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 @@ -1513,7 +1513,7 @@ msgstr "Dirección de correo electrónico" #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80 msgid "Email cannot already exist in the template" -msgstr "" +msgstr "El correo electrónico no puede existir ya en la plantilla" #: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36 msgid "Email Confirmed!" @@ -1662,7 +1662,7 @@ msgstr "El archivo no puede ser mayor a {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154 msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" -msgstr "" +msgstr "Si tiene alguna pregunta sobre esta divulgación, firmas electrónicas o cualquier proceso relacionado, comuníquese con nosotros en: <0>{SUPPORT_EMAIL}" #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 @@ -1776,7 +1776,7 @@ msgstr "Información" #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132 msgid "Initials" -msgstr "" +msgstr "Iniciales" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 msgid "Inserted" @@ -1846,7 +1846,7 @@ msgstr "Factura" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118 msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications." -msgstr "" +msgstr "Es crucial mantener su información de contacto, especialmente su dirección de correo electrónico, actual con nosotros. Por favor, notifíquenos inmediatamente sobre cualquier cambio para asegurarse de seguir recibiendo todas las comunicaciones necesarias." #: apps/web/src/app/(profile)/p/[url]/page.tsx:134 msgid "It looks like {0} hasn't added any documents to their profile yet." @@ -1911,7 +1911,7 @@ msgstr "Salir del equipo" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45 msgid "Legality of Electronic Signatures" -msgstr "" +msgstr "Legalidad de las Firmas Electrónicas" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:264 msgid "Light Mode" @@ -2430,7 +2430,7 @@ msgstr "Por favor, proporciona un token de tu autenticador, o un código de resp #: apps/web/src/app/(signing)/sign/[token]/form.tsx:169 msgid "Please review the document before signing." -msgstr "" +msgstr "Por favor, revise el documento antes de firmar." #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." @@ -2516,7 +2516,7 @@ msgstr "Campo de solo lectura" #: apps/web/src/components/general/signing-disclosure.tsx:21 msgid "Read the full <0>signature disclosure." -msgstr "" +msgstr "Lea la <0>divulgación de firma completa." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90 msgid "Ready" @@ -2647,7 +2647,7 @@ msgstr "Resolver pago" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126 msgid "Retention of Documents" -msgstr "" +msgstr "Retención de Documentos" #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168 msgid "Retry" @@ -2718,7 +2718,7 @@ msgstr "Buscar por nombre o correo electrónico" #: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42 msgid "Search documents..." -msgstr "" +msgstr "Buscar documentos..." #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217 @@ -2861,7 +2861,7 @@ msgstr "Firmar documento" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:128 msgid "Sign Document" -msgstr "" +msgstr "Firmar Documento" #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59 msgid "Sign field" @@ -3091,7 +3091,7 @@ msgstr "Clave de acceso creada con éxito" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 msgid "System Requirements" -msgstr "" +msgstr "Requisitos del Sistema" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:266 msgid "System Theme" @@ -3271,7 +3271,7 @@ msgstr "Color de texto" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24 msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." -msgstr "" +msgstr "Gracias por usar Documenso para realizar su firma electrónica de documentos. El propósito de esta divulgación es informarle sobre el proceso, la legalidad y sus derechos con respecto al uso de firmas electrónicas en nuestra plataforma. Al optar por usar una firma electrónica, usted está aceptando los términos y condiciones descritos a continuación." #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52 msgid "The account has been deleted successfully." @@ -3559,7 +3559,7 @@ msgstr "Para marcar este documento como visto, debes iniciar sesión como <0>{0} #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60 msgid "To use our electronic signature service, you must have access to:" -msgstr "" +msgstr "Para usar nuestro servicio de firma electrónica, debe tener acceso a:" #: apps/web/src/app/embed/authenticate.tsx:21 msgid "To view this document you need to be signed into your account, please sign in to continue." @@ -3620,7 +3620,7 @@ msgstr "Total de usuarios" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76 msgid "transfer {teamName}" -msgstr "" +msgstr "transferir {teamName}" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160 msgid "Transfer ownership of this team to a selected team member." @@ -3841,7 +3841,7 @@ msgstr "Actualizando perfil..." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115 msgid "Updating Your Information" -msgstr "" +msgstr "Actualizando Su Información" #: apps/web/src/components/forms/avatar-image.tsx:182 msgid "Upload Avatar" @@ -3956,7 +3956,7 @@ msgstr "Ver Códigos" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:127 msgid "View Document" -msgstr "" +msgstr "Ver Documento" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" @@ -4237,7 +4237,7 @@ msgstr "Semanal" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21 msgid "Welcome" -msgstr "" +msgstr "Bienvenido" #: apps/web/src/app/(unauthenticated)/signin/page.tsx:33 msgid "Welcome back, we are lucky to have you." @@ -4253,7 +4253,7 @@ msgstr "Cuando haces clic en continuar, se te pedirá que añadas el primer aute #: 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 "" +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." #: apps/web/src/app/(profile)/p/[url]/page.tsx:139 msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away." @@ -4265,7 +4265,7 @@ msgstr "¿A quién deseas recordar?" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101 msgid "Withdrawing Consent" -msgstr "" +msgstr "Retirar Consentimiento" #: apps/web/src/components/forms/public-profile-form.tsx:223 msgid "Write about the team" @@ -4437,7 +4437,7 @@ msgstr "Has revocado el acceso con éxito." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104 msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." -msgstr "" +msgstr "Usted tiene el derecho de retirar su consentimiento para usar firmas electrónicas en cualquier momento antes de completar el proceso de firma. Para retirar su consentimiento, comuníquese con el remitente del documento. Si no se comunica con el remitente, puede comunicarse con <0>{SUPPORT_EMAIL} para obtener asistencia. Tenga en cuenta que retirar el consentimiento puede retrasar o detener la finalización de la transacción o servicio relacionado." #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." @@ -4628,3 +4628,4 @@ msgstr "¡Tu token se creó con éxito! ¡Asegúrate de copiarlo porque no podr #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Tus tokens se mostrarán aquí una vez que los crees." + diff --git a/packages/lib/translations/fr/common.po b/packages/lib/translations/fr/common.po index 6bf5539bd..d29872c63 100644 --- a/packages/lib/translations/fr/common.po +++ b/packages/lib/translations/fr/common.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-10-18 04:04\n" +"PO-Revision-Date: 2024-11-01 04:00\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -126,7 +126,7 @@ msgstr "Après soumission, un document sera automatiquement généré et ajouté #: packages/ui/primitives/pdf-viewer.tsx:167 msgid "An error occurred while loading the document." -msgstr "" +msgstr "Une erreur s'est produite lors du chargement du document." #: packages/lib/constants/recipient-roles.ts:8 msgid "Approve" @@ -142,7 +142,7 @@ msgstr "Approuveur" #: packages/lib/constants/recipient-roles.ts:44 msgid "Approvers" -msgstr "" +msgstr "Approbateurs" #: packages/lib/constants/recipient-roles.ts:10 msgid "Approving" @@ -180,7 +180,7 @@ msgstr "CC'd" #: packages/lib/constants/recipient-roles.ts:51 msgid "Ccers" -msgstr "" +msgstr "Ccers" #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:86 msgid "Character Limit" @@ -225,7 +225,7 @@ msgstr "Copié dans le presse-papiers" #: packages/ui/components/document/document-share-button.tsx:194 msgid "Copy Link" -msgstr "" +msgstr "Copier le lien" #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" @@ -286,7 +286,7 @@ msgstr "Email" #: packages/ui/primitives/document-flow/add-signature.types.ts:7 msgid "Email is required" -msgstr "" +msgstr "L'email est requis" #: packages/ui/primitives/template-flow/add-template-settings.tsx:184 msgid "Email Options" @@ -363,7 +363,7 @@ msgstr "Taille de Police" #: packages/ui/primitives/document-flow/types.ts:50 msgid "Free Signature" -msgstr "" +msgstr "Signature gratuite" #: packages/ui/components/document/document-global-auth-action-select.tsx:64 msgid "Global recipient action authentication" @@ -400,15 +400,15 @@ msgstr "Hériter de la méthode d'authentification" #: packages/ui/primitives/document-flow/types.ts:51 msgid "Initials" -msgstr "" +msgstr "Initiales" #: packages/ui/primitives/document-flow/add-signers.types.ts:17 msgid "Invalid email" -msgstr "" +msgstr "Email invalide" #: packages/ui/primitives/document-flow/add-signature.types.ts:8 msgid "Invalid email address" -msgstr "" +msgstr "Adresse email invalide" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 @@ -419,7 +419,7 @@ msgstr "Étiquette" #: packages/ui/primitives/lazy-pdf-viewer.tsx:15 #: packages/ui/primitives/pdf-viewer.tsx:44 msgid "Loading document..." -msgstr "" +msgstr "Chargement du document..." #: packages/lib/constants/teams.ts:11 msgid "Manager" @@ -519,7 +519,7 @@ msgstr "Page {0} sur {1}" #: packages/ui/primitives/pdf-viewer.tsx:259 msgid "Page {0} of {numPages}" -msgstr "" +msgstr "Page {0} sur {numPages}" #: packages/ui/primitives/document-password-dialog.tsx:62 msgid "Password Required" @@ -538,7 +538,7 @@ msgstr "Espace réservé" #: packages/ui/primitives/pdf-viewer.tsx:223 #: packages/ui/primitives/pdf-viewer.tsx:238 msgid "Please try again or contact our support." -msgstr "" +msgstr "Veuillez réessayer ou contacter notre support." #: packages/ui/primitives/template-flow/add-template-fields.tsx:768 msgid "Radio" @@ -589,7 +589,7 @@ msgstr "Champ requis" #: packages/ui/components/document/document-share-button.tsx:147 msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" -msgstr "" +msgstr "Soyez assuré, votre document eststrictement confidentiel et ne sera jamais partagé. Seule votre expérience de signature sera mise en avant. Partagez votre carte de signature personnalisée pour mettre en valeur votre signature !" #: packages/ui/primitives/data-table-pagination.tsx:55 msgid "Rows per page" @@ -643,7 +643,7 @@ msgstr "Partager le lien" #: packages/ui/components/document/document-share-button.tsx:143 msgid "Share your signing experience!" -msgstr "" +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 @@ -672,11 +672,11 @@ msgstr "Signataire" #: packages/lib/constants/recipient-roles.ts:58 msgid "Signers" -msgstr "" +msgstr "Signataires" #: packages/ui/primitives/document-flow/add-signers.types.ts:36 msgid "Signers must have unique emails" -msgstr "" +msgstr "Les signataires doivent avoir des e-mails uniques" #: packages/lib/constants/recipient-roles.ts:22 msgid "Signing" @@ -693,7 +693,7 @@ msgstr "Quelque chose a mal tourné" #: packages/ui/primitives/pdf-viewer.tsx:220 #: packages/ui/primitives/pdf-viewer.tsx:235 msgid "Something went wrong while loading the document." -msgstr "" +msgstr "Une erreur s'est produite lors du chargement du document." #: packages/ui/primitives/data-table.tsx:136 msgid "Something went wrong." @@ -856,7 +856,7 @@ msgstr "Visiteur" #: packages/lib/constants/recipient-roles.ts:65 msgid "Viewers" -msgstr "" +msgstr "Spectateurs" #: packages/lib/constants/recipient-roles.ts:28 msgid "Viewing" @@ -877,3 +877,4 @@ msgstr "Vous ne pouvez pas télécharger de documents pour le moment." #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "Vous avez atteint votre limite de documents." + diff --git a/packages/lib/translations/fr/marketing.po b/packages/lib/translations/fr/marketing.po index 315d5f73f..825a8d817 100644 --- a/packages/lib/translations/fr/marketing.po +++ b/packages/lib/translations/fr/marketing.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-10-18 04:04\n" +"PO-Revision-Date: 2024-11-01 02:29\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." + diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index f1c958309..b8d3fc56a 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-10-18 04:04\n" +"PO-Revision-Date: 2024-11-01 04:00\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -119,15 +119,15 @@ msgstr "<0>Expéditeur : Tous" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:5 msgid "1 month" -msgstr "" +msgstr "1 mois" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:8 msgid "12 months" -msgstr "" +msgstr "12 mois" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:6 msgid "3 months" -msgstr "" +msgstr "3 mois" #: apps/web/src/components/partials/not-found.tsx:45 msgid "404 Page not found" @@ -147,11 +147,11 @@ msgstr "404 Modèle non trouvé" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:7 msgid "6 months" -msgstr "" +msgstr "6 mois" #: apps/web/src/components/(dashboard)/settings/token/contants.ts:4 msgid "7 days" -msgstr "" +msgstr "7 jours" #: apps/web/src/components/forms/send-confirmation-email.tsx:55 msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." @@ -159,7 +159,7 @@ msgstr "Un e-mail de confirmation a été envoyé et devrait arriver dans votre #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:70 msgid "A device capable of accessing, opening, and reading documents" -msgstr "" +msgstr "Un appareil capable d'accéder, d'ouvrir et de lire des documents" #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 msgid "A draft document will be created" @@ -167,7 +167,7 @@ msgstr "Un document brouillon sera créé" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:73 msgid "A means to print or download documents for your records" -msgstr "" +msgstr "Un moyen d'imprimer ou de télécharger des documents pour vos dossiers" #: apps/web/src/components/forms/token.tsx:127 msgid "A new token was created successfully." @@ -193,7 +193,7 @@ msgstr "Un secret qui sera envoyé à votre URL afin que vous puissiez vérifier #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:64 msgid "A stable internet connection" -msgstr "" +msgstr "Une connexion Internet stable" #: apps/web/src/components/forms/public-profile-form.tsx:198 msgid "A unique URL to access your profile" @@ -214,7 +214,7 @@ msgstr "Accepter" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:33 msgid "Acceptance and Consent" -msgstr "" +msgstr "Acceptation et consentement" #: apps/web/src/app/(dashboard)/settings/teams/accept-team-invitation-button.tsx:26 msgid "Accepted team invitation" @@ -227,7 +227,7 @@ msgstr "Compte supprimé" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:139 msgid "Acknowledgment" -msgstr "" +msgstr "Reconnaissance" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:105 #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-data-table.tsx:104 @@ -337,7 +337,7 @@ msgstr "Panneau d'administration" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:129 msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time." -msgstr "" +msgstr "Après avoir signé un document électroniquement, vous aurez l'occasion de visualiser, télécharger et imprimer le document pour vos dossiers. Il est fortement recommandé de conserver une copie de tous les documents signés électroniquement pour vos dossiers personnels. Nous conserverons également une copie du document signé pour nos dossiers, mais nous pourrions ne pas être en mesure de vous fournir une copie du document signé après une certaine période." #: apps/web/src/components/formatter/document-status.tsx:46 msgid "All" @@ -353,7 +353,7 @@ msgstr "Tous les documents ont été traités. Tous nouveaux documents envoyés #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:81 msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." -msgstr "" +msgstr "Tous les documents relatifs au processus de signature électronique vous seront fournis électroniquement via notre plateforme ou par e-mail. Il est de votre responsabilité de vous assurer que votre adresse e-mail est à jour et que vous pouvez recevoir et ouvrir nos e-mails." #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:145 msgid "All inserted signatures will be voided" @@ -385,11 +385,11 @@ msgstr "Montant" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:48 msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper." -msgstr "" +msgstr "Une signature électronique fournie par vous sur notre plateforme, obtenue en cliquant sur un document et en saisissant votre nom, ou toute autre méthode de signature électronique que nous fournis, est juridiquement contraignante. Elle a le même poids et la même force exécutoire qu'une signature manuelle écrite à l'encre sur papier." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:67 msgid "An email account" -msgstr "" +msgstr "Un compte e-mail" #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:262 msgid "An email containing an invitation will be sent to each member." @@ -465,7 +465,7 @@ msgstr "Une erreur est survenue lors du déplacement du modèle." #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:116 msgid "An error occurred while removing the field." -msgstr "" +msgstr "Une erreur est survenue lors de la suppression du champ." #: apps/web/src/app/(signing)/sign/[token]/checkbox-field.tsx:152 #: apps/web/src/app/(signing)/sign/[token]/date-field.tsx:126 @@ -594,7 +594,7 @@ msgstr "Approuver" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:129 msgid "Approve Document" -msgstr "" +msgstr "Approuver le document" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:78 msgid "Approved" @@ -705,15 +705,15 @@ msgstr "En activant l'authentification à deux facteurs (2FA), vous devrez entre #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:142 msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein." -msgstr "" +msgstr "En procédant à l'utilisation du service de signature électronique fourni par Documenso, vous affirmez avoir lu et compris cette divulgation. Vous acceptez tous les termes et conditions liés à l'utilisation des signatures électroniques et des transactions électroniques comme décrit ici." #: apps/web/src/components/general/signing-disclosure.tsx:14 msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions." -msgstr "" +msgstr "En procédant avec votre signature électronique, vous reconnaissez et consentez à ce qu'elle soit utilisée pour signer le document donné et a la même validité légale qu'une signature manuscrite. En complétant le processus de signature électronique, vous affirmez votre compréhension et votre acceptation de ces conditions." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:92 msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing." -msgstr "" +msgstr "En utilisant la fonctionnalité de signature électronique, vous consentez à effectuer des transactions et à recevoir des divulgations électroniquement. Vous reconnaissez que votre signature électronique sur les documents est contraignante et que vous acceptez les termes énoncés dans les documents que vous signez." #: apps/web/src/app/(dashboard)/documents/_action-items/resend-document.tsx:186 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:190 @@ -913,11 +913,11 @@ msgstr "Email de confirmation envoyé" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:89 msgid "Consent to Electronic Transactions" -msgstr "" +msgstr "Consentement aux transactions électroniques" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:151 msgid "Contact Information" -msgstr "" +msgstr "Coordonnées" #: apps/web/src/app/(dashboard)/admin/site-settings/banner-form.tsx:189 msgid "Content" @@ -1099,7 +1099,7 @@ msgstr "Invitation d'équipe refusée" #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:90 msgid "delete" -msgstr "" +msgstr "supprimer" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-dropdown.tsx:141 #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:187 @@ -1122,11 +1122,11 @@ msgstr "Supprimer" #: apps/web/src/components/(dashboard)/settings/token/delete-token-dialog.tsx:56 #: apps/web/src/components/(dashboard)/settings/webhooks/delete-webhook-dialog.tsx:54 msgid "delete {0}" -msgstr "" +msgstr "supprimer {0}" #: apps/web/src/components/(teams)/dialogs/delete-team-dialog.tsx:50 msgid "delete {teamName}" -msgstr "" +msgstr "supprimer {teamName}" #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:137 msgid "Delete account" @@ -1477,11 +1477,11 @@ msgstr "Modifier le webhook" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:78 msgid "Electronic Delivery of Documents" -msgstr "" +msgstr "Remise électronique de documents" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:17 msgid "Electronic Signature Disclosure" -msgstr "" +msgstr "Divulgation de signature électronique" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 @@ -1513,7 +1513,7 @@ msgstr "Adresse e-mail" #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:80 msgid "Email cannot already exist in the template" -msgstr "" +msgstr "L'e-mail ne peut déjà exister dans le modèle" #: apps/web/src/app/(unauthenticated)/verify-email/[token]/client.tsx:36 msgid "Email Confirmed!" @@ -1662,7 +1662,7 @@ msgstr "Le fichier ne peut pas dépasser {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} Mo" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:154 msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" -msgstr "" +msgstr "Pour toute question concernant cette divulgation, les signatures électroniques ou tout processus y afférent, veuillez nous contacter à : <0>{SUPPORT_EMAIL}" #: apps/web/src/app/(unauthenticated)/forgot-password/page.tsx:21 #: apps/web/src/components/forms/signin.tsx:370 @@ -1776,7 +1776,7 @@ msgstr "Information" #: apps/web/src/app/(signing)/sign/[token]/initials-field.tsx:132 msgid "Initials" -msgstr "" +msgstr "Initiales" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:78 msgid "Inserted" @@ -1846,7 +1846,7 @@ msgstr "Facture" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:118 msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications." -msgstr "" +msgstr "Il est crucial de maintenir vos coordonnées, en particulier votre adresse e-mail, à jour avec nous. Veuillez nous informer immédiatement de tout changement pour vous assurer que vous continuez à recevoir toutes les communications nécessaires." #: apps/web/src/app/(profile)/p/[url]/page.tsx:134 msgid "It looks like {0} hasn't added any documents to their profile yet." @@ -1911,7 +1911,7 @@ msgstr "Quitter l'équipe" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:45 msgid "Legality of Electronic Signatures" -msgstr "" +msgstr "Légalité des signatures électroniques" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:264 msgid "Light Mode" @@ -2430,7 +2430,7 @@ msgstr "Veuillez fournir un jeton de votre authentificateur, ou un code de secou #: apps/web/src/app/(signing)/sign/[token]/form.tsx:169 msgid "Please review the document before signing." -msgstr "" +msgstr "Veuillez examiner le document avant de signer." #: apps/web/src/components/forms/send-confirmation-email.tsx:64 msgid "Please try again and make sure you enter the correct email address." @@ -2516,7 +2516,7 @@ msgstr "Champ en lecture seule" #: apps/web/src/components/general/signing-disclosure.tsx:21 msgid "Read the full <0>signature disclosure." -msgstr "" +msgstr "Lisez l'intégralité de la <0>divulgation de signature." #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:90 msgid "Ready" @@ -2647,7 +2647,7 @@ msgstr "Résoudre le paiement" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:126 msgid "Retention of Documents" -msgstr "" +msgstr "Conservation des documents" #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:168 msgid "Retry" @@ -2718,7 +2718,7 @@ msgstr "Recherche par nom ou e-mail" #: apps/web/src/components/(dashboard)/document-search/document-search.tsx:42 msgid "Search documents..." -msgstr "" +msgstr "Rechercher des documents..." #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:189 #: apps/web/src/components/(dashboard)/settings/webhooks/create-webhook-dialog.tsx:217 @@ -2861,7 +2861,7 @@ msgstr "Signer le document" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:128 msgid "Sign Document" -msgstr "" +msgstr "Signer le document" #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-dialog.tsx:59 msgid "Sign field" @@ -3091,7 +3091,7 @@ msgstr "Clé d'authentification créée avec succès" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:57 msgid "System Requirements" -msgstr "" +msgstr "Exigences du système" #: apps/web/src/components/(dashboard)/common/command-menu.tsx:266 msgid "System Theme" @@ -3271,7 +3271,7 @@ msgstr "Couleur du texte" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:24 msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." -msgstr "" +msgstr "Merci d'utiliser Documenso pour signer vos documents électroniquement. L'objectif de cette divulgation est de vous informer sur le processus, la légalité et vos droits concernant l'utilisation des signatures électroniques sur notre plateforme. En choisissant d'utiliser une signature électronique, vous acceptez les termes et conditions énoncés ci-dessous." #: apps/web/src/app/(dashboard)/admin/users/[id]/delete-user-dialog.tsx:52 msgid "The account has been deleted successfully." @@ -3559,7 +3559,7 @@ msgstr "Pour marquer ce document comme consulté, vous devez être connecté en #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:60 msgid "To use our electronic signature service, you must have access to:" -msgstr "" +msgstr "Pour utiliser notre service de signature électronique, vous devez avoir accès à :" #: apps/web/src/app/embed/authenticate.tsx:21 msgid "To view this document you need to be signed into your account, please sign in to continue." @@ -3620,7 +3620,7 @@ msgstr "Total des utilisateurs" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:76 msgid "transfer {teamName}" -msgstr "" +msgstr "transférer {teamName}" #: apps/web/src/components/(teams)/dialogs/transfer-team-dialog.tsx:160 msgid "Transfer ownership of this team to a selected team member." @@ -3841,7 +3841,7 @@ msgstr "Mise à jour du profil..." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:115 msgid "Updating Your Information" -msgstr "" +msgstr "Mise à jour de vos informations" #: apps/web/src/components/forms/avatar-image.tsx:182 msgid "Upload Avatar" @@ -3956,7 +3956,7 @@ msgstr "Voir les codes" #: apps/web/src/app/(signing)/sign/[token]/form.tsx:127 msgid "View Document" -msgstr "" +msgstr "Voir le document" #: apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx:150 msgid "View documents associated with this email" @@ -4237,7 +4237,7 @@ msgstr "Hebdomadaire" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:21 msgid "Welcome" -msgstr "" +msgstr "Bienvenue" #: apps/web/src/app/(unauthenticated)/signin/page.tsx:33 msgid "Welcome back, we are lucky to have you." @@ -4253,7 +4253,7 @@ msgstr "Lorsque vous cliquez sur continuer, vous serez invité à ajouter le pre #: 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 "" +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." #: apps/web/src/app/(profile)/p/[url]/page.tsx:139 msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away." @@ -4265,7 +4265,7 @@ msgstr "Qui voulez-vous rappeler ?" #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:101 msgid "Withdrawing Consent" -msgstr "" +msgstr "Retrait du consentement" #: apps/web/src/components/forms/public-profile-form.tsx:223 msgid "Write about the team" @@ -4437,7 +4437,7 @@ msgstr "Vous avez révoqué l'accès avec succès." #: apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx:104 msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." -msgstr "" +msgstr "Vous avez le droit de retirer votre consentement à l'utilisation des signatures électroniques à tout moment avant de terminer le processus de signature. Pour retirer votre consentement, veuillez contacter l'expéditeur du document. Si vous ne contactez pas l'expéditeur, vous pouvez contacter <0>{SUPPORT_EMAIL} pour obtenir de l'aide. Sachez que le retrait de consentement peut retarder ou arrêter l'achèvement de la transaction ou du service associé." #: apps/web/src/components/(teams)/dialogs/update-team-member-dialog.tsx:93 msgid "You have updated {teamMemberName}." @@ -4628,3 +4628,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." + From 28514ba2e7ae73496af8d93c07b627649fd15b19 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Fri, 1 Nov 2024 19:29:38 +0900 Subject: [PATCH 14/52] fix: duplicate templates (#1434) --- .../lib/server-only/template/duplicate-template.ts | 13 ++++++++++++- .../template-flow/add-template-settings.tsx | 5 +---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/lib/server-only/template/duplicate-template.ts b/packages/lib/server-only/template/duplicate-template.ts index 963d78bde..9e22bf695 100644 --- a/packages/lib/server-only/template/duplicate-template.ts +++ b/packages/lib/server-only/template/duplicate-template.ts @@ -1,3 +1,5 @@ +import { omit } from 'remeda'; + import { nanoid } from '@documenso/lib/universal/id'; import { prisma } from '@documenso/prisma'; import type { Prisma } from '@documenso/prisma/client'; @@ -38,6 +40,7 @@ export const duplicateTemplate = async ({ Recipient: true, Field: true, templateDocumentData: true, + templateMeta: true, }, }); @@ -53,6 +56,14 @@ export const duplicateTemplate = async ({ }, }); + let templateMeta: Prisma.TemplateCreateArgs['data']['templateMeta'] | undefined = undefined; + + if (template.templateMeta) { + templateMeta = { + create: omit(template.templateMeta, ['id', 'templateId']), + }; + } + const duplicatedTemplate = await prisma.template.create({ data: { userId, @@ -66,8 +77,8 @@ export const duplicateTemplate = async ({ token: nanoid(), })), }, + templateMeta, }, - include: { Recipient: true, }, diff --git a/packages/ui/primitives/template-flow/add-template-settings.tsx b/packages/ui/primitives/template-flow/add-template-settings.tsx index 73302ae55..165802015 100644 --- a/packages/ui/primitives/template-flow/add-template-settings.tsx +++ b/packages/ui/primitives/template-flow/add-template-settings.tsx @@ -4,7 +4,6 @@ import { useEffect } from 'react'; import { zodResolver } from '@hookform/resolvers/zod'; import { Trans } from '@lingui/macro'; -import { useLingui } from '@lingui/react'; import { InfoIcon } from 'lucide-react'; import { useForm } from 'react-hook-form'; @@ -74,8 +73,6 @@ export const AddTemplateSettingsFormPartial = ({ template, onSubmit, }: AddTemplateSettingsFormProps) => { - const { _ } = useLingui(); - const { documentAuthOption } = extractDocumentAuthMethods({ documentAuth: template.authOptions, }); @@ -102,7 +99,7 @@ export const AddTemplateSettingsFormPartial = ({ // We almost always want to set the timezone to the user's local timezone to avoid confusion // when the document is signed. useEffect(() => { - if (!form.formState.touchedFields.meta?.timezone) { + if (!form.formState.touchedFields.meta?.timezone && !template.templateMeta?.timezone) { form.setValue('meta.timezone', Intl.DateTimeFormat().resolvedOptions().timeZone); } }, [form, form.setValue, form.formState.touchedFields.meta?.timezone]); From 885349ad941e735baddc25f3a8c3fb72e86da315 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Sun, 3 Nov 2024 20:17:41 +0900 Subject: [PATCH 15/52] fix: missing signing order when using templates (#1425) --- .../template/create-document-from-direct-template.ts | 5 +++++ .../server-only/template/create-document-from-template.ts | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/lib/server-only/template/create-document-from-direct-template.ts b/packages/lib/server-only/template/create-document-from-direct-template.ts index 2d90d4ff0..24fdc90ff 100644 --- a/packages/lib/server-only/template/create-document-from-direct-template.ts +++ b/packages/lib/server-only/template/create-document-from-direct-template.ts @@ -10,6 +10,7 @@ import { nanoid } from '@documenso/lib/universal/id'; import { prisma } from '@documenso/prisma'; import type { Field, Signature } from '@documenso/prisma/client'; import { + DocumentSigningOrder, DocumentSource, DocumentStatus, FieldType, @@ -142,6 +143,7 @@ export const createDocumentFromDirectTemplate = async ({ const metaDateFormat = template.templateMeta?.dateFormat || DEFAULT_DOCUMENT_DATE_FORMAT; const metaEmailMessage = template.templateMeta?.message || ''; const metaEmailSubject = template.templateMeta?.subject || ''; + const metaSigningOrder = template.templateMeta?.signingOrder || DocumentSigningOrder.PARALLEL; // Associate, validate and map to a query every direct template recipient field with the provided fields. const createDirectRecipientFieldArgs = await Promise.all( @@ -256,6 +258,7 @@ export const createDocumentFromDirectTemplate = async ({ recipient.role === RecipientRole.CC ? SigningStatus.SIGNED : SigningStatus.NOT_SIGNED, + signingOrder: recipient.signingOrder, token: nanoid(), }; }), @@ -267,6 +270,7 @@ export const createDocumentFromDirectTemplate = async ({ dateFormat: metaDateFormat, message: metaEmailMessage, subject: metaEmailSubject, + signingOrder: metaSigningOrder, }, }, }, @@ -330,6 +334,7 @@ export const createDocumentFromDirectTemplate = async ({ signingStatus: SigningStatus.SIGNED, sendStatus: SendStatus.SENT, signedAt: initialRequestTime, + signingOrder: directTemplateRecipient.signingOrder, Field: { createMany: { data: directTemplateNonSignatureFields.map(({ templateField, customText }) => ({ diff --git a/packages/lib/server-only/template/create-document-from-template.ts b/packages/lib/server-only/template/create-document-from-template.ts index 8cf2e59af..1c989fa5b 100644 --- a/packages/lib/server-only/template/create-document-from-template.ts +++ b/packages/lib/server-only/template/create-document-from-template.ts @@ -24,7 +24,10 @@ import { } from '../../utils/document-auth'; import { triggerWebhook } from '../webhooks/trigger/trigger-webhook'; -type FinalRecipient = Pick & { +type FinalRecipient = Pick< + Recipient, + 'name' | 'email' | 'role' | 'authOptions' | 'signingOrder' +> & { templateRecipientId: number; fields: Field[]; }; @@ -197,6 +200,7 @@ export const createDocumentFromTemplate = async ({ recipient.role === RecipientRole.CC ? SigningStatus.SIGNED : SigningStatus.NOT_SIGNED, + signingOrder: recipient.signingOrder, token: nanoid(), }; }), From 04b1ce1aab1049d3e4251d629388f20a2d2b4d7b Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Mon, 4 Nov 2024 22:09:52 +0900 Subject: [PATCH 16/52] fix: missing not found page for deleted documents (#1424) --- apps/web/src/app/(signing)/sign/[token]/page.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/web/src/app/(signing)/sign/[token]/page.tsx b/apps/web/src/app/(signing)/sign/[token]/page.tsx index 214b013ce..0a2c59520 100644 --- a/apps/web/src/app/(signing)/sign/[token]/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/page.tsx @@ -43,12 +43,6 @@ export default async function SigningPage({ params: { token } }: SigningPageProp const requestMetadata = extractNextHeaderRequestMetadata(requestHeaders); - const isRecipientsTurn = await getIsRecipientsTurnToSign({ token }); - - if (!isRecipientsTurn) { - return redirect(`/sign/${token}/waiting`); - } - const [document, fields, recipient, completedFields] = await Promise.all([ getDocumentAndSenderByToken({ token, @@ -69,6 +63,12 @@ export default async function SigningPage({ params: { token } }: SigningPageProp return notFound(); } + const isRecipientsTurn = await getIsRecipientsTurnToSign({ token }); + + if (!isRecipientsTurn) { + return redirect(`/sign/${token}/waiting`); + } + const { derivedRecipientAccessAuth } = extractDocumentAuthMethods({ documentAuth: document.authOptions, recipientAuth: recipient.authOptions, From 4dd95016b10c2c8545b046d012ed8226fc3cb2c2 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Tue, 5 Nov 2024 11:52:54 +1100 Subject: [PATCH 17/52] feat: i18n for emails (#1442) ## Description Support setting a document language that will control the language used for sending emails to recipients. Additional work has been done to convert all emails to using our i18n implementation so we can later add controls for sending other kinds of emails in a users target language. ## Related Issue N/A ## Changes Made - Added `` and `msg` macros to emails - Introduced a new `renderEmailWithI18N` utility in the lib package - Updated all emails to use the `` component at the top level due to rendering constraints - Updated the `i18n.server.tsx` file to not use a top level await ## Testing Performed - Configured document language and verified emails were sent in the expected language - Created a document from a template and verified that the templates language was transferred to the document --- .../src/app/(marketing)/[content]/page.tsx | 4 +- .../src/app/(marketing)/blog/[post]/page.tsx | 4 +- .../src/app/(marketing)/blog/page.tsx | 4 +- .../src/app/(marketing)/open/page.tsx | 5 +- apps/marketing/src/app/(marketing)/page.tsx | 2 +- .../src/app/(marketing)/pricing/page.tsx | 4 +- .../src/app/(marketing)/singleplayer/page.tsx | 4 +- apps/marketing/src/app/layout.tsx | 2 +- .../(dashboard)/admin/documents/[id]/page.tsx | 2 +- .../app/(dashboard)/admin/documents/page.tsx | 4 +- apps/web/src/app/(dashboard)/admin/layout.tsx | 2 +- .../(dashboard)/admin/site-settings/page.tsx | 2 +- .../src/app/(dashboard)/admin/stats/page.tsx | 2 +- .../(dashboard)/admin/subscriptions/page.tsx | 2 +- .../src/app/(dashboard)/admin/users/page.tsx | 2 +- .../documents/[id]/edit-document.tsx | 4 +- .../(dashboard)/documents/[id]/edit/page.tsx | 4 +- .../(dashboard)/documents/[id]/loading.tsx | 4 +- .../(dashboard)/documents/[id]/logs/page.tsx | 4 +- .../app/(dashboard)/documents/[id]/page.tsx | 4 +- .../(dashboard)/documents/[id]/sent/page.tsx | 4 +- .../src/app/(dashboard)/documents/page.tsx | 2 +- apps/web/src/app/(dashboard)/layout.tsx | 2 +- .../app/(dashboard)/settings/billing/page.tsx | 2 +- .../src/app/(dashboard)/settings/layout.tsx | 4 +- .../app/(dashboard)/settings/profile/page.tsx | 2 +- .../settings/public-profile/page.tsx | 2 +- .../settings/security/activity/page.tsx | 4 +- .../(dashboard)/settings/security/page.tsx | 2 +- .../settings/security/passkeys/page.tsx | 2 +- .../app/(dashboard)/settings/tokens/page.tsx | 2 +- .../templates/[id]/edit-template.tsx | 6 +- .../app/(dashboard)/templates/[id]/page.tsx | 4 +- .../src/app/(dashboard)/templates/page.tsx | 4 +- apps/web/src/app/(profile)/layout.tsx | 2 +- apps/web/src/app/(profile)/p/[url]/page.tsx | 2 +- .../src/app/(recipient)/d/[token]/page.tsx | 2 +- apps/web/src/app/(recipient)/layout.tsx | 2 +- .../sign/[token]/complete/layout.tsx | 4 +- .../(signing)/sign/[token]/complete/page.tsx | 2 +- .../src/app/(signing)/sign/[token]/layout.tsx | 2 +- .../src/app/(signing)/sign/[token]/page.tsx | 2 +- .../(signing)/sign/[token]/waiting/page.tsx | 2 +- .../t/[teamUrl]/documents/[id]/edit/page.tsx | 2 +- .../t/[teamUrl]/documents/[id]/logs/page.tsx | 2 +- .../t/[teamUrl]/documents/[id]/page.tsx | 2 +- .../(teams)/t/[teamUrl]/documents/page.tsx | 2 +- .../src/app/(teams)/t/[teamUrl]/layout.tsx | 2 +- .../t/[teamUrl]/settings/billing/page.tsx | 2 +- .../(teams)/t/[teamUrl]/settings/layout.tsx | 2 +- .../t/[teamUrl]/settings/members/page.tsx | 2 +- .../app/(teams)/t/[teamUrl]/settings/page.tsx | 2 +- .../settings/public-profile/page.tsx | 2 +- .../t/[teamUrl]/settings/tokens/page.tsx | 2 +- .../t/[teamUrl]/templates/[id]/page.tsx | 2 +- .../(teams)/t/[teamUrl]/templates/page.tsx | 2 +- .../articles/signature-disclosure/page.tsx | 4 +- .../(unauthenticated)/check-email/page.tsx | 4 +- .../forgot-password/page.tsx | 4 +- apps/web/src/app/(unauthenticated)/layout.tsx | 4 +- .../reset-password/[token]/page.tsx | 2 +- .../(unauthenticated)/reset-password/page.tsx | 4 +- .../src/app/(unauthenticated)/signin/page.tsx | 4 +- .../src/app/(unauthenticated)/signup/page.tsx | 4 +- .../team/decline/[token]/page.tsx | 2 +- .../team/invite/[token]/page.tsx | 2 +- .../team/verify/email/[token]/page.tsx | 2 +- .../team/verify/transfer/[token]/page.tsx | 2 +- .../unverified-account/page.tsx | 4 +- .../verify-email/[token]/page.tsx | 2 +- .../(unauthenticated)/verify-email/page.tsx | 4 +- apps/web/src/app/layout.tsx | 2 +- apps/web/src/app/not-found.tsx | 2 +- apps/web/src/app/page.tsx | 4 +- lingui.config.ts | 2 +- package-lock.json | 3 + packages/api/v1/implementation.ts | 1 + packages/api/v1/schema.ts | 4 + packages/email/render.ts | 1 - packages/email/render.tsx | 39 ++ .../template-confirmation-email.tsx | 19 +- .../template-document-cancel.tsx | 12 +- .../template-document-completed.tsx | 10 +- .../template-document-invite.tsx | 29 +- .../template-document-pending.tsx | 14 +- .../template-document-self-signed.tsx | 29 +- .../template-document-super-delete.tsx | 14 +- .../template-components/template-footer.tsx | 12 +- .../template-forgot-password.tsx | 8 +- .../template-reset-password.tsx | 7 +- packages/email/templates/confirm-email.tsx | 63 +-- .../email/templates/confirm-team-email.tsx | 148 +++--- packages/email/templates/document-cancel.tsx | 68 ++- .../email/templates/document-completed.tsx | 66 ++- .../document-created-from-direct-template.tsx | 100 ++-- packages/email/templates/document-invite.tsx | 125 ++--- packages/email/templates/document-pending.tsx | 56 +- .../email/templates/document-self-signed.tsx | 59 +-- .../email/templates/document-super-delete.tsx | 66 ++- packages/email/templates/forgot-password.tsx | 64 ++- .../recipient-removed-from-document.tsx | 81 ++- packages/email/templates/reset-password.tsx | 104 ++-- packages/email/templates/team-delete.tsx | 89 ++-- .../email/templates/team-email-removed.tsx | 87 ++-- packages/email/templates/team-invite.tsx | 130 +++-- packages/email/templates/team-join.tsx | 87 ++-- packages/email/templates/team-leave.tsx | 87 ++-- .../email/templates/team-transfer-request.tsx | 122 ++--- .../lib/client-only/providers/i18n.server.tsx | 72 ++- packages/lib/constants/i18n.ts | 3 + packages/lib/constants/recipient-roles.ts | 6 +- packages/lib/jobs/client/local.ts | 8 - .../definitions/emails/send-signing-email.ts | 40 +- .../emails/send-team-member-joined-email.ts | 18 +- .../emails/send-team-member-left-email.ts | 17 +- packages/lib/package.json | 3 + .../auth/send-confirmation-email.ts | 18 +- .../server-only/auth/send-forgot-password.ts | 18 +- .../server-only/auth/send-reset-password.ts | 11 +- .../document-meta/upsert-document-meta.ts | 6 + .../server-only/document/delete-document.ts | 11 +- .../server-only/document/resend-document.tsx | 47 +- .../document/send-completed-email.ts | 29 +- .../server-only/document/send-delete-email.ts | 18 +- .../document/send-pending-email.ts | 19 +- .../document/super-delete-document.ts | 18 +- .../recipient/set-recipients-for-document.ts | 19 +- .../team/accept-team-invitation.ts | 2 +- .../team/create-team-email-verification.ts | 20 +- .../team/create-team-member-invites.ts | 20 +- .../lib/server-only/team/delete-team-email.ts | 19 +- packages/lib/server-only/team/delete-team.ts | 11 +- .../team/request-team-ownership-transfer.ts | 21 +- .../create-document-from-direct-template.ts | 19 +- .../create-document-from-template-legacy.ts | 12 + .../template/create-document-from-template.ts | 3 + .../user/send-confirmation-token.ts | 3 +- packages/lib/translations/de/common.po | 477 ++++++++++++++++- packages/lib/translations/de/marketing.po | 33 +- packages/lib/translations/de/web.po | 65 ++- packages/lib/translations/en/common.po | 478 ++++++++++++++++- packages/lib/translations/en/marketing.po | 32 +- packages/lib/translations/en/web.po | 64 +-- packages/lib/translations/es/common.po | 477 ++++++++++++++++- packages/lib/translations/es/marketing.po | 33 +- packages/lib/translations/es/web.po | 65 ++- packages/lib/translations/fr/common.po | 485 +++++++++++++++++- packages/lib/translations/fr/marketing.po | 33 +- packages/lib/translations/fr/web.po | 65 ++- packages/lib/utils/is-valid-redirect-url.ts | 1 - packages/lib/utils/remember.ts | 18 + packages/lib/utils/render-email-with-i18n.tsx | 36 ++ .../migration.sql | 5 + packages/prisma/schema.prisma | 2 + .../trpc/server/document-router/router.ts | 1 + .../trpc/server/document-router/schema.ts | 2 + .../trpc/server/singleplayer-router/router.ts | 6 +- .../trpc/server/template-router/router.ts | 6 +- .../trpc/server/template-router/schema.ts | 6 + .../primitives/document-flow/add-settings.tsx | 42 ++ .../document-flow/add-settings.types.ts | 5 + .../template-flow/add-template-settings.tsx | 42 ++ .../add-template-settings.types.tsx | 5 + 163 files changed, 3549 insertions(+), 1461 deletions(-) delete mode 100644 packages/email/render.ts create mode 100644 packages/email/render.tsx create mode 100644 packages/lib/utils/remember.ts create mode 100644 packages/lib/utils/render-email-with-i18n.tsx create mode 100644 packages/prisma/migrations/20241101103425_add_language_column_for_documents_and_templates/migration.sql diff --git a/apps/marketing/src/app/(marketing)/[content]/page.tsx b/apps/marketing/src/app/(marketing)/[content]/page.tsx index 2e8327944..38200d984 100644 --- a/apps/marketing/src/app/(marketing)/[content]/page.tsx +++ b/apps/marketing/src/app/(marketing)/[content]/page.tsx @@ -30,8 +30,8 @@ const mdxComponents: MDXComponents = { * * Will render the document if it exists, otherwise will return a 404. */ -export default function ContentPage({ params }: { params: { content: string } }) { - setupI18nSSR(); +export default async function ContentPage({ params }: { params: { content: string } }) { + await setupI18nSSR(); const post = allDocuments.find((post) => post._raw.flattenedPath === params.content); diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx index 4f99126f3..324f742d1 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx @@ -48,8 +48,8 @@ const mdxComponents: MDXComponents = { ), }; -export default function BlogPostPage({ params }: { params: { post: string } }) { - setupI18nSSR(); +export default async function BlogPostPage({ params }: { params: { post: string } }) { + await setupI18nSSR(); const post = allBlogPosts.find((post) => post._raw.flattenedPath === `blog/${params.post}`); diff --git a/apps/marketing/src/app/(marketing)/blog/page.tsx b/apps/marketing/src/app/(marketing)/blog/page.tsx index 4974a2399..a762f4c2a 100644 --- a/apps/marketing/src/app/(marketing)/blog/page.tsx +++ b/apps/marketing/src/app/(marketing)/blog/page.tsx @@ -9,8 +9,8 @@ export const metadata: Metadata = { title: 'Blog', }; -export default function BlogPage() { - const { i18n } = setupI18nSSR(); +export default async function BlogPage() { + const { i18n } = await setupI18nSSR(); const blogPosts = allBlogPosts.sort((a, b) => { const dateA = new Date(a.date); diff --git a/apps/marketing/src/app/(marketing)/open/page.tsx b/apps/marketing/src/app/(marketing)/open/page.tsx index 676a352bb..035b4de38 100644 --- a/apps/marketing/src/app/(marketing)/open/page.tsx +++ b/apps/marketing/src/app/(marketing)/open/page.tsx @@ -1,7 +1,6 @@ import type { Metadata } from 'next'; import { Trans, msg } from '@lingui/macro'; -import { useLingui } from '@lingui/react'; import { z } from 'zod'; import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; @@ -131,9 +130,9 @@ const fetchEarlyAdopters = async () => { }; export default async function OpenPage() { - setupI18nSSR(); + const { i18n } = await setupI18nSSR(); - const { _ } = useLingui(); + const { _ } = i18n; const [ { forks_count: forksCount, stargazers_count: stargazersCount }, diff --git a/apps/marketing/src/app/(marketing)/page.tsx b/apps/marketing/src/app/(marketing)/page.tsx index 2f5dd14c8..816b1aaa1 100644 --- a/apps/marketing/src/app/(marketing)/page.tsx +++ b/apps/marketing/src/app/(marketing)/page.tsx @@ -26,7 +26,7 @@ const fontCaveat = Caveat({ }); export default async function IndexPage() { - setupI18nSSR(); + await setupI18nSSR(); const starCount = await fetch('https://api.github.com/repos/documenso/documenso', { headers: { diff --git a/apps/marketing/src/app/(marketing)/pricing/page.tsx b/apps/marketing/src/app/(marketing)/pricing/page.tsx index 61a802cb8..4c89490c0 100644 --- a/apps/marketing/src/app/(marketing)/pricing/page.tsx +++ b/apps/marketing/src/app/(marketing)/pricing/page.tsx @@ -30,8 +30,8 @@ export type PricingPageProps = { }; }; -export default function PricingPage() { - setupI18nSSR(); +export default async function PricingPage() { + await setupI18nSSR(); return (

diff --git a/apps/marketing/src/app/(marketing)/singleplayer/page.tsx b/apps/marketing/src/app/(marketing)/singleplayer/page.tsx index 1416067e4..16da4e6b9 100644 --- a/apps/marketing/src/app/(marketing)/singleplayer/page.tsx +++ b/apps/marketing/src/app/(marketing)/singleplayer/page.tsx @@ -14,8 +14,8 @@ export const dynamic = 'force-dynamic'; // !: This entire file is a hack to get around failed prerendering of // !: the Single Player Mode page. This regression was introduced during // !: the upgrade of Next.js to v13.5.x. -export default function SingleplayerPage() { - setupI18nSSR(); +export default async function SingleplayerPage() { + await setupI18nSSR(); return ; } diff --git a/apps/marketing/src/app/layout.tsx b/apps/marketing/src/app/layout.tsx index 544b5ceb4..ea879d89d 100644 --- a/apps/marketing/src/app/layout.tsx +++ b/apps/marketing/src/app/layout.tsx @@ -56,7 +56,7 @@ export function generateMetadata() { export default async function RootLayout({ children }: { children: React.ReactNode }) { const flags = await getAllAnonymousFlags(); - const { lang, locales, i18n } = setupI18nSSR(); + const { lang, locales, i18n } = await setupI18nSSR(); return ( diff --git a/apps/web/src/app/(dashboard)/admin/layout.tsx b/apps/web/src/app/(dashboard)/admin/layout.tsx index c489c34a1..964267872 100644 --- a/apps/web/src/app/(dashboard)/admin/layout.tsx +++ b/apps/web/src/app/(dashboard)/admin/layout.tsx @@ -13,7 +13,7 @@ export type AdminSectionLayoutProps = { }; export default async function AdminSectionLayout({ children }: AdminSectionLayoutProps) { - setupI18nSSR(); + await setupI18nSSR(); const { user } = await getRequiredServerComponentSession(); diff --git a/apps/web/src/app/(dashboard)/admin/site-settings/page.tsx b/apps/web/src/app/(dashboard)/admin/site-settings/page.tsx index a9d37caff..c78eb87ec 100644 --- a/apps/web/src/app/(dashboard)/admin/site-settings/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/site-settings/page.tsx @@ -12,7 +12,7 @@ import { BannerForm } from './banner-form'; // import { BannerForm } from './banner-form'; export default async function AdminBannerPage() { - setupI18nSSR(); + await setupI18nSSR(); const { _ } = useLingui(); diff --git a/apps/web/src/app/(dashboard)/admin/stats/page.tsx b/apps/web/src/app/(dashboard)/admin/stats/page.tsx index 33be711e1..9ffbfb5dc 100644 --- a/apps/web/src/app/(dashboard)/admin/stats/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/stats/page.tsx @@ -30,7 +30,7 @@ import { SignerConversionChart } from './signer-conversion-chart'; import { UserWithDocumentChart } from './user-with-document'; export default async function AdminStatsPage() { - setupI18nSSR(); + await setupI18nSSR(); const { _ } = useLingui(); diff --git a/apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx b/apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx index f31e9d13e..7940b6fb5 100644 --- a/apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx @@ -14,7 +14,7 @@ import { } from '@documenso/ui/primitives/table'; export default async function Subscriptions() { - setupI18nSSR(); + await setupI18nSSR(); const subscriptions = await findSubscriptions(); diff --git a/apps/web/src/app/(dashboard)/admin/users/page.tsx b/apps/web/src/app/(dashboard)/admin/users/page.tsx index 807fd45c9..55803f6f9 100644 --- a/apps/web/src/app/(dashboard)/admin/users/page.tsx +++ b/apps/web/src/app/(dashboard)/admin/users/page.tsx @@ -16,7 +16,7 @@ type AdminManageUsersProps = { }; export default async function AdminManageUsers({ searchParams = {} }: AdminManageUsersProps) { - setupI18nSSR(); + await setupI18nSSR(); const page = Number(searchParams.page) || 1; const perPage = Number(searchParams.perPage) || 10; diff --git a/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx b/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx index 571ca535f..5c659ad46 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx @@ -7,6 +7,7 @@ import { useRouter, useSearchParams } from 'next/navigation'; import { msg } from '@lingui/macro'; import { useLingui } from '@lingui/react'; +import { isValidLanguageCode } from '@documenso/lib/constants/i18n'; import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION, SKIP_QUERY_BATCH_META, @@ -201,7 +202,7 @@ export const EditDocumentForm = ({ const onAddSettingsFormSubmit = async (data: TAddSettingsFormSchema) => { try { - const { timezone, dateFormat, redirectUrl } = data.meta; + const { timezone, dateFormat, redirectUrl, language } = data.meta; await setSettingsForDocument({ documentId: document.id, @@ -217,6 +218,7 @@ export const EditDocumentForm = ({ timezone, dateFormat, redirectUrl, + language: isValidLanguageCode(language) ? language : undefined, }, }); diff --git a/apps/web/src/app/(dashboard)/documents/[id]/edit/page.tsx b/apps/web/src/app/(dashboard)/documents/[id]/edit/page.tsx index b91bf4e9a..a20cc8469 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/edit/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/edit/page.tsx @@ -8,8 +8,8 @@ export type DocumentPageProps = { }; }; -export default function DocumentEditPage({ params }: DocumentPageProps) { - setupI18nSSR(); +export default async function DocumentEditPage({ params }: DocumentPageProps) { + await setupI18nSSR(); return ; } diff --git a/apps/web/src/app/(dashboard)/documents/[id]/loading.tsx b/apps/web/src/app/(dashboard)/documents/[id]/loading.tsx index 65d508482..b6165436b 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/loading.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/loading.tsx @@ -6,8 +6,8 @@ import { ChevronLeft, Loader } from 'lucide-react'; import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; import { Skeleton } from '@documenso/ui/primitives/skeleton'; -export default function Loading() { - setupI18nSSR(); +export default async function Loading() { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/(dashboard)/documents/[id]/logs/page.tsx b/apps/web/src/app/(dashboard)/documents/[id]/logs/page.tsx index 7c91ac8fc..c7c489ef1 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/logs/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/logs/page.tsx @@ -8,8 +8,8 @@ export type DocumentsLogsPageProps = { }; }; -export default function DocumentsLogsPage({ params }: DocumentsLogsPageProps) { - setupI18nSSR(); +export default async function DocumentsLogsPage({ params }: DocumentsLogsPageProps) { + await setupI18nSSR(); return ; } diff --git a/apps/web/src/app/(dashboard)/documents/[id]/page.tsx b/apps/web/src/app/(dashboard)/documents/[id]/page.tsx index 101b707fb..4e570effe 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/page.tsx @@ -8,8 +8,8 @@ export type DocumentPageProps = { }; }; -export default function DocumentPage({ params }: DocumentPageProps) { - setupI18nSSR(); +export default async function DocumentPage({ params }: DocumentPageProps) { + await setupI18nSSR(); return ; } diff --git a/apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx b/apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx index b6938f154..9d6e20535 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/sent/page.tsx @@ -5,8 +5,8 @@ import { ChevronLeft } from 'lucide-react'; import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; -export default function DocumentSentPage() { - setupI18nSSR(); +export default async function DocumentSentPage() { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/(dashboard)/documents/page.tsx b/apps/web/src/app/(dashboard)/documents/page.tsx index 241bee6f0..41cbf3df9 100644 --- a/apps/web/src/app/(dashboard)/documents/page.tsx +++ b/apps/web/src/app/(dashboard)/documents/page.tsx @@ -16,7 +16,7 @@ export const metadata: Metadata = { }; export default async function DocumentsPage({ searchParams = {} }: DocumentsPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { user } = await getRequiredServerComponentSession(); diff --git a/apps/web/src/app/(dashboard)/layout.tsx b/apps/web/src/app/(dashboard)/layout.tsx index 92cbbfecb..90096b0e3 100644 --- a/apps/web/src/app/(dashboard)/layout.tsx +++ b/apps/web/src/app/(dashboard)/layout.tsx @@ -23,7 +23,7 @@ export type AuthenticatedDashboardLayoutProps = { export default async function AuthenticatedDashboardLayout({ children, }: AuthenticatedDashboardLayoutProps) { - setupI18nSSR(); + await setupI18nSSR(); const session = await getServerSession(NEXT_AUTH_OPTIONS); diff --git a/apps/web/src/app/(dashboard)/settings/billing/page.tsx b/apps/web/src/app/(dashboard)/settings/billing/page.tsx index 4f1e69334..e60698818 100644 --- a/apps/web/src/app/(dashboard)/settings/billing/page.tsx +++ b/apps/web/src/app/(dashboard)/settings/billing/page.tsx @@ -24,7 +24,7 @@ export const metadata: Metadata = { }; export default async function BillingSettingsPage() { - const { i18n } = setupI18nSSR(); + const { i18n } = await setupI18nSSR(); let { user } = await getRequiredServerComponentSession(); diff --git a/apps/web/src/app/(dashboard)/settings/layout.tsx b/apps/web/src/app/(dashboard)/settings/layout.tsx index 7d15d4874..9c472cf07 100644 --- a/apps/web/src/app/(dashboard)/settings/layout.tsx +++ b/apps/web/src/app/(dashboard)/settings/layout.tsx @@ -11,8 +11,8 @@ export type DashboardSettingsLayoutProps = { children: React.ReactNode; }; -export default function DashboardSettingsLayout({ children }: DashboardSettingsLayoutProps) { - setupI18nSSR(); +export default async function DashboardSettingsLayout({ children }: DashboardSettingsLayoutProps) { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/(dashboard)/settings/profile/page.tsx b/apps/web/src/app/(dashboard)/settings/profile/page.tsx index a9c47f245..214f73ad2 100644 --- a/apps/web/src/app/(dashboard)/settings/profile/page.tsx +++ b/apps/web/src/app/(dashboard)/settings/profile/page.tsx @@ -17,7 +17,7 @@ export const metadata: Metadata = { }; export default async function ProfileSettingsPage() { - setupI18nSSR(); + await setupI18nSSR(); const { _ } = useLingui(); const { user } = await getRequiredServerComponentSession(); diff --git a/apps/web/src/app/(dashboard)/settings/public-profile/page.tsx b/apps/web/src/app/(dashboard)/settings/public-profile/page.tsx index 673fb9328..8fcf1bca2 100644 --- a/apps/web/src/app/(dashboard)/settings/public-profile/page.tsx +++ b/apps/web/src/app/(dashboard)/settings/public-profile/page.tsx @@ -5,7 +5,7 @@ import { getUserPublicProfile } from '@documenso/lib/server-only/user/get-user-p import { PublicProfilePageView } from './public-profile-page-view'; export default async function Page() { - setupI18nSSR(); + await setupI18nSSR(); const { user } = await getRequiredServerComponentSession(); diff --git a/apps/web/src/app/(dashboard)/settings/security/activity/page.tsx b/apps/web/src/app/(dashboard)/settings/security/activity/page.tsx index 2b46a653c..79563ffd5 100644 --- a/apps/web/src/app/(dashboard)/settings/security/activity/page.tsx +++ b/apps/web/src/app/(dashboard)/settings/security/activity/page.tsx @@ -14,8 +14,8 @@ export const metadata: Metadata = { title: 'Security activity', }; -export default function SettingsSecurityActivityPage() { - setupI18nSSR(); +export default async function SettingsSecurityActivityPage() { + await setupI18nSSR(); const { _ } = useLingui(); diff --git a/apps/web/src/app/(dashboard)/settings/security/page.tsx b/apps/web/src/app/(dashboard)/settings/security/page.tsx index cbe35d254..1f3d4de08 100644 --- a/apps/web/src/app/(dashboard)/settings/security/page.tsx +++ b/apps/web/src/app/(dashboard)/settings/security/page.tsx @@ -21,7 +21,7 @@ export const metadata: Metadata = { }; export default async function SecuritySettingsPage() { - setupI18nSSR(); + await setupI18nSSR(); const { _ } = useLingui(); const { user } = await getRequiredServerComponentSession(); diff --git a/apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx b/apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx index 106916b3c..c9ec4153a 100644 --- a/apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx +++ b/apps/web/src/app/(dashboard)/settings/security/passkeys/page.tsx @@ -17,7 +17,7 @@ export const metadata: Metadata = { }; export default async function SettingsManagePasskeysPage() { - setupI18nSSR(); + await setupI18nSSR(); const { _ } = useLingui(); const isPasskeyEnabled = await getServerComponentFlag('app_passkey'); diff --git a/apps/web/src/app/(dashboard)/settings/tokens/page.tsx b/apps/web/src/app/(dashboard)/settings/tokens/page.tsx index ae01e6802..ad90b54d5 100644 --- a/apps/web/src/app/(dashboard)/settings/tokens/page.tsx +++ b/apps/web/src/app/(dashboard)/settings/tokens/page.tsx @@ -10,7 +10,7 @@ import DeleteTokenDialog from '~/components/(dashboard)/settings/token/delete-to import { ApiTokenForm } from '~/components/forms/token'; export default async function ApiTokensPage() { - const { i18n } = setupI18nSSR(); + const { i18n } = await setupI18nSSR(); const { user } = await getRequiredServerComponentSession(); diff --git a/apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx b/apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx index 9efd6e3b9..766d45caa 100644 --- a/apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx +++ b/apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx @@ -7,6 +7,7 @@ import { useRouter } from 'next/navigation'; import { msg } from '@lingui/macro'; import { useLingui } from '@lingui/react'; +import { isValidLanguageCode } from '@documenso/lib/constants/i18n'; import { DO_NOT_INVALIDATE_QUERY_ON_MUTATION, SKIP_QUERY_BATCH_META, @@ -151,7 +152,10 @@ export const EditTemplateForm = ({ globalAccessAuth: data.globalAccessAuth ?? null, globalActionAuth: data.globalActionAuth ?? null, }, - meta: data.meta, + meta: { + ...data.meta, + language: isValidLanguageCode(data.meta.language) ? data.meta.language : undefined, + }, }); // Router refresh is here to clear the router cache for when navigating to /documents. diff --git a/apps/web/src/app/(dashboard)/templates/[id]/page.tsx b/apps/web/src/app/(dashboard)/templates/[id]/page.tsx index 5c5699c25..0deaf4ecb 100644 --- a/apps/web/src/app/(dashboard)/templates/[id]/page.tsx +++ b/apps/web/src/app/(dashboard)/templates/[id]/page.tsx @@ -7,8 +7,8 @@ import { TemplatePageView } from './template-page-view'; type TemplatePageProps = Pick; -export default function TemplatePage({ params }: TemplatePageProps) { - setupI18nSSR(); +export default async function TemplatePage({ params }: TemplatePageProps) { + await setupI18nSSR(); return ; } diff --git a/apps/web/src/app/(dashboard)/templates/page.tsx b/apps/web/src/app/(dashboard)/templates/page.tsx index 7f910efa5..886eba88e 100644 --- a/apps/web/src/app/(dashboard)/templates/page.tsx +++ b/apps/web/src/app/(dashboard)/templates/page.tsx @@ -15,8 +15,8 @@ export const metadata: Metadata = { title: 'Templates', }; -export default function TemplatesPage({ searchParams = {} }: TemplatesPageProps) { - setupI18nSSR(); +export default async function TemplatesPage({ searchParams = {} }: TemplatesPageProps) { + await setupI18nSSR(); return ; } diff --git a/apps/web/src/app/(profile)/layout.tsx b/apps/web/src/app/(profile)/layout.tsx index 43f263de7..d43e44172 100644 --- a/apps/web/src/app/(profile)/layout.tsx +++ b/apps/web/src/app/(profile)/layout.tsx @@ -14,7 +14,7 @@ type PublicProfileLayoutProps = { }; export default async function PublicProfileLayout({ children }: PublicProfileLayoutProps) { - setupI18nSSR(); + await setupI18nSSR(); const { user, session } = await getServerComponentSession(); diff --git a/apps/web/src/app/(profile)/p/[url]/page.tsx b/apps/web/src/app/(profile)/p/[url]/page.tsx index e276417d2..67226c5cb 100644 --- a/apps/web/src/app/(profile)/p/[url]/page.tsx +++ b/apps/web/src/app/(profile)/p/[url]/page.tsx @@ -42,7 +42,7 @@ const BADGE_DATA = { }; export default async function PublicProfilePage({ params }: PublicProfilePageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { url: profileUrl } = params; diff --git a/apps/web/src/app/(recipient)/d/[token]/page.tsx b/apps/web/src/app/(recipient)/d/[token]/page.tsx index 0cc3b1a2c..a2ace350c 100644 --- a/apps/web/src/app/(recipient)/d/[token]/page.tsx +++ b/apps/web/src/app/(recipient)/d/[token]/page.tsx @@ -24,7 +24,7 @@ export type TemplatesDirectPageProps = { }; export default async function TemplatesDirectPage({ params }: TemplatesDirectPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { token } = params; diff --git a/apps/web/src/app/(recipient)/layout.tsx b/apps/web/src/app/(recipient)/layout.tsx index e24c7d088..54477b458 100644 --- a/apps/web/src/app/(recipient)/layout.tsx +++ b/apps/web/src/app/(recipient)/layout.tsx @@ -19,7 +19,7 @@ type RecipientLayoutProps = { * Such as direct template access, or signing. */ export default async function RecipientLayout({ children }: RecipientLayoutProps) { - setupI18nSSR(); + await setupI18nSSR(); const { user, session } = await getServerComponentSession(); diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx index 0798e5098..23a5f1278 100644 --- a/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx @@ -8,8 +8,8 @@ export type SigningLayoutProps = { children: React.ReactNode; }; -export default function SigningLayout({ children }: SigningLayoutProps) { - setupI18nSSR(); +export default async function SigningLayout({ children }: SigningLayoutProps) { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx index a234375c2..7e183da1d 100644 --- a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx @@ -40,7 +40,7 @@ export type CompletedSigningPageProps = { export default async function CompletedSigningPage({ params: { token }, }: CompletedSigningPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { _ } = useLingui(); diff --git a/apps/web/src/app/(signing)/sign/[token]/layout.tsx b/apps/web/src/app/(signing)/sign/[token]/layout.tsx index c9be8130b..9ecb8487b 100644 --- a/apps/web/src/app/(signing)/sign/[token]/layout.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/layout.tsx @@ -13,7 +13,7 @@ export type SigningLayoutProps = { }; export default async function SigningLayout({ children }: SigningLayoutProps) { - setupI18nSSR(); + await setupI18nSSR(); const { user, session } = await getServerComponentSession(); diff --git a/apps/web/src/app/(signing)/sign/[token]/page.tsx b/apps/web/src/app/(signing)/sign/[token]/page.tsx index 0a2c59520..ca7afafa2 100644 --- a/apps/web/src/app/(signing)/sign/[token]/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/page.tsx @@ -31,7 +31,7 @@ export type SigningPageProps = { }; export default async function SigningPage({ params: { token } }: SigningPageProps) { - setupI18nSSR(); + await setupI18nSSR(); if (!token) { return notFound(); diff --git a/apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx b/apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx index bf5466215..f53c10e27 100644 --- a/apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx +++ b/apps/web/src/app/(signing)/sign/[token]/waiting/page.tsx @@ -21,7 +21,7 @@ type WaitingForTurnToSignPageProps = { export default async function WaitingForTurnToSignPage({ params: { token }, }: WaitingForTurnToSignPageProps) { - setupI18nSSR(); + await setupI18nSSR(); if (!token) { return notFound(); diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/edit/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/edit/page.tsx index c04779105..ea6351ad9 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/edit/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/edit/page.tsx @@ -12,7 +12,7 @@ export type DocumentPageProps = { }; export default async function TeamsDocumentEditPage({ params }: DocumentPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { teamUrl } = params; diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/logs/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/logs/page.tsx index effd426c5..9f83273e4 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/logs/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/logs/page.tsx @@ -12,7 +12,7 @@ export type TeamDocumentsLogsPageProps = { }; export default async function TeamsDocumentsLogsPage({ params }: TeamDocumentsLogsPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { teamUrl } = params; diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/page.tsx index 2d734d944..30bd93555 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/documents/[id]/page.tsx @@ -12,7 +12,7 @@ export type DocumentPageProps = { }; export default async function DocumentPage({ params }: DocumentPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { teamUrl } = params; diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/documents/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/documents/page.tsx index dba102909..0d5b9692f 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/documents/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/documents/page.tsx @@ -16,7 +16,7 @@ export default async function TeamsDocumentPage({ params, searchParams = {}, }: TeamsDocumentPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { teamUrl } = params; diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/layout.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/layout.tsx index cd1676591..f5d2a48d1 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/layout.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/layout.tsx @@ -27,7 +27,7 @@ export default async function AuthenticatedTeamsLayout({ children, params, }: AuthenticatedTeamsLayoutProps) { - setupI18nSSR(); + await setupI18nSSR(); const { session, user } = await getServerComponentSession(); diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx index a12e02665..dc13b630c 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/billing/page.tsx @@ -21,7 +21,7 @@ export type TeamsSettingsBillingPageProps = { }; export default async function TeamsSettingBillingPage({ params }: TeamsSettingsBillingPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { _ } = useLingui(); diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/layout.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/layout.tsx index 04ebe3e3f..c2fc3c39e 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/layout.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/layout.tsx @@ -24,7 +24,7 @@ export default async function TeamsSettingsLayout({ children, params: { teamUrl }, }: TeamSettingsLayoutProps) { - setupI18nSSR(); + await setupI18nSSR(); const session = await getRequiredServerComponentSession(); diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx index 0ca35c8c9..cda20f9c0 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/members/page.tsx @@ -16,7 +16,7 @@ export type TeamsSettingsMembersPageProps = { }; export default async function TeamsSettingsMembersPage({ params }: TeamsSettingsMembersPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { _ } = useLingui(); const { teamUrl } = params; diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx index b9ffc4e63..3a72cb255 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/page.tsx @@ -28,7 +28,7 @@ export type TeamsSettingsPageProps = { }; export default async function TeamsSettingsPage({ params }: TeamsSettingsPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { teamUrl } = params; diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/public-profile/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/public-profile/page.tsx index b8e6f2cc5..d184f2845 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/public-profile/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/public-profile/page.tsx @@ -14,7 +14,7 @@ export type TeamsSettingsPublicProfilePageProps = { export default async function TeamsSettingsPublicProfilePage({ params, }: TeamsSettingsPublicProfilePageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { teamUrl } = params; diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx index 43b85483e..d3dd91b2c 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx @@ -21,7 +21,7 @@ type ApiTokensPageProps = { }; export default async function ApiTokensPage({ params }: ApiTokensPageProps) { - const { i18n } = setupI18nSSR(); + const { i18n } = await setupI18nSSR(); const { teamUrl } = params; diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/page.tsx index a4773e583..2efcf7c5e 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/page.tsx @@ -14,7 +14,7 @@ type TeamTemplatePageProps = { }; export default async function TeamTemplatePage({ params }: TeamTemplatePageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { teamUrl } = params; diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/templates/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/templates/page.tsx index 4bae127ef..784866148 100644 --- a/apps/web/src/app/(teams)/t/[teamUrl]/templates/page.tsx +++ b/apps/web/src/app/(teams)/t/[teamUrl]/templates/page.tsx @@ -18,7 +18,7 @@ export default async function TeamTemplatesPage({ searchParams = {}, params, }: TeamTemplatesPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const { teamUrl } = params; diff --git a/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx b/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx index 3ac77e01a..160215df8 100644 --- a/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx +++ b/apps/web/src/app/(unauthenticated)/articles/signature-disclosure/page.tsx @@ -7,8 +7,8 @@ import { Button } from '@documenso/ui/primitives/button'; const SUPPORT_EMAIL = 'support@documenso.com'; -export default function SignatureDisclosure() { - setupI18nSSR(); +export default async function SignatureDisclosure() { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/(unauthenticated)/check-email/page.tsx b/apps/web/src/app/(unauthenticated)/check-email/page.tsx index a91a2f7a2..a0aa50fae 100644 --- a/apps/web/src/app/(unauthenticated)/check-email/page.tsx +++ b/apps/web/src/app/(unauthenticated)/check-email/page.tsx @@ -10,8 +10,8 @@ export const metadata: Metadata = { title: 'Forgot password', }; -export default function ForgotPasswordPage() { - setupI18nSSR(); +export default async function ForgotPasswordPage() { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/(unauthenticated)/forgot-password/page.tsx b/apps/web/src/app/(unauthenticated)/forgot-password/page.tsx index 72a757732..0bb05587a 100644 --- a/apps/web/src/app/(unauthenticated)/forgot-password/page.tsx +++ b/apps/web/src/app/(unauthenticated)/forgot-password/page.tsx @@ -11,8 +11,8 @@ export const metadata: Metadata = { title: 'Forgot Password', }; -export default function ForgotPasswordPage() { - setupI18nSSR(); +export default async function ForgotPasswordPage() { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/(unauthenticated)/layout.tsx b/apps/web/src/app/(unauthenticated)/layout.tsx index 994bb3ac2..2b70d2610 100644 --- a/apps/web/src/app/(unauthenticated)/layout.tsx +++ b/apps/web/src/app/(unauthenticated)/layout.tsx @@ -9,8 +9,8 @@ type UnauthenticatedLayoutProps = { children: React.ReactNode; }; -export default function UnauthenticatedLayout({ children }: UnauthenticatedLayoutProps) { - setupI18nSSR(); +export default async function UnauthenticatedLayout({ children }: UnauthenticatedLayoutProps) { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx index 7f594c0ed..1bbca3cfe 100644 --- a/apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx +++ b/apps/web/src/app/(unauthenticated)/reset-password/[token]/page.tsx @@ -15,7 +15,7 @@ type ResetPasswordPageProps = { }; export default async function ResetPasswordPage({ params: { token } }: ResetPasswordPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const isValid = await getResetTokenValidity({ token }); diff --git a/apps/web/src/app/(unauthenticated)/reset-password/page.tsx b/apps/web/src/app/(unauthenticated)/reset-password/page.tsx index ad478a7bb..fc54aceec 100644 --- a/apps/web/src/app/(unauthenticated)/reset-password/page.tsx +++ b/apps/web/src/app/(unauthenticated)/reset-password/page.tsx @@ -10,8 +10,8 @@ export const metadata: Metadata = { title: 'Reset Password', }; -export default function ResetPasswordPage() { - setupI18nSSR(); +export default async function ResetPasswordPage() { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/(unauthenticated)/signin/page.tsx b/apps/web/src/app/(unauthenticated)/signin/page.tsx index f7e62675b..9b041e22b 100644 --- a/apps/web/src/app/(unauthenticated)/signin/page.tsx +++ b/apps/web/src/app/(unauthenticated)/signin/page.tsx @@ -17,8 +17,8 @@ export const metadata: Metadata = { title: 'Sign In', }; -export default function SignInPage() { - setupI18nSSR(); +export default async function SignInPage() { + await setupI18nSSR(); const NEXT_PUBLIC_DISABLE_SIGNUP = env('NEXT_PUBLIC_DISABLE_SIGNUP'); diff --git a/apps/web/src/app/(unauthenticated)/signup/page.tsx b/apps/web/src/app/(unauthenticated)/signup/page.tsx index bdcf9c37f..7686d2f70 100644 --- a/apps/web/src/app/(unauthenticated)/signup/page.tsx +++ b/apps/web/src/app/(unauthenticated)/signup/page.tsx @@ -12,8 +12,8 @@ export const metadata: Metadata = { title: 'Sign Up', }; -export default function SignUpPage() { - setupI18nSSR(); +export default async function SignUpPage() { + await setupI18nSSR(); const NEXT_PUBLIC_DISABLE_SIGNUP = env('NEXT_PUBLIC_DISABLE_SIGNUP'); diff --git a/apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx index 69d0cad8b..06c7dadc9 100644 --- a/apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx +++ b/apps/web/src/app/(unauthenticated)/team/decline/[token]/page.tsx @@ -21,7 +21,7 @@ type DeclineInvitationPageProps = { export default async function DeclineInvitationPage({ params: { token }, }: DeclineInvitationPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const session = await getServerComponentSession(); diff --git a/apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx index 5e76f8d65..3441dbed7 100644 --- a/apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx +++ b/apps/web/src/app/(unauthenticated)/team/invite/[token]/page.tsx @@ -21,7 +21,7 @@ type AcceptInvitationPageProps = { export default async function AcceptInvitationPage({ params: { token }, }: AcceptInvitationPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const session = await getServerComponentSession(); diff --git a/apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx index 0314646cb..b53fb5f71 100644 --- a/apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx +++ b/apps/web/src/app/(unauthenticated)/team/verify/email/[token]/page.tsx @@ -14,7 +14,7 @@ type VerifyTeamEmailPageProps = { }; export default async function VerifyTeamEmailPage({ params: { token } }: VerifyTeamEmailPageProps) { - setupI18nSSR(); + await setupI18nSSR(); const teamEmailVerification = await prisma.teamEmailVerification.findUnique({ where: { diff --git a/apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx index ae4e7e97f..8713aeecd 100644 --- a/apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx +++ b/apps/web/src/app/(unauthenticated)/team/verify/transfer/[token]/page.tsx @@ -17,7 +17,7 @@ type VerifyTeamTransferPage = { export default async function VerifyTeamTransferPage({ params: { token }, }: VerifyTeamTransferPage) { - setupI18nSSR(); + await setupI18nSSR(); const teamTransferVerification = await prisma.teamTransferVerification.findUnique({ where: { diff --git a/apps/web/src/app/(unauthenticated)/unverified-account/page.tsx b/apps/web/src/app/(unauthenticated)/unverified-account/page.tsx index 70b94c2cc..3c3588c1e 100644 --- a/apps/web/src/app/(unauthenticated)/unverified-account/page.tsx +++ b/apps/web/src/app/(unauthenticated)/unverified-account/page.tsx @@ -5,8 +5,8 @@ import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; import { SendConfirmationEmailForm } from '~/components/forms/send-confirmation-email'; -export default function UnverifiedAccount() { - setupI18nSSR(); +export default async function UnverifiedAccount() { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx b/apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx index b3edcb3c9..eb88538c4 100644 --- a/apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx +++ b/apps/web/src/app/(unauthenticated)/verify-email/[token]/page.tsx @@ -23,7 +23,7 @@ export type PageProps = { }; export default async function VerifyEmailPage({ params: { token } }: PageProps) { - setupI18nSSR(); + await setupI18nSSR(); if (!token) { return ( diff --git a/apps/web/src/app/(unauthenticated)/verify-email/page.tsx b/apps/web/src/app/(unauthenticated)/verify-email/page.tsx index 6fcfaec9b..cd518a913 100644 --- a/apps/web/src/app/(unauthenticated)/verify-email/page.tsx +++ b/apps/web/src/app/(unauthenticated)/verify-email/page.tsx @@ -11,8 +11,8 @@ export const metadata: Metadata = { title: 'Verify Email', }; -export default function EmailVerificationWithoutTokenPage() { - setupI18nSSR(); +export default async function EmailVerificationWithoutTokenPage() { + await setupI18nSSR(); return (
diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index c4a6ffd3a..53d735200 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -56,7 +56,7 @@ export function generateMetadata() { export default async function RootLayout({ children }: { children: React.ReactNode }) { const flags = await getServerComponentAllFlags(); - const { i18n, lang, locales } = setupI18nSSR(); + const { i18n, lang, locales } = await setupI18nSSR(); return ( Documenso
; } diff --git a/lingui.config.ts b/lingui.config.ts index 855aaf7f5..8026d461f 100644 --- a/lingui.config.ts +++ b/lingui.config.ts @@ -19,7 +19,7 @@ const config: LinguiConfig = { }, { path: '/packages/lib/translations/{locale}/common', - include: ['packages/ui', 'packages/lib'], + include: ['packages/ui', 'packages/lib', 'packages/email'], exclude: ['**/node_modules/**'], }, ], diff --git a/package-lock.json b/package-lock.json index 27f0b5f26..956db402e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36774,6 +36774,9 @@ "@documenso/email": "*", "@documenso/prisma": "*", "@documenso/signing": "*", + "@lingui/core": "^4.11.3", + "@lingui/macro": "^4.11.3", + "@lingui/react": "^4.11.3", "@next-auth/prisma-adapter": "1.0.7", "@noble/ciphers": "0.4.0", "@noble/hashes": "1.3.2", diff --git a/packages/api/v1/implementation.ts b/packages/api/v1/implementation.ts index fc1aae04c..fda6ad1a4 100644 --- a/packages/api/v1/implementation.ts +++ b/packages/api/v1/implementation.ts @@ -301,6 +301,7 @@ export const ApiContractV1Implementation = createNextRoute(ApiContractV1, { dateFormat: dateFormat?.value, redirectUrl: body.meta.redirectUrl, signingOrder: body.meta.signingOrder, + language: body.meta.language, requestMetadata: extractNextApiRequestMetadata(args.req), }); diff --git a/packages/api/v1/schema.ts b/packages/api/v1/schema.ts index a6d4618ad..a4fab1089 100644 --- a/packages/api/v1/schema.ts +++ b/packages/api/v1/schema.ts @@ -2,6 +2,7 @@ import { extendZodWithOpenApi } from '@anatine/zod-openapi'; import { z } from 'zod'; import { DATE_FORMATS, DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-formats'; +import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n'; import '@documenso/lib/constants/time-zones'; import { DEFAULT_DOCUMENT_TIME_ZONE, TIME_ZONES } from '@documenso/lib/constants/time-zones'; import { ZUrlSchema } from '@documenso/lib/schemas/common'; @@ -127,6 +128,7 @@ export const ZCreateDocumentMutationSchema = z.object({ }), redirectUrl: z.string(), signingOrder: z.nativeEnum(DocumentSigningOrder).optional(), + language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(), }) .partial(), authOptions: z @@ -181,6 +183,7 @@ export const ZCreateDocumentFromTemplateMutationSchema = z.object({ dateFormat: z.string(), redirectUrl: z.string(), signingOrder: z.nativeEnum(DocumentSigningOrder).optional(), + language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(), }) .partial() .optional(), @@ -247,6 +250,7 @@ export const ZGenerateDocumentFromTemplateMutationSchema = z.object({ dateFormat: z.string(), redirectUrl: ZUrlSchema, signingOrder: z.nativeEnum(DocumentSigningOrder).optional(), + language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(), }) .partial() .optional(), diff --git a/packages/email/render.ts b/packages/email/render.ts deleted file mode 100644 index 46f0d62a5..000000000 --- a/packages/email/render.ts +++ /dev/null @@ -1 +0,0 @@ -export { render, renderAsync } from '@react-email/render'; diff --git a/packages/email/render.tsx b/packages/email/render.tsx new file mode 100644 index 000000000..2a79c8252 --- /dev/null +++ b/packages/email/render.tsx @@ -0,0 +1,39 @@ +import * as reactEmail from '@react-email/render'; + +import config from '@documenso/tailwind-config'; + +import { Tailwind } from './components'; + +export const render: typeof reactEmail.render = (element, options) => { + return reactEmail.render( + + {element} + , + options, + ); +}; + +export const renderAsync: typeof reactEmail.renderAsync = async (element, options) => { + return reactEmail.renderAsync( + + {element} + , + options, + ); +}; diff --git a/packages/email/template-components/template-confirmation-email.tsx b/packages/email/template-components/template-confirmation-email.tsx index 1036faa3e..0c3c687ec 100644 --- a/packages/email/template-components/template-confirmation-email.tsx +++ b/packages/email/template-components/template-confirmation-email.tsx @@ -1,3 +1,6 @@ +import { Trans } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; + import { Button, Section, Text } from '../components'; import { TemplateDocumentImage } from './template-document-image'; @@ -10,17 +13,21 @@ export const TemplateConfirmationEmail = ({ confirmationLink, assetBaseUrl, }: TemplateConfirmationEmailProps) => { + const { _ } = useLingui(); + return ( <>
- Welcome to Documenso! + Welcome to Documenso! - Before you get started, please confirm your email address by clicking the button below: + + Before you get started, please confirm your email address by clicking the button below: +
@@ -28,11 +35,13 @@ export const TemplateConfirmationEmail = ({ 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={confirmationLink} > - Confirm email + Confirm email - You can also copy and paste this link into your browser: {confirmationLink} (link - expires in 1 hour) + + You can also copy and paste this link into your browser: {confirmationLink} (link + expires in 1 hour) +
diff --git a/packages/email/template-components/template-document-cancel.tsx b/packages/email/template-components/template-document-cancel.tsx index dff275de2..d6e1b4221 100644 --- a/packages/email/template-components/template-document-cancel.tsx +++ b/packages/email/template-components/template-document-cancel.tsx @@ -1,3 +1,5 @@ +import { Trans } from '@lingui/macro'; + import { Section, Text } from '../components'; import { TemplateDocumentImage } from './template-document-image'; @@ -19,16 +21,18 @@ export const TemplateDocumentCancel = ({
- {inviterName} has cancelled the document -
"{documentName}" + + {inviterName} has cancelled the document +
"{documentName}" +
- All signatures have been voided. + All signatures have been voided. - You don't need to sign it anymore. + You don't need to sign it anymore.
diff --git a/packages/email/template-components/template-document-completed.tsx b/packages/email/template-components/template-document-completed.tsx index 8829c8d06..ed1dfc25e 100644 --- a/packages/email/template-components/template-document-completed.tsx +++ b/packages/email/template-components/template-document-completed.tsx @@ -1,3 +1,5 @@ +import { Trans } from '@lingui/macro'; + import { Button, Column, Img, Section, Text } from '../components'; import { TemplateDocumentImage } from './template-document-image'; @@ -30,17 +32,17 @@ export const TemplateDocumentCompleted = ({ src={getAssetUrl('/static/completed.png')} className="-mt-0.5 mr-2 inline h-7 w-7 align-middle" /> - Completed + Completed - {customBody ?? `“${documentName}” was signed by all signers`} + {customBody ?? `“${documentName}” was signed by all signers`} - Continue by downloading the document. + Continue by downloading the document.
@@ -59,7 +61,7 @@ export const TemplateDocumentCompleted = ({ src={getAssetUrl('/static/download.png')} className="mb-0.5 mr-2 inline h-5 w-5 align-middle" /> - Download + Download
diff --git a/packages/email/template-components/template-document-invite.tsx b/packages/email/template-components/template-document-invite.tsx index 62d049e13..6f59bab2c 100644 --- a/packages/email/template-components/template-document-invite.tsx +++ b/packages/email/template-components/template-document-invite.tsx @@ -1,3 +1,6 @@ +import { Trans } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; + import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '@documenso/lib/constants/recipient-roles'; import type { RecipientRole } from '@documenso/prisma/client'; @@ -26,6 +29,8 @@ export const TemplateDocumentInvite = ({ isTeamInvite, teamName, }: TemplateDocumentInviteProps) => { + const { _ } = useLingui(); + const { actionVerb, progressiveVerb } = RECIPIENT_ROLES_DESCRIPTION_ENG[role]; return ( @@ -35,28 +40,30 @@ export const TemplateDocumentInvite = ({
{selfSigner ? ( - <> - {`Please ${actionVerb.toLowerCase()} your document`} + + {`Please ${_(actionVerb).toLowerCase()} your document`}
{`"${documentName}"`} - +
) : isTeamInvite ? ( - <> - {`${inviterName} on behalf of ${teamName} has invited you to ${actionVerb.toLowerCase()}`} + + {`${inviterName} on behalf of ${teamName} has invited you to ${_( + actionVerb, + ).toLowerCase()}`}
{`"${documentName}"`} - +
) : ( - <> - {`${inviterName} has invited you to ${actionVerb.toLowerCase()}`} + + {`${inviterName} has invited you to ${_(actionVerb).toLowerCase()}`}
{`"${documentName}"`} - +
)}
- Continue by {progressiveVerb.toLowerCase()} the document. + Continue by {_(progressiveVerb).toLowerCase()} the document.
@@ -64,7 +71,7 @@ export const TemplateDocumentInvite = ({ 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} > - {actionVerb} Document + {_(actionVerb)} Document
diff --git a/packages/email/template-components/template-document-pending.tsx b/packages/email/template-components/template-document-pending.tsx index f03d7bdbb..161f519dc 100644 --- a/packages/email/template-components/template-document-pending.tsx +++ b/packages/email/template-components/template-document-pending.tsx @@ -1,3 +1,5 @@ +import { Trans } from '@lingui/macro'; + import { Column, Img, Section, Text } from '../components'; import { TemplateDocumentImage } from './template-document-image'; @@ -26,19 +28,21 @@ export const TemplateDocumentPending = ({ src={getAssetUrl('/static/clock.png')} className="-mt-0.5 mr-2 inline h-7 w-7 align-middle" /> - Waiting for others + Waiting for others - “{documentName}” has been signed + “{documentName}” has been signed - We're still waiting for other signers to sign this document. -
- We'll notify you as soon as it's ready. + + We're still waiting for other signers to sign this document. +
+ We'll notify you as soon as it's ready. +
diff --git a/packages/email/template-components/template-document-self-signed.tsx b/packages/email/template-components/template-document-self-signed.tsx index db16fb000..f62b3e650 100644 --- a/packages/email/template-components/template-document-self-signed.tsx +++ b/packages/email/template-components/template-document-self-signed.tsx @@ -1,3 +1,4 @@ +import { Trans } from '@lingui/macro'; import { env } from 'next-runtime-env'; import { Button, Column, Img, Link, Section, Text } from '../components'; @@ -32,25 +33,27 @@ export const TemplateDocumentSelfSigned = ({ src={getAssetUrl('/static/completed.png')} className="-mt-0.5 mr-2 inline h-7 w-7 align-middle" /> - Completed + Completed - You have signed “{documentName}” + You have signed “{documentName}” - Create a{' '} - - free account - {' '} - to access your signed documents at any time. + + Create a{' '} + + free account + {' '} + to access your signed documents at any time. +
@@ -62,7 +65,7 @@ export const TemplateDocumentSelfSigned = ({ src={getAssetUrl('/static/user-plus.png')} className="mb-0.5 mr-2 inline h-5 w-5 align-middle" /> - Create account + Create account
diff --git a/packages/email/template-components/template-document-super-delete.tsx b/packages/email/template-components/template-document-super-delete.tsx index 9cb0a9e71..b26a6f105 100644 --- a/packages/email/template-components/template-document-super-delete.tsx +++ b/packages/email/template-components/template-document-super-delete.tsx @@ -1,3 +1,5 @@ +import { Trans } from '@lingui/macro'; + import { Section, Text } from '../components'; import { TemplateDocumentImage } from './template-document-image'; @@ -18,20 +20,22 @@ export const TemplateDocumentDelete = ({
- Your document has been deleted by an admin! + Your document has been deleted by an admin! - "{documentName}" has been deleted by an admin. + "{documentName}" has been deleted by an admin. - This document can not be recovered, if you would like to dispute the reason for future - documents please contact support. + + This document can not be recovered, if you would like to dispute the reason for future + documents please contact support. + - The reason provided for deletion is the following: + The reason provided for deletion is the following: diff --git a/packages/email/template-components/template-footer.tsx b/packages/email/template-components/template-footer.tsx index 34cd4047e..36ecbb950 100644 --- a/packages/email/template-components/template-footer.tsx +++ b/packages/email/template-components/template-footer.tsx @@ -1,3 +1,5 @@ +import { Trans } from '@lingui/macro'; + import { Link, Section, Text } from '../components'; export type TemplateFooterProps = { @@ -9,10 +11,12 @@ export const TemplateFooter = ({ isDocument = true }: TemplateFooterProps) => {
{isDocument && ( - This document was sent using{' '} - - Documenso. - + + This document was sent using{' '} + + Documenso. + + )} diff --git a/packages/email/template-components/template-forgot-password.tsx b/packages/email/template-components/template-forgot-password.tsx index c8227b2bd..1ab319a43 100644 --- a/packages/email/template-components/template-forgot-password.tsx +++ b/packages/email/template-components/template-forgot-password.tsx @@ -1,3 +1,5 @@ +import { Trans } from '@lingui/macro'; + import { Button, Section, Text } from '../components'; import { TemplateDocumentImage } from './template-document-image'; @@ -16,11 +18,11 @@ export const TemplateForgotPassword = ({
- Forgot your password? + Forgot your password? - That's okay, it happens! Click the button below to reset your password. + That's okay, it happens! Click the button below to reset your password.
@@ -28,7 +30,7 @@ export const TemplateForgotPassword = ({ 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={resetPasswordLink} > - Reset Password + Reset Password
diff --git a/packages/email/template-components/template-reset-password.tsx b/packages/email/template-components/template-reset-password.tsx index d05393c83..d264385e4 100644 --- a/packages/email/template-components/template-reset-password.tsx +++ b/packages/email/template-components/template-reset-password.tsx @@ -1,3 +1,4 @@ +import { Trans } from '@lingui/macro'; import { env } from 'next-runtime-env'; import { Button, Section, Text } from '../components'; @@ -18,11 +19,11 @@ export const TemplateResetPassword = ({ assetBaseUrl }: TemplateResetPasswordPro
- Password updated! + Password updated! - Your password has been updated. + Your password has been updated.
@@ -30,7 +31,7 @@ export const TemplateResetPassword = ({ assetBaseUrl }: TemplateResetPasswordPro 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={`${NEXT_PUBLIC_WEBAPP_URL ?? 'http://localhost:3000'}/signin`} > - Sign In + Sign In
diff --git a/packages/email/templates/confirm-email.tsx b/packages/email/templates/confirm-email.tsx index 59c7add10..4d39f12d6 100644 --- a/packages/email/templates/confirm-email.tsx +++ b/packages/email/templates/confirm-email.tsx @@ -1,6 +1,7 @@ -import config from '@documenso/tailwind-config'; +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Html, Img, Preview, Section, Tailwind } from '../components'; +import { Body, Container, Head, Html, Img, Preview, Section } from '../components'; import type { TemplateConfirmationEmailProps } from '../template-components/template-confirmation-email'; import { TemplateConfirmationEmail } from '../template-components/template-confirmation-email'; import { TemplateFooter } from '../template-components/template-footer'; @@ -9,7 +10,9 @@ export const ConfirmEmailTemplate = ({ confirmationLink, assetBaseUrl = 'http://localhost:3002', }: TemplateConfirmationEmailProps) => { - const previewText = `Please confirm your email address`; + const { _ } = useLingui(); + + const previewText = msg`Please confirm your email address`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -18,40 +21,30 @@ export const ConfirmEmailTemplate = ({ return ( - {previewText} - - -
- -
- Documenso Logo + {_(previewText)} + +
+ +
+ Documenso Logo - -
-
-
+ +
+ +
- - - -
- - + + + +
+ ); }; diff --git a/packages/email/templates/confirm-team-email.tsx b/packages/email/templates/confirm-team-email.tsx index 552a079f8..8fa3afd3d 100644 --- a/packages/email/templates/confirm-team-email.tsx +++ b/packages/email/templates/confirm-team-email.tsx @@ -1,5 +1,7 @@ +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; + import { formatTeamUrl } from '@documenso/lib/utils/teams'; -import config from '@documenso/tailwind-config'; import { Body, @@ -11,7 +13,6 @@ import { Link, Preview, Section, - Tailwind, Text, } from '../components'; import { TemplateFooter } from '../template-components/template-footer'; @@ -32,97 +33,90 @@ export const ConfirmTeamEmailTemplate = ({ teamUrl = 'demo', token = '', }: ConfirmTeamEmailProps) => { - const previewText = `Accept team email request for ${teamName} on Documenso`; + const { _ } = useLingui(); + + const previewText = msg`Accept team email request for ${teamName} on Documenso`; return ( - {previewText} - - -
- + {_(previewText)} + + +
+ + + +
+
-
- -
+
+ + Verify your team email address + -
- - Verify your team email address + + {teamName} has requested to use your email + address for their team on Documenso. + + +
+ {formatTeamUrl(teamUrl, baseUrl)} +
+ +
+ + By accepting this request, you will be granting {teamName} access + to: - - {teamName} has requested to use your email - address for their team on Documenso. +
    +
  • + View all documents sent to and from this email address +
  • +
  • + Allow document recipients to reply directly to this email address +
  • +
  • + Send documents on behalf of the team using the email address +
  • +
+ + + You can revoke access at any time in your team settings on Documenso{' '} + here. - -
- {formatTeamUrl(teamUrl, baseUrl)} -
- -
- - By accepting this request, you will be granting {teamName}{' '} - access to: - - -
    -
  • - View all documents sent to and from this email address -
  • -
  • - Allow document recipients to reply directly to this email address -
  • -
  • - Send documents on behalf of the team using the email address -
  • -
- - - You can revoke access at any time in your team settings on Documenso{' '} - here. - -
- -
- -
- Link expires in 1 hour. - +
+ +
+
-
+ Link expires in 1 hour. + - - - -
- - +
+ + + + +
+ ); }; diff --git a/packages/email/templates/document-cancel.tsx b/packages/email/templates/document-cancel.tsx index 66892bccc..edaec133b 100644 --- a/packages/email/templates/document-cancel.tsx +++ b/packages/email/templates/document-cancel.tsx @@ -1,6 +1,7 @@ -import config from '@documenso/tailwind-config'; +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Hr, Html, Img, Preview, Section, Tailwind } from '../components'; +import { Body, Container, Head, Hr, Html, Img, Preview, Section } from '../components'; import type { TemplateDocumentCancelProps } from '../template-components/template-document-cancel'; import { TemplateDocumentCancel } from '../template-components/template-document-cancel'; import { TemplateFooter } from '../template-components/template-footer'; @@ -13,7 +14,9 @@ export const DocumentCancelTemplate = ({ documentName = 'Open Source Pledge.pdf', assetBaseUrl = 'http://localhost:3002', }: DocumentCancelEmailTemplateProps) => { - const previewText = `${inviterName} has cancelled the document ${documentName}, you don't need to sign it anymore.`; + const { _ } = useLingui(); + + const previewText = msg`${inviterName} has cancelled the document ${documentName}, you don't need to sign it anymore.`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -22,43 +25,34 @@ export const DocumentCancelTemplate = ({ return ( - {previewText} - - -
- -
- Documenso Logo + {_(previewText)} - -
-
+ +
+ +
+ Documenso Logo -
+ +
+
- - - -
- - +
+ + + + +
+ ); }; diff --git a/packages/email/templates/document-completed.tsx b/packages/email/templates/document-completed.tsx index 5e23be873..b1ad6fc3a 100644 --- a/packages/email/templates/document-completed.tsx +++ b/packages/email/templates/document-completed.tsx @@ -1,6 +1,7 @@ -import config from '@documenso/tailwind-config'; +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Html, Img, Preview, Section, Tailwind } from '../components'; +import { Body, Container, Head, Html, Img, Preview, Section } from '../components'; import type { TemplateDocumentCompletedProps } from '../template-components/template-document-completed'; import { TemplateDocumentCompleted } from '../template-components/template-document-completed'; import { TemplateFooter } from '../template-components/template-footer'; @@ -15,7 +16,9 @@ export const DocumentCompletedEmailTemplate = ({ assetBaseUrl = 'http://localhost:3002', customBody, }: DocumentCompletedEmailTemplateProps) => { - const previewText = `Completed Document`; + const { _ } = useLingui(); + + const previewText = msg`Completed Document`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -24,41 +27,32 @@ export const DocumentCompletedEmailTemplate = ({ return ( - {previewText} - - -
- -
- Documenso Logo + {_(previewText)} - -
-
+ +
+ +
+ Documenso Logo - - - -
- - + +
+ + + + + +
+ ); }; diff --git a/packages/email/templates/document-created-from-direct-template.tsx b/packages/email/templates/document-created-from-direct-template.tsx index 68ad3363b..63d46c9b8 100644 --- a/packages/email/templates/document-created-from-direct-template.tsx +++ b/packages/email/templates/document-created-from-direct-template.tsx @@ -1,18 +1,9 @@ -import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '@documenso/lib/constants/recipient-roles'; -import config from '@documenso/tailwind-config'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { - Body, - Button, - Container, - Head, - Html, - Img, - Preview, - Section, - Tailwind, - Text, -} from '../components'; +import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '@documenso/lib/constants/recipient-roles'; + +import { Body, Button, Container, Head, Html, Img, Preview, Section, Text } from '../components'; import TemplateDocumentImage from '../template-components/template-document-image'; import { TemplateFooter } from '../template-components/template-footer'; import { RecipientRole } from '.prisma/client'; @@ -32,9 +23,11 @@ export const DocumentCreatedFromDirectTemplateEmailTemplate = ({ documentName = 'Open Source Pledge.pdf', assetBaseUrl = 'http://localhost:3002', }: DocumentCompletedEmailTemplateProps) => { - const action = RECIPIENT_ROLES_DESCRIPTION_ENG[recipientRole].actioned.toLowerCase(); + const { _ } = useLingui(); - const previewText = `Document created from direct template`; + const action = _(RECIPIENT_ROLES_DESCRIPTION_ENG[recipientRole].actioned).toLowerCase(); + + const previewText = msg`Document created from direct template`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -43,55 +36,48 @@ export const DocumentCreatedFromDirectTemplateEmailTemplate = ({ return ( - {previewText} - - -
- -
- Documenso Logo + {_(previewText)} - + +
+ +
+ Documenso Logo -
- + + +
+ + {recipientName} {action} a document by using one of your direct links - + + -
- {documentName} -
+
+ {documentName} +
-
- -
+
+
- +
+ - - - -
- - + + + +
+ ); }; diff --git a/packages/email/templates/document-invite.tsx b/packages/email/templates/document-invite.tsx index 30c6ae960..edfd525f1 100644 --- a/packages/email/templates/document-invite.tsx +++ b/packages/email/templates/document-invite.tsx @@ -1,20 +1,10 @@ +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; + import { RECIPIENT_ROLES_DESCRIPTION_ENG } from '@documenso/lib/constants/recipient-roles'; import type { RecipientRole } from '@documenso/prisma/client'; -import config from '@documenso/tailwind-config'; -import { - Body, - Container, - Head, - Hr, - Html, - Img, - Link, - Preview, - Section, - Tailwind, - Text, -} from '../components'; +import { Body, Container, Head, Hr, Html, Img, Link, Preview, Section, Text } from '../components'; import type { TemplateDocumentInviteProps } from '../template-components/template-document-invite'; import { TemplateDocumentInvite } from '../template-components/template-document-invite'; import { TemplateFooter } from '../template-components/template-footer'; @@ -40,13 +30,15 @@ export const DocumentInviteEmailTemplate = ({ isTeamInvite = false, teamName, }: DocumentInviteEmailTemplateProps) => { - const action = RECIPIENT_ROLES_DESCRIPTION_ENG[role].actionVerb.toLowerCase(); + const { _ } = useLingui(); + + const action = _(RECIPIENT_ROLES_DESCRIPTION_ENG[role].actionVerb).toLowerCase(); const previewText = selfSigner - ? `Please ${action} your document ${documentName}` + ? msg`Please ${action} your document ${documentName}` : isTeamInvite - ? `${inviterName} on behalf of ${teamName} has invited you to ${action} ${documentName}` - : `${inviterName} has invited you to ${action} ${documentName}`; + ? msg`${inviterName} on behalf of ${teamName} has invited you to ${action} ${documentName}` + : msg`${inviterName} has invited you to ${action} ${documentName}`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -55,67 +47,62 @@ export const DocumentInviteEmailTemplate = ({ return ( - {previewText} - - -
- -
- Documenso Logo + {_(previewText)} - -
-
+ +
+ +
+ Documenso Logo - -
- + +
+
+ + +
+ + {inviterName}{' '} ({inviterEmail}) - + + - - {customBody ? ( -
{customBody}
- ) : ( + + {customBody ? ( +
{customBody}
+ ) : ( + `${inviterName} has invited you to ${action} the document "${documentName}".` - )} -
-
-
+ + )} + +
+
-
+
- - - -
- - + + + +
+ ); }; diff --git a/packages/email/templates/document-pending.tsx b/packages/email/templates/document-pending.tsx index f14671e10..2073e491b 100644 --- a/packages/email/templates/document-pending.tsx +++ b/packages/email/templates/document-pending.tsx @@ -1,6 +1,7 @@ -import config from '@documenso/tailwind-config'; +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Html, Img, Preview, Section, Tailwind } from '../components'; +import { Body, Container, Head, Html, Img, Preview, Section } from '../components'; import type { TemplateDocumentPendingProps } from '../template-components/template-document-pending'; import { TemplateDocumentPending } from '../template-components/template-document-pending'; import { TemplateFooter } from '../template-components/template-footer'; @@ -11,7 +12,9 @@ export const DocumentPendingEmailTemplate = ({ documentName = 'Open Source Pledge.pdf', assetBaseUrl = 'http://localhost:3002', }: DocumentPendingEmailTemplateProps) => { - const previewText = `Pending Document`; + const { _ } = useLingui(); + + const previewText = msg`Pending Document`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -20,36 +23,27 @@ export const DocumentPendingEmailTemplate = ({ return ( - {previewText} - - -
- -
- Documenso Logo + {_(previewText)} - -
-
+ +
+ +
+ Documenso Logo - - - -
- - + +
+ + + + + +
+ ); }; diff --git a/packages/email/templates/document-self-signed.tsx b/packages/email/templates/document-self-signed.tsx index aa1c89b10..db9d44495 100644 --- a/packages/email/templates/document-self-signed.tsx +++ b/packages/email/templates/document-self-signed.tsx @@ -1,6 +1,7 @@ -import config from '@documenso/tailwind-config'; +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Html, Img, Preview, Section, Tailwind } from '../components'; +import { Body, Container, Head, Html, Img, Preview, Section } from '../components'; import type { TemplateDocumentSelfSignedProps } from '../template-components/template-document-self-signed'; import { TemplateDocumentSelfSigned } from '../template-components/template-document-self-signed'; import { TemplateFooter } from '../template-components/template-footer'; @@ -11,7 +12,9 @@ export const DocumentSelfSignedEmailTemplate = ({ documentName = 'Open Source Pledge.pdf', assetBaseUrl = 'http://localhost:3002', }: DocumentSelfSignedTemplateProps) => { - const previewText = `Completed Document`; + const { _ } = useLingui(); + + const previewText = msg`Completed Document`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -20,39 +23,27 @@ export const DocumentSelfSignedEmailTemplate = ({ return ( - {previewText} - - -
- -
- Documenso Logo + {_(previewText)} - -
-
+ +
+ +
+ Documenso Logo - - - -
- - + +
+ + + + + +
+ ); }; diff --git a/packages/email/templates/document-super-delete.tsx b/packages/email/templates/document-super-delete.tsx index 68384e119..bddc85dc4 100644 --- a/packages/email/templates/document-super-delete.tsx +++ b/packages/email/templates/document-super-delete.tsx @@ -1,6 +1,7 @@ -import config from '@documenso/tailwind-config'; +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Hr, Html, Img, Preview, Section, Tailwind } from '../components'; +import { Body, Container, Head, Hr, Html, Img, Preview, Section } from '../components'; import { TemplateDocumentDelete, type TemplateDocumentDeleteProps, @@ -14,7 +15,9 @@ export const DocumentSuperDeleteEmailTemplate = ({ assetBaseUrl = 'http://localhost:3002', reason = 'Unknown', }: DocumentDeleteEmailTemplateProps) => { - const previewText = `An admin has deleted your document "${documentName}".`; + const { _ } = useLingui(); + + const previewText = msg`An admin has deleted your document "${documentName}".`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -23,42 +26,33 @@ export const DocumentSuperDeleteEmailTemplate = ({ return ( - {previewText} - - -
- -
- Documenso Logo + {_(previewText)} - -
-
+ +
+ +
+ Documenso Logo -
+ +
+
- - - -
- - +
+ + + + +
+ ); }; diff --git a/packages/email/templates/forgot-password.tsx b/packages/email/templates/forgot-password.tsx index 7fe62cd20..531ec2ee6 100644 --- a/packages/email/templates/forgot-password.tsx +++ b/packages/email/templates/forgot-password.tsx @@ -1,6 +1,7 @@ -import config from '@documenso/tailwind-config'; +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Html, Img, Preview, Section, Tailwind } from '../components'; +import { Body, Container, Head, Html, Img, Preview, Section } from '../components'; import { TemplateFooter } from '../template-components/template-footer'; import type { TemplateForgotPasswordProps } from '../template-components/template-forgot-password'; import { TemplateForgotPassword } from '../template-components/template-forgot-password'; @@ -11,7 +12,9 @@ export const ForgotPasswordTemplate = ({ resetPasswordLink = 'https://documenso.com', assetBaseUrl = 'http://localhost:3002', }: ForgotPasswordTemplateProps) => { - const previewText = `Password Reset Requested`; + const { _ } = useLingui(); + + const previewText = msg`Password Reset Requested`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -20,41 +23,32 @@ export const ForgotPasswordTemplate = ({ return ( - {previewText} - - -
- -
- Documenso Logo + {_(previewText)} - -
-
+ +
+ +
+ Documenso Logo -
+ +
+
- - - -
- - +
+ + + + +
+ ); }; diff --git a/packages/email/templates/recipient-removed-from-document.tsx b/packages/email/templates/recipient-removed-from-document.tsx index 4fa22a28e..2ba19dc03 100644 --- a/packages/email/templates/recipient-removed-from-document.tsx +++ b/packages/email/templates/recipient-removed-from-document.tsx @@ -1,17 +1,7 @@ -import config from '@documenso/tailwind-config'; +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { - Body, - Container, - Head, - Hr, - Html, - Img, - Preview, - Section, - Tailwind, - Text, -} from '../components'; +import { Body, Container, Head, Hr, Html, Img, Preview, Section, Text } from '../components'; import type { TemplateDocumentCancelProps } from '../template-components/template-document-cancel'; import TemplateDocumentImage from '../template-components/template-document-image'; import { TemplateFooter } from '../template-components/template-footer'; @@ -23,7 +13,9 @@ export const RecipientRemovedFromDocumentTemplate = ({ documentName = 'Open Source Pledge.pdf', assetBaseUrl = 'http://localhost:3002', }: DocumentCancelEmailTemplateProps) => { - const previewText = `${inviterName} has removed you from the document ${documentName}.`; + const { _ } = useLingui(); + + const previewText = msg`${inviterName} has removed you from the document ${documentName}.`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -32,45 +24,36 @@ export const RecipientRemovedFromDocumentTemplate = ({ return ( - {previewText} - - -
- + {_(previewText)} + + +
+ +
+ Documenso Logo + + +
- Documenso Logo - - - -
- - {inviterName} has removed you from the document -
"{documentName}" -
-
+ + {inviterName} has removed you from the document +
"{documentName}" +
- +
+
-
+
- - - -
- - + + + +
+ ); }; diff --git a/packages/email/templates/reset-password.tsx b/packages/email/templates/reset-password.tsx index c6c1201c6..2c73e50b8 100644 --- a/packages/email/templates/reset-password.tsx +++ b/packages/email/templates/reset-password.tsx @@ -1,18 +1,7 @@ -import config from '@documenso/tailwind-config'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { - Body, - Container, - Head, - Hr, - Html, - Img, - Link, - Preview, - Section, - Tailwind, - Text, -} from '../components'; +import { Body, Container, Head, Hr, Html, Img, Link, Preview, Section, Text } from '../components'; import { TemplateFooter } from '../template-components/template-footer'; import type { TemplateResetPasswordProps } from '../template-components/template-reset-password'; import { TemplateResetPassword } from '../template-components/template-reset-password'; @@ -24,7 +13,9 @@ export const ResetPasswordTemplate = ({ userEmail = 'lucas@documenso.com', assetBaseUrl = 'http://localhost:3002', }: ResetPasswordTemplateProps) => { - const previewText = `Password Reset Successful`; + const { _ } = useLingui(); + + const previewText = msg`Password Reset Successful`; const getAssetUrl = (path: string) => { return new URL(path, assetBaseUrl).toString(); @@ -33,65 +24,62 @@ export const ResetPasswordTemplate = ({ return ( - {previewText} - - -
- -
- Documenso Logo + {_(previewText)} - -
-
+ +
+ +
+ Documenso Logo - -
- + +
+
+ + +
+ + Hi, {userName}{' '} ({userEmail}) - + + - + + We've changed your password as you asked. You can now sign in with your new password. - - + + + + Didn't request a password change? We are here to help you secure your account, just{' '} contact us. - -
-
+ + +
+
-
+
- - - -
- - + + + +
+ ); }; diff --git a/packages/email/templates/team-delete.tsx b/packages/email/templates/team-delete.tsx index 240757338..9f44f6724 100644 --- a/packages/email/templates/team-delete.tsx +++ b/packages/email/templates/team-delete.tsx @@ -1,7 +1,9 @@ -import { formatTeamUrl } from '@documenso/lib/utils/teams'; -import config from '@documenso/tailwind-config'; +import { msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Hr, Html, Preview, Section, Tailwind, Text } from '../components'; +import { formatTeamUrl } from '@documenso/lib/utils/teams'; + +import { Body, Container, Head, Hr, Html, Preview, Section, Text } from '../components'; import { TemplateFooter } from '../template-components/template-footer'; import TemplateImage from '../template-components/template-image'; @@ -18,67 +20,60 @@ export const TeamDeleteEmailTemplate = ({ teamUrl = 'demo', isOwner = false, }: TeamDeleteEmailProps) => { + const { _ } = useLingui(); + const previewText = isOwner - ? 'Your team has been deleted' - : 'A team you were a part of has been deleted'; + ? msg`Your team has been deleted` + : msg`A team you were a part of has been deleted`; const title = isOwner - ? 'Your team has been deleted' - : 'A team you were a part of has been deleted'; + ? msg`Your team has been deleted` + : msg`A team you were a part of has been deleted`; const description = isOwner - ? 'The following team has been deleted by you' - : 'The following team has been deleted by its owner. You will no longer be able to access this team and its documents'; + ? msg`The following team has been deleted by you` + : msg`The following team has been deleted by its owner. You will no longer be able to access this team and its documents`; return ( - {previewText} - - -
- + {_(previewText)} + + +
+ + + +
+
-
- -
+
+ {_(title)} -
- {title} + {_(description)} - {description} +
+ {formatTeamUrl(teamUrl, baseUrl)} +
+
+ -
- {formatTeamUrl(teamUrl, baseUrl)} -
-
-
+
-
- - - - -
- - + + + +
+ ); }; diff --git a/packages/email/templates/team-email-removed.tsx b/packages/email/templates/team-email-removed.tsx index 0a143d1b9..c78de5a0b 100644 --- a/packages/email/templates/team-email-removed.tsx +++ b/packages/email/templates/team-email-removed.tsx @@ -1,7 +1,9 @@ -import { formatTeamUrl } from '@documenso/lib/utils/teams'; -import config from '@documenso/tailwind-config'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Hr, Html, Preview, Section, Tailwind, Text } from '../components'; +import { formatTeamUrl } from '@documenso/lib/utils/teams'; + +import { Body, Container, Head, Hr, Html, Preview, Section, Text } from '../components'; import { TemplateFooter } from '../template-components/template-footer'; import TemplateImage from '../template-components/template-image'; @@ -20,62 +22,57 @@ export const TeamEmailRemovedTemplate = ({ teamName = 'Team Name', teamUrl = 'demo', }: TeamEmailRemovedTemplateProps) => { - const previewText = `Team email removed for ${teamName} on Documenso`; + const { _ } = useLingui(); + + const previewText = msg`Team email removed for ${teamName} on Documenso`; return ( - {previewText} - - -
- + {_(previewText)} + + +
+ + + +
+
-
- -
+
+ + Team email removed + -
- - Team email removed - - - + + The team email {teamEmail} has been removed from the following team - + + -
- {formatTeamUrl(teamUrl, baseUrl)} -
-
- +
+ {formatTeamUrl(teamUrl, baseUrl)} +
+
+
-
+
- - - -
- - + + + +
+ ); }; diff --git a/packages/email/templates/team-invite.tsx b/packages/email/templates/team-invite.tsx index 3c062c4c8..33bcd058a 100644 --- a/packages/email/templates/team-invite.tsx +++ b/packages/email/templates/team-invite.tsx @@ -1,18 +1,9 @@ -import { formatTeamUrl } from '@documenso/lib/utils/teams'; -import config from '@documenso/tailwind-config'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { - Body, - Button, - Container, - Head, - Hr, - Html, - Preview, - Section, - Tailwind, - Text, -} from '../components'; +import { formatTeamUrl } from '@documenso/lib/utils/teams'; + +import { Body, Button, Container, Head, Hr, Html, Preview, Section, Text } from '../components'; import { TemplateFooter } from '../template-components/template-footer'; import TemplateImage from '../template-components/template-image'; @@ -33,80 +24,75 @@ export const TeamInviteEmailTemplate = ({ teamUrl = 'demo', token = '', }: TeamInviteEmailProps) => { - const previewText = `Accept invitation to join a team on Documenso`; + const { _ } = useLingui(); + + const previewText = msg`Accept invitation to join a team on Documenso`; return ( - {previewText} - - -
- + {_(previewText)} + + +
+ + + +
+
-
- -
+
+ + Join {teamName} on Documenso + -
- - Join {teamName} on Documenso - + + You have been invited to join the following team + - - You have been invited to join the following team - +
+ {formatTeamUrl(teamUrl, baseUrl)} +
-
- {formatTeamUrl(teamUrl, baseUrl)} -
- - + + by {senderName} - + + -
- - -
+
+ +
- +
+ -
+
- - - -
- - + + + +
+ ); }; diff --git a/packages/email/templates/team-join.tsx b/packages/email/templates/team-join.tsx index b3c1efc2f..ce463602a 100644 --- a/packages/email/templates/team-join.tsx +++ b/packages/email/templates/team-join.tsx @@ -1,7 +1,9 @@ -import { formatTeamUrl } from '@documenso/lib/utils/teams'; -import config from '@documenso/tailwind-config'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Hr, Html, Preview, Section, Tailwind, Text } from '../components'; +import { formatTeamUrl } from '@documenso/lib/utils/teams'; + +import { Body, Container, Head, Hr, Html, Preview, Section, Text } from '../components'; import { TemplateFooter } from '../template-components/template-footer'; import TemplateImage from '../template-components/template-image'; @@ -22,61 +24,56 @@ export const TeamJoinEmailTemplate = ({ teamName = 'Team Name', teamUrl = 'demo', }: TeamJoinEmailProps) => { - const previewText = 'A team member has joined a team on Documenso'; + const { _ } = useLingui(); + + const previewText = msg`A team member has joined a team on Documenso`; return ( - {previewText} - - -
- + {_(previewText)} + + +
+ + + +
+
-
- -
- -
- +
+ + {memberName || memberEmail} joined the team {teamName} on Documenso - + + - - {memberEmail} joined the following team - + + {memberEmail} joined the following team + -
- {formatTeamUrl(teamUrl, baseUrl)} -
-
- +
+ {formatTeamUrl(teamUrl, baseUrl)} +
+
+
-
+
- - - -
- - + + + +
+ ); }; diff --git a/packages/email/templates/team-leave.tsx b/packages/email/templates/team-leave.tsx index 51b9aaab1..1cd18446e 100644 --- a/packages/email/templates/team-leave.tsx +++ b/packages/email/templates/team-leave.tsx @@ -1,7 +1,9 @@ -import { formatTeamUrl } from '@documenso/lib/utils/teams'; -import config from '@documenso/tailwind-config'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { Body, Container, Head, Hr, Html, Preview, Section, Tailwind, Text } from '../components'; +import { formatTeamUrl } from '@documenso/lib/utils/teams'; + +import { Body, Container, Head, Hr, Html, Preview, Section, Text } from '../components'; import { TemplateFooter } from '../template-components/template-footer'; import TemplateImage from '../template-components/template-image'; @@ -22,61 +24,56 @@ export const TeamLeaveEmailTemplate = ({ teamName = 'Team Name', teamUrl = 'demo', }: TeamLeaveEmailProps) => { - const previewText = 'A team member has left a team on Documenso'; + const { _ } = useLingui(); + + const previewText = msg`A team member has left a team on Documenso`; return ( - {previewText} - - -
- + {_(previewText)} + + +
+ + + +
+
-
- -
- -
- +
+ + {memberName || memberEmail} left the team {teamName} on Documenso - + + - - {memberEmail} left the following team - + + {memberEmail} left the following team + -
- {formatTeamUrl(teamUrl, baseUrl)} -
-
- +
+ {formatTeamUrl(teamUrl, baseUrl)} +
+
+
-
+
- - - -
- - + + + +
+ ); }; diff --git a/packages/email/templates/team-transfer-request.tsx b/packages/email/templates/team-transfer-request.tsx index 82723226c..480274efb 100644 --- a/packages/email/templates/team-transfer-request.tsx +++ b/packages/email/templates/team-transfer-request.tsx @@ -1,18 +1,9 @@ -import { formatTeamUrl } from '@documenso/lib/utils/teams'; -import config from '@documenso/tailwind-config'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; -import { - Body, - Button, - Container, - Head, - Hr, - Html, - Preview, - Section, - Tailwind, - Text, -} from '../components'; +import { formatTeamUrl } from '@documenso/lib/utils/teams'; + +import { Body, Button, Container, Head, Hr, Html, Preview, Section, Text } from '../components'; import { TemplateFooter } from '../template-components/template-footer'; import TemplateImage from '../template-components/template-image'; @@ -33,78 +24,77 @@ export const TeamTransferRequestTemplate = ({ teamUrl = 'demo', token = '', }: TeamTransferRequestTemplateProps) => { - const previewText = 'Accept team transfer request on Documenso'; + const { _ } = useLingui(); + + const previewText = msg`Accept team transfer request on Documenso`; return ( - {previewText} - - -
- + {_(previewText)} + + +
+ + + +
+
-
- -
+
+ + {teamName} ownership transfer request + -
- - {teamName} ownership transfer request - - - + + {senderName} has requested that you take ownership of the following team - + + -
- {formatTeamUrl(teamUrl, baseUrl)} -
+
+ {formatTeamUrl(teamUrl, baseUrl)} +
- + + By accepting this request, you will take responsibility for any billing items associated with this team. - + + -
- -
+
+
+
- Link expires in 1 hour. - + + Link expires in 1 hour. + + -
+
- - - -
- - + + + +
+ ); }; diff --git a/packages/lib/client-only/providers/i18n.server.tsx b/packages/lib/client-only/providers/i18n.server.tsx index b5f193072..9acca3119 100644 --- a/packages/lib/client-only/providers/i18n.server.tsx +++ b/packages/lib/client-only/providers/i18n.server.tsx @@ -7,12 +7,17 @@ import { setupI18n } from '@lingui/core'; import { setI18n } from '@lingui/react/server'; import { IS_APP_WEB } from '../../constants/app'; -import { SUPPORTED_LANGUAGE_CODES } from '../../constants/i18n'; +import { + APP_I18N_OPTIONS, + SUPPORTED_LANGUAGE_CODES, + isValidLanguageCode, +} from '../../constants/i18n'; import { extractLocaleData } from '../../utils/i18n'; +import { remember } from '../../utils/remember'; type SupportedLanguages = (typeof SUPPORTED_LANGUAGE_CODES)[number]; -async function loadCatalog(lang: SupportedLanguages): Promise<{ +export async function loadCatalog(lang: SupportedLanguages): Promise<{ [k: string]: Messages; }> { const extension = process.env.NODE_ENV === 'development' ? 'po' : 'js'; @@ -20,14 +25,12 @@ async function loadCatalog(lang: SupportedLanguages): Promise<{ let { messages } = await import(`../../translations/${lang}/${context}.${extension}`); - // Dirty way to load common messages for development since it's not compiled. - if (process.env.NODE_ENV === 'development') { - const commonMessages = await import(`../../translations/${lang}/common.${extension}`); + if (extension === 'po') { + const { messages: commonMessages } = await import( + `../../translations/${lang}/common.${extension}` + ); - messages = { - ...messages, - ...commonMessages.messages, - }; + messages = { ...messages, ...commonMessages }; } return { @@ -35,40 +38,63 @@ async function loadCatalog(lang: SupportedLanguages): Promise<{ }; } -const catalogs = await Promise.all(SUPPORTED_LANGUAGE_CODES.map(loadCatalog)); +const catalogs = Promise.all(SUPPORTED_LANGUAGE_CODES.map(loadCatalog)); // transform array of catalogs into a single object -export const allMessages = catalogs.reduce((acc, oneCatalog) => { - return { ...acc, ...oneCatalog }; -}, {}); +const allMessages = async () => { + return await catalogs.then((catalogs) => + catalogs.reduce((acc, oneCatalog) => { + return { + ...acc, + ...oneCatalog, + }; + }, {}), + ); +}; type AllI18nInstances = { [K in SupportedLanguages]: I18n }; // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -export const allI18nInstances = SUPPORTED_LANGUAGE_CODES.reduce((acc, lang) => { - const messages = allMessages[lang] ?? {}; +export const allI18nInstances = remember('i18n.allI18nInstances', async () => { + const loadedMessages = await allMessages(); - const i18n = setupI18n({ - locale: lang, - messages: { [lang]: messages }, - }); + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions + return SUPPORTED_LANGUAGE_CODES.reduce((acc, lang) => { + const messages = loadedMessages[lang] ?? {}; - return { ...acc, [lang]: i18n }; -}, {}) as AllI18nInstances; + const i18n = setupI18n({ + locale: lang, + messages: { [lang]: messages }, + }); + + return { ...acc, [lang]: i18n }; + }, {}) as AllI18nInstances; +}); + +// eslint-disable-next-line @typescript-eslint/ban-types +export const getI18nInstance = async (lang?: SupportedLanguages | (string & {})) => { + const instances = await allI18nInstances; + + if (!isValidLanguageCode(lang)) { + return instances[APP_I18N_OPTIONS.sourceLang]; + } + + return instances[lang] ?? instances[APP_I18N_OPTIONS.sourceLang]; +}; /** * This needs to be run in all layouts and page server components that require i18n. * * https://lingui.dev/tutorials/react-rsc#pages-layouts-and-lingui */ -export const setupI18nSSR = () => { +export const setupI18nSSR = async () => { const { lang, locales } = extractLocaleData({ cookies: cookies(), headers: headers(), }); // Get and set a ready-made i18n instance for the given language. - const i18n = allI18nInstances[lang]; + const i18n = await getI18nInstance(lang); // Reactivate the i18n instance with the locale for date and number formatting. i18n.activate(lang, locales); diff --git a/packages/lib/constants/i18n.ts b/packages/lib/constants/i18n.ts index a54990e09..b3c8a8954 100644 --- a/packages/lib/constants/i18n.ts +++ b/packages/lib/constants/i18n.ts @@ -47,3 +47,6 @@ export const SUPPORTED_LANGUAGES: Record = { short: 'es', }, } satisfies Record; + +export const isValidLanguageCode = (code: unknown): code is SupportedLanguageCodes => + SUPPORTED_LANGUAGE_CODES.includes(code as SupportedLanguageCodes); diff --git a/packages/lib/constants/recipient-roles.ts b/packages/lib/constants/recipient-roles.ts index 7dfe3c7fc..9a3eefe1c 100644 --- a/packages/lib/constants/recipient-roles.ts +++ b/packages/lib/constants/recipient-roles.ts @@ -67,9 +67,9 @@ export const RECIPIENT_ROLES_DESCRIPTION_ENG = { } satisfies Record; export const RECIPIENT_ROLE_TO_EMAIL_TYPE = { - [RecipientRole.SIGNER]: 'SIGNING_REQUEST', - [RecipientRole.VIEWER]: 'VIEW_REQUEST', - [RecipientRole.APPROVER]: 'APPROVE_REQUEST', + [RecipientRole.SIGNER]: `SIGNING_REQUEST`, + [RecipientRole.VIEWER]: `VIEW_REQUEST`, + [RecipientRole.APPROVER]: `APPROVE_REQUEST`, } as const; export const RECIPIENT_ROLE_SIGNING_REASONS = { diff --git a/packages/lib/jobs/client/local.ts b/packages/lib/jobs/client/local.ts index a0405dbf1..d5ba58f83 100644 --- a/packages/lib/jobs/client/local.ts +++ b/packages/lib/jobs/client/local.ts @@ -43,18 +43,10 @@ export class LocalJobProvider extends BaseJobProvider { } public async triggerJob(options: SimpleTriggerJobOptions) { - console.log({ jobDefinitions: this._jobDefinitions }); - const eligibleJobs = Object.values(this._jobDefinitions).filter( (job) => job.trigger.name === options.name, ); - console.log({ options }); - console.log( - 'Eligible jobs:', - eligibleJobs.map((job) => job.name), - ); - await Promise.all( eligibleJobs.map(async (job) => { // Ideally we will change this to a createMany with returning later once we upgrade Prisma diff --git a/packages/lib/jobs/definitions/emails/send-signing-email.ts b/packages/lib/jobs/definitions/emails/send-signing-email.ts index beab38cab..34d1a8422 100644 --- a/packages/lib/jobs/definitions/emails/send-signing-email.ts +++ b/packages/lib/jobs/definitions/emails/send-signing-email.ts @@ -1,9 +1,9 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; import { z } from 'zod'; import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import DocumentInviteEmailTemplate from '@documenso/email/templates/document-invite'; import { prisma } from '@documenso/prisma'; import { @@ -13,6 +13,7 @@ import { SendStatus, } 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 { @@ -23,6 +24,7 @@ import { DOCUMENT_AUDIT_LOG_TYPE } from '../../../types/document-audit-logs'; import { ZRequestMetadataSchema } from '../../../universal/extract-request-metadata'; import { createDocumentAuditLogData } from '../../../utils/document-audit-logs'; import { renderCustomEmailTemplate } from '../../../utils/render-custom-email-template'; +import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n'; import { type JobDefinition } from '../../client/_internal/job'; const SEND_SIGNING_EMAIL_JOB_DEFINITION_ID = 'send.signing.requested.email'; @@ -90,22 +92,32 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = { const recipientActionVerb = RECIPIENT_ROLES_DESCRIPTION_ENG[recipient.role].actionVerb.toLowerCase(); + const i18n = await getI18nInstance(documentMeta?.language); + let emailMessage = customEmail?.message || ''; - let emailSubject = `Please ${recipientActionVerb} this document`; + let emailSubject = i18n._(msg`Please ${recipientActionVerb} this document`); if (selfSigner) { - emailMessage = `You have initiated the document ${`"${document.title}"`} that requires you to ${recipientActionVerb} it.`; - emailSubject = `Please ${recipientActionVerb} your document`; + emailMessage = i18n._( + msg`You have initiated the document ${`"${document.title}"`} that requires you to ${recipientActionVerb} it.`, + ); + emailSubject = i18n._(msg`Please ${recipientActionVerb} your document`); } if (isDirectTemplate) { - emailMessage = `A document was created by your direct template that requires you to ${recipientActionVerb} it.`; - emailSubject = `Please ${recipientActionVerb} this document created by your direct template`; + emailMessage = i18n._( + msg`A document was created by your direct template that requires you to ${recipientActionVerb} it.`, + ); + emailSubject = i18n._( + msg`Please ${recipientActionVerb} this document created by your direct template`, + ); } if (isTeamDocument && team) { - emailSubject = `${team.name} invited you to ${recipientActionVerb} a document`; - emailMessage = `${user.name} on behalf of ${team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`; + emailSubject = i18n._(msg`${team.name} invited you to ${recipientActionVerb} a document`); + emailMessage = i18n._( + msg`${user.name} on behalf of ${team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`, + ); } const customEmailTemplate = { @@ -132,6 +144,14 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = { }); await io.runTask('send-signing-email', async () => { + const [html, text] = await Promise.all([ + renderEmailWithI18N(template, { lang: documentMeta?.language }), + renderEmailWithI18N(template, { + lang: documentMeta?.language, + plainText: true, + }), + ]); + await mailer.sendMail({ to: { name: recipient.name, @@ -145,8 +165,8 @@ export const SEND_SIGNING_EMAIL_JOB_DEFINITION = { documentMeta?.subject || emailSubject, customEmailTemplate, ), - html: render(template), - text: render(template, { plainText: true }), + html, + text, }); }); diff --git a/packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts b/packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts index c5afa1cd3..94362820e 100644 --- a/packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts +++ b/packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts @@ -1,13 +1,15 @@ +import { msg } from '@lingui/macro'; import { z } from 'zod'; import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import TeamJoinEmailTemplate from '@documenso/email/templates/team-join'; import { prisma } from '@documenso/prisma'; import { TeamMemberRole } from '@documenso/prisma/client'; +import { getI18nInstance } from '../../../client-only/providers/i18n.server'; import { WEBAPP_BASE_URL } from '../../../constants/app'; import { FROM_ADDRESS, FROM_NAME } from '../../../constants/email'; +import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n'; import type { JobDefinition } from '../../client/_internal/job'; const SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION_ID = 'send.team-member-joined.email'; @@ -71,15 +73,23 @@ export const SEND_TEAM_MEMBER_JOINED_EMAIL_JOB_DEFINITION = { teamUrl: team.url, }); + // !: Replace with the actual language of the recipient later + const [html, text] = await Promise.all([ + renderEmailWithI18N(emailContent), + renderEmailWithI18N(emailContent, { plainText: true }), + ]); + + const i18n = await getI18nInstance(); + await mailer.sendMail({ to: member.user.email, from: { name: FROM_NAME, address: FROM_ADDRESS, }, - subject: 'A new member has joined your team', - html: render(emailContent), - text: render(emailContent, { plainText: true }), + subject: i18n._(msg`A new member has joined your team`), + html, + text, }); }, ); diff --git a/packages/lib/jobs/definitions/emails/send-team-member-left-email.ts b/packages/lib/jobs/definitions/emails/send-team-member-left-email.ts index 55e5ab1e6..7e1b33d6f 100644 --- a/packages/lib/jobs/definitions/emails/send-team-member-left-email.ts +++ b/packages/lib/jobs/definitions/emails/send-team-member-left-email.ts @@ -1,13 +1,15 @@ +import { msg } from '@lingui/macro'; import { z } from 'zod'; import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import TeamJoinEmailTemplate from '@documenso/email/templates/team-join'; import { prisma } from '@documenso/prisma'; import { TeamMemberRole } from '@documenso/prisma/client'; +import { getI18nInstance } from '../../../client-only/providers/i18n.server'; import { WEBAPP_BASE_URL } from '../../../constants/app'; import { FROM_ADDRESS, FROM_NAME } from '../../../constants/email'; +import { renderEmailWithI18N } from '../../../utils/render-email-with-i18n'; import type { JobDefinition } from '../../client/_internal/job'; const SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION_ID = 'send.team-member-left.email'; @@ -61,15 +63,22 @@ export const SEND_TEAM_MEMBER_LEFT_EMAIL_JOB_DEFINITION = { teamUrl: team.url, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(emailContent), + renderEmailWithI18N(emailContent, { plainText: true }), + ]); + + const i18n = await getI18nInstance(); + await mailer.sendMail({ to: member.user.email, from: { name: FROM_NAME, address: FROM_ADDRESS, }, - subject: `A team member has left ${team.name}`, - html: render(emailContent), - text: render(emailContent, { plainText: true }), + subject: i18n._(msg`A team member has left ${team.name}`), + html, + text, }); }); } diff --git a/packages/lib/package.json b/packages/lib/package.json index 5eabe4a26..0dc897f98 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -25,6 +25,9 @@ "@documenso/email": "*", "@documenso/prisma": "*", "@documenso/signing": "*", + "@lingui/core": "^4.11.3", + "@lingui/macro": "^4.11.3", + "@lingui/react": "^4.11.3", "@next-auth/prisma-adapter": "1.0.7", "@noble/ciphers": "0.4.0", "@noble/hashes": "1.3.2", diff --git a/packages/lib/server-only/auth/send-confirmation-email.ts b/packages/lib/server-only/auth/send-confirmation-email.ts index ddefa530a..5673d9603 100644 --- a/packages/lib/server-only/auth/send-confirmation-email.ts +++ b/packages/lib/server-only/auth/send-confirmation-email.ts @@ -1,11 +1,14 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { ConfirmEmailTemplate } from '@documenso/email/templates/confirm-email'; import { prisma } from '@documenso/prisma'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; export interface SendConfirmationEmailProps { userId: number; @@ -45,6 +48,13 @@ export const sendConfirmationEmail = async ({ userId }: SendConfirmationEmailPro confirmationLink, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(confirmationTemplate), + renderEmailWithI18N(confirmationTemplate, { plainText: true }), + ]); + + const i18n = await getI18nInstance(); + return mailer.sendMail({ to: { address: user.email, @@ -54,8 +64,8 @@ export const sendConfirmationEmail = async ({ userId }: SendConfirmationEmailPro name: senderName, address: senderAddress, }, - subject: 'Please confirm your email', - html: render(confirmationTemplate), - text: render(confirmationTemplate, { plainText: true }), + subject: i18n._(msg`Please confirm your email`), + html, + text, }); }; diff --git a/packages/lib/server-only/auth/send-forgot-password.ts b/packages/lib/server-only/auth/send-forgot-password.ts index 6e3a582a8..fef1543c3 100644 --- a/packages/lib/server-only/auth/send-forgot-password.ts +++ b/packages/lib/server-only/auth/send-forgot-password.ts @@ -1,11 +1,14 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { ForgotPasswordTemplate } from '@documenso/email/templates/forgot-password'; import { prisma } from '@documenso/prisma'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; export interface SendForgotPasswordOptions { userId: number; @@ -39,6 +42,13 @@ export const sendForgotPassword = async ({ userId }: SendForgotPasswordOptions) resetPasswordLink, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template), + renderEmailWithI18N(template, { plainText: true }), + ]); + + const i18n = await getI18nInstance(); + return await mailer.sendMail({ to: { address: user.email, @@ -48,8 +58,8 @@ export const sendForgotPassword = async ({ userId }: SendForgotPasswordOptions) name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso', address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com', }, - subject: 'Forgot Password?', - html: render(template), - text: render(template, { plainText: true }), + subject: i18n._(msg`Forgot Password?`), + html, + text, }); }; diff --git a/packages/lib/server-only/auth/send-reset-password.ts b/packages/lib/server-only/auth/send-reset-password.ts index 6bcd5820d..03165fcfc 100644 --- a/packages/lib/server-only/auth/send-reset-password.ts +++ b/packages/lib/server-only/auth/send-reset-password.ts @@ -1,11 +1,11 @@ import { createElement } from 'react'; import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { ResetPasswordTemplate } from '@documenso/email/templates/reset-password'; import { prisma } from '@documenso/prisma'; import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; export interface SendResetPasswordOptions { userId: number; @@ -26,6 +26,11 @@ export const sendResetPassword = async ({ userId }: SendResetPasswordOptions) => userName: user.name || '', }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template), + renderEmailWithI18N(template, { plainText: true }), + ]); + return await mailer.sendMail({ to: { address: user.email, @@ -36,7 +41,7 @@ export const sendResetPassword = async ({ userId }: SendResetPasswordOptions) => address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com', }, subject: 'Password Reset Success!', - html: render(template), - text: render(template, { plainText: true }), + html, + text, }); }; diff --git a/packages/lib/server-only/document-meta/upsert-document-meta.ts b/packages/lib/server-only/document-meta/upsert-document-meta.ts index 99ca7f5da..daf8ec32c 100644 --- a/packages/lib/server-only/document-meta/upsert-document-meta.ts +++ b/packages/lib/server-only/document-meta/upsert-document-meta.ts @@ -9,6 +9,8 @@ import { import { prisma } from '@documenso/prisma'; import type { DocumentSigningOrder } from '@documenso/prisma/client'; +import type { SupportedLanguageCodes } from '../../constants/i18n'; + export type CreateDocumentMetaOptions = { documentId: number; subject?: string; @@ -19,6 +21,7 @@ export type CreateDocumentMetaOptions = { redirectUrl?: string; signingOrder?: DocumentSigningOrder; typedSignatureEnabled?: boolean; + language?: SupportedLanguageCodes; userId: number; requestMetadata: RequestMetadata; }; @@ -34,6 +37,7 @@ export const upsertDocumentMeta = async ({ redirectUrl, signingOrder, typedSignatureEnabled, + language, requestMetadata, }: CreateDocumentMetaOptions) => { const user = await prisma.user.findFirstOrThrow({ @@ -85,6 +89,7 @@ export const upsertDocumentMeta = async ({ redirectUrl, signingOrder, typedSignatureEnabled, + language, }, update: { subject, @@ -95,6 +100,7 @@ export const upsertDocumentMeta = async ({ redirectUrl, signingOrder, typedSignatureEnabled, + language, }, }); diff --git a/packages/lib/server-only/document/delete-document.ts b/packages/lib/server-only/document/delete-document.ts index 6ac8e1bd3..b43ed2cd3 100644 --- a/packages/lib/server-only/document/delete-document.ts +++ b/packages/lib/server-only/document/delete-document.ts @@ -3,7 +3,6 @@ import { createElement } from 'react'; import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import DocumentCancelTemplate from '@documenso/email/templates/document-cancel'; import { prisma } from '@documenso/prisma'; import type { Document, DocumentMeta, Recipient, User } from '@documenso/prisma/client'; @@ -14,6 +13,7 @@ import { FROM_ADDRESS, FROM_NAME } from '../../constants/email'; 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'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; export type DeleteDocumentOptions = { id: number; @@ -191,6 +191,11 @@ const handleDocumentOwnerDelete = async ({ assetBaseUrl, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template), + renderEmailWithI18N(template, { plainText: true }), + ]); + await mailer.sendMail({ to: { address: recipient.email, @@ -201,8 +206,8 @@ const handleDocumentOwnerDelete = async ({ address: FROM_ADDRESS, }, subject: 'Document Cancelled', - html: render(template), - text: render(template, { plainText: true }), + html, + text, }); }), ); diff --git a/packages/lib/server-only/document/resend-document.tsx b/packages/lib/server-only/document/resend-document.tsx index 30f104e92..e25b4b766 100644 --- a/packages/lib/server-only/document/resend-document.tsx +++ b/packages/lib/server-only/document/resend-document.tsx @@ -1,11 +1,12 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { DocumentInviteEmailTemplate } from '@documenso/email/templates/document-invite'; import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email'; import { - RECIPIENT_ROLES_DESCRIPTION_ENG, + RECIPIENT_ROLES_DESCRIPTION, RECIPIENT_ROLE_TO_EMAIL_TYPE, } from '@documenso/lib/constants/recipient-roles'; import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs'; @@ -16,7 +17,9 @@ import { prisma } from '@documenso/prisma'; import { DocumentStatus, RecipientRole, SigningStatus } from '@documenso/prisma/client'; import type { Prisma } from '@documenso/prisma/client'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; import { getDocumentWhereInput } from './get-document-by-id'; export type ResendDocumentOptions = { @@ -92,25 +95,28 @@ export const resendDocument = async ({ return; } + const i18n = await getI18nInstance(document.documentMeta?.language); + const recipientEmailType = RECIPIENT_ROLE_TO_EMAIL_TYPE[recipient.role]; const { email, name } = recipient; const selfSigner = email === user.email; - const recipientActionVerb = - RECIPIENT_ROLES_DESCRIPTION_ENG[recipient.role].actionVerb.toLowerCase(); + const recipientActionVerb = i18n + ._(RECIPIENT_ROLES_DESCRIPTION[recipient.role].actionVerb) + .toLowerCase(); - let emailMessage = customEmail?.message || ''; - let emailSubject = `Reminder: Please ${recipientActionVerb} this document`; + let emailMessage = msg`${customEmail?.message || ''}`; + let emailSubject = msg`Reminder: Please ${recipientActionVerb} this document`; if (selfSigner) { - emailMessage = `You have initiated the document ${`"${document.title}"`} that requires you to ${recipientActionVerb} it.`; - emailSubject = `Reminder: Please ${recipientActionVerb} your document`; + emailMessage = msg`You have initiated the document ${`"${document.title}"`} that requires you to ${recipientActionVerb} it.`; + emailSubject = msg`Reminder: Please ${recipientActionVerb} your document`; } if (isTeamDocument && document.team) { - emailSubject = `Reminder: ${document.team.name} invited you to ${recipientActionVerb} a document`; - emailMessage = `${user.name} on behalf of ${document.team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`; + emailSubject = msg`Reminder: ${document.team.name} invited you to ${recipientActionVerb} a document`; + emailMessage = msg`${user.name} on behalf of ${document.team.name} has invited you to ${recipientActionVerb} the document "${document.title}".`; } const customEmailTemplate = { @@ -128,7 +134,7 @@ export const resendDocument = async ({ inviterEmail: isTeamDocument ? document.team?.teamEmail?.email || user.email : user.email, assetBaseUrl, signDocumentLink, - customBody: renderCustomEmailTemplate(emailMessage, customEmailTemplate), + customBody: renderCustomEmailTemplate(i18n._(emailMessage), customEmailTemplate), role: recipient.role, selfSigner, isTeamInvite: isTeamDocument, @@ -137,6 +143,14 @@ export const resendDocument = async ({ await prisma.$transaction( async (tx) => { + const [html, text] = await Promise.all([ + renderEmailWithI18N(template, { lang: document.documentMeta?.language }), + renderEmailWithI18N(template, { + lang: document.documentMeta?.language, + plainText: true, + }), + ]); + await mailer.sendMail({ to: { address: email, @@ -147,10 +161,13 @@ export const resendDocument = async ({ address: FROM_ADDRESS, }, subject: customEmail?.subject - ? renderCustomEmailTemplate(`Reminder: ${customEmail.subject}`, customEmailTemplate) - : emailSubject, - html: render(template), - text: render(template, { plainText: true }), + ? renderCustomEmailTemplate( + i18n._(msg`Reminder: ${customEmail.subject}`), + customEmailTemplate, + ) + : i18n._(emailSubject), + html, + text, }); await tx.documentAuditLog.create({ diff --git a/packages/lib/server-only/document/send-completed-email.ts b/packages/lib/server-only/document/send-completed-email.ts index cea9d5424..29413a3dd 100644 --- a/packages/lib/server-only/document/send-completed-email.ts +++ b/packages/lib/server-only/document/send-completed-email.ts @@ -1,17 +1,20 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { DocumentCompletedEmailTemplate } from '@documenso/email/templates/document-completed'; import { prisma } from '@documenso/prisma'; import { DocumentSource } from '@documenso/prisma/client'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs'; import type { RequestMetadata } from '../../universal/extract-request-metadata'; import { getFile } from '../../universal/upload/get-file'; import { createDocumentAuditLogData } from '../../utils/document-audit-logs'; import { renderCustomEmailTemplate } from '../../utils/render-custom-email-template'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; export interface SendDocumentOptions { documentId: number; @@ -61,6 +64,8 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo }`; } + const i18n = await getI18nInstance(document.documentMeta?.language); + // If the document owner is not a recipient then send the email to them separately if (!document.Recipient.find((recipient) => recipient.email === owner.email)) { const template = createElement(DocumentCompletedEmailTemplate, { @@ -69,6 +74,11 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo downloadLink: documentOwnerDownloadLink, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template, { lang: document.documentMeta?.language }), + renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }), + ]); + await mailer.sendMail({ to: [ { @@ -80,9 +90,9 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso', address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com', }, - subject: 'Signing Complete!', - html: render(template), - text: render(template, { plainText: true }), + subject: i18n._(msg`Signing Complete!`), + html, + text, attachments: [ { filename: document.title.endsWith('.pdf') ? document.title : document.title + '.pdf', @@ -129,6 +139,11 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo : undefined, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template, { lang: document.documentMeta?.language }), + renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }), + ]); + await mailer.sendMail({ to: [ { @@ -143,9 +158,9 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo subject: isDirectTemplate && document.documentMeta?.subject ? renderCustomEmailTemplate(document.documentMeta.subject, customEmailTemplate) - : 'Signing Complete!', - html: render(template), - text: render(template, { plainText: true }), + : i18n._(msg`Signing Complete!`), + html, + text, attachments: [ { filename: document.title.endsWith('.pdf') ? document.title : document.title + '.pdf', diff --git a/packages/lib/server-only/document/send-delete-email.ts b/packages/lib/server-only/document/send-delete-email.ts index cc1101942..fa648de2b 100644 --- a/packages/lib/server-only/document/send-delete-email.ts +++ b/packages/lib/server-only/document/send-delete-email.ts @@ -1,11 +1,14 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { DocumentSuperDeleteEmailTemplate } from '@documenso/email/templates/document-super-delete'; import { prisma } from '@documenso/prisma'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; export interface SendDeleteEmailOptions { documentId: number; @@ -36,6 +39,13 @@ export const sendDeleteEmail = async ({ documentId, reason }: SendDeleteEmailOpt assetBaseUrl, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template), + renderEmailWithI18N(template, { plainText: true }), + ]); + + const i18n = await getI18nInstance(); + await mailer.sendMail({ to: { address: email, @@ -45,8 +55,8 @@ export const sendDeleteEmail = async ({ documentId, reason }: SendDeleteEmailOpt name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso', address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com', }, - subject: 'Document Deleted!', - html: render(template), - text: render(template, { plainText: true }), + subject: i18n._(msg`Document Deleted!`), + html, + text, }); }; diff --git a/packages/lib/server-only/document/send-pending-email.ts b/packages/lib/server-only/document/send-pending-email.ts index 73e938a7d..997d8cdbd 100644 --- a/packages/lib/server-only/document/send-pending-email.ts +++ b/packages/lib/server-only/document/send-pending-email.ts @@ -1,11 +1,14 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { DocumentPendingEmailTemplate } from '@documenso/email/templates/document-pending'; import { prisma } from '@documenso/prisma'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; export interface SendPendingEmailOptions { documentId: number; @@ -28,6 +31,7 @@ export const sendPendingEmail = async ({ documentId, recipientId }: SendPendingE id: recipientId, }, }, + documentMeta: true, }, }); @@ -50,6 +54,13 @@ export const sendPendingEmail = async ({ documentId, recipientId }: SendPendingE assetBaseUrl, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template, { lang: document.documentMeta?.language }), + renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }), + ]); + + const i18n = await getI18nInstance(); + await mailer.sendMail({ to: { address: email, @@ -59,8 +70,8 @@ export const sendPendingEmail = async ({ documentId, recipientId }: SendPendingE name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso', address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com', }, - subject: 'Waiting for others to complete signing.', - html: render(template), - text: render(template, { plainText: true }), + subject: i18n._(msg`Waiting for others to complete signing.`), + html, + text, }); }; diff --git a/packages/lib/server-only/document/super-delete-document.ts b/packages/lib/server-only/document/super-delete-document.ts index 0dfc9c163..db72bb1fc 100644 --- a/packages/lib/server-only/document/super-delete-document.ts +++ b/packages/lib/server-only/document/super-delete-document.ts @@ -2,17 +2,20 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import DocumentCancelTemplate from '@documenso/email/templates/document-cancel'; import { prisma } from '@documenso/prisma'; import { DocumentStatus, SendStatus } 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 { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs'; import type { RequestMetadata } from '../../universal/extract-request-metadata'; import { createDocumentAuditLogData } from '../../utils/document-audit-logs'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; export type SuperDeleteDocumentOptions = { id: number; @@ -53,6 +56,13 @@ export const superDeleteDocument = async ({ id, requestMetadata }: SuperDeleteDo assetBaseUrl, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template, { lang: document.documentMeta?.language }), + renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }), + ]); + + const i18n = await getI18nInstance(document.documentMeta?.language); + await mailer.sendMail({ to: { address: recipient.email, @@ -62,9 +72,9 @@ export const superDeleteDocument = async ({ id, requestMetadata }: SuperDeleteDo name: FROM_NAME, address: FROM_ADDRESS, }, - subject: 'Document Cancelled', - html: render(template), - text: render(template, { plainText: true }), + subject: i18n._(msg`Document Cancelled`), + html, + text, }); }), ); diff --git a/packages/lib/server-only/recipient/set-recipients-for-document.ts b/packages/lib/server-only/recipient/set-recipients-for-document.ts index d5ab3c3d5..b9fc0e6af 100644 --- a/packages/lib/server-only/recipient/set-recipients-for-document.ts +++ b/packages/lib/server-only/recipient/set-recipients-for-document.ts @@ -1,8 +1,9 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { isUserEnterprise } from '@documenso/ee/server-only/util/is-document-enterprise'; import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import RecipientRemovedFromDocumentTemplate from '@documenso/email/templates/recipient-removed-from-document'; import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-logs'; import { @@ -21,10 +22,12 @@ import type { Recipient } from '@documenso/prisma/client'; import { RecipientRole } from '@documenso/prisma/client'; 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 { AppError, AppErrorCode } from '../../errors/app-error'; import { canRecipientBeModified } from '../../utils/recipients'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; export interface SetRecipientsForDocumentOptions { userId: number; @@ -62,6 +65,7 @@ export const setRecipientsForDocument = async ({ }, include: { Field: true, + documentMeta: true, }, }); @@ -291,6 +295,13 @@ export const setRecipientsForDocument = async ({ assetBaseUrl, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template, { lang: document.documentMeta?.language }), + renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }), + ]); + + const i18n = await getI18nInstance(document.documentMeta?.language); + await mailer.sendMail({ to: { address: recipient.email, @@ -300,9 +311,9 @@ export const setRecipientsForDocument = async ({ name: FROM_NAME, address: FROM_ADDRESS, }, - subject: 'You have been removed from a document', - html: render(template), - text: render(template, { plainText: true }), + subject: i18n._(msg`You have been removed from a document`), + html, + text, }); }), ); diff --git a/packages/lib/server-only/team/accept-team-invitation.ts b/packages/lib/server-only/team/accept-team-invitation.ts index 0a7da6d15..1bf8611e4 100644 --- a/packages/lib/server-only/team/accept-team-invitation.ts +++ b/packages/lib/server-only/team/accept-team-invitation.ts @@ -81,7 +81,7 @@ export const acceptTeamInvitation = async ({ userId, teamId }: AcceptTeamInvitat await jobs.triggerJob({ name: 'send.team-member-joined.email', payload: { - teamId: team.id, + teamId: teamMember.teamId, memberId: teamMember.id, }, }); diff --git a/packages/lib/server-only/team/create-team-email-verification.ts b/packages/lib/server-only/team/create-team-email-verification.ts index 86cded7a9..f43eb9530 100644 --- a/packages/lib/server-only/team/create-team-email-verification.ts +++ b/packages/lib/server-only/team/create-team-email-verification.ts @@ -1,9 +1,9 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; import { z } from 'zod'; import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { ConfirmTeamEmailTemplate } from '@documenso/email/templates/confirm-team-email'; import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app'; import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email'; @@ -13,6 +13,9 @@ import { createTokenVerification } from '@documenso/lib/utils/token-verification import { prisma } from '@documenso/prisma'; import { Prisma } from '@documenso/prisma/client'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; + export type CreateTeamEmailVerificationOptions = { userId: number; teamId: number; @@ -122,14 +125,23 @@ export const sendTeamEmailVerificationEmail = async ( token, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template), + renderEmailWithI18N(template, { plainText: true }), + ]); + + const i18n = await getI18nInstance(); + await mailer.sendMail({ to: email, from: { name: FROM_NAME, address: FROM_ADDRESS, }, - subject: `A request to use your email has been initiated by ${teamName} on Documenso`, - html: render(template), - text: render(template, { plainText: true }), + subject: i18n._( + msg`A request to use your email has been initiated by ${teamName} on Documenso`, + ), + html, + text, }); }; diff --git a/packages/lib/server-only/team/create-team-member-invites.ts b/packages/lib/server-only/team/create-team-member-invites.ts index f167d2112..c47401f56 100644 --- a/packages/lib/server-only/team/create-team-member-invites.ts +++ b/packages/lib/server-only/team/create-team-member-invites.ts @@ -1,9 +1,9 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; import { nanoid } from 'nanoid'; import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import type { TeamInviteEmailProps } from '@documenso/email/templates/team-invite'; import { TeamInviteEmailTemplate } from '@documenso/email/templates/team-invite'; import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app'; @@ -15,6 +15,9 @@ import { prisma } from '@documenso/prisma'; import { TeamMemberInviteStatus } from '@documenso/prisma/client'; import type { TCreateTeamMemberInvitesMutationSchema } from '@documenso/trpc/server/team-router/schema'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; + export type CreateTeamMemberInvitesOptions = { userId: number; userName: string; @@ -148,14 +151,23 @@ export const sendTeamMemberInviteEmail = async ({ ...emailTemplateOptions, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template), + renderEmailWithI18N(template, { plainText: true }), + ]); + + const i18n = await getI18nInstance(); + await mailer.sendMail({ to: email, from: { name: FROM_NAME, address: FROM_ADDRESS, }, - subject: `You have been invited to join ${emailTemplateOptions.teamName} on Documenso`, - html: render(template), - text: render(template, { plainText: true }), + subject: i18n._( + msg`You have been invited to join ${emailTemplateOptions.teamName} on Documenso`, + ), + html, + text, }); }; diff --git a/packages/lib/server-only/team/delete-team-email.ts b/packages/lib/server-only/team/delete-team-email.ts index c5139a971..a3f6e906b 100644 --- a/packages/lib/server-only/team/delete-team-email.ts +++ b/packages/lib/server-only/team/delete-team-email.ts @@ -1,13 +1,17 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { TeamEmailRemovedTemplate } from '@documenso/email/templates/team-email-removed'; import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app'; import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email'; import { TEAM_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/teams'; import { prisma } from '@documenso/prisma'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; + export type DeleteTeamEmailOptions = { userId: number; userEmail: string; @@ -73,6 +77,13 @@ export const deleteTeamEmail = async ({ userId, userEmail, teamId }: DeleteTeamE teamUrl: team.url, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template), + renderEmailWithI18N(template, { plainText: true }), + ]); + + const i18n = await getI18nInstance(); + await mailer.sendMail({ to: { address: team.owner.email, @@ -82,9 +93,9 @@ export const deleteTeamEmail = async ({ userId, userEmail, teamId }: DeleteTeamE name: FROM_NAME, address: FROM_ADDRESS, }, - subject: `Team email has been revoked for ${team.name}`, - html: render(template), - text: render(template, { plainText: true }), + subject: i18n._(msg`Team email has been revoked for ${team.name}`), + html, + text, }); } catch (e) { // Todo: Teams - Alert us. diff --git a/packages/lib/server-only/team/delete-team.ts b/packages/lib/server-only/team/delete-team.ts index 57c761e72..260344bd0 100644 --- a/packages/lib/server-only/team/delete-team.ts +++ b/packages/lib/server-only/team/delete-team.ts @@ -1,7 +1,6 @@ import { createElement } from 'react'; import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import type { TeamDeleteEmailProps } from '@documenso/email/templates/team-delete'; import { TeamDeleteEmailTemplate } from '@documenso/email/templates/team-delete'; import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app'; @@ -11,6 +10,7 @@ import { stripe } from '@documenso/lib/server-only/stripe'; import { prisma } from '@documenso/prisma'; import { jobs } from '../../jobs/client'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; export type DeleteTeamOptions = { userId: number; @@ -95,6 +95,11 @@ export const sendTeamDeleteEmail = async ({ ...emailTemplateOptions, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template), + renderEmailWithI18N(template, { plainText: true }), + ]); + await mailer.sendMail({ to: email, from: { @@ -102,7 +107,7 @@ export const sendTeamDeleteEmail = async ({ address: FROM_ADDRESS, }, subject: `Team "${emailTemplateOptions.teamName}" has been deleted on Documenso`, - html: render(template), - text: render(template, { plainText: true }), + html, + text, }); }; diff --git a/packages/lib/server-only/team/request-team-ownership-transfer.ts b/packages/lib/server-only/team/request-team-ownership-transfer.ts index 92fd5b61e..5da2f6c5b 100644 --- a/packages/lib/server-only/team/request-team-ownership-transfer.ts +++ b/packages/lib/server-only/team/request-team-ownership-transfer.ts @@ -1,13 +1,17 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { TeamTransferRequestTemplate } from '@documenso/email/templates/team-transfer-request'; import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app'; import { FROM_ADDRESS, FROM_NAME } from '@documenso/lib/constants/email'; import { createTokenVerification } from '@documenso/lib/utils/token-verification'; import { prisma } from '@documenso/prisma'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; + export type RequestTeamOwnershipTransferOptions = { /** * The ID of the user initiating the transfer. @@ -93,15 +97,24 @@ export const requestTeamOwnershipTransfer = async ({ token, }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(template), + renderEmailWithI18N(template, { plainText: true }), + ]); + + const i18n = await getI18nInstance(); + await mailer.sendMail({ to: newOwnerUser.email, from: { name: FROM_NAME, address: FROM_ADDRESS, }, - subject: `You have been requested to take ownership of team ${team.name} on Documenso`, - html: render(template), - text: render(template, { plainText: true }), + subject: i18n._( + msg`You have been requested to take ownership of team ${team.name} on Documenso`, + ), + html, + text, }); }, { timeout: 30_000 }, diff --git a/packages/lib/server-only/template/create-document-from-direct-template.ts b/packages/lib/server-only/template/create-document-from-direct-template.ts index 24fdc90ff..733ca9c86 100644 --- a/packages/lib/server-only/template/create-document-from-direct-template.ts +++ b/packages/lib/server-only/template/create-document-from-direct-template.ts @@ -1,10 +1,10 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; import { DateTime } from 'luxon'; import { match } from 'ts-pattern'; import { mailer } from '@documenso/email/mailer'; -import { render } from '@documenso/email/render'; import { DocumentCreatedFromDirectTemplateEmailTemplate } from '@documenso/email/templates/document-created-from-direct-template'; import { nanoid } from '@documenso/lib/universal/id'; import { prisma } from '@documenso/prisma'; @@ -22,6 +22,7 @@ import { } from '@documenso/prisma/client'; import type { TSignFieldWithTokenMutationSchema } from '@documenso/trpc/server/field-router/schema'; +import { getI18nInstance } from '../../client-only/providers/i18n.server'; import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app'; import { DEFAULT_DOCUMENT_DATE_FORMAT } from '../../constants/date-formats'; import { DEFAULT_DOCUMENT_TIME_ZONE } from '../../constants/time-zones'; @@ -38,6 +39,7 @@ import { createRecipientAuthOptions, extractDocumentAuthMethods, } from '../../utils/document-auth'; +import { renderEmailWithI18N } from '../../utils/render-email-with-i18n'; import { formatDocumentsPath } from '../../utils/teams'; import { sendDocument } from '../document/send-document'; import { validateFieldAuth } from '../document/validate-field-auth'; @@ -143,6 +145,7 @@ export const createDocumentFromDirectTemplate = async ({ const metaDateFormat = template.templateMeta?.dateFormat || DEFAULT_DOCUMENT_DATE_FORMAT; const metaEmailMessage = template.templateMeta?.message || ''; const metaEmailSubject = template.templateMeta?.subject || ''; + const metaLanguage = template.templateMeta?.language; const metaSigningOrder = template.templateMeta?.signingOrder || DocumentSigningOrder.PARALLEL; // Associate, validate and map to a query every direct template recipient field with the provided fields. @@ -270,6 +273,7 @@ export const createDocumentFromDirectTemplate = async ({ dateFormat: metaDateFormat, message: metaEmailMessage, subject: metaEmailSubject, + language: metaLanguage, signingOrder: metaSigningOrder, }, }, @@ -529,6 +533,13 @@ export const createDocumentFromDirectTemplate = async ({ assetBaseUrl: NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000', }); + const [html, text] = await Promise.all([ + renderEmailWithI18N(emailTemplate, { lang: metaLanguage }), + renderEmailWithI18N(emailTemplate, { lang: metaLanguage, plainText: true }), + ]); + + const i18n = await getI18nInstance(metaLanguage); + await mailer.sendMail({ to: [ { @@ -540,9 +551,9 @@ export const createDocumentFromDirectTemplate = async ({ name: process.env.NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso', address: process.env.NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com', }, - subject: 'Document created from direct template', - html: render(emailTemplate), - text: render(emailTemplate, { plainText: true }), + subject: i18n._(msg`Document created from direct template`), + html, + text, }); return { diff --git a/packages/lib/server-only/template/create-document-from-template-legacy.ts b/packages/lib/server-only/template/create-document-from-template-legacy.ts index ea5a45760..f468cdf0e 100644 --- a/packages/lib/server-only/template/create-document-from-template-legacy.ts +++ b/packages/lib/server-only/template/create-document-from-template-legacy.ts @@ -46,6 +46,7 @@ export const createDocumentFromTemplateLegacy = async ({ Recipient: true, Field: true, templateDocumentData: true, + templateMeta: true, }, }); @@ -78,6 +79,17 @@ export const createDocumentFromTemplateLegacy = async ({ token: nanoid(), })), }, + documentMeta: { + create: { + subject: template.templateMeta?.subject, + message: template.templateMeta?.message, + timezone: template.templateMeta?.timezone, + dateFormat: template.templateMeta?.dateFormat, + redirectUrl: template.templateMeta?.redirectUrl, + signingOrder: template.templateMeta?.signingOrder ?? undefined, + language: template.templateMeta?.language, + }, + }, }, include: { diff --git a/packages/lib/server-only/template/create-document-from-template.ts b/packages/lib/server-only/template/create-document-from-template.ts index 1c989fa5b..04bf46dde 100644 --- a/packages/lib/server-only/template/create-document-from-template.ts +++ b/packages/lib/server-only/template/create-document-from-template.ts @@ -11,6 +11,7 @@ import { WebhookTriggerEvents, } from '@documenso/prisma/client'; +import type { SupportedLanguageCodes } from '../../constants/i18n'; import { AppError, AppErrorCode } from '../../errors/app-error'; import { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs'; import { ZRecipientAuthOptionsSchema } from '../../types/document-auth'; @@ -60,6 +61,7 @@ export type CreateDocumentFromTemplateOptions = { dateFormat?: string; redirectUrl?: string; signingOrder?: DocumentSigningOrder; + language?: SupportedLanguageCodes; }; requestMetadata?: RequestMetadata; }; @@ -179,6 +181,7 @@ export const createDocumentFromTemplate = async ({ override?.signingOrder || template.templateMeta?.signingOrder || DocumentSigningOrder.PARALLEL, + language: override?.language || template.templateMeta?.language, }, }, Recipient: { diff --git a/packages/lib/server-only/user/send-confirmation-token.ts b/packages/lib/server-only/user/send-confirmation-token.ts index ef7c4b104..d2bc0a3aa 100644 --- a/packages/lib/server-only/user/send-confirmation-token.ts +++ b/packages/lib/server-only/user/send-confirmation-token.ts @@ -39,7 +39,7 @@ export const sendConfirmationToken = async ({ mostRecentToken?.createdAt && DateTime.fromJSDate(mostRecentToken.createdAt).diffNow('minutes').minutes > -5 ) { - return; + // return; } const createdToken = await prisma.verificationToken.create({ @@ -64,6 +64,7 @@ export const sendConfirmationToken = async ({ return { success: true }; } catch (err) { + console.log(err); throw new Error(`Failed to send the confirmation email`); } }; diff --git a/packages/lib/translations/de/common.po b/packages/lib/translations/de/common.po index 557739d1d..6960ce450 100644 --- a/packages/lib/translations/de/common.po +++ b/packages/lib/translations/de/common.po @@ -18,14 +18,104 @@ msgstr "" "X-Crowdin-File: common.po\n" "X-Crowdin-File-ID: 4\n" +#: packages/email/template-components/template-document-super-delete.tsx:27 +msgid "\"{documentName}\" has been deleted by an admin." +msgstr "" + +#: packages/email/template-components/template-document-pending.tsx:37 +msgid "“{documentName}” has been signed" +msgstr "" + +#: packages/email/template-components/template-document-completed.tsx:41 +#: packages/lib/server-only/document/resend-document.tsx:109 +msgid "{0}" +msgstr "" + +#: packages/email/template-components/template-document-invite.tsx:74 +msgid "{0} Document" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117 +msgid "{0} invited you to {recipientActionVerb} a document" +msgstr "" + +#: packages/email/templates/team-join.tsx:55 +msgid "{0} joined the team {teamName} on Documenso" +msgstr "" + +#: packages/email/templates/team-leave.tsx:55 +msgid "{0} left the team {teamName} on Documenso" +msgstr "" + #: packages/ui/primitives/data-table-pagination.tsx:30 msgid "{0} of {1} row(s) selected." msgstr "{0} von {1} Zeile(n) ausgewählt." +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:119 +#: packages/lib/server-only/document/resend-document.tsx:119 +msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"." +msgstr "" + +#: packages/email/templates/document-invite.tsx:79 +msgid "{inviterName} <0>({inviterEmail})" +msgstr "" + +#: packages/email/templates/document-cancel.tsx:19 +msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore." +msgstr "" + +#: packages/email/template-components/template-document-cancel.tsx:24 +msgid "{inviterName} has cancelled the document<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/template-components/template-document-invite.tsx:57 +msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/templates/document-invite.tsx:41 +msgid "{inviterName} has invited you to {action} {documentName}" +msgstr "" + +#: packages/email/templates/recipient-removed-from-document.tsx:18 +msgid "{inviterName} has removed you from the document {documentName}." +msgstr "" + +#: packages/email/template-components/template-document-invite.tsx:49 +msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/templates/document-invite.tsx:40 +msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}" +msgstr "" + +#: packages/email/templates/team-join.tsx:61 +msgid "{memberEmail} joined the following team" +msgstr "" + +#: packages/email/templates/team-leave.tsx:61 +msgid "{memberEmail} left the following team" +msgstr "" + +#: packages/email/templates/document-created-from-direct-template.tsx:55 +msgid "{recipientName} {action} a document by using one of your direct links" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:55 +msgid "{teamName} ownership transfer request" +msgstr "" + #: packages/ui/primitives/data-table-pagination.tsx:41 msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}" msgstr "{visibleRows, plural, one {Eine # Ergebnis wird angezeigt.} other {# Ergebnisse werden angezeigt.}}" +#: packages/email/templates/document-invite.tsx:91 +msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:59 +msgid "<0>{senderName} has requested that you take ownership of the following team" +msgstr "" + #: packages/ui/components/recipient/recipient-action-auth-select.tsx:53 msgid "<0>Inherit authentication method - Use the global action signing authentication method configured in the \"General Settings\" step" msgstr "<0>Authentifizierungsmethode erben - Verwenden Sie die in den \"Allgemeinen Einstellungen\" konfigurierte globale Aktionssignatur-Authentifizierungsmethode" @@ -56,20 +146,66 @@ msgstr "<0>Konto erforderlich - Der Empfänger muss angemeldet sein, um das msgid "<0>Require passkey - The recipient must have an account and passkey configured via their settings" msgstr "<0>Passkey erforderlich - Der Empfänger muss ein Konto haben und den Passkey über seine Einstellungen konfiguriert haben" +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:109 +msgid "A document was created by your direct template that requires you to {recipientActionVerb} it." +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90 +msgid "A new member has joined your team" +msgstr "" + +#: 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 "" + +#: packages/email/templates/team-join.tsx:29 +msgid "A team member has joined a team on Documenso" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79 +msgid "A team member has left {0}" +msgstr "" + +#: packages/email/templates/team-leave.tsx:29 +msgid "A team member has left a team on Documenso" +msgstr "" + +#: packages/email/templates/team-delete.tsx:27 +#: packages/email/templates/team-delete.tsx:31 +msgid "A team you were a part of has been deleted" +msgstr "" + +#: packages/email/templates/team-invite.tsx:77 +#: packages/email/templates/team-transfer-request.tsx:81 +msgid "Accept" +msgstr "" + +#: packages/email/templates/team-invite.tsx:29 +msgid "Accept invitation to join a team on Documenso" +msgstr "" + +#: packages/email/templates/confirm-team-email.tsx:38 +msgid "Accept team email request for {teamName} on Documenso" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:29 +msgid "Accept team transfer request on Documenso" +msgstr "" + #: packages/ui/primitives/document-dropzone.tsx:69 msgid "Add a document" msgstr "Dokument hinzufügen" -#: packages/ui/primitives/document-flow/add-settings.tsx:336 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:339 +#: packages/ui/primitives/document-flow/add-settings.tsx:378 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:378 msgid "Add a URL to redirect the user to once the document is signed" msgstr "Fügen Sie eine URL hinzu, um den Benutzer nach der Unterzeichnung des Dokuments weiterzuleiten" -#: packages/ui/primitives/document-flow/add-settings.tsx:248 +#: packages/ui/primitives/document-flow/add-settings.tsx:290 msgid "Add an external ID to the document. This can be used to identify the document in external systems." msgstr "Fügen Sie dem Dokument eine externe ID hinzu. Diese kann verwendet werden, um das Dokument in externen Systemen zu identifizieren." -#: packages/ui/primitives/template-flow/add-template-settings.tsx:256 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:295 msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Fügen Sie der Vorlage eine externe ID hinzu. Diese kann zur Identifizierung in externen Systemen verwendet werden." @@ -110,8 +246,8 @@ msgstr "Text zum Feld hinzufügen" msgid "Admin" msgstr "Admin" -#: packages/ui/primitives/document-flow/add-settings.tsx:230 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:238 +#: packages/ui/primitives/document-flow/add-settings.tsx:272 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:277 msgid "Advanced Options" msgstr "Erweiterte Optionen" @@ -124,6 +260,14 @@ msgstr "Erweiterte Einstellungen" msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." msgstr "Nach der Übermittlung wird ein Dokument automatisch generiert und zu Ihrer Dokumentenseite hinzugefügt. Sie erhalten außerdem eine Benachrichtigung per E-Mail." +#: packages/email/template-components/template-document-cancel.tsx:31 +msgid "All signatures have been voided." +msgstr "" + +#: packages/email/templates/document-super-delete.tsx:20 +msgid "An admin has deleted your document \"{documentName}\"." +msgstr "" + #: packages/ui/primitives/pdf-viewer.tsx:167 msgid "An error occurred while loading the document." msgstr "Ein Fehler ist beim Laden des Dokuments aufgetreten." @@ -132,6 +276,10 @@ msgstr "Ein Fehler ist beim Laden des Dokuments aufgetreten." msgid "Approve" msgstr "Genehmigen" +#: packages/lib/constants/recipient-roles.ts:68 +#~ msgid "APPROVE_REQUEST" +#~ msgstr "" + #: packages/lib/constants/recipient-roles.ts:9 msgid "Approved" msgstr "Genehmigt" @@ -148,6 +296,10 @@ msgstr "Genehmigende" msgid "Approving" msgstr "Genehmigung" +#: packages/email/template-components/template-confirmation-email.tsx:28 +msgid "Before you get started, please confirm your email address by clicking the button below:" +msgstr "" + #: packages/ui/primitives/signature-pad/signature-pad.tsx:377 msgid "Black" msgstr "Schwarz" @@ -156,6 +308,14 @@ msgstr "Schwarz" msgid "Blue" msgstr "Blau" +#: packages/email/templates/team-invite.tsx:67 +msgid "by <0>{senderName}" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:70 +msgid "By accepting this request, you will take responsibility for any billing items associated with this team." +msgstr "" + #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 msgid "Cancel" @@ -206,6 +366,16 @@ msgstr "Klicken, um das Feld einzufügen" msgid "Close" msgstr "Schließen" +#: packages/email/template-components/template-document-completed.tsx:35 +#: packages/email/template-components/template-document-self-signed.tsx:36 +msgid "Completed" +msgstr "" + +#: packages/email/templates/document-completed.tsx:21 +#: packages/email/templates/document-self-signed.tsx:17 +msgid "Completed Document" +msgstr "" + #: packages/lib/constants/template.ts:12 msgid "Configure Direct Recipient" msgstr "Direkten Empfänger konfigurieren" @@ -215,10 +385,22 @@ msgstr "Direkten Empfänger konfigurieren" msgid "Configure the {0} field" msgstr "Konfigurieren Sie das Feld {0}" +#: packages/email/template-components/template-confirmation-email.tsx:38 +msgid "Confirm email" +msgstr "" + #: packages/ui/primitives/document-flow/document-flow-root.tsx:141 msgid "Continue" msgstr "Fortsetzen" +#: packages/email/template-components/template-document-invite.tsx:66 +msgid "Continue by {0} the document." +msgstr "" + +#: packages/email/template-components/template-document-completed.tsx:45 +msgid "Continue by downloading the document." +msgstr "" + #: packages/ui/components/document/document-share-button.tsx:46 msgid "Copied to clipboard" msgstr "In die Zwischenablage kopiert" @@ -227,6 +409,14 @@ msgstr "In die Zwischenablage kopiert" msgid "Copy Link" msgstr "Link kopieren" +#: packages/email/template-components/template-document-self-signed.tsx:46 +msgid "Create a <0>free account to access your signed documents at any time." +msgstr "" + +#: packages/email/template-components/template-document-self-signed.tsx:68 +msgid "Create account" +msgstr "" + #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" msgstr "Benutzerdefinierter Text" @@ -237,25 +427,47 @@ msgstr "Benutzerdefinierter Text" msgid "Date" msgstr "Datum" -#: packages/ui/primitives/document-flow/add-settings.tsx:271 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:279 +#: packages/ui/primitives/document-flow/add-settings.tsx:313 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:318 msgid "Date Format" msgstr "Datumsformat" +#: packages/email/templates/team-invite.tsx:83 +msgid "Decline" +msgstr "" + +#: packages/email/templates/reset-password.tsx:65 +msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us." +msgstr "" + #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570 msgid "Direct link receiver" msgstr "Empfänger des direkten Links" #: packages/ui/components/document/document-global-auth-access-select.tsx:62 -#: packages/ui/primitives/document-flow/add-settings.tsx:174 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:151 +#: packages/ui/primitives/document-flow/add-settings.tsx:216 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:190 msgid "Document access" msgstr "Dokumentenzugriff" +#: packages/lib/server-only/document/super-delete-document.ts:75 +msgid "Document Cancelled" +msgstr "" + +#: packages/email/templates/document-created-from-direct-template.tsx:30 +#: packages/lib/server-only/template/create-document-from-direct-template.ts:554 +msgid "Document created from direct template" +msgstr "" + #: packages/lib/constants/template.ts:20 msgid "Document Creation" msgstr "Dokumenterstellung" +#: packages/lib/server-only/document/send-delete-email.ts:58 +msgid "Document Deleted!" +msgstr "" + +#: packages/email/template-components/template-document-completed.tsx:64 #: packages/ui/components/document/document-download-button.tsx:68 msgid "Download" msgstr "Herunterladen" @@ -288,7 +500,7 @@ msgstr "E-Mail" msgid "Email is required" msgstr "E-Mail ist erforderlich" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:184 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:223 msgid "Email Options" msgstr "E-Mail-Optionen" @@ -318,8 +530,8 @@ msgstr "Passwort eingeben" msgid "Error" msgstr "Fehler" -#: packages/ui/primitives/document-flow/add-settings.tsx:241 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:249 +#: packages/ui/primitives/document-flow/add-settings.tsx:283 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:288 msgid "External ID" msgstr "Externe ID" @@ -361,6 +573,14 @@ msgstr "Feldplatzhalter" msgid "Font Size" msgstr "Schriftgröße" +#: packages/lib/server-only/auth/send-forgot-password.ts:61 +msgid "Forgot Password?" +msgstr "" + +#: packages/email/template-components/template-forgot-password.tsx:21 +msgid "Forgot your password?" +msgstr "" + #: packages/ui/primitives/document-flow/types.ts:50 msgid "Free Signature" msgstr "Freie Unterschrift" @@ -377,6 +597,10 @@ msgstr "Zurück" msgid "Green" msgstr "Grün" +#: packages/email/templates/reset-password.tsx:50 +msgid "Hi, {userName} <0>({userEmail})" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" msgstr "Ich bin ein Unterzeichner dieses Dokuments" @@ -410,12 +634,25 @@ msgstr "Ungültige E-Mail" msgid "Invalid email address" msgstr "Ungültige E-Mail-Adresse" +#: packages/email/templates/team-invite.tsx:55 +msgid "Join {teamName} on Documenso" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 msgid "Label" msgstr "Beschriftung" +#: packages/ui/primitives/document-flow/add-settings.tsx:176 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:150 +msgid "Language" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:87 +msgid "Link expires in 1 hour." +msgstr "" + #: packages/ui/primitives/lazy-pdf-viewer.tsx:15 #: packages/ui/primitives/pdf-viewer.tsx:44 msgid "Loading document..." @@ -434,7 +671,7 @@ msgid "Member" msgstr "Mitglied" #: packages/ui/primitives/document-flow/add-subject.tsx:95 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:215 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:254 msgid "Message <0>(Optional)" msgstr "Nachricht <0>(Optional)" @@ -525,6 +762,22 @@ msgstr "Seite {0} von {numPages}" msgid "Password Required" msgstr "Passwort erforderlich" +#: packages/email/templates/forgot-password.tsx:17 +msgid "Password Reset Requested" +msgstr "" + +#: packages/email/templates/reset-password.tsx:18 +msgid "Password Reset Successful" +msgstr "" + +#: packages/email/template-components/template-reset-password.tsx:22 +msgid "Password updated!" +msgstr "" + +#: packages/email/templates/document-pending.tsx:17 +msgid "Pending Document" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156 msgid "Pick a number" msgstr "Wählen Sie eine Zahl" @@ -535,6 +788,34 @@ msgstr "Wählen Sie eine Zahl" msgid "Placeholder" msgstr "Platzhalter" +#: packages/email/template-components/template-document-invite.tsx:43 +msgid "Please {0} your document<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/templates/document-invite.tsx:38 +msgid "Please {action} your document {documentName}" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:98 +msgid "Please {recipientActionVerb} this document" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:112 +msgid "Please {recipientActionVerb} this document created by your direct template" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:104 +msgid "Please {recipientActionVerb} your document" +msgstr "" + +#: packages/lib/server-only/auth/send-confirmation-email.ts:67 +msgid "Please confirm your email" +msgstr "" + +#: packages/email/templates/confirm-email.tsx:15 +msgid "Please confirm your email address" +msgstr "" + #: packages/ui/primitives/pdf-viewer.tsx:223 #: packages/ui/primitives/pdf-viewer.tsx:238 msgid "Please try again or contact our support." @@ -561,8 +842,8 @@ msgid "Receives copy" msgstr "Erhält Kopie" #: packages/ui/components/recipient/recipient-action-auth-select.tsx:39 -#: packages/ui/primitives/document-flow/add-settings.tsx:215 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:169 +#: packages/ui/primitives/document-flow/add-settings.tsx:257 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:208 msgid "Recipient action authentication" msgstr "Empfängeraktion Authentifizierung" @@ -570,11 +851,27 @@ msgstr "Empfängeraktion Authentifizierung" msgid "Red" msgstr "Rot" -#: packages/ui/primitives/document-flow/add-settings.tsx:329 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:332 +#: packages/ui/primitives/document-flow/add-settings.tsx:371 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:371 msgid "Redirect URL" msgstr "Weiterleitungs-URL" +#: packages/lib/server-only/document/resend-document.tsx:165 +msgid "Reminder: {0}" +msgstr "" + +#: packages/lib/server-only/document/resend-document.tsx:118 +msgid "Reminder: {0} invited you to {recipientActionVerb} a document" +msgstr "" + +#: packages/lib/server-only/document/resend-document.tsx:110 +msgid "Reminder: Please {recipientActionVerb} this document" +msgstr "" + +#: packages/lib/server-only/document/resend-document.tsx:114 +msgid "Reminder: Please {recipientActionVerb} your document" +msgstr "" + #: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" msgstr "Entfernen" @@ -587,6 +884,10 @@ msgstr "Entfernen" msgid "Required field" msgstr "Pflichtfeld" +#: packages/email/template-components/template-forgot-password.tsx:33 +msgid "Reset Password" +msgstr "" + #: packages/ui/components/document/document-share-button.tsx:147 msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" msgstr "Seien Sie versichert, Ihr Dokument ist streng vertraulich und wird niemals geteilt. Nur Ihre Unterzeichnungserfahrung wird hervorgehoben. Teilen Sie Ihre personalisierte Unterschriftkarte, um Ihre Unterschrift zu präsentieren!" @@ -654,6 +955,10 @@ msgstr "Erweiterte Einstellungen anzeigen" msgid "Sign" msgstr "Unterschreiben" +#: packages/email/template-components/template-reset-password.tsx:34 +msgid "Sign In" +msgstr "" + #: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 @@ -682,6 +987,15 @@ msgstr "Unterzeichner müssen eindeutige E-Mails haben" msgid "Signing" msgstr "Unterzeichnung" +#: packages/lib/server-only/document/send-completed-email.ts:93 +#: packages/lib/server-only/document/send-completed-email.ts:161 +msgid "Signing Complete!" +msgstr "" + +#: packages/lib/constants/recipient-roles.ts:66 +#~ msgid "SIGNING_REQUEST" +#~ msgstr "" + #: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34 msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Einige Unterzeichner haben noch kein Unterschriftsfeld zugewiesen bekommen. Bitte weisen Sie jedem Unterzeichner mindestens ein Unterschriftsfeld zu, bevor Sie fortfahren." @@ -704,7 +1018,7 @@ msgid "Step <0>{step} of {maxStep}" msgstr "Schritt <0>{step} von {maxStep}" #: packages/ui/primitives/document-flow/add-subject.tsx:78 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:195 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:234 msgid "Subject <0>(Optional)" msgstr "Betreff <0>(Optional)" @@ -712,7 +1026,19 @@ msgstr "Betreff <0>(Optional)" msgid "Submit" msgstr "Einreichen" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:134 +#: packages/lib/server-only/team/delete-team-email.ts:96 +msgid "Team email has been revoked for {0}" +msgstr "" + +#: packages/email/templates/team-email-removed.tsx:53 +msgid "Team email removed" +msgstr "" + +#: packages/email/templates/team-email-removed.tsx:27 +msgid "Team email removed for {teamName} on Documenso" +msgstr "" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:133 msgid "Template title" msgstr "Vorlagentitel" @@ -722,6 +1048,10 @@ msgstr "Vorlagentitel" msgid "Text" msgstr "Text" +#: packages/email/template-components/template-forgot-password.tsx:25 +msgid "That's okay, it happens! Click the button below to reset your password." +msgstr "" + #: packages/ui/components/recipient/recipient-action-auth-select.tsx:44 msgid "The authentication required for recipients to sign fields" msgstr "Die Authentifizierung, die erforderlich ist, damit Empfänger Felder signieren" @@ -738,10 +1068,22 @@ msgstr "Die Authentifizierung, die erforderlich ist, damit Empfänger das Dokume msgid "The document's name" msgstr "Der Name des Dokuments" +#: packages/email/templates/team-delete.tsx:35 +msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents" +msgstr "" + +#: packages/email/templates/team-delete.tsx:34 +msgid "The following team has been deleted by you" +msgstr "" + #: packages/ui/primitives/document-password-dialog.tsx:52 msgid "The password you have entered is incorrect. Please try again." msgstr "Das eingegebene Passwort ist falsch. Bitte versuchen Sie es erneut." +#: packages/email/template-components/template-document-super-delete.tsx:38 +msgid "The reason provided for deletion is the following:" +msgstr "" + #: packages/ui/components/recipient/recipient-role-select.tsx:103 msgid "The recipient is not required to take any action and receives a copy of the document after it is completed." msgstr "Der Empfänger muss keine Aktion ausführen und erhält nach Abschluss eine Kopie des Dokuments." @@ -774,10 +1116,18 @@ msgstr "Die E-Mail des Unterzeichners" msgid "The signer's name" msgstr "Der Name des Unterzeichners" +#: packages/email/templates/team-email-removed.tsx:57 +msgid "The team email <0>{teamEmail} has been removed from the following team" +msgstr "" + #: packages/ui/components/document/document-global-auth-action-select.tsx:72 msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." msgstr "Dies kann überschrieben werden, indem die Authentifizierungsanforderungen im nächsten Schritt direkt für jeden Empfänger festgelegt werden." +#: packages/email/template-components/template-document-super-delete.tsx:31 +msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support." +msgstr "" + #: packages/ui/primitives/document-flow/add-fields.tsx:757 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." @@ -786,6 +1136,10 @@ msgstr "Dieses Dokument wurde bereits an diesen Empfänger gesendet. Sie können msgid "This document is password protected. Please enter the password to view the document." msgstr "Dieses Dokument ist durch ein Passwort geschützt. Bitte geben Sie das Passwort ein, um das Dokument anzusehen." +#: packages/email/template-components/template-footer.tsx:14 +msgid "This document was sent using <0>Documenso." +msgstr "" + #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573 msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." msgstr "Dieses Feld kann nicht geändert oder gelöscht werden. Wenn Sie den direkten Link dieser Vorlage teilen oder zu Ihrem öffentlichen Profil hinzufügen, kann jeder, der darauf zugreift, seinen Namen und seine E-Mail-Adresse eingeben und die ihm zugewiesenen Felder ausfüllen." @@ -802,12 +1156,12 @@ msgstr "Dieser Unterzeichner hat das Dokument bereits unterschrieben." msgid "This will override any global settings." msgstr "Dies überschreibt alle globalen Einstellungen." -#: packages/ui/primitives/document-flow/add-settings.tsx:305 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:309 +#: packages/ui/primitives/document-flow/add-settings.tsx:347 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:348 msgid "Time Zone" msgstr "Zeitzone" -#: packages/ui/primitives/document-flow/add-settings.tsx:153 +#: packages/ui/primitives/document-flow/add-settings.tsx:155 msgid "Title" msgstr "Titel" @@ -846,6 +1200,18 @@ msgstr "Wert" msgid "View" msgstr "Betrachten" +#: packages/email/templates/document-created-from-direct-template.tsx:69 +msgid "View document" +msgstr "" + +#: packages/email/template-components/template-document-self-signed.tsx:79 +msgid "View plans" +msgstr "" + +#: packages/lib/constants/recipient-roles.ts:67 +#~ msgid "VIEW_REQUEST" +#~ msgstr "" + #: packages/lib/constants/recipient-roles.ts:27 msgid "Viewed" msgstr "Betrachtet" @@ -862,10 +1228,34 @@ msgstr "Betrachter" msgid "Viewing" msgstr "Betrachten" +#: packages/email/template-components/template-document-pending.tsx:31 +msgid "Waiting for others" +msgstr "" + +#: packages/lib/server-only/document/send-pending-email.ts:73 +msgid "Waiting for others to complete signing." +msgstr "" + +#: packages/email/template-components/template-document-pending.tsx:41 +msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready." +msgstr "" + +#: packages/email/templates/reset-password.tsx:59 +msgid "We've changed your password as you asked. You can now sign in with your new password." +msgstr "" + +#: packages/email/template-components/template-confirmation-email.tsx:24 +msgid "Welcome to Documenso!" +msgstr "" + #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" msgstr "Sie sind dabei, dieses Dokument an die Empfänger zu senden. Sind Sie sicher, dass Sie fortfahren möchten?" +#: packages/email/template-components/template-confirmation-email.tsx:41 +msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)" +msgstr "" + #: packages/ui/components/document/document-send-email-message-helper.tsx:11 msgid "You can use the following variables in your message:" msgstr "Sie können die folgenden Variablen in Ihrer Nachricht verwenden:" @@ -874,7 +1264,48 @@ msgstr "Sie können die folgenden Variablen in Ihrer Nachricht verwenden:" msgid "You cannot upload documents at this time." msgstr "Sie können derzeit keine Dokumente hochladen." +#: packages/email/template-components/template-document-cancel.tsx:35 +msgid "You don't need to sign it anymore." +msgstr "" + +#: packages/lib/server-only/team/create-team-member-invites.ts:168 +msgid "You have been invited to join {0} on Documenso" +msgstr "" + +#: packages/email/templates/team-invite.tsx:59 +msgid "You have been invited to join the following team" +msgstr "" + +#: packages/lib/server-only/recipient/set-recipients-for-document.ts:314 +msgid "You have been removed from a document" +msgstr "" + +#: packages/lib/server-only/team/request-team-ownership-transfer.ts:114 +msgid "You have been requested to take ownership of team {0} on Documenso" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:102 +#: packages/lib/server-only/document/resend-document.tsx:113 +msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it." +msgstr "" + #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "Sie haben Ihr Dokumentenlimit erreicht." +#: packages/email/template-components/template-document-self-signed.tsx:42 +msgid "You have signed “{documentName}”" +msgstr "" + +#: packages/email/template-components/template-document-super-delete.tsx:23 +msgid "Your document has been deleted by an admin!" +msgstr "" + +#: packages/email/template-components/template-reset-password.tsx:26 +msgid "Your password has been updated." +msgstr "" + +#: packages/email/templates/team-delete.tsx:26 +#: packages/email/templates/team-delete.tsx:30 +msgid "Your team has been deleted" +msgstr "" diff --git a/packages/lib/translations/de/marketing.po b/packages/lib/translations/de/marketing.po index 51b162dde..9f97b6734 100644 --- a/packages/lib/translations/de/marketing.po +++ b/packages/lib/translations/de/marketing.po @@ -42,7 +42,7 @@ msgstr "Dokument hinzufügen" msgid "Add More Users for {0}" msgstr "Mehr Benutzer hinzufügen für {0}" -#: apps/marketing/src/app/(marketing)/open/page.tsx:165 +#: apps/marketing/src/app/(marketing)/open/page.tsx:164 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" msgstr "Alle unsere Kennzahlen, Finanzen und Erkenntnisse sind öffentlich. Wir glauben an Transparenz und möchten unsere Reise mit Ihnen teilen. Mehr erfahren Sie hier: <0>Ankündigung Offene Kennzahlen" @@ -90,7 +90,7 @@ msgstr "Änderungsprotokoll" msgid "Choose a template from the community app store. Or submit your own template for others to use." msgstr "Wählen Sie eine Vorlage aus dem Community-App-Store. Oder reichen Sie Ihre eigene Vorlage ein, damit andere sie benutzen können." -#: apps/marketing/src/app/(marketing)/open/page.tsx:219 +#: apps/marketing/src/app/(marketing)/open/page.tsx:218 msgid "Community" msgstr "Gemeinschaft" @@ -193,7 +193,7 @@ msgstr "Schnell." msgid "Faster, smarter and more beautiful." msgstr "Schneller, intelligenter und schöner." -#: apps/marketing/src/app/(marketing)/open/page.tsx:210 +#: apps/marketing/src/app/(marketing)/open/page.tsx:209 msgid "Finances" msgstr "Finanzen" @@ -246,15 +246,15 @@ msgstr "Fangen Sie heute an." msgid "Get the latest news from Documenso, including product updates, team announcements and more!" msgstr "Erhalten Sie die neuesten Nachrichten von Documenso, einschließlich Produkt-Updates, Team-Ankündigungen und mehr!" -#: apps/marketing/src/app/(marketing)/open/page.tsx:233 +#: apps/marketing/src/app/(marketing)/open/page.tsx:232 msgid "GitHub: Total Merged PRs" msgstr "GitHub: Gesamte PRs zusammengeführt" -#: apps/marketing/src/app/(marketing)/open/page.tsx:251 +#: apps/marketing/src/app/(marketing)/open/page.tsx:250 msgid "GitHub: Total Open Issues" msgstr "GitHub: Gesamte offene Issues" -#: apps/marketing/src/app/(marketing)/open/page.tsx:225 +#: apps/marketing/src/app/(marketing)/open/page.tsx:224 msgid "GitHub: Total Stars" msgstr "GitHub: Gesamtanzahl Sterne" @@ -262,7 +262,7 @@ msgstr "GitHub: Gesamtanzahl Sterne" msgid "Global Salary Bands" msgstr "Globale Gehaltsbänder" -#: apps/marketing/src/app/(marketing)/open/page.tsx:261 +#: apps/marketing/src/app/(marketing)/open/page.tsx:260 msgid "Growth" msgstr "Wachstum" @@ -286,7 +286,7 @@ msgstr "Integrierte Zahlungen mit Stripe, sodass Sie sich keine Sorgen ums Bezah msgid "Integrates with all your favourite tools." msgstr "Integriert sich mit all Ihren Lieblingstools." -#: apps/marketing/src/app/(marketing)/open/page.tsx:289 +#: apps/marketing/src/app/(marketing)/open/page.tsx:288 msgid "Is there more?" msgstr "Gibt es mehr?" @@ -310,11 +310,11 @@ msgstr "Standort" msgid "Make it your own through advanced customization and adjustability." msgstr "Machen Sie es zu Ihrem eigenen durch erweiterte Anpassung und Einstellbarkeit." -#: apps/marketing/src/app/(marketing)/open/page.tsx:199 +#: apps/marketing/src/app/(marketing)/open/page.tsx:198 msgid "Merged PR's" msgstr "Zusammengeführte PRs" -#: apps/marketing/src/app/(marketing)/open/page.tsx:234 +#: apps/marketing/src/app/(marketing)/open/page.tsx:233 msgid "Merged PRs" msgstr "Zusammengeführte PRs" @@ -345,8 +345,8 @@ msgstr "Keine Kreditkarte erforderlich" msgid "None of these work for you? Try self-hosting!" msgstr "Keines dieser Angebote passt zu Ihnen? Versuchen Sie das Selbst-Hosting!" -#: apps/marketing/src/app/(marketing)/open/page.tsx:194 -#: apps/marketing/src/app/(marketing)/open/page.tsx:252 +#: apps/marketing/src/app/(marketing)/open/page.tsx:193 +#: apps/marketing/src/app/(marketing)/open/page.tsx:251 msgid "Open Issues" msgstr "Offene Issues" @@ -354,7 +354,7 @@ msgstr "Offene Issues" msgid "Open Source or Hosted." msgstr "Open Source oder Hosted." -#: apps/marketing/src/app/(marketing)/open/page.tsx:161 +#: apps/marketing/src/app/(marketing)/open/page.tsx:160 #: 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 @@ -466,7 +466,7 @@ msgstr "Intelligent." msgid "Star on GitHub" msgstr "Auf GitHub favorisieren" -#: apps/marketing/src/app/(marketing)/open/page.tsx:226 +#: apps/marketing/src/app/(marketing)/open/page.tsx:225 msgid "Stars" msgstr "Favoriten" @@ -501,7 +501,7 @@ msgstr "Vorlagen-Shop (Demnächst)." msgid "That's awesome. You can take a look at the current <0>Issues and join our <1>Discord Community 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 "Das ist großartig. Sie können sich die aktuellen <0>Issues ansehen und unserer <1>Discord-Community beitreten, um auf dem neuesten Stand zu bleiben, was die aktuellen Prioritäten sind. In jedem Fall sind wir eine offene Gemeinschaft und begrüßen jegliche Beiträge, technische und nicht-technische ❤️" -#: apps/marketing/src/app/(marketing)/open/page.tsx:293 +#: apps/marketing/src/app/(marketing)/open/page.tsx:292 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 "Diese Seite entwickelt sich weiter, während wir lernen, was ein großartiges Signing-Unternehmen ausmacht. Wir werden sie aktualisieren, wenn wir mehr zu teilen haben." @@ -514,8 +514,8 @@ msgstr "Titel" msgid "Total Completed Documents" msgstr "Insgesamt Abgeschlossene Dokumente" +#: apps/marketing/src/app/(marketing)/open/page.tsx:266 #: apps/marketing/src/app/(marketing)/open/page.tsx:267 -#: apps/marketing/src/app/(marketing)/open/page.tsx:268 msgid "Total Customers" msgstr "Insgesamt Kunden" @@ -602,4 +602,3 @@ 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." - diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index 81d733570..c3bd391fb 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -260,12 +260,12 @@ msgstr "Aktive Abonnements" msgid "Add" msgstr "Hinzufügen" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:88 msgid "Add all relevant fields for each recipient." msgstr "Fügen Sie alle relevanten Felder für jeden Empfänger hinzu." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:83 msgid "Add all relevant placeholders for each recipient." msgstr "Fügen Sie alle relevanten Platzhalter für jeden Empfänger hinzu." @@ -281,8 +281,8 @@ msgstr "Fügen Sie einen Authenticator hinzu, um als sekundäre Authentifizierun msgid "Add email" msgstr "E-Mail hinzufügen" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:174 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:86 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 msgid "Add Fields" msgstr "Felder hinzufügen" @@ -295,15 +295,15 @@ msgstr "Mehr hinzufügen" msgid "Add passkey" msgstr "Passkey hinzufügen" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:81 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 msgid "Add Placeholders" msgstr "Platzhalter hinzufügen" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:169 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 msgid "Add Signers" msgstr "Unterzeichner hinzufügen" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180 msgid "Add Subject" msgstr "Betreff hinzufügen" @@ -311,7 +311,7 @@ msgstr "Betreff hinzufügen" msgid "Add team email" msgstr "Team-E-Mail hinzufügen" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171 msgid "Add the people who will sign the document." msgstr "Fügen Sie die Personen hinzu, die das Dokument unterschreiben werden." @@ -319,7 +319,7 @@ msgstr "Fügen Sie die Personen hinzu, die das Dokument unterschreiben werden." msgid "Add the recipients to create the document with" msgstr "Fügen Sie die Empfänger hinzu, um das Dokument zu erstellen" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180 +#: 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." @@ -414,13 +414,13 @@ msgstr "Eine E-Mail, in der die Übertragung dieses Teams angefordert wird, wurd msgid "An error occurred" msgstr "Ein Fehler ist aufgetreten" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:266 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:197 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:231 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:201 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:235 msgid "An error occurred while adding signers." msgstr "Ein Fehler ist aufgetreten, während Unterzeichner hinzugefügt wurden." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:301 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303 msgid "An error occurred while adding the fields." msgstr "Ein Fehler ist aufgetreten, während die Felder hinzugefügt wurden." @@ -482,7 +482,7 @@ msgstr "Ein Fehler ist aufgetreten, während die Unterschrift entfernt wurde." msgid "An error occurred while removing the text." msgstr "Ein Fehler ist aufgetreten, während der Text entfernt wurde." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:332 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:334 msgid "An error occurred while sending the document." msgstr "Ein Fehler ist aufgetreten, während das Dokument gesendet wurde." @@ -507,8 +507,8 @@ msgstr "Ein Fehler ist aufgetreten, während das Dokument unterzeichnet wurde." msgid "An error occurred while trying to create a checkout session." msgstr "Ein Fehler ist aufgetreten, während versucht wurde, eine Checkout-Sitzung zu erstellen." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:232 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:166 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:170 msgid "An error occurred while updating the document settings." msgstr "Ein Fehler ist aufgetreten, während die Dokumenteinstellungen aktualisiert wurden." @@ -869,11 +869,11 @@ msgstr "Abgeschlossene Dokumente" msgid "Completed Documents" msgstr "Abgeschlossene Dokumente" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166 msgid "Configure general settings for the document." msgstr "Konfigurieren Sie die allgemeinen Einstellungen für das Dokument." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:78 msgid "Configure general settings for the template." msgstr "Konfigurieren Sie die allgemeinen Einstellungen für die Vorlage." @@ -1350,7 +1350,7 @@ msgstr "Dokument erneut gesendet" msgid "Document resealed" msgstr "Dokument wieder versiegelt" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:321 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:323 msgid "Document sent" msgstr "Dokument gesendet" @@ -1579,16 +1579,16 @@ msgstr "Geben Sie hier Ihren Text ein" #: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:231 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:265 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:300 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:331 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:233 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:267 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:302 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:333 #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:165 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:196 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:169 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:200 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:234 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 @@ -1679,8 +1679,8 @@ msgstr "Haben Sie Ihr Passwort vergessen?" msgid "Full Name" msgstr "Vollständiger Name" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:164 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:76 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60 #: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43 #: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51 @@ -3244,7 +3244,7 @@ msgstr "Vorlage wurde aktualisiert." msgid "Template moved" msgstr "Vorlage verschoben" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:219 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:223 msgid "Template saved" msgstr "Vorlage gespeichert" @@ -4521,7 +4521,7 @@ msgstr "Ihr Dokument wurde erfolgreich aus der Vorlage erstellt." msgid "Your document has been re-sent successfully." msgstr "Ihr Dokument wurde erfolgreich erneut gesendet." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:322 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:324 msgid "Your document has been sent successfully." msgstr "Ihr Dokument wurde erfolgreich gesendet." @@ -4612,7 +4612,7 @@ msgstr "Ihre Vorlage wurde erfolgreich gelöscht." msgid "Your template will be duplicated." msgstr "Ihre Vorlage wird dupliziert." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:220 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:224 msgid "Your templates has been saved successfully." msgstr "Ihre Vorlagen wurden erfolgreich gespeichert." @@ -4628,4 +4628,3 @@ msgstr "Ihr Token wurde erfolgreich erstellt! Stellen Sie sicher, dass Sie es ko #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Ihre Tokens werden hier angezeigt, sobald Sie sie erstellt haben." - diff --git a/packages/lib/translations/en/common.po b/packages/lib/translations/en/common.po index 37f959cf7..596ff4e27 100644 --- a/packages/lib/translations/en/common.po +++ b/packages/lib/translations/en/common.po @@ -13,14 +13,104 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" +#: packages/email/template-components/template-document-super-delete.tsx:27 +msgid "\"{documentName}\" has been deleted by an admin." +msgstr "\"{documentName}\" has been deleted by an admin." + +#: packages/email/template-components/template-document-pending.tsx:37 +msgid "“{documentName}” has been signed" +msgstr "“{documentName}” has been signed" + +#: packages/email/template-components/template-document-completed.tsx:41 +#: packages/lib/server-only/document/resend-document.tsx:109 +msgid "{0}" +msgstr "{0}" + +#: packages/email/template-components/template-document-invite.tsx:74 +msgid "{0} Document" +msgstr "{0} Document" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117 +msgid "{0} invited you to {recipientActionVerb} a document" +msgstr "{0} invited you to {recipientActionVerb} a document" + +#: packages/email/templates/team-join.tsx:55 +msgid "{0} joined the team {teamName} on Documenso" +msgstr "{0} joined the team {teamName} on Documenso" + +#: packages/email/templates/team-leave.tsx:55 +msgid "{0} left the team {teamName} on Documenso" +msgstr "{0} left the team {teamName} on Documenso" + #: packages/ui/primitives/data-table-pagination.tsx:30 msgid "{0} of {1} row(s) selected." msgstr "{0} of {1} row(s) selected." +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:119 +#: packages/lib/server-only/document/resend-document.tsx:119 +msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"." +msgstr "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"." + +#: packages/email/templates/document-invite.tsx:79 +msgid "{inviterName} <0>({inviterEmail})" +msgstr "{inviterName} <0>({inviterEmail})" + +#: packages/email/templates/document-cancel.tsx:19 +msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore." +msgstr "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore." + +#: packages/email/template-components/template-document-cancel.tsx:24 +msgid "{inviterName} has cancelled the document<0/>\"{documentName}\"" +msgstr "{inviterName} has cancelled the document<0/>\"{documentName}\"" + +#: packages/email/template-components/template-document-invite.tsx:57 +msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{inviterName} has invited you to {0}<0/>\"{documentName}\"" + +#: packages/email/templates/document-invite.tsx:41 +msgid "{inviterName} has invited you to {action} {documentName}" +msgstr "{inviterName} has invited you to {action} {documentName}" + +#: packages/email/templates/recipient-removed-from-document.tsx:18 +msgid "{inviterName} has removed you from the document {documentName}." +msgstr "{inviterName} has removed you from the document {documentName}." + +#: packages/email/template-components/template-document-invite.tsx:49 +msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\"" + +#: packages/email/templates/document-invite.tsx:40 +msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}" +msgstr "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}" + +#: packages/email/templates/team-join.tsx:61 +msgid "{memberEmail} joined the following team" +msgstr "{memberEmail} joined the following team" + +#: packages/email/templates/team-leave.tsx:61 +msgid "{memberEmail} left the following team" +msgstr "{memberEmail} left the following team" + +#: packages/email/templates/document-created-from-direct-template.tsx:55 +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/templates/team-transfer-request.tsx:55 +msgid "{teamName} ownership transfer request" +msgstr "{teamName} ownership transfer request" + #: packages/ui/primitives/data-table-pagination.tsx:41 msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}" msgstr "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}" +#: packages/email/templates/document-invite.tsx:91 +msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`" +msgstr "`${inviterName} has invited you to ${action} the document \"${documentName}\".`" + +#: packages/email/templates/team-transfer-request.tsx:59 +msgid "<0>{senderName} has requested that you take ownership of the following team" +msgstr "<0>{senderName} has requested that you take ownership of the following team" + #: packages/ui/components/recipient/recipient-action-auth-select.tsx:53 msgid "<0>Inherit authentication method - Use the global action signing authentication method configured in the \"General Settings\" step" msgstr "<0>Inherit authentication method - Use the global action signing authentication method configured in the \"General Settings\" step" @@ -51,20 +141,66 @@ msgstr "<0>Require account - The recipient must be signed in to view the doc msgid "<0>Require passkey - The recipient must have an account and passkey configured via their settings" msgstr "<0>Require passkey - The recipient must have an account and passkey configured via their settings" +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:109 +msgid "A document was created by your direct template that requires you to {recipientActionVerb} it." +msgstr "A document was created by your direct template that requires you to {recipientActionVerb} it." + +#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90 +msgid "A new member has joined your team" +msgstr "A new member has joined your team" + +#: packages/lib/server-only/team/create-team-email-verification.ts:142 +msgid "A request to use your email has been initiated by {teamName} on Documenso" +msgstr "A request to use your email has been initiated by {teamName} on Documenso" + +#: packages/email/templates/team-join.tsx:29 +msgid "A team member has joined a team on Documenso" +msgstr "A team member has joined a team on Documenso" + +#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79 +msgid "A team member has left {0}" +msgstr "A team member has left {0}" + +#: packages/email/templates/team-leave.tsx:29 +msgid "A team member has left a team on Documenso" +msgstr "A team member has left a team on Documenso" + +#: packages/email/templates/team-delete.tsx:27 +#: packages/email/templates/team-delete.tsx:31 +msgid "A team you were a part of has been deleted" +msgstr "A team you were a part of has been deleted" + +#: packages/email/templates/team-invite.tsx:77 +#: packages/email/templates/team-transfer-request.tsx:81 +msgid "Accept" +msgstr "Accept" + +#: packages/email/templates/team-invite.tsx:29 +msgid "Accept invitation to join a team on Documenso" +msgstr "Accept invitation to join a team on Documenso" + +#: packages/email/templates/confirm-team-email.tsx:38 +msgid "Accept team email request for {teamName} on Documenso" +msgstr "Accept team email request for {teamName} on Documenso" + +#: packages/email/templates/team-transfer-request.tsx:29 +msgid "Accept team transfer request on Documenso" +msgstr "Accept team transfer request on Documenso" + #: packages/ui/primitives/document-dropzone.tsx:69 msgid "Add a document" msgstr "Add a document" -#: packages/ui/primitives/document-flow/add-settings.tsx:336 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:339 +#: packages/ui/primitives/document-flow/add-settings.tsx:378 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:378 msgid "Add a URL to redirect the user to once the document is signed" msgstr "Add a URL to redirect the user to once the document is signed" -#: packages/ui/primitives/document-flow/add-settings.tsx:248 +#: packages/ui/primitives/document-flow/add-settings.tsx:290 msgid "Add an external ID to the document. This can be used to identify the document in external systems." msgstr "Add an external ID to the document. This can be used to identify the document in external systems." -#: packages/ui/primitives/template-flow/add-template-settings.tsx:256 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:295 msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Add an external ID to the template. This can be used to identify in external systems." @@ -105,8 +241,8 @@ msgstr "Add text to the field" msgid "Admin" msgstr "Admin" -#: packages/ui/primitives/document-flow/add-settings.tsx:230 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:238 +#: packages/ui/primitives/document-flow/add-settings.tsx:272 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:277 msgid "Advanced Options" msgstr "Advanced Options" @@ -119,6 +255,14 @@ msgstr "Advanced settings" msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." msgstr "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." +#: packages/email/template-components/template-document-cancel.tsx:31 +msgid "All signatures have been voided." +msgstr "All signatures have been voided." + +#: packages/email/templates/document-super-delete.tsx:20 +msgid "An admin has deleted your document \"{documentName}\"." +msgstr "An admin has deleted your document \"{documentName}\"." + #: packages/ui/primitives/pdf-viewer.tsx:167 msgid "An error occurred while loading the document." msgstr "An error occurred while loading the document." @@ -127,6 +271,10 @@ msgstr "An error occurred while loading the document." msgid "Approve" msgstr "Approve" +#: packages/lib/constants/recipient-roles.ts:68 +#~ msgid "APPROVE_REQUEST" +#~ msgstr "APPROVE_REQUEST" + #: packages/lib/constants/recipient-roles.ts:9 msgid "Approved" msgstr "Approved" @@ -143,6 +291,10 @@ msgstr "Approvers" msgid "Approving" msgstr "Approving" +#: packages/email/template-components/template-confirmation-email.tsx:28 +msgid "Before you get started, please confirm your email address by clicking the button below:" +msgstr "Before you get started, please confirm your email address by clicking the button below:" + #: packages/ui/primitives/signature-pad/signature-pad.tsx:377 msgid "Black" msgstr "Black" @@ -151,6 +303,14 @@ msgstr "Black" msgid "Blue" msgstr "Blue" +#: packages/email/templates/team-invite.tsx:67 +msgid "by <0>{senderName}" +msgstr "by <0>{senderName}" + +#: packages/email/templates/team-transfer-request.tsx:70 +msgid "By accepting this request, you will take responsibility for any billing items associated with this team." +msgstr "By accepting this request, you will take responsibility for any billing items associated with this team." + #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 msgid "Cancel" @@ -201,6 +361,16 @@ msgstr "Click to insert field" msgid "Close" msgstr "Close" +#: packages/email/template-components/template-document-completed.tsx:35 +#: packages/email/template-components/template-document-self-signed.tsx:36 +msgid "Completed" +msgstr "Completed" + +#: packages/email/templates/document-completed.tsx:21 +#: packages/email/templates/document-self-signed.tsx:17 +msgid "Completed Document" +msgstr "Completed Document" + #: packages/lib/constants/template.ts:12 msgid "Configure Direct Recipient" msgstr "Configure Direct Recipient" @@ -210,10 +380,22 @@ msgstr "Configure Direct Recipient" msgid "Configure the {0} field" msgstr "Configure the {0} field" +#: packages/email/template-components/template-confirmation-email.tsx:38 +msgid "Confirm email" +msgstr "Confirm email" + #: packages/ui/primitives/document-flow/document-flow-root.tsx:141 msgid "Continue" msgstr "Continue" +#: packages/email/template-components/template-document-invite.tsx:66 +msgid "Continue by {0} the document." +msgstr "Continue by {0} the document." + +#: packages/email/template-components/template-document-completed.tsx:45 +msgid "Continue by downloading the document." +msgstr "Continue by downloading the document." + #: packages/ui/components/document/document-share-button.tsx:46 msgid "Copied to clipboard" msgstr "Copied to clipboard" @@ -222,6 +404,14 @@ msgstr "Copied to clipboard" msgid "Copy Link" msgstr "Copy Link" +#: packages/email/template-components/template-document-self-signed.tsx:46 +msgid "Create a <0>free account to access your signed documents at any time." +msgstr "Create a <0>free account to access your signed documents at any time." + +#: packages/email/template-components/template-document-self-signed.tsx:68 +msgid "Create account" +msgstr "Create account" + #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" msgstr "Custom Text" @@ -232,25 +422,47 @@ msgstr "Custom Text" msgid "Date" msgstr "Date" -#: packages/ui/primitives/document-flow/add-settings.tsx:271 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:279 +#: packages/ui/primitives/document-flow/add-settings.tsx:313 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:318 msgid "Date Format" msgstr "Date Format" +#: packages/email/templates/team-invite.tsx:83 +msgid "Decline" +msgstr "Decline" + +#: packages/email/templates/reset-password.tsx:65 +msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us." +msgstr "Didn't request a password change? We are here to help you secure your account, just <0>contact us." + #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570 msgid "Direct link receiver" msgstr "Direct link receiver" #: packages/ui/components/document/document-global-auth-access-select.tsx:62 -#: packages/ui/primitives/document-flow/add-settings.tsx:174 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:151 +#: packages/ui/primitives/document-flow/add-settings.tsx:216 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:190 msgid "Document access" msgstr "Document access" +#: packages/lib/server-only/document/super-delete-document.ts:75 +msgid "Document Cancelled" +msgstr "Document Cancelled" + +#: packages/email/templates/document-created-from-direct-template.tsx:30 +#: packages/lib/server-only/template/create-document-from-direct-template.ts:554 +msgid "Document created from direct template" +msgstr "Document created from direct template" + #: packages/lib/constants/template.ts:20 msgid "Document Creation" msgstr "Document Creation" +#: packages/lib/server-only/document/send-delete-email.ts:58 +msgid "Document Deleted!" +msgstr "Document Deleted!" + +#: packages/email/template-components/template-document-completed.tsx:64 #: packages/ui/components/document/document-download-button.tsx:68 msgid "Download" msgstr "Download" @@ -283,7 +495,7 @@ msgstr "Email" msgid "Email is required" msgstr "Email is required" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:184 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:223 msgid "Email Options" msgstr "Email Options" @@ -313,8 +525,8 @@ msgstr "Enter password" msgid "Error" msgstr "Error" -#: packages/ui/primitives/document-flow/add-settings.tsx:241 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:249 +#: packages/ui/primitives/document-flow/add-settings.tsx:283 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:288 msgid "External ID" msgstr "External ID" @@ -356,6 +568,14 @@ msgstr "Field placeholder" msgid "Font Size" msgstr "Font Size" +#: packages/lib/server-only/auth/send-forgot-password.ts:61 +msgid "Forgot Password?" +msgstr "Forgot Password?" + +#: packages/email/template-components/template-forgot-password.tsx:21 +msgid "Forgot your password?" +msgstr "Forgot your password?" + #: packages/ui/primitives/document-flow/types.ts:50 msgid "Free Signature" msgstr "Free Signature" @@ -372,6 +592,10 @@ msgstr "Go Back" msgid "Green" msgstr "Green" +#: packages/email/templates/reset-password.tsx:50 +msgid "Hi, {userName} <0>({userEmail})" +msgstr "Hi, {userName} <0>({userEmail})" + #: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" msgstr "I am a signer of this document" @@ -405,12 +629,25 @@ msgstr "Invalid email" msgid "Invalid email address" msgstr "Invalid email address" +#: packages/email/templates/team-invite.tsx:55 +msgid "Join {teamName} on Documenso" +msgstr "Join {teamName} on Documenso" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 msgid "Label" msgstr "Label" +#: packages/ui/primitives/document-flow/add-settings.tsx:176 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:150 +msgid "Language" +msgstr "Language" + +#: packages/email/templates/team-transfer-request.tsx:87 +msgid "Link expires in 1 hour." +msgstr "Link expires in 1 hour." + #: packages/ui/primitives/lazy-pdf-viewer.tsx:15 #: packages/ui/primitives/pdf-viewer.tsx:44 msgid "Loading document..." @@ -429,7 +666,7 @@ msgid "Member" msgstr "Member" #: packages/ui/primitives/document-flow/add-subject.tsx:95 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:215 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:254 msgid "Message <0>(Optional)" msgstr "Message <0>(Optional)" @@ -520,6 +757,22 @@ msgstr "Page {0} of {numPages}" msgid "Password Required" msgstr "Password Required" +#: packages/email/templates/forgot-password.tsx:17 +msgid "Password Reset Requested" +msgstr "Password Reset Requested" + +#: packages/email/templates/reset-password.tsx:18 +msgid "Password Reset Successful" +msgstr "Password Reset Successful" + +#: packages/email/template-components/template-reset-password.tsx:22 +msgid "Password updated!" +msgstr "Password updated!" + +#: packages/email/templates/document-pending.tsx:17 +msgid "Pending Document" +msgstr "Pending Document" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156 msgid "Pick a number" msgstr "Pick a number" @@ -530,6 +783,34 @@ msgstr "Pick a number" msgid "Placeholder" msgstr "Placeholder" +#: packages/email/template-components/template-document-invite.tsx:43 +msgid "Please {0} your document<0/>\"{documentName}\"" +msgstr "Please {0} your document<0/>\"{documentName}\"" + +#: packages/email/templates/document-invite.tsx:38 +msgid "Please {action} your document {documentName}" +msgstr "Please {action} your document {documentName}" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:98 +msgid "Please {recipientActionVerb} this document" +msgstr "Please {recipientActionVerb} this document" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:112 +msgid "Please {recipientActionVerb} this document created by your direct template" +msgstr "Please {recipientActionVerb} this document created by your direct template" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:104 +msgid "Please {recipientActionVerb} your document" +msgstr "Please {recipientActionVerb} your document" + +#: packages/lib/server-only/auth/send-confirmation-email.ts:67 +msgid "Please confirm your email" +msgstr "Please confirm your email" + +#: packages/email/templates/confirm-email.tsx:15 +msgid "Please confirm your email address" +msgstr "Please confirm your email address" + #: packages/ui/primitives/pdf-viewer.tsx:223 #: packages/ui/primitives/pdf-viewer.tsx:238 msgid "Please try again or contact our support." @@ -556,8 +837,8 @@ msgid "Receives copy" msgstr "Receives copy" #: packages/ui/components/recipient/recipient-action-auth-select.tsx:39 -#: packages/ui/primitives/document-flow/add-settings.tsx:215 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:169 +#: packages/ui/primitives/document-flow/add-settings.tsx:257 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:208 msgid "Recipient action authentication" msgstr "Recipient action authentication" @@ -565,11 +846,27 @@ msgstr "Recipient action authentication" msgid "Red" msgstr "Red" -#: packages/ui/primitives/document-flow/add-settings.tsx:329 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:332 +#: packages/ui/primitives/document-flow/add-settings.tsx:371 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:371 msgid "Redirect URL" msgstr "Redirect URL" +#: packages/lib/server-only/document/resend-document.tsx:165 +msgid "Reminder: {0}" +msgstr "Reminder: {0}" + +#: packages/lib/server-only/document/resend-document.tsx:118 +msgid "Reminder: {0} invited you to {recipientActionVerb} a document" +msgstr "Reminder: {0} invited you to {recipientActionVerb} a document" + +#: packages/lib/server-only/document/resend-document.tsx:110 +msgid "Reminder: Please {recipientActionVerb} this document" +msgstr "Reminder: Please {recipientActionVerb} this document" + +#: packages/lib/server-only/document/resend-document.tsx:114 +msgid "Reminder: Please {recipientActionVerb} your document" +msgstr "Reminder: Please {recipientActionVerb} your document" + #: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" msgstr "Remove" @@ -582,6 +879,10 @@ msgstr "Remove" msgid "Required field" msgstr "Required field" +#: packages/email/template-components/template-forgot-password.tsx:33 +msgid "Reset Password" +msgstr "Reset Password" + #: packages/ui/components/document/document-share-button.tsx:147 msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" msgstr "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" @@ -649,6 +950,10 @@ msgstr "Show advanced settings" msgid "Sign" msgstr "Sign" +#: packages/email/template-components/template-reset-password.tsx:34 +msgid "Sign In" +msgstr "Sign In" + #: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 @@ -677,6 +982,15 @@ msgstr "Signers must have unique emails" msgid "Signing" msgstr "Signing" +#: packages/lib/server-only/document/send-completed-email.ts:93 +#: packages/lib/server-only/document/send-completed-email.ts:161 +msgid "Signing Complete!" +msgstr "Signing Complete!" + +#: packages/lib/constants/recipient-roles.ts:66 +#~ msgid "SIGNING_REQUEST" +#~ msgstr "SIGNING_REQUEST" + #: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34 msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." @@ -699,7 +1013,7 @@ msgid "Step <0>{step} of {maxStep}" msgstr "Step <0>{step} of {maxStep}" #: packages/ui/primitives/document-flow/add-subject.tsx:78 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:195 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:234 msgid "Subject <0>(Optional)" msgstr "Subject <0>(Optional)" @@ -707,7 +1021,19 @@ msgstr "Subject <0>(Optional)" msgid "Submit" msgstr "Submit" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:134 +#: packages/lib/server-only/team/delete-team-email.ts:96 +msgid "Team email has been revoked for {0}" +msgstr "Team email has been revoked for {0}" + +#: packages/email/templates/team-email-removed.tsx:53 +msgid "Team email removed" +msgstr "Team email removed" + +#: packages/email/templates/team-email-removed.tsx:27 +msgid "Team email removed for {teamName} on Documenso" +msgstr "Team email removed for {teamName} on Documenso" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:133 msgid "Template title" msgstr "Template title" @@ -717,6 +1043,10 @@ msgstr "Template title" msgid "Text" msgstr "Text" +#: packages/email/template-components/template-forgot-password.tsx:25 +msgid "That's okay, it happens! Click the button below to reset your password." +msgstr "That's okay, it happens! Click the button below to reset your password." + #: packages/ui/components/recipient/recipient-action-auth-select.tsx:44 msgid "The authentication required for recipients to sign fields" msgstr "The authentication required for recipients to sign fields" @@ -733,10 +1063,22 @@ msgstr "The authentication required for recipients to view the document." msgid "The document's name" msgstr "The document's name" +#: packages/email/templates/team-delete.tsx:35 +msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents" +msgstr "The following team has been deleted by its owner. You will no longer be able to access this team and its documents" + +#: packages/email/templates/team-delete.tsx:34 +msgid "The following team has been deleted by you" +msgstr "The following team has been deleted by you" + #: packages/ui/primitives/document-password-dialog.tsx:52 msgid "The password you have entered is incorrect. Please try again." msgstr "The password you have entered is incorrect. Please try again." +#: packages/email/template-components/template-document-super-delete.tsx:38 +msgid "The reason provided for deletion is the following:" +msgstr "The reason provided for deletion is the following:" + #: packages/ui/components/recipient/recipient-role-select.tsx:103 msgid "The recipient is not required to take any action and receives a copy of the document after it is completed." msgstr "The recipient is not required to take any action and receives a copy of the document after it is completed." @@ -769,10 +1111,18 @@ msgstr "The signer's email" msgid "The signer's name" msgstr "The signer's name" +#: packages/email/templates/team-email-removed.tsx:57 +msgid "The team email <0>{teamEmail} has been removed from the following team" +msgstr "The team email <0>{teamEmail} has been removed from the following team" + #: packages/ui/components/document/document-global-auth-action-select.tsx:72 msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." msgstr "This can be overriden by setting the authentication requirements directly on each recipient in the next step." +#: packages/email/template-components/template-document-super-delete.tsx:31 +msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support." +msgstr "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 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." @@ -781,6 +1131,10 @@ msgstr "This document has already been sent to this recipient. You can no longer msgid "This document is password protected. Please enter the password to view the document." msgstr "This document is password protected. Please enter the password to view the document." +#: packages/email/template-components/template-footer.tsx:14 +msgid "This document was sent using <0>Documenso." +msgstr "This document was sent using <0>Documenso." + #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573 msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." msgstr "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." @@ -797,12 +1151,12 @@ msgstr "This signer has already signed the document." msgid "This will override any global settings." msgstr "This will override any global settings." -#: packages/ui/primitives/document-flow/add-settings.tsx:305 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:309 +#: packages/ui/primitives/document-flow/add-settings.tsx:347 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:348 msgid "Time Zone" msgstr "Time Zone" -#: packages/ui/primitives/document-flow/add-settings.tsx:153 +#: packages/ui/primitives/document-flow/add-settings.tsx:155 msgid "Title" msgstr "Title" @@ -841,6 +1195,18 @@ msgstr "Value" msgid "View" msgstr "View" +#: packages/email/templates/document-created-from-direct-template.tsx:69 +msgid "View document" +msgstr "View document" + +#: packages/email/template-components/template-document-self-signed.tsx:79 +msgid "View plans" +msgstr "View plans" + +#: packages/lib/constants/recipient-roles.ts:67 +#~ msgid "VIEW_REQUEST" +#~ msgstr "VIEW_REQUEST" + #: packages/lib/constants/recipient-roles.ts:27 msgid "Viewed" msgstr "Viewed" @@ -857,10 +1223,34 @@ msgstr "Viewers" msgid "Viewing" msgstr "Viewing" +#: packages/email/template-components/template-document-pending.tsx:31 +msgid "Waiting for others" +msgstr "Waiting for others" + +#: packages/lib/server-only/document/send-pending-email.ts:73 +msgid "Waiting for others to complete signing." +msgstr "Waiting for others to complete signing." + +#: packages/email/template-components/template-document-pending.tsx:41 +msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready." +msgstr "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready." + +#: packages/email/templates/reset-password.tsx:59 +msgid "We've changed your password as you asked. You can now sign in with your new password." +msgstr "We've changed your password as you asked. You can now sign in with your new password." + +#: packages/email/template-components/template-confirmation-email.tsx:24 +msgid "Welcome to Documenso!" +msgstr "Welcome to Documenso!" + #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" msgstr "You are about to send this document to the recipients. Are you sure you want to continue?" +#: packages/email/template-components/template-confirmation-email.tsx:41 +msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)" +msgstr "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)" + #: packages/ui/components/document/document-send-email-message-helper.tsx:11 msgid "You can use the following variables in your message:" msgstr "You can use the following variables in your message:" @@ -869,6 +1259,48 @@ msgstr "You can use the following variables in your message:" msgid "You cannot upload documents at this time." msgstr "You cannot upload documents at this time." +#: packages/email/template-components/template-document-cancel.tsx:35 +msgid "You don't need to sign it anymore." +msgstr "You don't need to sign it anymore." + +#: packages/lib/server-only/team/create-team-member-invites.ts:168 +msgid "You have been invited to join {0} on Documenso" +msgstr "You have been invited to join {0} on Documenso" + +#: packages/email/templates/team-invite.tsx:59 +msgid "You have been invited to join the following team" +msgstr "You have been invited to join the following team" + +#: packages/lib/server-only/recipient/set-recipients-for-document.ts:314 +msgid "You have been removed from a document" +msgstr "You have been removed from a document" + +#: packages/lib/server-only/team/request-team-ownership-transfer.ts:114 +msgid "You have been requested to take ownership of team {0} on Documenso" +msgstr "You have been requested to take ownership of team {0} on Documenso" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:102 +#: packages/lib/server-only/document/resend-document.tsx:113 +msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it." +msgstr "You have initiated the document {0} that requires you to {recipientActionVerb} it." + #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "You have reached your document limit." + +#: packages/email/template-components/template-document-self-signed.tsx:42 +msgid "You have signed “{documentName}”" +msgstr "You have signed “{documentName}”" + +#: packages/email/template-components/template-document-super-delete.tsx:23 +msgid "Your document has been deleted by an admin!" +msgstr "Your document has been deleted by an admin!" + +#: packages/email/template-components/template-reset-password.tsx:26 +msgid "Your password has been updated." +msgstr "Your password has been updated." + +#: packages/email/templates/team-delete.tsx:26 +#: packages/email/templates/team-delete.tsx:30 +msgid "Your team has been deleted" +msgstr "Your team has been deleted" diff --git a/packages/lib/translations/en/marketing.po b/packages/lib/translations/en/marketing.po index 427ba58e5..d85ccda92 100644 --- a/packages/lib/translations/en/marketing.po +++ b/packages/lib/translations/en/marketing.po @@ -37,7 +37,7 @@ msgstr "Add document" msgid "Add More Users for {0}" msgstr "Add More Users for {0}" -#: apps/marketing/src/app/(marketing)/open/page.tsx:165 +#: apps/marketing/src/app/(marketing)/open/page.tsx:164 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" msgstr "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" @@ -85,7 +85,7 @@ msgstr "Changelog" msgid "Choose a template from the community app store. Or submit your own template for others to use." msgstr "Choose a template from the community app store. Or submit your own template for others to use." -#: apps/marketing/src/app/(marketing)/open/page.tsx:219 +#: apps/marketing/src/app/(marketing)/open/page.tsx:218 msgid "Community" msgstr "Community" @@ -188,7 +188,7 @@ msgstr "Fast." msgid "Faster, smarter and more beautiful." msgstr "Faster, smarter and more beautiful." -#: apps/marketing/src/app/(marketing)/open/page.tsx:210 +#: apps/marketing/src/app/(marketing)/open/page.tsx:209 msgid "Finances" msgstr "Finances" @@ -241,15 +241,15 @@ msgstr "Get started today." msgid "Get the latest news from Documenso, including product updates, team announcements and more!" msgstr "Get the latest news from Documenso, including product updates, team announcements and more!" -#: apps/marketing/src/app/(marketing)/open/page.tsx:233 +#: apps/marketing/src/app/(marketing)/open/page.tsx:232 msgid "GitHub: Total Merged PRs" msgstr "GitHub: Total Merged PRs" -#: apps/marketing/src/app/(marketing)/open/page.tsx:251 +#: apps/marketing/src/app/(marketing)/open/page.tsx:250 msgid "GitHub: Total Open Issues" msgstr "GitHub: Total Open Issues" -#: apps/marketing/src/app/(marketing)/open/page.tsx:225 +#: apps/marketing/src/app/(marketing)/open/page.tsx:224 msgid "GitHub: Total Stars" msgstr "GitHub: Total Stars" @@ -257,7 +257,7 @@ msgstr "GitHub: Total Stars" msgid "Global Salary Bands" msgstr "Global Salary Bands" -#: apps/marketing/src/app/(marketing)/open/page.tsx:261 +#: apps/marketing/src/app/(marketing)/open/page.tsx:260 msgid "Growth" msgstr "Growth" @@ -281,7 +281,7 @@ msgstr "Integrated payments with Stripe so you don’t have to worry about getti msgid "Integrates with all your favourite tools." msgstr "Integrates with all your favourite tools." -#: apps/marketing/src/app/(marketing)/open/page.tsx:289 +#: apps/marketing/src/app/(marketing)/open/page.tsx:288 msgid "Is there more?" msgstr "Is there more?" @@ -305,11 +305,11 @@ msgstr "Location" msgid "Make it your own through advanced customization and adjustability." msgstr "Make it your own through advanced customization and adjustability." -#: apps/marketing/src/app/(marketing)/open/page.tsx:199 +#: apps/marketing/src/app/(marketing)/open/page.tsx:198 msgid "Merged PR's" msgstr "Merged PR's" -#: apps/marketing/src/app/(marketing)/open/page.tsx:234 +#: apps/marketing/src/app/(marketing)/open/page.tsx:233 msgid "Merged PRs" msgstr "Merged PRs" @@ -340,8 +340,8 @@ msgstr "No Credit Card required" msgid "None of these work for you? Try self-hosting!" msgstr "None of these work for you? Try self-hosting!" -#: apps/marketing/src/app/(marketing)/open/page.tsx:194 -#: apps/marketing/src/app/(marketing)/open/page.tsx:252 +#: apps/marketing/src/app/(marketing)/open/page.tsx:193 +#: apps/marketing/src/app/(marketing)/open/page.tsx:251 msgid "Open Issues" msgstr "Open Issues" @@ -349,7 +349,7 @@ msgstr "Open Issues" msgid "Open Source or Hosted." msgstr "Open Source or Hosted." -#: apps/marketing/src/app/(marketing)/open/page.tsx:161 +#: apps/marketing/src/app/(marketing)/open/page.tsx:160 #: 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 @@ -461,7 +461,7 @@ msgstr "Smart." msgid "Star on GitHub" msgstr "Star on GitHub" -#: apps/marketing/src/app/(marketing)/open/page.tsx:226 +#: apps/marketing/src/app/(marketing)/open/page.tsx:225 msgid "Stars" msgstr "Stars" @@ -496,7 +496,7 @@ msgstr "Template Store (Soon)." msgid "That's awesome. You can take a look at the current <0>Issues and join our <1>Discord Community 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 "That's awesome. You can take a look at the current <0>Issues and join our <1>Discord Community 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 ❤️" -#: apps/marketing/src/app/(marketing)/open/page.tsx:293 +#: apps/marketing/src/app/(marketing)/open/page.tsx:292 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 "This page is evolving as we learn what makes a great signing company. We'll update it when we have more to share." @@ -509,8 +509,8 @@ msgstr "Title" msgid "Total Completed Documents" msgstr "Total Completed Documents" +#: apps/marketing/src/app/(marketing)/open/page.tsx:266 #: apps/marketing/src/app/(marketing)/open/page.tsx:267 -#: apps/marketing/src/app/(marketing)/open/page.tsx:268 msgid "Total Customers" msgstr "Total Customers" diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index bcd28a642..b91dad148 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -255,12 +255,12 @@ msgstr "Active Subscriptions" msgid "Add" msgstr "Add" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:88 msgid "Add all relevant fields for each recipient." msgstr "Add all relevant fields for each recipient." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:83 msgid "Add all relevant placeholders for each recipient." msgstr "Add all relevant placeholders for each recipient." @@ -276,8 +276,8 @@ msgstr "Add an authenticator to serve as a secondary authentication method when msgid "Add email" msgstr "Add email" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:174 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:86 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 msgid "Add Fields" msgstr "Add Fields" @@ -290,15 +290,15 @@ msgstr "Add more" msgid "Add passkey" msgstr "Add passkey" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:81 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 msgid "Add Placeholders" msgstr "Add Placeholders" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:169 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 msgid "Add Signers" msgstr "Add Signers" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180 msgid "Add Subject" msgstr "Add Subject" @@ -306,7 +306,7 @@ msgstr "Add Subject" msgid "Add team email" msgstr "Add team email" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171 msgid "Add the people who will sign the document." msgstr "Add the people who will sign the document." @@ -314,7 +314,7 @@ msgstr "Add the people who will sign the document." msgid "Add the recipients to create the document with" msgstr "Add the recipients to create the document with" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:181 msgid "Add the subject and message you wish to send to signers." msgstr "Add the subject and message you wish to send to signers." @@ -409,13 +409,13 @@ msgstr "An email requesting the transfer of this team has been sent." msgid "An error occurred" msgstr "An error occurred" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:266 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:197 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:231 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:201 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:235 msgid "An error occurred while adding signers." msgstr "An error occurred while adding signers." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:301 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303 msgid "An error occurred while adding the fields." msgstr "An error occurred while adding the fields." @@ -477,7 +477,7 @@ msgstr "An error occurred while removing the signature." msgid "An error occurred while removing the text." msgstr "An error occurred while removing the text." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:332 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:334 msgid "An error occurred while sending the document." msgstr "An error occurred while sending the document." @@ -502,8 +502,8 @@ msgstr "An error occurred while signing the document." msgid "An error occurred while trying to create a checkout session." msgstr "An error occurred while trying to create a checkout session." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:232 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:166 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:170 msgid "An error occurred while updating the document settings." msgstr "An error occurred while updating the document settings." @@ -864,11 +864,11 @@ msgstr "Completed documents" msgid "Completed Documents" msgstr "Completed Documents" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166 msgid "Configure general settings for the document." msgstr "Configure general settings for the document." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:78 msgid "Configure general settings for the template." msgstr "Configure general settings for the template." @@ -1345,7 +1345,7 @@ msgstr "Document re-sent" msgid "Document resealed" msgstr "Document resealed" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:321 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:323 msgid "Document sent" msgstr "Document sent" @@ -1574,16 +1574,16 @@ msgstr "Enter your text here" #: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:231 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:265 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:300 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:331 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:233 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:267 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:302 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:333 #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:165 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:196 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:169 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:200 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:234 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 @@ -1674,8 +1674,8 @@ msgstr "Forgot your password?" msgid "Full Name" msgstr "Full Name" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:164 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:76 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60 #: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43 #: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51 @@ -3239,7 +3239,7 @@ msgstr "Template has been updated." msgid "Template moved" msgstr "Template moved" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:219 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:223 msgid "Template saved" msgstr "Template saved" @@ -4516,7 +4516,7 @@ msgstr "Your document has been created from the template successfully." msgid "Your document has been re-sent successfully." msgstr "Your document has been re-sent successfully." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:322 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:324 msgid "Your document has been sent successfully." msgstr "Your document has been sent successfully." @@ -4607,7 +4607,7 @@ msgstr "Your template has been successfully deleted." msgid "Your template will be duplicated." msgstr "Your template will be duplicated." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:220 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:224 msgid "Your templates has been saved successfully." msgstr "Your templates has been saved successfully." diff --git a/packages/lib/translations/es/common.po b/packages/lib/translations/es/common.po index 4a8a9071f..2ca30cc27 100644 --- a/packages/lib/translations/es/common.po +++ b/packages/lib/translations/es/common.po @@ -18,14 +18,104 @@ msgstr "" "X-Crowdin-File: common.po\n" "X-Crowdin-File-ID: 4\n" +#: packages/email/template-components/template-document-super-delete.tsx:27 +msgid "\"{documentName}\" has been deleted by an admin." +msgstr "" + +#: packages/email/template-components/template-document-pending.tsx:37 +msgid "“{documentName}” has been signed" +msgstr "" + +#: packages/email/template-components/template-document-completed.tsx:41 +#: packages/lib/server-only/document/resend-document.tsx:109 +msgid "{0}" +msgstr "" + +#: packages/email/template-components/template-document-invite.tsx:74 +msgid "{0} Document" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117 +msgid "{0} invited you to {recipientActionVerb} a document" +msgstr "" + +#: packages/email/templates/team-join.tsx:55 +msgid "{0} joined the team {teamName} on Documenso" +msgstr "" + +#: packages/email/templates/team-leave.tsx:55 +msgid "{0} left the team {teamName} on Documenso" +msgstr "" + #: packages/ui/primitives/data-table-pagination.tsx:30 msgid "{0} of {1} row(s) selected." msgstr "{0} de {1} fila(s) seleccionada." +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:119 +#: packages/lib/server-only/document/resend-document.tsx:119 +msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"." +msgstr "" + +#: packages/email/templates/document-invite.tsx:79 +msgid "{inviterName} <0>({inviterEmail})" +msgstr "" + +#: packages/email/templates/document-cancel.tsx:19 +msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore." +msgstr "" + +#: packages/email/template-components/template-document-cancel.tsx:24 +msgid "{inviterName} has cancelled the document<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/template-components/template-document-invite.tsx:57 +msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/templates/document-invite.tsx:41 +msgid "{inviterName} has invited you to {action} {documentName}" +msgstr "" + +#: packages/email/templates/recipient-removed-from-document.tsx:18 +msgid "{inviterName} has removed you from the document {documentName}." +msgstr "" + +#: packages/email/template-components/template-document-invite.tsx:49 +msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/templates/document-invite.tsx:40 +msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}" +msgstr "" + +#: packages/email/templates/team-join.tsx:61 +msgid "{memberEmail} joined the following team" +msgstr "" + +#: packages/email/templates/team-leave.tsx:61 +msgid "{memberEmail} left the following team" +msgstr "" + +#: packages/email/templates/document-created-from-direct-template.tsx:55 +msgid "{recipientName} {action} a document by using one of your direct links" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:55 +msgid "{teamName} ownership transfer request" +msgstr "" + #: packages/ui/primitives/data-table-pagination.tsx:41 msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}" msgstr "{visibleRows, plural, one {Mostrando # resultado.} other {Mostrando # resultados.}}" +#: packages/email/templates/document-invite.tsx:91 +msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:59 +msgid "<0>{senderName} has requested that you take ownership of the following team" +msgstr "" + #: packages/ui/components/recipient/recipient-action-auth-select.tsx:53 msgid "<0>Inherit authentication method - Use the global action signing authentication method configured in the \"General Settings\" step" msgstr "<0>Heredar método de autenticación - Use el método de autenticación de firma de acción global configurado en el paso \"Configuración General\"" @@ -56,20 +146,66 @@ msgstr "<0>Requerir cuenta - El destinatario debe haber iniciado sesión par msgid "<0>Require passkey - The recipient must have an account and passkey configured via their settings" msgstr "<0>Requerir clave de acceso - El destinatario debe tener una cuenta y clave de acceso configurada a través de sus configuraciones" +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:109 +msgid "A document was created by your direct template that requires you to {recipientActionVerb} it." +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90 +msgid "A new member has joined your team" +msgstr "" + +#: 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 "" + +#: packages/email/templates/team-join.tsx:29 +msgid "A team member has joined a team on Documenso" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79 +msgid "A team member has left {0}" +msgstr "" + +#: packages/email/templates/team-leave.tsx:29 +msgid "A team member has left a team on Documenso" +msgstr "" + +#: packages/email/templates/team-delete.tsx:27 +#: packages/email/templates/team-delete.tsx:31 +msgid "A team you were a part of has been deleted" +msgstr "" + +#: packages/email/templates/team-invite.tsx:77 +#: packages/email/templates/team-transfer-request.tsx:81 +msgid "Accept" +msgstr "" + +#: packages/email/templates/team-invite.tsx:29 +msgid "Accept invitation to join a team on Documenso" +msgstr "" + +#: packages/email/templates/confirm-team-email.tsx:38 +msgid "Accept team email request for {teamName} on Documenso" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:29 +msgid "Accept team transfer request on Documenso" +msgstr "" + #: packages/ui/primitives/document-dropzone.tsx:69 msgid "Add a document" msgstr "Agregar un documento" -#: packages/ui/primitives/document-flow/add-settings.tsx:336 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:339 +#: packages/ui/primitives/document-flow/add-settings.tsx:378 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:378 msgid "Add a URL to redirect the user to once the document is signed" msgstr "Agregue una URL para redirigir al usuario una vez que se firme el documento" -#: packages/ui/primitives/document-flow/add-settings.tsx:248 +#: packages/ui/primitives/document-flow/add-settings.tsx:290 msgid "Add an external ID to the document. This can be used to identify the document in external systems." msgstr "Agregue un ID externo al documento. Esto se puede usar para identificar el documento en sistemas externos." -#: packages/ui/primitives/template-flow/add-template-settings.tsx:256 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:295 msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Agregue un ID externo a la plantilla. Esto se puede usar para identificar en sistemas externos." @@ -110,8 +246,8 @@ msgstr "Agregar texto al campo" msgid "Admin" msgstr "Admin" -#: packages/ui/primitives/document-flow/add-settings.tsx:230 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:238 +#: packages/ui/primitives/document-flow/add-settings.tsx:272 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:277 msgid "Advanced Options" msgstr "Opciones avanzadas" @@ -124,6 +260,14 @@ msgstr "Configuraciones avanzadas" msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." msgstr "Después de la presentación, se generará automáticamente un documento y se agregará a su página de documentos. También recibirá una notificación por correo electrónico." +#: packages/email/template-components/template-document-cancel.tsx:31 +msgid "All signatures have been voided." +msgstr "" + +#: packages/email/templates/document-super-delete.tsx:20 +msgid "An admin has deleted your document \"{documentName}\"." +msgstr "" + #: packages/ui/primitives/pdf-viewer.tsx:167 msgid "An error occurred while loading the document." msgstr "Se produjo un error al cargar el documento." @@ -132,6 +276,10 @@ msgstr "Se produjo un error al cargar el documento." msgid "Approve" msgstr "Aprobar" +#: packages/lib/constants/recipient-roles.ts:68 +#~ msgid "APPROVE_REQUEST" +#~ msgstr "" + #: packages/lib/constants/recipient-roles.ts:9 msgid "Approved" msgstr "Aprobado" @@ -148,6 +296,10 @@ msgstr "Aprobadores" msgid "Approving" msgstr "Aprobando" +#: packages/email/template-components/template-confirmation-email.tsx:28 +msgid "Before you get started, please confirm your email address by clicking the button below:" +msgstr "" + #: packages/ui/primitives/signature-pad/signature-pad.tsx:377 msgid "Black" msgstr "Negro" @@ -156,6 +308,14 @@ msgstr "Negro" msgid "Blue" msgstr "Azul" +#: packages/email/templates/team-invite.tsx:67 +msgid "by <0>{senderName}" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:70 +msgid "By accepting this request, you will take responsibility for any billing items associated with this team." +msgstr "" + #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 msgid "Cancel" @@ -206,6 +366,16 @@ msgstr "Haga clic para insertar campo" msgid "Close" msgstr "Cerrar" +#: packages/email/template-components/template-document-completed.tsx:35 +#: packages/email/template-components/template-document-self-signed.tsx:36 +msgid "Completed" +msgstr "" + +#: packages/email/templates/document-completed.tsx:21 +#: packages/email/templates/document-self-signed.tsx:17 +msgid "Completed Document" +msgstr "" + #: packages/lib/constants/template.ts:12 msgid "Configure Direct Recipient" msgstr "Configurar destinatario directo" @@ -215,10 +385,22 @@ msgstr "Configurar destinatario directo" msgid "Configure the {0} field" msgstr "Configurar el campo {0}" +#: packages/email/template-components/template-confirmation-email.tsx:38 +msgid "Confirm email" +msgstr "" + #: packages/ui/primitives/document-flow/document-flow-root.tsx:141 msgid "Continue" msgstr "Continuar" +#: packages/email/template-components/template-document-invite.tsx:66 +msgid "Continue by {0} the document." +msgstr "" + +#: packages/email/template-components/template-document-completed.tsx:45 +msgid "Continue by downloading the document." +msgstr "" + #: packages/ui/components/document/document-share-button.tsx:46 msgid "Copied to clipboard" msgstr "Copiado al portapapeles" @@ -227,6 +409,14 @@ msgstr "Copiado al portapapeles" msgid "Copy Link" msgstr "Copiar enlace" +#: packages/email/template-components/template-document-self-signed.tsx:46 +msgid "Create a <0>free account to access your signed documents at any time." +msgstr "" + +#: packages/email/template-components/template-document-self-signed.tsx:68 +msgid "Create account" +msgstr "" + #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" msgstr "Texto personalizado" @@ -237,25 +427,47 @@ msgstr "Texto personalizado" msgid "Date" msgstr "Fecha" -#: packages/ui/primitives/document-flow/add-settings.tsx:271 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:279 +#: packages/ui/primitives/document-flow/add-settings.tsx:313 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:318 msgid "Date Format" msgstr "Formato de fecha" +#: packages/email/templates/team-invite.tsx:83 +msgid "Decline" +msgstr "" + +#: packages/email/templates/reset-password.tsx:65 +msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us." +msgstr "" + #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570 msgid "Direct link receiver" msgstr "Receptor de enlace directo" #: packages/ui/components/document/document-global-auth-access-select.tsx:62 -#: packages/ui/primitives/document-flow/add-settings.tsx:174 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:151 +#: packages/ui/primitives/document-flow/add-settings.tsx:216 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:190 msgid "Document access" msgstr "Acceso al documento" +#: packages/lib/server-only/document/super-delete-document.ts:75 +msgid "Document Cancelled" +msgstr "" + +#: packages/email/templates/document-created-from-direct-template.tsx:30 +#: packages/lib/server-only/template/create-document-from-direct-template.ts:554 +msgid "Document created from direct template" +msgstr "" + #: packages/lib/constants/template.ts:20 msgid "Document Creation" msgstr "Creación de documento" +#: packages/lib/server-only/document/send-delete-email.ts:58 +msgid "Document Deleted!" +msgstr "" + +#: packages/email/template-components/template-document-completed.tsx:64 #: packages/ui/components/document/document-download-button.tsx:68 msgid "Download" msgstr "Descargar" @@ -288,7 +500,7 @@ msgstr "Correo electrónico" msgid "Email is required" msgstr "Se requiere email" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:184 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:223 msgid "Email Options" msgstr "Opciones de correo electrónico" @@ -318,8 +530,8 @@ msgstr "Ingrese la contraseña" msgid "Error" msgstr "Error" -#: packages/ui/primitives/document-flow/add-settings.tsx:241 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:249 +#: packages/ui/primitives/document-flow/add-settings.tsx:283 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:288 msgid "External ID" msgstr "ID externo" @@ -361,6 +573,14 @@ msgstr "Marcador de posición de campo" msgid "Font Size" msgstr "Tamaño de fuente" +#: packages/lib/server-only/auth/send-forgot-password.ts:61 +msgid "Forgot Password?" +msgstr "" + +#: packages/email/template-components/template-forgot-password.tsx:21 +msgid "Forgot your password?" +msgstr "" + #: packages/ui/primitives/document-flow/types.ts:50 msgid "Free Signature" msgstr "Firma gratuita" @@ -377,6 +597,10 @@ msgstr "Regresar" msgid "Green" msgstr "Verde" +#: packages/email/templates/reset-password.tsx:50 +msgid "Hi, {userName} <0>({userEmail})" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" msgstr "Soy un firmante de este documento" @@ -410,12 +634,25 @@ msgstr "Email inválido" msgid "Invalid email address" msgstr "Dirección de email inválida" +#: packages/email/templates/team-invite.tsx:55 +msgid "Join {teamName} on Documenso" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 msgid "Label" msgstr "Etiqueta" +#: packages/ui/primitives/document-flow/add-settings.tsx:176 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:150 +msgid "Language" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:87 +msgid "Link expires in 1 hour." +msgstr "" + #: packages/ui/primitives/lazy-pdf-viewer.tsx:15 #: packages/ui/primitives/pdf-viewer.tsx:44 msgid "Loading document..." @@ -434,7 +671,7 @@ msgid "Member" msgstr "Miembro" #: packages/ui/primitives/document-flow/add-subject.tsx:95 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:215 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:254 msgid "Message <0>(Optional)" msgstr "Mensaje <0>(Opcional)" @@ -525,6 +762,22 @@ msgstr "Página {0} de {numPages}" msgid "Password Required" msgstr "Se requiere contraseña" +#: packages/email/templates/forgot-password.tsx:17 +msgid "Password Reset Requested" +msgstr "" + +#: packages/email/templates/reset-password.tsx:18 +msgid "Password Reset Successful" +msgstr "" + +#: packages/email/template-components/template-reset-password.tsx:22 +msgid "Password updated!" +msgstr "" + +#: packages/email/templates/document-pending.tsx:17 +msgid "Pending Document" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156 msgid "Pick a number" msgstr "Seleccione un número" @@ -535,6 +788,34 @@ msgstr "Seleccione un número" msgid "Placeholder" msgstr "Marcador de posición" +#: packages/email/template-components/template-document-invite.tsx:43 +msgid "Please {0} your document<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/templates/document-invite.tsx:38 +msgid "Please {action} your document {documentName}" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:98 +msgid "Please {recipientActionVerb} this document" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:112 +msgid "Please {recipientActionVerb} this document created by your direct template" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:104 +msgid "Please {recipientActionVerb} your document" +msgstr "" + +#: packages/lib/server-only/auth/send-confirmation-email.ts:67 +msgid "Please confirm your email" +msgstr "" + +#: packages/email/templates/confirm-email.tsx:15 +msgid "Please confirm your email address" +msgstr "" + #: packages/ui/primitives/pdf-viewer.tsx:223 #: packages/ui/primitives/pdf-viewer.tsx:238 msgid "Please try again or contact our support." @@ -561,8 +842,8 @@ msgid "Receives copy" msgstr "Recibe copia" #: packages/ui/components/recipient/recipient-action-auth-select.tsx:39 -#: packages/ui/primitives/document-flow/add-settings.tsx:215 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:169 +#: packages/ui/primitives/document-flow/add-settings.tsx:257 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:208 msgid "Recipient action authentication" msgstr "Autenticación de acción de destinatario" @@ -570,11 +851,27 @@ msgstr "Autenticación de acción de destinatario" msgid "Red" msgstr "Rojo" -#: packages/ui/primitives/document-flow/add-settings.tsx:329 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:332 +#: packages/ui/primitives/document-flow/add-settings.tsx:371 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:371 msgid "Redirect URL" msgstr "URL de redirección" +#: packages/lib/server-only/document/resend-document.tsx:165 +msgid "Reminder: {0}" +msgstr "" + +#: packages/lib/server-only/document/resend-document.tsx:118 +msgid "Reminder: {0} invited you to {recipientActionVerb} a document" +msgstr "" + +#: packages/lib/server-only/document/resend-document.tsx:110 +msgid "Reminder: Please {recipientActionVerb} this document" +msgstr "" + +#: packages/lib/server-only/document/resend-document.tsx:114 +msgid "Reminder: Please {recipientActionVerb} your document" +msgstr "" + #: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" msgstr "Eliminar" @@ -587,6 +884,10 @@ msgstr "Eliminar" msgid "Required field" msgstr "Campo obligatorio" +#: packages/email/template-components/template-forgot-password.tsx:33 +msgid "Reset Password" +msgstr "" + #: packages/ui/components/document/document-share-button.tsx:147 msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" msgstr "Ten la seguridad de que tu documento es estrictamente confidencial y nunca será compartido. Solo se destacará tu experiencia de firma. ¡Comparte tu tarjeta de firma personalizada para mostrar tu firma!" @@ -654,6 +955,10 @@ msgstr "Mostrar configuraciones avanzadas" msgid "Sign" msgstr "Firmar" +#: packages/email/template-components/template-reset-password.tsx:34 +msgid "Sign In" +msgstr "" + #: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 @@ -682,6 +987,15 @@ msgstr "Los firmantes deben tener correos electrónicos únicos" msgid "Signing" msgstr "Firmando" +#: packages/lib/server-only/document/send-completed-email.ts:93 +#: packages/lib/server-only/document/send-completed-email.ts:161 +msgid "Signing Complete!" +msgstr "" + +#: packages/lib/constants/recipient-roles.ts:66 +#~ msgid "SIGNING_REQUEST" +#~ msgstr "" + #: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34 msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Algunos firmantes no han sido asignados a un campo de firma. Asigne al menos 1 campo de firma a cada firmante antes de continuar." @@ -704,7 +1018,7 @@ msgid "Step <0>{step} of {maxStep}" msgstr "Paso <0>{step} de {maxStep}" #: packages/ui/primitives/document-flow/add-subject.tsx:78 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:195 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:234 msgid "Subject <0>(Optional)" msgstr "Asunto <0>(Opcional)" @@ -712,7 +1026,19 @@ msgstr "Asunto <0>(Opcional)" msgid "Submit" msgstr "Enviar" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:134 +#: packages/lib/server-only/team/delete-team-email.ts:96 +msgid "Team email has been revoked for {0}" +msgstr "" + +#: packages/email/templates/team-email-removed.tsx:53 +msgid "Team email removed" +msgstr "" + +#: packages/email/templates/team-email-removed.tsx:27 +msgid "Team email removed for {teamName} on Documenso" +msgstr "" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:133 msgid "Template title" msgstr "Título de plantilla" @@ -722,6 +1048,10 @@ msgstr "Título de plantilla" msgid "Text" msgstr "Texto" +#: packages/email/template-components/template-forgot-password.tsx:25 +msgid "That's okay, it happens! Click the button below to reset your password." +msgstr "" + #: packages/ui/components/recipient/recipient-action-auth-select.tsx:44 msgid "The authentication required for recipients to sign fields" msgstr "La autenticación requerida para que los destinatarios firmen campos" @@ -738,10 +1068,22 @@ msgstr "La autenticación requerida para que los destinatarios vean el documento msgid "The document's name" msgstr "El nombre del documento" +#: packages/email/templates/team-delete.tsx:35 +msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents" +msgstr "" + +#: packages/email/templates/team-delete.tsx:34 +msgid "The following team has been deleted by you" +msgstr "" + #: packages/ui/primitives/document-password-dialog.tsx:52 msgid "The password you have entered is incorrect. Please try again." msgstr "La contraseña que ha ingresado es incorrecta. Por favor, inténtelo de nuevo." +#: packages/email/template-components/template-document-super-delete.tsx:38 +msgid "The reason provided for deletion is the following:" +msgstr "" + #: packages/ui/components/recipient/recipient-role-select.tsx:103 msgid "The recipient is not required to take any action and receives a copy of the document after it is completed." msgstr "El destinatario no está obligado a tomar ninguna acción y recibe una copia del documento una vez completado." @@ -774,10 +1116,18 @@ msgstr "El correo electrónico del firmante" msgid "The signer's name" msgstr "El nombre del firmante" +#: packages/email/templates/team-email-removed.tsx:57 +msgid "The team email <0>{teamEmail} has been removed from the following team" +msgstr "" + #: packages/ui/components/document/document-global-auth-action-select.tsx:72 msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." msgstr "Esto se puede anular configurando los requisitos de autenticación directamente en cada destinatario en el siguiente paso." +#: packages/email/template-components/template-document-super-delete.tsx:31 +msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support." +msgstr "" + #: packages/ui/primitives/document-flow/add-fields.tsx:757 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." @@ -786,6 +1136,10 @@ msgstr "Este documento ya ha sido enviado a este destinatario. Ya no puede edita msgid "This document is password protected. Please enter the password to view the document." msgstr "Este documento está protegido por contraseña. Por favor ingrese la contraseña para ver el documento." +#: packages/email/template-components/template-footer.tsx:14 +msgid "This document was sent using <0>Documenso." +msgstr "" + #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573 msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." msgstr "Este campo no se puede modificar ni eliminar. Cuando comparta el enlace directo de esta plantilla o lo agregue a su perfil público, cualquiera que acceda podrá ingresar su nombre y correo electrónico, y completar los campos que se le hayan asignado." @@ -802,12 +1156,12 @@ msgstr "Este firmante ya ha firmado el documento." msgid "This will override any global settings." msgstr "Esto anulará cualquier configuración global." -#: packages/ui/primitives/document-flow/add-settings.tsx:305 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:309 +#: packages/ui/primitives/document-flow/add-settings.tsx:347 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:348 msgid "Time Zone" msgstr "Zona horaria" -#: packages/ui/primitives/document-flow/add-settings.tsx:153 +#: packages/ui/primitives/document-flow/add-settings.tsx:155 msgid "Title" msgstr "Título" @@ -846,6 +1200,18 @@ msgstr "Valor" msgid "View" msgstr "Ver" +#: packages/email/templates/document-created-from-direct-template.tsx:69 +msgid "View document" +msgstr "" + +#: packages/email/template-components/template-document-self-signed.tsx:79 +msgid "View plans" +msgstr "" + +#: packages/lib/constants/recipient-roles.ts:67 +#~ msgid "VIEW_REQUEST" +#~ msgstr "" + #: packages/lib/constants/recipient-roles.ts:27 msgid "Viewed" msgstr "Visto" @@ -862,10 +1228,34 @@ msgstr "Espectadores" msgid "Viewing" msgstr "Viendo" +#: packages/email/template-components/template-document-pending.tsx:31 +msgid "Waiting for others" +msgstr "" + +#: packages/lib/server-only/document/send-pending-email.ts:73 +msgid "Waiting for others to complete signing." +msgstr "" + +#: packages/email/template-components/template-document-pending.tsx:41 +msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready." +msgstr "" + +#: packages/email/templates/reset-password.tsx:59 +msgid "We've changed your password as you asked. You can now sign in with your new password." +msgstr "" + +#: packages/email/template-components/template-confirmation-email.tsx:24 +msgid "Welcome to Documenso!" +msgstr "" + #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" msgstr "Está a punto de enviar este documento a los destinatarios. ¿Está seguro de que desea continuar?" +#: packages/email/template-components/template-confirmation-email.tsx:41 +msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)" +msgstr "" + #: packages/ui/components/document/document-send-email-message-helper.tsx:11 msgid "You can use the following variables in your message:" msgstr "Puede usar las siguientes variables en su mensaje:" @@ -874,7 +1264,48 @@ msgstr "Puede usar las siguientes variables en su mensaje:" msgid "You cannot upload documents at this time." msgstr "No puede cargar documentos en este momento." +#: packages/email/template-components/template-document-cancel.tsx:35 +msgid "You don't need to sign it anymore." +msgstr "" + +#: packages/lib/server-only/team/create-team-member-invites.ts:168 +msgid "You have been invited to join {0} on Documenso" +msgstr "" + +#: packages/email/templates/team-invite.tsx:59 +msgid "You have been invited to join the following team" +msgstr "" + +#: packages/lib/server-only/recipient/set-recipients-for-document.ts:314 +msgid "You have been removed from a document" +msgstr "" + +#: packages/lib/server-only/team/request-team-ownership-transfer.ts:114 +msgid "You have been requested to take ownership of team {0} on Documenso" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:102 +#: packages/lib/server-only/document/resend-document.tsx:113 +msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it." +msgstr "" + #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "Ha alcanzado su límite de documentos." +#: packages/email/template-components/template-document-self-signed.tsx:42 +msgid "You have signed “{documentName}”" +msgstr "" + +#: packages/email/template-components/template-document-super-delete.tsx:23 +msgid "Your document has been deleted by an admin!" +msgstr "" + +#: packages/email/template-components/template-reset-password.tsx:26 +msgid "Your password has been updated." +msgstr "" + +#: packages/email/templates/team-delete.tsx:26 +#: packages/email/templates/team-delete.tsx:30 +msgid "Your team has been deleted" +msgstr "" diff --git a/packages/lib/translations/es/marketing.po b/packages/lib/translations/es/marketing.po index 34766aa42..41bce34a4 100644 --- a/packages/lib/translations/es/marketing.po +++ b/packages/lib/translations/es/marketing.po @@ -42,7 +42,7 @@ msgstr "Agregar documento" msgid "Add More Users for {0}" msgstr "Agregar más usuarios por {0}" -#: apps/marketing/src/app/(marketing)/open/page.tsx:165 +#: apps/marketing/src/app/(marketing)/open/page.tsx:164 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" msgstr "Todos nuestros métricas, finanzas y aprendizajes son públicos. Creemos en la transparencia y queremos compartir nuestro viaje contigo. Puedes leer más sobre por qué aquí: <0>Anunciando Métricas Abiertas" @@ -90,7 +90,7 @@ msgstr "Registro de cambios" msgid "Choose a template from the community app store. Or submit your own template for others to use." msgstr "Elige una plantilla de la tienda de aplicaciones de la comunidad. O envía tu propia plantilla para que otros la usen." -#: apps/marketing/src/app/(marketing)/open/page.tsx:219 +#: apps/marketing/src/app/(marketing)/open/page.tsx:218 msgid "Community" msgstr "Comunidad" @@ -193,7 +193,7 @@ msgstr "Rápido." msgid "Faster, smarter and more beautiful." msgstr "Más rápido, más inteligente y más hermoso." -#: apps/marketing/src/app/(marketing)/open/page.tsx:210 +#: apps/marketing/src/app/(marketing)/open/page.tsx:209 msgid "Finances" msgstr "Finanzas" @@ -246,15 +246,15 @@ msgstr "Comienza hoy." msgid "Get the latest news from Documenso, including product updates, team announcements and more!" msgstr "¡Obtén las últimas noticias de Documenso, incluidas actualizaciones de productos, anuncios del equipo y más!" -#: apps/marketing/src/app/(marketing)/open/page.tsx:233 +#: apps/marketing/src/app/(marketing)/open/page.tsx:232 msgid "GitHub: Total Merged PRs" msgstr "GitHub: Total de PRs fusionados" -#: apps/marketing/src/app/(marketing)/open/page.tsx:251 +#: apps/marketing/src/app/(marketing)/open/page.tsx:250 msgid "GitHub: Total Open Issues" msgstr "GitHub: Total de problemas abiertos" -#: apps/marketing/src/app/(marketing)/open/page.tsx:225 +#: apps/marketing/src/app/(marketing)/open/page.tsx:224 msgid "GitHub: Total Stars" msgstr "GitHub: Total de estrellas" @@ -262,7 +262,7 @@ msgstr "GitHub: Total de estrellas" msgid "Global Salary Bands" msgstr "Bandas salariales globales" -#: apps/marketing/src/app/(marketing)/open/page.tsx:261 +#: apps/marketing/src/app/(marketing)/open/page.tsx:260 msgid "Growth" msgstr "Crecimiento" @@ -286,7 +286,7 @@ msgstr "Pagos integrados con Stripe para que no tengas que preocuparte por cobra msgid "Integrates with all your favourite tools." msgstr "Se integra con todas tus herramientas favoritas." -#: apps/marketing/src/app/(marketing)/open/page.tsx:289 +#: apps/marketing/src/app/(marketing)/open/page.tsx:288 msgid "Is there more?" msgstr "¿Hay más?" @@ -310,11 +310,11 @@ msgstr "Ubicación" msgid "Make it your own through advanced customization and adjustability." msgstr "Hazlo tuyo a través de personalización y ajustabilidad avanzadas." -#: apps/marketing/src/app/(marketing)/open/page.tsx:199 +#: apps/marketing/src/app/(marketing)/open/page.tsx:198 msgid "Merged PR's" msgstr "PRs fusionados" -#: apps/marketing/src/app/(marketing)/open/page.tsx:234 +#: apps/marketing/src/app/(marketing)/open/page.tsx:233 msgid "Merged PRs" msgstr "PRs fusionados" @@ -345,8 +345,8 @@ msgstr "No se requiere tarjeta de crédito" msgid "None of these work for you? Try self-hosting!" msgstr "¿Ninguna de estas opciones funciona para ti? ¡Prueba el autoalojamiento!" -#: apps/marketing/src/app/(marketing)/open/page.tsx:194 -#: apps/marketing/src/app/(marketing)/open/page.tsx:252 +#: apps/marketing/src/app/(marketing)/open/page.tsx:193 +#: apps/marketing/src/app/(marketing)/open/page.tsx:251 msgid "Open Issues" msgstr "Problemas Abiertos" @@ -354,7 +354,7 @@ msgstr "Problemas Abiertos" msgid "Open Source or Hosted." msgstr "Código Abierto o Alojado." -#: apps/marketing/src/app/(marketing)/open/page.tsx:161 +#: apps/marketing/src/app/(marketing)/open/page.tsx:160 #: 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 @@ -466,7 +466,7 @@ msgstr "Inteligente." msgid "Star on GitHub" msgstr "Estrella en GitHub" -#: apps/marketing/src/app/(marketing)/open/page.tsx:226 +#: apps/marketing/src/app/(marketing)/open/page.tsx:225 msgid "Stars" msgstr "Estrellas" @@ -501,7 +501,7 @@ msgstr "Tienda de Plantillas (Pronto)." msgid "That's awesome. You can take a look at the current <0>Issues and join our <1>Discord Community 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 "Eso es increíble. Puedes echar un vistazo a los <0>Problemas actuales y unirte a nuestra <1>Comunidad de Discord para mantenerte al día sobre cuáles son las prioridades actuales. En cualquier caso, somos una comunidad abierta y agradecemos todas las aportaciones, técnicas y no técnicas ❤️" -#: apps/marketing/src/app/(marketing)/open/page.tsx:293 +#: apps/marketing/src/app/(marketing)/open/page.tsx:292 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 "Esta página está evolucionando a medida que aprendemos lo que hace una gran empresa de firmas. La actualizaremos cuando tengamos más para compartir." @@ -514,8 +514,8 @@ msgstr "Título" msgid "Total Completed Documents" msgstr "Total de Documentos Completados" +#: apps/marketing/src/app/(marketing)/open/page.tsx:266 #: apps/marketing/src/app/(marketing)/open/page.tsx:267 -#: apps/marketing/src/app/(marketing)/open/page.tsx:268 msgid "Total Customers" msgstr "Total de Clientes" @@ -602,4 +602,3 @@ 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." - diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 33b35aafc..9049f6ed5 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -260,12 +260,12 @@ msgstr "Suscripciones Activas" msgid "Add" msgstr "Agregar" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:88 msgid "Add all relevant fields for each recipient." msgstr "Agrega todos los campos relevantes para cada destinatario." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:83 msgid "Add all relevant placeholders for each recipient." msgstr "Agrega todos los marcadores de posición relevantes para cada destinatario." @@ -281,8 +281,8 @@ msgstr "Agrega un autenticador para servir como método de autenticación secund msgid "Add email" msgstr "Agregar correo electrónico" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:174 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:86 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 msgid "Add Fields" msgstr "Agregar Campos" @@ -295,15 +295,15 @@ msgstr "Agregar más" msgid "Add passkey" msgstr "Agregar clave" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:81 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 msgid "Add Placeholders" msgstr "Agregar Marcadores de posición" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:169 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 msgid "Add Signers" msgstr "Agregar Firmantes" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180 msgid "Add Subject" msgstr "Agregar Asunto" @@ -311,7 +311,7 @@ msgstr "Agregar Asunto" msgid "Add team email" msgstr "Agregar correo electrónico del equipo" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171 msgid "Add the people who will sign the document." msgstr "Agrega a las personas que firmarán el documento." @@ -319,7 +319,7 @@ msgstr "Agrega a las personas que firmarán el documento." msgid "Add the recipients to create the document with" msgstr "Agrega los destinatarios con los que crear el documento" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180 +#: 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." @@ -414,13 +414,13 @@ msgstr "Se ha enviado un correo electrónico solicitando la transferencia de est msgid "An error occurred" msgstr "Ocurrió un error" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:266 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:197 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:231 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:201 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:235 msgid "An error occurred while adding signers." msgstr "Ocurrió un error al agregar firmantes." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:301 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303 msgid "An error occurred while adding the fields." msgstr "Ocurrió un error al agregar los campos." @@ -482,7 +482,7 @@ msgstr "Ocurrió un error al eliminar la firma." msgid "An error occurred while removing the text." msgstr "Ocurrió un error al eliminar el texto." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:332 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:334 msgid "An error occurred while sending the document." msgstr "Ocurrió un error al enviar el documento." @@ -507,8 +507,8 @@ msgstr "Ocurrió un error al firmar el documento." msgid "An error occurred while trying to create a checkout session." msgstr "Ocurrió un error al intentar crear una sesión de pago." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:232 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:166 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:170 msgid "An error occurred while updating the document settings." msgstr "Ocurrió un error al actualizar la configuración del documento." @@ -869,11 +869,11 @@ msgstr "Documentos completados" msgid "Completed Documents" msgstr "Documentos Completados" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166 msgid "Configure general settings for the document." msgstr "Configurar ajustes generales para el documento." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:78 msgid "Configure general settings for the template." msgstr "Configurar ajustes generales para la plantilla." @@ -1350,7 +1350,7 @@ msgstr "Documento reenviado" msgid "Document resealed" msgstr "Documento sellado nuevamente" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:321 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:323 msgid "Document sent" msgstr "Documento enviado" @@ -1579,16 +1579,16 @@ msgstr "Ingresa tu texto aquí" #: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:231 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:265 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:300 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:331 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:233 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:267 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:302 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:333 #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:165 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:196 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:169 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:200 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:234 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 @@ -1679,8 +1679,8 @@ msgstr "¿Olvidaste tu contraseña?" msgid "Full Name" msgstr "Nombre completo" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:164 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:76 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60 #: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43 #: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51 @@ -3244,7 +3244,7 @@ msgstr "La plantilla ha sido actualizada." msgid "Template moved" msgstr "Plantilla movida" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:219 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:223 msgid "Template saved" msgstr "Plantilla guardada" @@ -4521,7 +4521,7 @@ msgstr "Tu documento se ha creado exitosamente a partir de la plantilla." msgid "Your document has been re-sent successfully." msgstr "Tu documento ha sido reenviado con éxito." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:322 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:324 msgid "Your document has been sent successfully." msgstr "Tu documento ha sido enviado con éxito." @@ -4612,7 +4612,7 @@ msgstr "Tu plantilla ha sido eliminada con éxito." msgid "Your template will be duplicated." msgstr "Tu plantilla será duplicada." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:220 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:224 msgid "Your templates has been saved successfully." msgstr "Tus plantillas han sido guardadas con éxito." @@ -4628,4 +4628,3 @@ msgstr "¡Tu token se creó con éxito! ¡Asegúrate de copiarlo porque no podr #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Tus tokens se mostrarán aquí una vez que los crees." - diff --git a/packages/lib/translations/fr/common.po b/packages/lib/translations/fr/common.po index d29872c63..6b5a1d366 100644 --- a/packages/lib/translations/fr/common.po +++ b/packages/lib/translations/fr/common.po @@ -18,14 +18,104 @@ msgstr "" "X-Crowdin-File: common.po\n" "X-Crowdin-File-ID: 4\n" +#: packages/email/template-components/template-document-super-delete.tsx:27 +msgid "\"{documentName}\" has been deleted by an admin." +msgstr "" + +#: packages/email/template-components/template-document-pending.tsx:37 +msgid "“{documentName}” has been signed" +msgstr "" + +#: packages/email/template-components/template-document-completed.tsx:41 +#: packages/lib/server-only/document/resend-document.tsx:109 +msgid "{0}" +msgstr "" + +#: packages/email/template-components/template-document-invite.tsx:74 +msgid "{0} Document" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:117 +msgid "{0} invited you to {recipientActionVerb} a document" +msgstr "" + +#: packages/email/templates/team-join.tsx:55 +msgid "{0} joined the team {teamName} on Documenso" +msgstr "" + +#: packages/email/templates/team-leave.tsx:55 +msgid "{0} left the team {teamName} on Documenso" +msgstr "" + #: packages/ui/primitives/data-table-pagination.tsx:30 msgid "{0} of {1} row(s) selected." msgstr "{0} sur {1} ligne(s) sélectionnée(s)." +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:119 +#: packages/lib/server-only/document/resend-document.tsx:119 +msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"." +msgstr "" + +#: packages/email/templates/document-invite.tsx:79 +msgid "{inviterName} <0>({inviterEmail})" +msgstr "" + +#: packages/email/templates/document-cancel.tsx:19 +msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore." +msgstr "" + +#: packages/email/template-components/template-document-cancel.tsx:24 +msgid "{inviterName} has cancelled the document<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/template-components/template-document-invite.tsx:57 +msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/templates/document-invite.tsx:41 +msgid "{inviterName} has invited you to {action} {documentName}" +msgstr "" + +#: packages/email/templates/recipient-removed-from-document.tsx:18 +msgid "{inviterName} has removed you from the document {documentName}." +msgstr "" + +#: packages/email/template-components/template-document-invite.tsx:49 +msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/templates/document-invite.tsx:40 +msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}" +msgstr "" + +#: packages/email/templates/team-join.tsx:61 +msgid "{memberEmail} joined the following team" +msgstr "" + +#: packages/email/templates/team-leave.tsx:61 +msgid "{memberEmail} left the following team" +msgstr "" + +#: packages/email/templates/document-created-from-direct-template.tsx:55 +msgid "{recipientName} {action} a document by using one of your direct links" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:55 +msgid "{teamName} ownership transfer request" +msgstr "" + #: packages/ui/primitives/data-table-pagination.tsx:41 msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}" msgstr "{visibleRows, plural, one {Affichage de # résultat.} other {Affichage de # résultats.}}" +#: packages/email/templates/document-invite.tsx:91 +msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:59 +msgid "<0>{senderName} has requested that you take ownership of the following team" +msgstr "" + #: packages/ui/components/recipient/recipient-action-auth-select.tsx:53 msgid "<0>Inherit authentication method - Use the global action signing authentication method configured in the \"General Settings\" step" msgstr "<0>Hériter du méthode d'authentification - Utiliser la méthode d'authentification de signature d'action globale configurée dans l'étape \"Paramètres Générales\"" @@ -56,20 +146,66 @@ msgstr "<0>Exiger un compte - Le destinataire doit être connecté pour voir msgid "<0>Require passkey - The recipient must have an account and passkey configured via their settings" msgstr "<0>Exiger une clé d'accès - Le destinataire doit avoir un compte et une clé d'accès configurée via ses paramètres" +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:109 +msgid "A document was created by your direct template that requires you to {recipientActionVerb} it." +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90 +msgid "A new member has joined your team" +msgstr "" + +#: 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 "" + +#: packages/email/templates/team-join.tsx:29 +msgid "A team member has joined a team on Documenso" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79 +msgid "A team member has left {0}" +msgstr "" + +#: packages/email/templates/team-leave.tsx:29 +msgid "A team member has left a team on Documenso" +msgstr "" + +#: packages/email/templates/team-delete.tsx:27 +#: packages/email/templates/team-delete.tsx:31 +msgid "A team you were a part of has been deleted" +msgstr "" + +#: packages/email/templates/team-invite.tsx:77 +#: packages/email/templates/team-transfer-request.tsx:81 +msgid "Accept" +msgstr "" + +#: packages/email/templates/team-invite.tsx:29 +msgid "Accept invitation to join a team on Documenso" +msgstr "" + +#: packages/email/templates/confirm-team-email.tsx:38 +msgid "Accept team email request for {teamName} on Documenso" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:29 +msgid "Accept team transfer request on Documenso" +msgstr "" + #: packages/ui/primitives/document-dropzone.tsx:69 msgid "Add a document" msgstr "Ajouter un document" -#: packages/ui/primitives/document-flow/add-settings.tsx:336 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:339 +#: packages/ui/primitives/document-flow/add-settings.tsx:378 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:378 msgid "Add a URL to redirect the user to once the document is signed" msgstr "Ajouter une URL pour rediriger l'utilisateur une fois le document signé" -#: packages/ui/primitives/document-flow/add-settings.tsx:248 +#: packages/ui/primitives/document-flow/add-settings.tsx:290 msgid "Add an external ID to the document. This can be used to identify the document in external systems." msgstr "Ajouter un ID externe au document. Cela peut être utilisé pour identifier le document dans des systèmes externes." -#: packages/ui/primitives/template-flow/add-template-settings.tsx:256 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:295 msgid "Add an external ID to the template. This can be used to identify in external systems." msgstr "Ajouter un ID externe au modèle. Cela peut être utilisé pour identifier dans des systèmes externes." @@ -110,8 +246,8 @@ msgstr "Ajouter du texte au champ" msgid "Admin" msgstr "Administrateur" -#: packages/ui/primitives/document-flow/add-settings.tsx:230 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:238 +#: packages/ui/primitives/document-flow/add-settings.tsx:272 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:277 msgid "Advanced Options" msgstr "Options avancées" @@ -124,6 +260,14 @@ msgstr "Paramètres avancés" msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." msgstr "Après soumission, un document sera automatiquement généré et ajouté à votre page de documents. Vous recevrez également une notification par email." +#: packages/email/template-components/template-document-cancel.tsx:31 +msgid "All signatures have been voided." +msgstr "" + +#: packages/email/templates/document-super-delete.tsx:20 +msgid "An admin has deleted your document \"{documentName}\"." +msgstr "" + #: packages/ui/primitives/pdf-viewer.tsx:167 msgid "An error occurred while loading the document." msgstr "Une erreur s'est produite lors du chargement du document." @@ -132,6 +276,10 @@ msgstr "Une erreur s'est produite lors du chargement du document." msgid "Approve" msgstr "Approuver" +#: packages/lib/constants/recipient-roles.ts:68 +#~ msgid "APPROVE_REQUEST" +#~ msgstr "" + #: packages/lib/constants/recipient-roles.ts:9 msgid "Approved" msgstr "Approuvé" @@ -148,6 +296,10 @@ msgstr "Approbateurs" msgid "Approving" msgstr "En attente d'approbation" +#: packages/email/template-components/template-confirmation-email.tsx:28 +msgid "Before you get started, please confirm your email address by clicking the button below:" +msgstr "" + #: packages/ui/primitives/signature-pad/signature-pad.tsx:377 msgid "Black" msgstr "Noir" @@ -156,6 +308,14 @@ msgstr "Noir" msgid "Blue" msgstr "Bleu" +#: packages/email/templates/team-invite.tsx:67 +msgid "by <0>{senderName}" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:70 +msgid "By accepting this request, you will take responsibility for any billing items associated with this team." +msgstr "" + #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 msgid "Cancel" @@ -206,6 +366,16 @@ msgstr "Cliquez pour insérer un champ" msgid "Close" msgstr "Fermer" +#: packages/email/template-components/template-document-completed.tsx:35 +#: packages/email/template-components/template-document-self-signed.tsx:36 +msgid "Completed" +msgstr "" + +#: packages/email/templates/document-completed.tsx:21 +#: packages/email/templates/document-self-signed.tsx:17 +msgid "Completed Document" +msgstr "" + #: packages/lib/constants/template.ts:12 msgid "Configure Direct Recipient" msgstr "Configurer le destinataire direct" @@ -215,10 +385,22 @@ msgstr "Configurer le destinataire direct" msgid "Configure the {0} field" msgstr "Configurer le champ {0}" +#: packages/email/template-components/template-confirmation-email.tsx:38 +msgid "Confirm email" +msgstr "" + #: packages/ui/primitives/document-flow/document-flow-root.tsx:141 msgid "Continue" msgstr "Continuer" +#: packages/email/template-components/template-document-invite.tsx:66 +msgid "Continue by {0} the document." +msgstr "" + +#: packages/email/template-components/template-document-completed.tsx:45 +msgid "Continue by downloading the document." +msgstr "" + #: packages/ui/components/document/document-share-button.tsx:46 msgid "Copied to clipboard" msgstr "Copié dans le presse-papiers" @@ -227,6 +409,14 @@ msgstr "Copié dans le presse-papiers" msgid "Copy Link" msgstr "Copier le lien" +#: packages/email/template-components/template-document-self-signed.tsx:46 +msgid "Create a <0>free account to access your signed documents at any time." +msgstr "" + +#: packages/email/template-components/template-document-self-signed.tsx:68 +msgid "Create account" +msgstr "" + #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" msgstr "Texte personnalisé" @@ -237,25 +427,47 @@ msgstr "Texte personnalisé" msgid "Date" msgstr "Date" -#: packages/ui/primitives/document-flow/add-settings.tsx:271 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:279 +#: packages/ui/primitives/document-flow/add-settings.tsx:313 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:318 msgid "Date Format" msgstr "Format de date" +#: packages/email/templates/team-invite.tsx:83 +msgid "Decline" +msgstr "" + +#: packages/email/templates/reset-password.tsx:65 +msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us." +msgstr "" + #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570 msgid "Direct link receiver" msgstr "Receveur de lien direct" #: packages/ui/components/document/document-global-auth-access-select.tsx:62 -#: packages/ui/primitives/document-flow/add-settings.tsx:174 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:151 +#: packages/ui/primitives/document-flow/add-settings.tsx:216 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:190 msgid "Document access" msgstr "Accès au document" +#: packages/lib/server-only/document/super-delete-document.ts:75 +msgid "Document Cancelled" +msgstr "" + +#: packages/email/templates/document-created-from-direct-template.tsx:30 +#: packages/lib/server-only/template/create-document-from-direct-template.ts:554 +msgid "Document created from direct template" +msgstr "" + #: packages/lib/constants/template.ts:20 msgid "Document Creation" msgstr "Création de document" +#: packages/lib/server-only/document/send-delete-email.ts:58 +msgid "Document Deleted!" +msgstr "" + +#: packages/email/template-components/template-document-completed.tsx:64 #: packages/ui/components/document/document-download-button.tsx:68 msgid "Download" msgstr "Télécharger" @@ -288,7 +500,7 @@ msgstr "Email" msgid "Email is required" msgstr "L'email est requis" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:184 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:223 msgid "Email Options" msgstr "Options d'email" @@ -318,8 +530,8 @@ msgstr "Entrez le mot de passe" msgid "Error" msgstr "Erreur" -#: packages/ui/primitives/document-flow/add-settings.tsx:241 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:249 +#: packages/ui/primitives/document-flow/add-settings.tsx:283 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:288 msgid "External ID" msgstr "ID externe" @@ -361,6 +573,14 @@ msgstr "Espace réservé du champ" msgid "Font Size" msgstr "Taille de Police" +#: packages/lib/server-only/auth/send-forgot-password.ts:61 +msgid "Forgot Password?" +msgstr "" + +#: packages/email/template-components/template-forgot-password.tsx:21 +msgid "Forgot your password?" +msgstr "" + #: packages/ui/primitives/document-flow/types.ts:50 msgid "Free Signature" msgstr "Signature gratuite" @@ -377,6 +597,10 @@ msgstr "Retourner" msgid "Green" msgstr "Vert" +#: packages/email/templates/reset-password.tsx:50 +msgid "Hi, {userName} <0>({userEmail})" +msgstr "" + #: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" msgstr "Je suis un signataire de ce document" @@ -410,12 +634,25 @@ msgstr "Email invalide" msgid "Invalid email address" msgstr "Adresse email invalide" +#: packages/email/templates/team-invite.tsx:55 +msgid "Join {teamName} on Documenso" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 #: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx:48 msgid "Label" msgstr "Étiquette" +#: packages/ui/primitives/document-flow/add-settings.tsx:176 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:150 +msgid "Language" +msgstr "" + +#: packages/email/templates/team-transfer-request.tsx:87 +msgid "Link expires in 1 hour." +msgstr "" + #: packages/ui/primitives/lazy-pdf-viewer.tsx:15 #: packages/ui/primitives/pdf-viewer.tsx:44 msgid "Loading document..." @@ -434,7 +671,7 @@ msgid "Member" msgstr "Membre" #: packages/ui/primitives/document-flow/add-subject.tsx:95 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:215 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:254 msgid "Message <0>(Optional)" msgstr "Message <0>(Optionnel)" @@ -525,6 +762,22 @@ msgstr "Page {0} sur {numPages}" msgid "Password Required" msgstr "Mot de passe requis" +#: packages/email/templates/forgot-password.tsx:17 +msgid "Password Reset Requested" +msgstr "" + +#: packages/email/templates/reset-password.tsx:18 +msgid "Password Reset Successful" +msgstr "" + +#: packages/email/template-components/template-reset-password.tsx:22 +msgid "Password updated!" +msgstr "" + +#: packages/email/templates/document-pending.tsx:17 +msgid "Pending Document" +msgstr "" + #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156 msgid "Pick a number" msgstr "Choisissez un numéro" @@ -535,6 +788,34 @@ msgstr "Choisissez un numéro" msgid "Placeholder" msgstr "Espace réservé" +#: packages/email/template-components/template-document-invite.tsx:43 +msgid "Please {0} your document<0/>\"{documentName}\"" +msgstr "" + +#: packages/email/templates/document-invite.tsx:38 +msgid "Please {action} your document {documentName}" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:98 +msgid "Please {recipientActionVerb} this document" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:112 +msgid "Please {recipientActionVerb} this document created by your direct template" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:104 +msgid "Please {recipientActionVerb} your document" +msgstr "" + +#: packages/lib/server-only/auth/send-confirmation-email.ts:67 +msgid "Please confirm your email" +msgstr "" + +#: packages/email/templates/confirm-email.tsx:15 +msgid "Please confirm your email address" +msgstr "" + #: packages/ui/primitives/pdf-viewer.tsx:223 #: packages/ui/primitives/pdf-viewer.tsx:238 msgid "Please try again or contact our support." @@ -561,8 +842,8 @@ msgid "Receives copy" msgstr "Recevoir une copie" #: packages/ui/components/recipient/recipient-action-auth-select.tsx:39 -#: packages/ui/primitives/document-flow/add-settings.tsx:215 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:169 +#: packages/ui/primitives/document-flow/add-settings.tsx:257 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:208 msgid "Recipient action authentication" msgstr "Authentification d'action de destinataire" @@ -570,11 +851,27 @@ msgstr "Authentification d'action de destinataire" msgid "Red" msgstr "Rouge" -#: packages/ui/primitives/document-flow/add-settings.tsx:329 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:332 +#: packages/ui/primitives/document-flow/add-settings.tsx:371 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:371 msgid "Redirect URL" msgstr "URL de redirection" +#: packages/lib/server-only/document/resend-document.tsx:165 +msgid "Reminder: {0}" +msgstr "" + +#: packages/lib/server-only/document/resend-document.tsx:118 +msgid "Reminder: {0} invited you to {recipientActionVerb} a document" +msgstr "" + +#: packages/lib/server-only/document/resend-document.tsx:110 +msgid "Reminder: Please {recipientActionVerb} this document" +msgstr "" + +#: packages/lib/server-only/document/resend-document.tsx:114 +msgid "Reminder: Please {recipientActionVerb} your document" +msgstr "" + #: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" msgstr "Retirer" @@ -587,6 +884,10 @@ msgstr "Retirer" msgid "Required field" msgstr "Champ requis" +#: packages/email/template-components/template-forgot-password.tsx:33 +msgid "Reset Password" +msgstr "" + #: packages/ui/components/document/document-share-button.tsx:147 msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" msgstr "Soyez assuré, votre document eststrictement confidentiel et ne sera jamais partagé. Seule votre expérience de signature sera mise en avant. Partagez votre carte de signature personnalisée pour mettre en valeur votre signature !" @@ -654,6 +955,10 @@ msgstr "Afficher les paramètres avancés" msgid "Sign" msgstr "Signer" +#: packages/email/template-components/template-reset-password.tsx:34 +msgid "Sign In" +msgstr "" + #: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 #: packages/ui/primitives/document-flow/field-icon.tsx:52 @@ -682,6 +987,15 @@ msgstr "Les signataires doivent avoir des e-mails uniques" msgid "Signing" msgstr "Signature en cours" +#: packages/lib/server-only/document/send-completed-email.ts:93 +#: packages/lib/server-only/document/send-completed-email.ts:161 +msgid "Signing Complete!" +msgstr "" + +#: packages/lib/constants/recipient-roles.ts:66 +#~ msgid "SIGNING_REQUEST" +#~ msgstr "" + #: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34 msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." msgstr "Certains signataires n'ont pas été assignés à un champ de signature. Veuillez assigner au moins 1 champ de signature à chaque signataire avant de continuer." @@ -704,7 +1018,7 @@ msgid "Step <0>{step} of {maxStep}" msgstr "Étape <0>{step} sur {maxStep}" #: packages/ui/primitives/document-flow/add-subject.tsx:78 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:195 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:234 msgid "Subject <0>(Optional)" msgstr "Objet <0>(Optionnel)" @@ -712,7 +1026,19 @@ msgstr "Objet <0>(Optionnel)" msgid "Submit" msgstr "Soumettre" -#: packages/ui/primitives/template-flow/add-template-settings.tsx:134 +#: packages/lib/server-only/team/delete-team-email.ts:96 +msgid "Team email has been revoked for {0}" +msgstr "" + +#: packages/email/templates/team-email-removed.tsx:53 +msgid "Team email removed" +msgstr "" + +#: packages/email/templates/team-email-removed.tsx:27 +msgid "Team email removed for {teamName} on Documenso" +msgstr "" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx:133 msgid "Template title" msgstr "Titre du modèle" @@ -722,6 +1048,10 @@ msgstr "Titre du modèle" msgid "Text" msgstr "Texte" +#: packages/email/template-components/template-forgot-password.tsx:25 +msgid "That's okay, it happens! Click the button below to reset your password." +msgstr "" + #: packages/ui/components/recipient/recipient-action-auth-select.tsx:44 msgid "The authentication required for recipients to sign fields" msgstr "L'authentification requise pour que les destinataires signent des champs" @@ -738,10 +1068,22 @@ msgstr "L'authentification requise pour que les destinataires visualisent le doc msgid "The document's name" msgstr "Le nom du document" +#: packages/email/templates/team-delete.tsx:35 +msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents" +msgstr "" + +#: packages/email/templates/team-delete.tsx:34 +msgid "The following team has been deleted by you" +msgstr "" + #: packages/ui/primitives/document-password-dialog.tsx:52 msgid "The password you have entered is incorrect. Please try again." msgstr "Le mot de passe que vous avez entré est incorrect. Veuillez réessayer." +#: packages/email/template-components/template-document-super-delete.tsx:38 +msgid "The reason provided for deletion is the following:" +msgstr "" + #: packages/ui/components/recipient/recipient-role-select.tsx:103 msgid "The recipient is not required to take any action and receives a copy of the document after it is completed." msgstr "Le destinataire n'est pas tenu de prendre des mesures et reçoit une copie du document après son achèvement." @@ -774,10 +1116,18 @@ msgstr "L'email du signataire" msgid "The signer's name" msgstr "Le nom du signataire" +#: packages/email/templates/team-email-removed.tsx:57 +msgid "The team email <0>{teamEmail} has been removed from the following team" +msgstr "" + #: packages/ui/components/document/document-global-auth-action-select.tsx:72 msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." msgstr "Cela peut être remplacé par le paramétrage direct des exigences d'authentification pour chaque destinataire à l'étape suivante." +#: packages/email/template-components/template-document-super-delete.tsx:31 +msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support." +msgstr "" + #: packages/ui/primitives/document-flow/add-fields.tsx:757 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." @@ -786,6 +1136,10 @@ msgstr "Ce document a déjà été envoyé à ce destinataire. Vous ne pouvez pl msgid "This document is password protected. Please enter the password to view the document." msgstr "Ce document est protégé par mot de passe. Veuillez entrer le mot de passe pour visualiser le document." +#: packages/email/template-components/template-footer.tsx:14 +msgid "This document was sent using <0>Documenso." +msgstr "Ce document a été envoyé via <0>Documenso." + #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573 msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." msgstr "Ce champ ne peut pas être modifié ou supprimé. Lorsque vous partagez le lien direct de ce modèle ou l'ajoutez à votre profil public, toute personne qui y accède peut saisir son nom et son email, et remplir les champs qui lui sont attribués." @@ -802,12 +1156,12 @@ msgstr "Ce signataire a déjà signé le document." msgid "This will override any global settings." msgstr "Cela remplacera tous les paramètres globaux." -#: packages/ui/primitives/document-flow/add-settings.tsx:305 -#: packages/ui/primitives/template-flow/add-template-settings.tsx:309 +#: packages/ui/primitives/document-flow/add-settings.tsx:347 +#: packages/ui/primitives/template-flow/add-template-settings.tsx:348 msgid "Time Zone" msgstr "Fuseau horaire" -#: packages/ui/primitives/document-flow/add-settings.tsx:153 +#: packages/ui/primitives/document-flow/add-settings.tsx:155 msgid "Title" msgstr "Titre" @@ -844,7 +1198,19 @@ msgstr "Valeur" #: packages/lib/constants/recipient-roles.ts:26 msgid "View" -msgstr "Vue" +msgstr "Voir" + +#: packages/email/templates/document-created-from-direct-template.tsx:69 +msgid "View document" +msgstr "Voir le document" + +#: packages/email/template-components/template-document-self-signed.tsx:79 +msgid "View plans" +msgstr "Voir les forfaits" + +#: packages/lib/constants/recipient-roles.ts:67 +#~ msgid "VIEW_REQUEST" +#~ msgstr "DEMANDE_DE_CONSULTATION" #: packages/lib/constants/recipient-roles.ts:27 msgid "Viewed" @@ -860,12 +1226,36 @@ msgstr "Spectateurs" #: packages/lib/constants/recipient-roles.ts:28 msgid "Viewing" -msgstr "Visionnage" +msgstr "Consultation" + +#: packages/email/template-components/template-document-pending.tsx:31 +msgid "Waiting for others" +msgstr "En attente des autres" + +#: packages/lib/server-only/document/send-pending-email.ts:73 +msgid "Waiting for others to complete signing." +msgstr "" + +#: packages/email/template-components/template-document-pending.tsx:41 +msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready." +msgstr "Nous attendons encore que d'autres signataires signent ce document.<0/>Nous vous préviendrons dès qu'il sera prêt." + +#: packages/email/templates/reset-password.tsx:59 +msgid "We've changed your password as you asked. You can now sign in with your new password." +msgstr "Nous avons changé votre mot de passe comme demandé. Vous pouvez maintenant vous connecter avec votre nouveau mot de passe." + +#: packages/email/template-components/template-confirmation-email.tsx:24 +msgid "Welcome to Documenso!" +msgstr "" #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" msgstr "Vous êtes sur le point d'envoyer ce document aux destinataires. Êtes-vous sûr de vouloir continuer ?" +#: packages/email/template-components/template-confirmation-email.tsx:41 +msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)" +msgstr "" + #: packages/ui/components/document/document-send-email-message-helper.tsx:11 msgid "You can use the following variables in your message:" msgstr "Vous pouvez utiliser les variables suivantes dans votre message :" @@ -874,7 +1264,52 @@ msgstr "Vous pouvez utiliser les variables suivantes dans votre message :" msgid "You cannot upload documents at this time." msgstr "Vous ne pouvez pas télécharger de documents pour le moment." +#: packages/email/template-components/template-document-cancel.tsx:35 +msgid "You don't need to sign it anymore." +msgstr "Vous n'avez plus besoin de le signer." + +#: packages/lib/server-only/team/create-team-member-invites.ts:168 +msgid "You have been invited to join {0} on Documenso" +msgstr "" + +#: packages/email/templates/team-invite.tsx:59 +msgid "You have been invited to join the following team" +msgstr "Vous avez été invité à rejoindre l'équipe suivante" + +#: packages/lib/server-only/recipient/set-recipients-for-document.ts:314 +msgid "You have been removed from a document" +msgstr "" + +#: packages/lib/server-only/team/request-team-ownership-transfer.ts:114 +msgid "You have been requested to take ownership of team {0} on Documenso" +msgstr "" + +#: packages/lib/jobs/definitions/emails/send-signing-email.ts:102 +#: packages/lib/server-only/document/resend-document.tsx:113 +msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it." +msgstr "" + #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "Vous avez atteint votre limite de documents." +#: packages/email/template-components/template-document-self-signed.tsx:42 +#~ msgid "You have signed \"{documentName}\"" +#~ msgstr "Vous avez signé \"{documentName}\"" + +#: packages/email/template-components/template-document-self-signed.tsx:42 +msgid "You have signed “{documentName}”" +msgstr "" + +#: packages/email/template-components/template-document-super-delete.tsx:23 +msgid "Your document has been deleted by an admin!" +msgstr "Votre document a été supprimé par un administrateur !" + +#: packages/email/template-components/template-reset-password.tsx:26 +msgid "Your password has been updated." +msgstr "Votre mot de passe a été mis à jour." + +#: packages/email/templates/team-delete.tsx:26 +#: packages/email/templates/team-delete.tsx:30 +msgid "Your team has been deleted" +msgstr "Votre équipe a été supprimée" diff --git a/packages/lib/translations/fr/marketing.po b/packages/lib/translations/fr/marketing.po index 825a8d817..617549e8f 100644 --- a/packages/lib/translations/fr/marketing.po +++ b/packages/lib/translations/fr/marketing.po @@ -42,7 +42,7 @@ msgstr "Ajouter un document" msgid "Add More Users for {0}" msgstr "Ajouter plus d'utilisateurs pour {0}" -#: apps/marketing/src/app/(marketing)/open/page.tsx:165 +#: apps/marketing/src/app/(marketing)/open/page.tsx:164 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" msgstr "Tous nos indicateurs, finances et apprentissages sont publics. Nous croyons en la transparence et souhaitons partager notre parcours avec vous. Vous pouvez en lire plus sur pourquoi ici : <0>Annonce de Open Metrics" @@ -90,7 +90,7 @@ msgstr "Changelog" msgid "Choose a template from the community app store. Or submit your own template for others to use." msgstr "Choisissez un modèle dans la boutique d'applications communautaires. Ou soumettez votre propre modèle pour que d'autres puissent l'utiliser." -#: apps/marketing/src/app/(marketing)/open/page.tsx:219 +#: apps/marketing/src/app/(marketing)/open/page.tsx:218 msgid "Community" msgstr "Communauté" @@ -193,7 +193,7 @@ msgstr "Rapide." msgid "Faster, smarter and more beautiful." msgstr "Plus rapide, plus intelligent et plus beau." -#: apps/marketing/src/app/(marketing)/open/page.tsx:210 +#: apps/marketing/src/app/(marketing)/open/page.tsx:209 msgid "Finances" msgstr "Finances" @@ -246,15 +246,15 @@ msgstr "Commencez aujourd'hui." msgid "Get the latest news from Documenso, including product updates, team announcements and more!" msgstr "Obtenez les dernières nouvelles de Documenso, y compris les mises à jour de produits, les annonces d'équipe et plus encore !" -#: apps/marketing/src/app/(marketing)/open/page.tsx:233 +#: apps/marketing/src/app/(marketing)/open/page.tsx:232 msgid "GitHub: Total Merged PRs" msgstr "GitHub : Total des PRs fusionnées" -#: apps/marketing/src/app/(marketing)/open/page.tsx:251 +#: apps/marketing/src/app/(marketing)/open/page.tsx:250 msgid "GitHub: Total Open Issues" msgstr "GitHub : Total des problèmes ouverts" -#: apps/marketing/src/app/(marketing)/open/page.tsx:225 +#: apps/marketing/src/app/(marketing)/open/page.tsx:224 msgid "GitHub: Total Stars" msgstr "GitHub : Nombre total d'étoiles" @@ -262,7 +262,7 @@ msgstr "GitHub : Nombre total d'étoiles" msgid "Global Salary Bands" msgstr "Bandes de salaire globales" -#: apps/marketing/src/app/(marketing)/open/page.tsx:261 +#: apps/marketing/src/app/(marketing)/open/page.tsx:260 msgid "Growth" msgstr "Croissance" @@ -286,7 +286,7 @@ msgstr "Paiements intégrés avec Stripe afin que vous n'ayez pas à vous soucie msgid "Integrates with all your favourite tools." msgstr "S'intègre à tous vos outils préférés." -#: apps/marketing/src/app/(marketing)/open/page.tsx:289 +#: apps/marketing/src/app/(marketing)/open/page.tsx:288 msgid "Is there more?" msgstr "Y a-t-il plus ?" @@ -310,11 +310,11 @@ msgstr "Emplacement" msgid "Make it your own through advanced customization and adjustability." msgstr "Faites-en votre propre grâce à une personnalisation avancée et un ajustement." -#: apps/marketing/src/app/(marketing)/open/page.tsx:199 +#: apps/marketing/src/app/(marketing)/open/page.tsx:198 msgid "Merged PR's" msgstr "PRs fusionnées" -#: apps/marketing/src/app/(marketing)/open/page.tsx:234 +#: apps/marketing/src/app/(marketing)/open/page.tsx:233 msgid "Merged PRs" msgstr "PRs fusionnées" @@ -345,8 +345,8 @@ msgstr "Aucune carte de crédit requise" msgid "None of these work for you? Try self-hosting!" msgstr "Aucune de ces options ne fonctionne pour vous ? Essayez l'hébergement autonome !" -#: apps/marketing/src/app/(marketing)/open/page.tsx:194 -#: apps/marketing/src/app/(marketing)/open/page.tsx:252 +#: apps/marketing/src/app/(marketing)/open/page.tsx:193 +#: apps/marketing/src/app/(marketing)/open/page.tsx:251 msgid "Open Issues" msgstr "Problèmes ouverts" @@ -354,7 +354,7 @@ msgstr "Problèmes ouverts" msgid "Open Source or Hosted." msgstr "Open Source ou hébergé." -#: apps/marketing/src/app/(marketing)/open/page.tsx:161 +#: apps/marketing/src/app/(marketing)/open/page.tsx:160 #: 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 @@ -466,7 +466,7 @@ msgstr "Intelligent." msgid "Star on GitHub" msgstr "Étoile sur GitHub" -#: apps/marketing/src/app/(marketing)/open/page.tsx:226 +#: apps/marketing/src/app/(marketing)/open/page.tsx:225 msgid "Stars" msgstr "Étoiles" @@ -501,7 +501,7 @@ msgstr "Boutique de modèles (Bientôt)." msgid "That's awesome. You can take a look at the current <0>Issues and join our <1>Discord Community 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 "C'est génial. Vous pouvez consulter les <0>Problèmes actuels et rejoindre notre <1>Communauté Discord pour rester à jour sur ce qui est actuellement prioritaire. Dans tous les cas, nous sommes une communauté ouverte et accueillons toutes les contributions, techniques et non techniques ❤️" -#: apps/marketing/src/app/(marketing)/open/page.tsx:293 +#: apps/marketing/src/app/(marketing)/open/page.tsx:292 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 "Cette page évolue à mesure que nous apprenons ce qui fait une grande entreprise de signature. Nous la mettrons à jour lorsque nous aurons plus à partager." @@ -514,8 +514,8 @@ msgstr "Titre" msgid "Total Completed Documents" msgstr "Documents totalisés complétés" +#: apps/marketing/src/app/(marketing)/open/page.tsx:266 #: apps/marketing/src/app/(marketing)/open/page.tsx:267 -#: apps/marketing/src/app/(marketing)/open/page.tsx:268 msgid "Total Customers" msgstr "Total des clients" @@ -602,4 +602,3 @@ 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." - diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index b8d3fc56a..5ab0eaad8 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -260,12 +260,12 @@ msgstr "Abonnements actifs" msgid "Add" msgstr "Ajouter" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:88 msgid "Add all relevant fields for each recipient." msgstr "Ajouter tous les champs pertinents pour chaque destinataire." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:83 msgid "Add all relevant placeholders for each recipient." msgstr "Ajouter tous les espaces réservés pertinents pour chaque destinataire." @@ -281,8 +281,8 @@ msgstr "Ajouter un authentificateur pour servir de méthode d'authentification s msgid "Add email" msgstr "Ajouter un e-mail" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:174 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:86 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 msgid "Add Fields" msgstr "Ajouter des champs" @@ -295,15 +295,15 @@ msgstr "Ajouter davantage" msgid "Add passkey" msgstr "Ajouter une clé de passe" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:81 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 msgid "Add Placeholders" msgstr "Ajouter des espaces réservés" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:169 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 msgid "Add Signers" msgstr "Ajouter des signataires" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:179 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180 msgid "Add Subject" msgstr "Ajouter un sujet" @@ -311,7 +311,7 @@ msgstr "Ajouter un sujet" msgid "Add team email" msgstr "Ajouter un e-mail d'équipe" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:170 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:171 msgid "Add the people who will sign the document." msgstr "Ajouter les personnes qui signeront le document." @@ -319,7 +319,7 @@ msgstr "Ajouter les personnes qui signeront le document." msgid "Add the recipients to create the document with" msgstr "Ajouter les destinataires pour créer le document avec" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:180 +#: 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." @@ -414,13 +414,13 @@ msgstr "Un e-mail demandant le transfert de cette équipe a été envoyé." msgid "An error occurred" msgstr "Une erreur est survenue" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:266 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:197 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:231 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:201 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:235 msgid "An error occurred while adding signers." msgstr "Une erreur est survenue lors de l'ajout de signataires." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:301 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:303 msgid "An error occurred while adding the fields." msgstr "Une erreur est survenue lors de l'ajout des champs." @@ -482,7 +482,7 @@ msgstr "Une erreur est survenue lors de la suppression de la signature." msgid "An error occurred while removing the text." msgstr "Une erreur est survenue lors de la suppression du texte." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:332 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:334 msgid "An error occurred while sending the document." msgstr "Une erreur est survenue lors de l'envoi du document." @@ -507,8 +507,8 @@ msgstr "Une erreur est survenue lors de la signature du document." msgid "An error occurred while trying to create a checkout session." msgstr "Une erreur est survenue lors de la création d'une session de paiement." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:232 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:166 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:170 msgid "An error occurred while updating the document settings." msgstr "Une erreur est survenue lors de la mise à jour des paramètres du document." @@ -869,11 +869,11 @@ msgstr "Documents complétés" msgid "Completed Documents" msgstr "Documents Complétés" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:166 msgid "Configure general settings for the document." msgstr "Configurer les paramètres généraux pour le document." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:78 msgid "Configure general settings for the template." msgstr "Configurer les paramètres généraux pour le modèle." @@ -1350,7 +1350,7 @@ msgstr "Document renvoyé" msgid "Document resealed" msgstr "Document resealé" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:321 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:323 msgid "Document sent" msgstr "Document envoyé" @@ -1579,16 +1579,16 @@ msgstr "Entrez votre texte ici" #: apps/web/src/app/(dashboard)/admin/documents/[id]/admin-actions.tsx:41 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:78 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:231 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:265 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:300 -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:331 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:233 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:267 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:302 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:333 #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:165 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:196 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:230 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:169 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:200 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:234 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56 #: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 @@ -1679,8 +1679,8 @@ msgstr "Mot de passe oublié ?" msgid "Full Name" msgstr "Nom complet" -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:164 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:76 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60 #: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43 #: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51 @@ -3244,7 +3244,7 @@ msgstr "Le modèle a été mis à jour." msgid "Template moved" msgstr "Modèle déplacé" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:219 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:223 msgid "Template saved" msgstr "Modèle enregistré" @@ -4521,7 +4521,7 @@ msgstr "Votre document a été créé à partir du modèle avec succès." msgid "Your document has been re-sent successfully." msgstr "Votre document a été renvoyé avec succès." -#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:322 +#: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:324 msgid "Your document has been sent successfully." msgstr "Votre document a été envoyé avec succès." @@ -4612,7 +4612,7 @@ msgstr "Votre modèle a été supprimé avec succès." msgid "Your template will be duplicated." msgstr "Votre modèle sera dupliqué." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:220 +#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:224 msgid "Your templates has been saved successfully." msgstr "Vos modèles ont été enregistrés avec succès." @@ -4628,4 +4628,3 @@ 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." - diff --git a/packages/lib/utils/is-valid-redirect-url.ts b/packages/lib/utils/is-valid-redirect-url.ts index e89818ac2..de827f69c 100644 --- a/packages/lib/utils/is-valid-redirect-url.ts +++ b/packages/lib/utils/is-valid-redirect-url.ts @@ -4,7 +4,6 @@ export const isValidRedirectUrl = (value: string) => { try { const url = new URL(value); - console.log({ protocol: url.protocol }); if (!ALLOWED_PROTOCOLS.includes(url.protocol.slice(0, -1).toLowerCase())) { return false; } diff --git a/packages/lib/utils/remember.ts b/packages/lib/utils/remember.ts new file mode 100644 index 000000000..1ee146dd1 --- /dev/null +++ b/packages/lib/utils/remember.ts @@ -0,0 +1,18 @@ +declare global { + // eslint-disable-next-line no-var, @typescript-eslint/no-explicit-any + var __documenso_util_remember: Map; +} + +export function remember(name: string, getValue: () => T): T { + const thusly = globalThis; + + if (!thusly.__documenso_util_remember) { + thusly.__documenso_util_remember = new Map(); + } + + if (!thusly.__documenso_util_remember.has(name)) { + thusly.__documenso_util_remember.set(name, getValue()); + } + + return thusly.__documenso_util_remember.get(name); +} diff --git a/packages/lib/utils/render-email-with-i18n.tsx b/packages/lib/utils/render-email-with-i18n.tsx new file mode 100644 index 000000000..172e8d563 --- /dev/null +++ b/packages/lib/utils/render-email-with-i18n.tsx @@ -0,0 +1,36 @@ +import { I18nProvider } from '@lingui/react'; + +import { render } from '@documenso/email/render'; + +import { getI18nInstance } from '../client-only/providers/i18n.server'; +import { + APP_I18N_OPTIONS, + type SupportedLanguageCodes, + isValidLanguageCode, +} from '../constants/i18n'; + +export const renderEmailWithI18N = async ( + component: React.ReactElement, + options?: { + plainText?: boolean; + // eslint-disable-next-line @typescript-eslint/ban-types + lang?: SupportedLanguageCodes | (string & {}); + }, +) => { + try { + const providedLang = options?.lang; + + const lang = isValidLanguageCode(providedLang) ? providedLang : APP_I18N_OPTIONS.sourceLang; + + const i18n = await getI18nInstance(lang); + + i18n.activate(lang); + + return render({component}, { + plainText: options?.plainText, + }); + } catch (err) { + console.error(err); + throw new Error('Failed to render email'); + } +}; diff --git a/packages/prisma/migrations/20241101103425_add_language_column_for_documents_and_templates/migration.sql b/packages/prisma/migrations/20241101103425_add_language_column_for_documents_and_templates/migration.sql new file mode 100644 index 000000000..5a4dde1d8 --- /dev/null +++ b/packages/prisma/migrations/20241101103425_add_language_column_for_documents_and_templates/migration.sql @@ -0,0 +1,5 @@ +-- AlterTable +ALTER TABLE "DocumentMeta" ADD COLUMN "language" TEXT NOT NULL DEFAULT 'en'; + +-- AlterTable +ALTER TABLE "TemplateMeta" ADD COLUMN "language" TEXT NOT NULL DEFAULT 'en'; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 7c858c897..343ee2988 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -370,6 +370,7 @@ model DocumentMeta { redirectUrl String? signingOrder DocumentSigningOrder @default(PARALLEL) typedSignatureEnabled Boolean @default(false) + language String @default("en") } enum ReadStatus { @@ -612,6 +613,7 @@ model TemplateMeta { templateId Int @unique template Template @relation(fields: [templateId], references: [id], onDelete: Cascade) redirectUrl String? + language String @default("en") } model Template { diff --git a/packages/trpc/server/document-router/router.ts b/packages/trpc/server/document-router/router.ts index e869eb9a4..d49dd07ef 100644 --- a/packages/trpc/server/document-router/router.ts +++ b/packages/trpc/server/document-router/router.ts @@ -232,6 +232,7 @@ export const documentRouter = router({ dateFormat: meta.dateFormat, timezone: meta.timezone, redirectUrl: meta.redirectUrl, + language: meta.language, userId: ctx.user.id, requestMetadata, }); diff --git a/packages/trpc/server/document-router/schema.ts b/packages/trpc/server/document-router/schema.ts index 8d3063315..64540b077 100644 --- a/packages/trpc/server/document-router/schema.ts +++ b/packages/trpc/server/document-router/schema.ts @@ -1,5 +1,6 @@ import { z } from 'zod'; +import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n'; import { ZDocumentAccessAuthTypesSchema, ZDocumentActionAuthTypesSchema, @@ -70,6 +71,7 @@ export const ZSetSettingsForDocumentMutationSchema = z.object({ message: 'Please enter a valid URL, make sure you include http:// or https:// part of the url.', }), + language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(), }), }); diff --git a/packages/trpc/server/singleplayer-router/router.ts b/packages/trpc/server/singleplayer-router/router.ts index 6e8533c32..5cf62cb53 100644 --- a/packages/trpc/server/singleplayer-router/router.ts +++ b/packages/trpc/server/singleplayer-router/router.ts @@ -3,7 +3,6 @@ import { createElement } from 'react'; import { PDFDocument } from 'pdf-lib'; import { mailer } from '@documenso/email/mailer'; -import { renderAsync } from '@documenso/email/render'; import { DocumentSelfSignedEmailTemplate } from '@documenso/email/templates/document-self-signed'; import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app'; import { FROM_ADDRESS, FROM_NAME, SERVICE_USER_EMAIL } from '@documenso/lib/constants/email'; @@ -11,6 +10,7 @@ import { insertFieldInPDF } from '@documenso/lib/server-only/pdf/insert-field-in import { alphaid } from '@documenso/lib/universal/id'; import { getFile } from '@documenso/lib/universal/upload/get-file'; import { putPdfFile } from '@documenso/lib/universal/upload/put-file'; +import { renderEmailWithI18N } from '@documenso/lib/utils/render-email-with-i18n'; import { prisma } from '@documenso/prisma'; import { DocumentSource, @@ -158,8 +158,8 @@ export const singleplayerRouter = router({ }); const [html, text] = await Promise.all([ - renderAsync(template), - renderAsync(template, { plainText: true }), + renderEmailWithI18N(template), + renderEmailWithI18N(template, { plainText: true }), ]); // Send email to signer. diff --git a/packages/trpc/server/template-router/router.ts b/packages/trpc/server/template-router/router.ts index a1a17d688..ddd4a73ad 100644 --- a/packages/trpc/server/template-router/router.ts +++ b/packages/trpc/server/template-router/router.ts @@ -1,6 +1,7 @@ import { TRPCError } from '@trpc/server'; import { getServerLimits } from '@documenso/ee/server-only/limits/server'; +import { isValidLanguageCode } from '@documenso/lib/constants/i18n'; import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; import { sendDocument } from '@documenso/lib/server-only/document/send-document'; import { createDocumentFromDirectTemplate } from '@documenso/lib/server-only/template/create-document-from-direct-template'; @@ -214,7 +215,10 @@ export const templateRouter = router({ teamId, templateId, data, - meta, + meta: { + ...meta, + language: isValidLanguageCode(meta?.language) ? meta?.language : undefined, + }, requestMetadata, }); } catch (err) { diff --git a/packages/trpc/server/template-router/schema.ts b/packages/trpc/server/template-router/schema.ts index d7807ad3d..41847a333 100644 --- a/packages/trpc/server/template-router/schema.ts +++ b/packages/trpc/server/template-router/schema.ts @@ -1,5 +1,6 @@ import { z } from 'zod'; +import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n'; import { ZDocumentAccessAuthTypesSchema, ZDocumentActionAuthTypesSchema, @@ -87,6 +88,10 @@ export const ZUpdateTemplateSettingsMutationSchema = z.object({ .max(MAX_TEMPLATE_PUBLIC_DESCRIPTION_LENGTH) .optional(), type: z.nativeEnum(TemplateType).optional(), + language: z + .union([z.string(), z.enum(SUPPORTED_LANGUAGE_CODES)]) + .optional() + .default('en'), }), meta: z .object({ @@ -101,6 +106,7 @@ export const ZUpdateTemplateSettingsMutationSchema = z.object({ message: 'Please enter a valid URL, make sure you include http:// or https:// part of the url.', }), + language: z.enum(SUPPORTED_LANGUAGE_CODES).optional(), }) .optional(), }); diff --git a/packages/ui/primitives/document-flow/add-settings.tsx b/packages/ui/primitives/document-flow/add-settings.tsx index 06cf5e9ea..9b73336f5 100644 --- a/packages/ui/primitives/document-flow/add-settings.tsx +++ b/packages/ui/primitives/document-flow/add-settings.tsx @@ -8,6 +8,7 @@ import { InfoIcon } from 'lucide-react'; import { useForm } from 'react-hook-form'; import { DATE_FORMATS, DEFAULT_DOCUMENT_DATE_FORMAT } from '@documenso/lib/constants/date-formats'; +import { SUPPORTED_LANGUAGES } from '@documenso/lib/constants/i18n'; import { DEFAULT_DOCUMENT_TIME_ZONE, TIME_ZONES } from '@documenso/lib/constants/time-zones'; import { extractDocumentAuthMethods } from '@documenso/lib/utils/document-auth'; import type { TeamMemberRole } from '@documenso/prisma/client'; @@ -98,6 +99,7 @@ export const AddSettingsFormPartial = ({ DATE_FORMATS.find((format) => format.value === document.documentMeta?.dateFormat) ?.value ?? DEFAULT_DOCUMENT_DATE_FORMAT, redirectUrl: document.documentMeta?.redirectUrl ?? '', + language: document.documentMeta?.language ?? 'en', }, }, }); @@ -165,6 +167,46 @@ export const AddSettingsFormPartial = ({ )} /> + ( + + + Language + + + + + + + Controls the language for the document, including the language to be used + for email notifications, and the final certificate that is generated and + attached to the document. + + + + + + + + + + )} + /> + + ( + + + Language + + + + + + + Controls the language for the document, including the language to be used + for email notifications, and the final certificate that is generated and + attached to the document. + + + + + + + + + + )} + /> + Date: Tue, 5 Nov 2024 13:07:55 +1100 Subject: [PATCH 18/52] chore: add translations (#1443) Co-authored-by: Crowdin Bot --- packages/lib/translations/de/common.po | 213 +++++++++++----------- packages/lib/translations/de/marketing.po | 3 +- packages/lib/translations/de/web.po | 3 +- packages/lib/translations/es/common.po | 213 +++++++++++----------- packages/lib/translations/es/marketing.po | 3 +- packages/lib/translations/es/web.po | 3 +- packages/lib/translations/fr/common.po | 195 ++++++++++---------- packages/lib/translations/fr/marketing.po | 3 +- packages/lib/translations/fr/web.po | 3 +- 9 files changed, 322 insertions(+), 317 deletions(-) diff --git a/packages/lib/translations/de/common.po b/packages/lib/translations/de/common.po index 6960ce450..43b62d6ea 100644 --- a/packages/lib/translations/de/common.po +++ b/packages/lib/translations/de/common.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-11-01 04:00\n" +"PO-Revision-Date: 2024-11-05 02:04\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -20,32 +20,32 @@ msgstr "" #: packages/email/template-components/template-document-super-delete.tsx:27 msgid "\"{documentName}\" has been deleted by an admin." -msgstr "" +msgstr "\"{documentName}\" wurde von einem Administrator gelöscht." #: packages/email/template-components/template-document-pending.tsx:37 msgid "“{documentName}” has been signed" -msgstr "" +msgstr "„{documentName}“ wurde unterschrieben" #: packages/email/template-components/template-document-completed.tsx:41 #: packages/lib/server-only/document/resend-document.tsx:109 msgid "{0}" -msgstr "" +msgstr "{0}" #: packages/email/template-components/template-document-invite.tsx:74 msgid "{0} Document" -msgstr "" +msgstr "{0} Dokument" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:117 msgid "{0} invited you to {recipientActionVerb} a document" -msgstr "" +msgstr "{0} hat dich eingeladen, ein Dokument {recipientActionVerb}" #: packages/email/templates/team-join.tsx:55 msgid "{0} joined the team {teamName} on Documenso" -msgstr "" +msgstr "{0} ist dem Team {teamName} bei Documenso beigetreten" #: packages/email/templates/team-leave.tsx:55 msgid "{0} left the team {teamName} on Documenso" -msgstr "" +msgstr "{0} hat das Team {teamName} bei Documenso verlassen" #: packages/ui/primitives/data-table-pagination.tsx:30 msgid "{0} of {1} row(s) selected." @@ -54,55 +54,55 @@ msgstr "{0} von {1} Zeile(n) ausgewählt." #: packages/lib/jobs/definitions/emails/send-signing-email.ts:119 #: packages/lib/server-only/document/resend-document.tsx:119 msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"." -msgstr "" +msgstr "{0} hat dich im Namen von {1} eingeladen, das Dokument \"{2}\" {recipientActionVerb}." #: packages/email/templates/document-invite.tsx:79 msgid "{inviterName} <0>({inviterEmail})" -msgstr "" +msgstr "{inviterName} <0>({inviterEmail})" #: packages/email/templates/document-cancel.tsx:19 msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore." -msgstr "" +msgstr "{inviterName} hat das Dokument {documentName} storniert, du musst es nicht mehr unterzeichnen." #: packages/email/template-components/template-document-cancel.tsx:24 msgid "{inviterName} has cancelled the document<0/>\"{documentName}\"" -msgstr "" +msgstr "{inviterName} hat das Dokument<0/>\"{documentName}\" storniert" #: packages/email/template-components/template-document-invite.tsx:57 msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" -msgstr "" +msgstr "{inviterName} hat dich eingeladen, {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:41 msgid "{inviterName} has invited you to {action} {documentName}" -msgstr "" +msgstr "{inviterName} hat dich eingeladen, {action} {documentName}" #: packages/email/templates/recipient-removed-from-document.tsx:18 msgid "{inviterName} has removed you from the document {documentName}." -msgstr "" +msgstr "{inviterName} hat dich aus dem Dokument {documentName} entfernt." #: packages/email/template-components/template-document-invite.tsx:49 msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\"" -msgstr "" +msgstr "{inviterName} hat dich im Namen von {teamName} eingeladen, {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:40 msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}" -msgstr "" +msgstr "{inviterName} hat dich im Namen von {teamName} eingeladen, {action} {documentName}" #: packages/email/templates/team-join.tsx:61 msgid "{memberEmail} joined the following team" -msgstr "" +msgstr "{memberEmail} ist dem folgenden Team beigetreten" #: packages/email/templates/team-leave.tsx:61 msgid "{memberEmail} left the following team" -msgstr "" +msgstr "{memberEmail} hat das folgende Team verlassen" #: packages/email/templates/document-created-from-direct-template.tsx:55 msgid "{recipientName} {action} a document by using one of your direct links" -msgstr "" +msgstr "{recipientName} {action} ein Dokument, indem Sie einen Ihrer direkten Links verwenden" #: packages/email/templates/team-transfer-request.tsx:55 msgid "{teamName} ownership transfer request" -msgstr "" +msgstr "Anfrage zur Übertragung des Eigentums von {teamName}" #: packages/ui/primitives/data-table-pagination.tsx:41 msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}" @@ -110,11 +110,11 @@ msgstr "{visibleRows, plural, one {Eine # Ergebnis wird angezeigt.} other {# Erg #: packages/email/templates/document-invite.tsx:91 msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`" -msgstr "" +msgstr "`{inviterName} hat dich eingeladen, das Dokument \"{documentName}\" {action}.`" #: packages/email/templates/team-transfer-request.tsx:59 msgid "<0>{senderName} has requested that you take ownership of the following team" -msgstr "" +msgstr "<0>{senderName} hat angefordert, dass du das folgende Team übernimmst" #: packages/ui/components/recipient/recipient-action-auth-select.tsx:53 msgid "<0>Inherit authentication method - Use the global action signing authentication method configured in the \"General Settings\" step" @@ -148,49 +148,49 @@ msgstr "<0>Passkey erforderlich - Der Empfänger muss ein Konto haben und de #: packages/lib/jobs/definitions/emails/send-signing-email.ts:109 msgid "A document was created by your direct template that requires you to {recipientActionVerb} it." -msgstr "" +msgstr "Ein Dokument wurde von deiner direkten Vorlage erstellt, das erfordert, dass du {recipientActionVerb}." #: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90 msgid "A new member has joined your team" -msgstr "" +msgstr "Ein neues Mitglied ist deinem Team beigetreten" #: 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 "" +msgstr "Eine Anfrage zur Verwendung deiner E-Mail wurde von {teamName} auf Documenso initiiert" #: packages/email/templates/team-join.tsx:29 msgid "A team member has joined a team on Documenso" -msgstr "" +msgstr "Ein Teammitglied ist einem Team bei Documenso beigetreten" #: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79 msgid "A team member has left {0}" -msgstr "" +msgstr "Ein Teammitglied hat {0} verlassen" #: packages/email/templates/team-leave.tsx:29 msgid "A team member has left a team on Documenso" -msgstr "" +msgstr "Ein Teammitglied hat ein Team auf Documenso verlassen" #: packages/email/templates/team-delete.tsx:27 #: packages/email/templates/team-delete.tsx:31 msgid "A team you were a part of has been deleted" -msgstr "" +msgstr "Ein Team, dem du angehörtest, wurde gelöscht" #: packages/email/templates/team-invite.tsx:77 #: packages/email/templates/team-transfer-request.tsx:81 msgid "Accept" -msgstr "" +msgstr "Akzeptieren" #: packages/email/templates/team-invite.tsx:29 msgid "Accept invitation to join a team on Documenso" -msgstr "" +msgstr "Einladung annehmen, um einem Team auf Documenso beizutreten" #: packages/email/templates/confirm-team-email.tsx:38 msgid "Accept team email request for {teamName} on Documenso" -msgstr "" +msgstr "Akzeptiere die Team-E-Mail-Anfrage für {teamName} bei Documenso" #: packages/email/templates/team-transfer-request.tsx:29 msgid "Accept team transfer request on Documenso" -msgstr "" +msgstr "Übertragungsanfrage des Teams auf Documenso annehmen" #: packages/ui/primitives/document-dropzone.tsx:69 msgid "Add a document" @@ -262,11 +262,11 @@ msgstr "Nach der Übermittlung wird ein Dokument automatisch generiert und zu Ih #: packages/email/template-components/template-document-cancel.tsx:31 msgid "All signatures have been voided." -msgstr "" +msgstr "Alle Unterschriften wurden ungültig gemacht." #: packages/email/templates/document-super-delete.tsx:20 msgid "An admin has deleted your document \"{documentName}\"." -msgstr "" +msgstr "Ein Administrator hat dein Dokument \"{documentName}\" gelöscht." #: packages/ui/primitives/pdf-viewer.tsx:167 msgid "An error occurred while loading the document." @@ -278,7 +278,7 @@ msgstr "Genehmigen" #: packages/lib/constants/recipient-roles.ts:68 #~ msgid "APPROVE_REQUEST" -#~ msgstr "" +#~ msgstr "APPROVE_REQUEST" #: packages/lib/constants/recipient-roles.ts:9 msgid "Approved" @@ -298,7 +298,7 @@ msgstr "Genehmigung" #: packages/email/template-components/template-confirmation-email.tsx:28 msgid "Before you get started, please confirm your email address by clicking the button below:" -msgstr "" +msgstr "Bitte bestätige vor dem Start deine E-Mail-Adresse, indem du auf den Button unten klickst:" #: packages/ui/primitives/signature-pad/signature-pad.tsx:377 msgid "Black" @@ -310,11 +310,11 @@ msgstr "Blau" #: packages/email/templates/team-invite.tsx:67 msgid "by <0>{senderName}" -msgstr "" +msgstr "von <0>{senderName}" #: packages/email/templates/team-transfer-request.tsx:70 msgid "By accepting this request, you will take responsibility for any billing items associated with this team." -msgstr "" +msgstr "Indem du diese Anfrage annimmst, übernimmst du die Verantwortung für alle Abrechnungspunkte, die mit diesem Team verbunden sind." #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 @@ -369,12 +369,12 @@ msgstr "Schließen" #: packages/email/template-components/template-document-completed.tsx:35 #: packages/email/template-components/template-document-self-signed.tsx:36 msgid "Completed" -msgstr "" +msgstr "Abgeschlossen" #: packages/email/templates/document-completed.tsx:21 #: packages/email/templates/document-self-signed.tsx:17 msgid "Completed Document" -msgstr "" +msgstr "Abgeschlossenes Dokument" #: packages/lib/constants/template.ts:12 msgid "Configure Direct Recipient" @@ -387,7 +387,7 @@ msgstr "Konfigurieren Sie das Feld {0}" #: packages/email/template-components/template-confirmation-email.tsx:38 msgid "Confirm email" -msgstr "" +msgstr "E-Mail bestätigen" #: packages/ui/primitives/document-flow/document-flow-root.tsx:141 msgid "Continue" @@ -395,11 +395,11 @@ msgstr "Fortsetzen" #: packages/email/template-components/template-document-invite.tsx:66 msgid "Continue by {0} the document." -msgstr "" +msgstr "Fahre fort, indem du das Dokument {0}." #: packages/email/template-components/template-document-completed.tsx:45 msgid "Continue by downloading the document." -msgstr "" +msgstr "Fahre fort, indem du das Dokument herunterlädst." #: packages/ui/components/document/document-share-button.tsx:46 msgid "Copied to clipboard" @@ -411,11 +411,11 @@ msgstr "Link kopieren" #: packages/email/template-components/template-document-self-signed.tsx:46 msgid "Create a <0>free account to access your signed documents at any time." -msgstr "" +msgstr "Erstelle ein <0>kostenfreies Konto, um jederzeit auf deine unterzeichneten Dokumente zuzugreifen." #: packages/email/template-components/template-document-self-signed.tsx:68 msgid "Create account" -msgstr "" +msgstr "Konto erstellen" #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" @@ -434,11 +434,11 @@ msgstr "Datumsformat" #: packages/email/templates/team-invite.tsx:83 msgid "Decline" -msgstr "" +msgstr "Ablehnen" #: packages/email/templates/reset-password.tsx:65 msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us." -msgstr "" +msgstr "Hast du keinen Passwortwechsel angefordert? Wir helfen dir, dein Konto abzusichern, kontaktiere uns einfach <0>hier." #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570 msgid "Direct link receiver" @@ -452,12 +452,12 @@ msgstr "Dokumentenzugriff" #: packages/lib/server-only/document/super-delete-document.ts:75 msgid "Document Cancelled" -msgstr "" +msgstr "Dokument storniert" #: packages/email/templates/document-created-from-direct-template.tsx:30 #: packages/lib/server-only/template/create-document-from-direct-template.ts:554 msgid "Document created from direct template" -msgstr "" +msgstr "Dokument erstellt aus direkter Vorlage" #: packages/lib/constants/template.ts:20 msgid "Document Creation" @@ -465,7 +465,7 @@ msgstr "Dokumenterstellung" #: packages/lib/server-only/document/send-delete-email.ts:58 msgid "Document Deleted!" -msgstr "" +msgstr "Dokument gelöscht!" #: packages/email/template-components/template-document-completed.tsx:64 #: packages/ui/components/document/document-download-button.tsx:68 @@ -575,11 +575,11 @@ msgstr "Schriftgröße" #: packages/lib/server-only/auth/send-forgot-password.ts:61 msgid "Forgot Password?" -msgstr "" +msgstr "Passwort vergessen?" #: packages/email/template-components/template-forgot-password.tsx:21 msgid "Forgot your password?" -msgstr "" +msgstr "Hast du dein Passwort vergessen?" #: packages/ui/primitives/document-flow/types.ts:50 msgid "Free Signature" @@ -599,7 +599,7 @@ msgstr "Grün" #: packages/email/templates/reset-password.tsx:50 msgid "Hi, {userName} <0>({userEmail})" -msgstr "" +msgstr "Hallo, {userName} <0>({userEmail})" #: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" @@ -636,7 +636,7 @@ msgstr "Ungültige E-Mail-Adresse" #: packages/email/templates/team-invite.tsx:55 msgid "Join {teamName} on Documenso" -msgstr "" +msgstr "Tritt {teamName} auf Documenso bei" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 @@ -647,11 +647,11 @@ msgstr "Beschriftung" #: packages/ui/primitives/document-flow/add-settings.tsx:176 #: packages/ui/primitives/template-flow/add-template-settings.tsx:150 msgid "Language" -msgstr "" +msgstr "Sprache" #: packages/email/templates/team-transfer-request.tsx:87 msgid "Link expires in 1 hour." -msgstr "" +msgstr "Link läuft in 1 Stunde ab." #: packages/ui/primitives/lazy-pdf-viewer.tsx:15 #: packages/ui/primitives/pdf-viewer.tsx:44 @@ -764,19 +764,19 @@ msgstr "Passwort erforderlich" #: packages/email/templates/forgot-password.tsx:17 msgid "Password Reset Requested" -msgstr "" +msgstr "Passwortzurücksetzung angefordert" #: packages/email/templates/reset-password.tsx:18 msgid "Password Reset Successful" -msgstr "" +msgstr "Passwort erfolgreich zurückgesetzt" #: packages/email/template-components/template-reset-password.tsx:22 msgid "Password updated!" -msgstr "" +msgstr "Passwort aktualisiert!" #: packages/email/templates/document-pending.tsx:17 msgid "Pending Document" -msgstr "" +msgstr "Ausstehendes Dokument" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156 msgid "Pick a number" @@ -790,31 +790,31 @@ msgstr "Platzhalter" #: packages/email/template-components/template-document-invite.tsx:43 msgid "Please {0} your document<0/>\"{documentName}\"" -msgstr "" +msgstr "Bitte {0} dein Dokument<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:38 msgid "Please {action} your document {documentName}" -msgstr "" +msgstr "Bitte {action} dein Dokument {documentName}" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:98 msgid "Please {recipientActionVerb} this document" -msgstr "" +msgstr "Bitte {recipientActionVerb} dieses Dokument" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:112 msgid "Please {recipientActionVerb} this document created by your direct template" -msgstr "" +msgstr "Bitte {recipientActionVerb} dieses Dokument, das von deiner direkten Vorlage erstellt wurde" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:104 msgid "Please {recipientActionVerb} your document" -msgstr "" +msgstr "Bitte {recipientActionVerb} dein Dokument" #: packages/lib/server-only/auth/send-confirmation-email.ts:67 msgid "Please confirm your email" -msgstr "" +msgstr "Bitte bestätige deine E-Mail" #: packages/email/templates/confirm-email.tsx:15 msgid "Please confirm your email address" -msgstr "" +msgstr "Bitte bestätige deine E-Mail-Adresse" #: packages/ui/primitives/pdf-viewer.tsx:223 #: packages/ui/primitives/pdf-viewer.tsx:238 @@ -858,19 +858,19 @@ msgstr "Weiterleitungs-URL" #: packages/lib/server-only/document/resend-document.tsx:165 msgid "Reminder: {0}" -msgstr "" +msgstr "Erinnerung: {0}" #: packages/lib/server-only/document/resend-document.tsx:118 msgid "Reminder: {0} invited you to {recipientActionVerb} a document" -msgstr "" +msgstr "Erinnerung: {0} hat dich eingeladen, ein Dokument {recipientActionVerb}" #: packages/lib/server-only/document/resend-document.tsx:110 msgid "Reminder: Please {recipientActionVerb} this document" -msgstr "" +msgstr "Erinnerung: Bitte {recipientActionVerb} dieses Dokument" #: packages/lib/server-only/document/resend-document.tsx:114 msgid "Reminder: Please {recipientActionVerb} your document" -msgstr "" +msgstr "Erinnerung: Bitte {recipientActionVerb} dein Dokument" #: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" @@ -886,7 +886,7 @@ msgstr "Pflichtfeld" #: packages/email/template-components/template-forgot-password.tsx:33 msgid "Reset Password" -msgstr "" +msgstr "Passwort zurücksetzen" #: packages/ui/components/document/document-share-button.tsx:147 msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" @@ -957,7 +957,7 @@ msgstr "Unterschreiben" #: packages/email/template-components/template-reset-password.tsx:34 msgid "Sign In" -msgstr "" +msgstr "Anmelden" #: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 @@ -990,11 +990,11 @@ msgstr "Unterzeichnung" #: packages/lib/server-only/document/send-completed-email.ts:93 #: packages/lib/server-only/document/send-completed-email.ts:161 msgid "Signing Complete!" -msgstr "" +msgstr "Unterzeichnung abgeschlossen!" #: packages/lib/constants/recipient-roles.ts:66 #~ msgid "SIGNING_REQUEST" -#~ msgstr "" +#~ msgstr "SIGNING_REQUEST" #: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34 msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." @@ -1028,15 +1028,15 @@ msgstr "Einreichen" #: packages/lib/server-only/team/delete-team-email.ts:96 msgid "Team email has been revoked for {0}" -msgstr "" +msgstr "Team-E-Mail wurde für {0} widerrufen" #: packages/email/templates/team-email-removed.tsx:53 msgid "Team email removed" -msgstr "" +msgstr "Team-E-Mail entfernt" #: packages/email/templates/team-email-removed.tsx:27 msgid "Team email removed for {teamName} on Documenso" -msgstr "" +msgstr "Team-E-Mail für {teamName} auf Documenso entfernt" #: packages/ui/primitives/template-flow/add-template-settings.tsx:133 msgid "Template title" @@ -1050,7 +1050,7 @@ msgstr "Text" #: packages/email/template-components/template-forgot-password.tsx:25 msgid "That's okay, it happens! Click the button below to reset your password." -msgstr "" +msgstr "Das ist in Ordnung, das passiert! Klicke auf den Button unten, um dein Passwort zurückzusetzen." #: packages/ui/components/recipient/recipient-action-auth-select.tsx:44 msgid "The authentication required for recipients to sign fields" @@ -1070,11 +1070,11 @@ msgstr "Der Name des Dokuments" #: packages/email/templates/team-delete.tsx:35 msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents" -msgstr "" +msgstr "Das folgende Team wurde von seinem Besitzer gelöscht. Du kannst nicht mehr auf dieses Team und seine Dokumente zugreifen" #: packages/email/templates/team-delete.tsx:34 msgid "The following team has been deleted by you" -msgstr "" +msgstr "Das folgende Team wurde von dir gelöscht" #: packages/ui/primitives/document-password-dialog.tsx:52 msgid "The password you have entered is incorrect. Please try again." @@ -1082,7 +1082,7 @@ msgstr "Das eingegebene Passwort ist falsch. Bitte versuchen Sie es erneut." #: packages/email/template-components/template-document-super-delete.tsx:38 msgid "The reason provided for deletion is the following:" -msgstr "" +msgstr "Der angegebene Grund für die Löschung ist folgender:" #: packages/ui/components/recipient/recipient-role-select.tsx:103 msgid "The recipient is not required to take any action and receives a copy of the document after it is completed." @@ -1118,7 +1118,7 @@ msgstr "Der Name des Unterzeichners" #: packages/email/templates/team-email-removed.tsx:57 msgid "The team email <0>{teamEmail} has been removed from the following team" -msgstr "" +msgstr "Die Team-E-Mail <0>{teamEmail} wurde aus dem folgenden Team entfernt" #: packages/ui/components/document/document-global-auth-action-select.tsx:72 msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." @@ -1126,7 +1126,7 @@ msgstr "Dies kann überschrieben werden, indem die Authentifizierungsanforderung #: packages/email/template-components/template-document-super-delete.tsx:31 msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support." -msgstr "" +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 msgid "This document has already been sent to this recipient. You can no longer edit this recipient." @@ -1138,7 +1138,7 @@ msgstr "Dieses Dokument ist durch ein Passwort geschützt. Bitte geben Sie das P #: packages/email/template-components/template-footer.tsx:14 msgid "This document was sent using <0>Documenso." -msgstr "" +msgstr "Dieses Dokument wurde mit <0>Documenso. gesendet" #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573 msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." @@ -1202,15 +1202,15 @@ msgstr "Betrachten" #: packages/email/templates/document-created-from-direct-template.tsx:69 msgid "View document" -msgstr "" +msgstr "Dokument anzeigen" #: packages/email/template-components/template-document-self-signed.tsx:79 msgid "View plans" -msgstr "" +msgstr "Pläne anzeigen" #: packages/lib/constants/recipient-roles.ts:67 #~ msgid "VIEW_REQUEST" -#~ msgstr "" +#~ msgstr "VIEW_REQUEST" #: packages/lib/constants/recipient-roles.ts:27 msgid "Viewed" @@ -1230,23 +1230,23 @@ msgstr "Betrachten" #: packages/email/template-components/template-document-pending.tsx:31 msgid "Waiting for others" -msgstr "" +msgstr "Warten auf andere" #: packages/lib/server-only/document/send-pending-email.ts:73 msgid "Waiting for others to complete signing." -msgstr "" +msgstr "Warten auf andere, um die Unterzeichnung abzuschließen." #: packages/email/template-components/template-document-pending.tsx:41 msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready." -msgstr "" +msgstr "Wir warten noch darauf, dass andere Unterzeichner dieses Dokument unterzeichnen.<0/>Wir benachrichtigen dich, sobald es bereit ist." #: packages/email/templates/reset-password.tsx:59 msgid "We've changed your password as you asked. You can now sign in with your new password." -msgstr "" +msgstr "Wir haben dein Passwort wie gewünscht geändert. Du kannst dich jetzt mit deinem neuen Passwort anmelden." #: packages/email/template-components/template-confirmation-email.tsx:24 msgid "Welcome to Documenso!" -msgstr "" +msgstr "Willkommen bei Documenso!" #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" @@ -1254,7 +1254,7 @@ msgstr "Sie sind dabei, dieses Dokument an die Empfänger zu senden. Sind Sie si #: packages/email/template-components/template-confirmation-email.tsx:41 msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)" -msgstr "" +msgstr "Du kannst diesen Link auch kopieren und in deinen Browser einfügen: {confirmationLink} (Link läuft in 1 Stunde ab)" #: packages/ui/components/document/document-send-email-message-helper.tsx:11 msgid "You can use the following variables in your message:" @@ -1266,28 +1266,28 @@ msgstr "Sie können derzeit keine Dokumente hochladen." #: packages/email/template-components/template-document-cancel.tsx:35 msgid "You don't need to sign it anymore." -msgstr "" +msgstr "Du musst es nicht mehr unterschreiben." #: packages/lib/server-only/team/create-team-member-invites.ts:168 msgid "You have been invited to join {0} on Documenso" -msgstr "" +msgstr "Du wurdest eingeladen, {0} auf Documenso beizutreten" #: packages/email/templates/team-invite.tsx:59 msgid "You have been invited to join the following team" -msgstr "" +msgstr "Du wurdest eingeladen, dem folgenden Team beizutreten" #: packages/lib/server-only/recipient/set-recipients-for-document.ts:314 msgid "You have been removed from a document" -msgstr "" +msgstr "Du wurdest von einem Dokument entfernt" #: packages/lib/server-only/team/request-team-ownership-transfer.ts:114 msgid "You have been requested to take ownership of team {0} on Documenso" -msgstr "" +msgstr "Du wurdest gebeten, das Team {0} auf Documenso zu übernehmen" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:102 #: packages/lib/server-only/document/resend-document.tsx:113 msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it." -msgstr "" +msgstr "Du hast das Dokument {0} initiiert, das erfordert, dass du {recipientActionVerb}." #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." @@ -1295,17 +1295,18 @@ msgstr "Sie haben Ihr Dokumentenlimit erreicht." #: packages/email/template-components/template-document-self-signed.tsx:42 msgid "You have signed “{documentName}”" -msgstr "" +msgstr "Du hast „{documentName}“ unterzeichnet" #: packages/email/template-components/template-document-super-delete.tsx:23 msgid "Your document has been deleted by an admin!" -msgstr "" +msgstr "Dein Dokument wurde von einem Administrator gelöscht!" #: packages/email/template-components/template-reset-password.tsx:26 msgid "Your password has been updated." -msgstr "" +msgstr "Dein Passwort wurde aktualisiert." #: packages/email/templates/team-delete.tsx:26 #: packages/email/templates/team-delete.tsx:30 msgid "Your team has been deleted" -msgstr "" +msgstr "Dein Team wurde gelöscht" + diff --git a/packages/lib/translations/de/marketing.po b/packages/lib/translations/de/marketing.po index 9f97b6734..e903d0b4b 100644 --- a/packages/lib/translations/de/marketing.po +++ b/packages/lib/translations/de/marketing.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-11-01 02:29\n" +"PO-Revision-Date: 2024-11-05 02:04\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." + diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index c3bd391fb..a9abfeb0c 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-11-01 04:20\n" +"PO-Revision-Date: 2024-11-05 02:04\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -4628,3 +4628,4 @@ msgstr "Ihr Token wurde erfolgreich erstellt! Stellen Sie sicher, dass Sie es ko #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Ihre Tokens werden hier angezeigt, sobald Sie sie erstellt haben." + diff --git a/packages/lib/translations/es/common.po b/packages/lib/translations/es/common.po index 2ca30cc27..a4501f145 100644 --- a/packages/lib/translations/es/common.po +++ b/packages/lib/translations/es/common.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-11-01 04:00\n" +"PO-Revision-Date: 2024-11-05 02:04\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -20,32 +20,32 @@ msgstr "" #: packages/email/template-components/template-document-super-delete.tsx:27 msgid "\"{documentName}\" has been deleted by an admin." -msgstr "" +msgstr "\"{documentName}\" ha sido eliminado por un admin." #: packages/email/template-components/template-document-pending.tsx:37 msgid "“{documentName}” has been signed" -msgstr "" +msgstr "“{documentName}” ha sido firmado" #: packages/email/template-components/template-document-completed.tsx:41 #: packages/lib/server-only/document/resend-document.tsx:109 msgid "{0}" -msgstr "" +msgstr "{0}" #: packages/email/template-components/template-document-invite.tsx:74 msgid "{0} Document" -msgstr "" +msgstr "{0} Documento" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:117 msgid "{0} invited you to {recipientActionVerb} a document" -msgstr "" +msgstr "{0} te invitó a {recipientActionVerb} un documento" #: packages/email/templates/team-join.tsx:55 msgid "{0} joined the team {teamName} on Documenso" -msgstr "" +msgstr "{0} se unió al equipo {teamName} en Documenso" #: packages/email/templates/team-leave.tsx:55 msgid "{0} left the team {teamName} on Documenso" -msgstr "" +msgstr "{0} dejó el equipo {teamName} en Documenso" #: packages/ui/primitives/data-table-pagination.tsx:30 msgid "{0} of {1} row(s) selected." @@ -54,55 +54,55 @@ msgstr "{0} de {1} fila(s) seleccionada." #: packages/lib/jobs/definitions/emails/send-signing-email.ts:119 #: packages/lib/server-only/document/resend-document.tsx:119 msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"." -msgstr "" +msgstr "{0} en nombre de {1} te ha invitado a {recipientActionVerb} el documento \"{2}\"." #: packages/email/templates/document-invite.tsx:79 msgid "{inviterName} <0>({inviterEmail})" -msgstr "" +msgstr "{inviterName} <0>({inviterEmail})" #: packages/email/templates/document-cancel.tsx:19 msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore." -msgstr "" +msgstr "{inviterName} ha cancelado el documento {documentName}, ya no necesitas firmarlo." #: packages/email/template-components/template-document-cancel.tsx:24 msgid "{inviterName} has cancelled the document<0/>\"{documentName}\"" -msgstr "" +msgstr "{inviterName} ha cancelado el documento<0/>\"{documentName}\"" #: packages/email/template-components/template-document-invite.tsx:57 msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" -msgstr "" +msgstr "{inviterName} te ha invitado a {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:41 msgid "{inviterName} has invited you to {action} {documentName}" -msgstr "" +msgstr "{inviterName} te ha invitado a {action} {documentName}" #: packages/email/templates/recipient-removed-from-document.tsx:18 msgid "{inviterName} has removed you from the document {documentName}." -msgstr "" +msgstr "{inviterName} te ha eliminado del documento {documentName}." #: packages/email/template-components/template-document-invite.tsx:49 msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\"" -msgstr "" +msgstr "{inviterName} en nombre de {teamName} te ha invitado a {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:40 msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}" -msgstr "" +msgstr "{inviterName} en nombre de {teamName} te ha invitado a {action} {documentName}" #: packages/email/templates/team-join.tsx:61 msgid "{memberEmail} joined the following team" -msgstr "" +msgstr "{memberEmail} se unió al siguiente equipo" #: packages/email/templates/team-leave.tsx:61 msgid "{memberEmail} left the following team" -msgstr "" +msgstr "{memberEmail} dejó el siguiente equipo" #: packages/email/templates/document-created-from-direct-template.tsx:55 msgid "{recipientName} {action} a document by using one of your direct links" -msgstr "" +msgstr "{recipientName} {action} un documento utilizando uno de tus enlaces directos" #: packages/email/templates/team-transfer-request.tsx:55 msgid "{teamName} ownership transfer request" -msgstr "" +msgstr "solicitud de transferencia de propiedad de {teamName}" #: packages/ui/primitives/data-table-pagination.tsx:41 msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}" @@ -110,11 +110,11 @@ msgstr "{visibleRows, plural, one {Mostrando # resultado.} other {Mostrando # re #: packages/email/templates/document-invite.tsx:91 msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`" -msgstr "" +msgstr "`${inviterName} te ha invitado a ${action} el documento \"${documentName}\".`" #: packages/email/templates/team-transfer-request.tsx:59 msgid "<0>{senderName} has requested that you take ownership of the following team" -msgstr "" +msgstr "<0>{senderName} ha solicitado que asumas la propiedad del siguiente equipo" #: packages/ui/components/recipient/recipient-action-auth-select.tsx:53 msgid "<0>Inherit authentication method - Use the global action signing authentication method configured in the \"General Settings\" step" @@ -148,49 +148,49 @@ msgstr "<0>Requerir clave de acceso - El destinatario debe tener una cuenta #: packages/lib/jobs/definitions/emails/send-signing-email.ts:109 msgid "A document was created by your direct template that requires you to {recipientActionVerb} it." -msgstr "" +msgstr "Se creó un documento a partir de tu plantilla directa que requiere que {recipientActionVerb}." #: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90 msgid "A new member has joined your team" -msgstr "" +msgstr "Un nuevo miembro se ha unido a tu equipo" #: 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 "" +msgstr "Se ha iniciado una solicitud para utilizar tu correo electrónico por {teamName} en Documenso" #: packages/email/templates/team-join.tsx:29 msgid "A team member has joined a team on Documenso" -msgstr "" +msgstr "Un miembro del equipo se ha unido a un equipo en Documenso" #: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79 msgid "A team member has left {0}" -msgstr "" +msgstr "Un miembro del equipo ha dejado {0}" #: packages/email/templates/team-leave.tsx:29 msgid "A team member has left a team on Documenso" -msgstr "" +msgstr "Un miembro del equipo ha dejado un equipo en Documenso" #: packages/email/templates/team-delete.tsx:27 #: packages/email/templates/team-delete.tsx:31 msgid "A team you were a part of has been deleted" -msgstr "" +msgstr "Un equipo del que formabas parte ha sido eliminado" #: packages/email/templates/team-invite.tsx:77 #: packages/email/templates/team-transfer-request.tsx:81 msgid "Accept" -msgstr "" +msgstr "Aceptar" #: packages/email/templates/team-invite.tsx:29 msgid "Accept invitation to join a team on Documenso" -msgstr "" +msgstr "Aceptar invitación para unirse a un equipo en Documenso" #: packages/email/templates/confirm-team-email.tsx:38 msgid "Accept team email request for {teamName} on Documenso" -msgstr "" +msgstr "Aceptar la solicitud de correo electrónico del equipo para {teamName} en Documenso" #: packages/email/templates/team-transfer-request.tsx:29 msgid "Accept team transfer request on Documenso" -msgstr "" +msgstr "Aceptar solicitud de transferencia de equipo en Documenso" #: packages/ui/primitives/document-dropzone.tsx:69 msgid "Add a document" @@ -262,11 +262,11 @@ msgstr "Después de la presentación, se generará automáticamente un documento #: packages/email/template-components/template-document-cancel.tsx:31 msgid "All signatures have been voided." -msgstr "" +msgstr "Todas las firmas han sido anuladas." #: packages/email/templates/document-super-delete.tsx:20 msgid "An admin has deleted your document \"{documentName}\"." -msgstr "" +msgstr "Un administrador ha eliminado tu documento \"{documentName}\"." #: packages/ui/primitives/pdf-viewer.tsx:167 msgid "An error occurred while loading the document." @@ -278,7 +278,7 @@ msgstr "Aprobar" #: packages/lib/constants/recipient-roles.ts:68 #~ msgid "APPROVE_REQUEST" -#~ msgstr "" +#~ msgstr "APPROVE_REQUEST" #: packages/lib/constants/recipient-roles.ts:9 msgid "Approved" @@ -298,7 +298,7 @@ msgstr "Aprobando" #: packages/email/template-components/template-confirmation-email.tsx:28 msgid "Before you get started, please confirm your email address by clicking the button below:" -msgstr "" +msgstr "Antes de comenzar, por favor confirma tu dirección de correo electrónico haciendo clic en el botón de abajo:" #: packages/ui/primitives/signature-pad/signature-pad.tsx:377 msgid "Black" @@ -310,11 +310,11 @@ msgstr "Azul" #: packages/email/templates/team-invite.tsx:67 msgid "by <0>{senderName}" -msgstr "" +msgstr "por <0>{senderName}" #: packages/email/templates/team-transfer-request.tsx:70 msgid "By accepting this request, you will take responsibility for any billing items associated with this team." -msgstr "" +msgstr "Al aceptar esta solicitud, asumirás la responsabilidad de cualquier ítem de facturación asociado con este equipo." #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 @@ -369,12 +369,12 @@ msgstr "Cerrar" #: packages/email/template-components/template-document-completed.tsx:35 #: packages/email/template-components/template-document-self-signed.tsx:36 msgid "Completed" -msgstr "" +msgstr "Completado" #: packages/email/templates/document-completed.tsx:21 #: packages/email/templates/document-self-signed.tsx:17 msgid "Completed Document" -msgstr "" +msgstr "Documento completado" #: packages/lib/constants/template.ts:12 msgid "Configure Direct Recipient" @@ -387,7 +387,7 @@ msgstr "Configurar el campo {0}" #: packages/email/template-components/template-confirmation-email.tsx:38 msgid "Confirm email" -msgstr "" +msgstr "Confirmar correo electrónico" #: packages/ui/primitives/document-flow/document-flow-root.tsx:141 msgid "Continue" @@ -395,11 +395,11 @@ msgstr "Continuar" #: packages/email/template-components/template-document-invite.tsx:66 msgid "Continue by {0} the document." -msgstr "" +msgstr "Continúa {0} el documento." #: packages/email/template-components/template-document-completed.tsx:45 msgid "Continue by downloading the document." -msgstr "" +msgstr "Continúa descargando el documento." #: packages/ui/components/document/document-share-button.tsx:46 msgid "Copied to clipboard" @@ -411,11 +411,11 @@ msgstr "Copiar enlace" #: packages/email/template-components/template-document-self-signed.tsx:46 msgid "Create a <0>free account to access your signed documents at any time." -msgstr "" +msgstr "Crea una <0>cuenta gratuita para acceder a tus documentos firmados en cualquier momento." #: packages/email/template-components/template-document-self-signed.tsx:68 msgid "Create account" -msgstr "" +msgstr "Crear cuenta" #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" @@ -434,11 +434,11 @@ msgstr "Formato de fecha" #: packages/email/templates/team-invite.tsx:83 msgid "Decline" -msgstr "" +msgstr "Rechazar" #: packages/email/templates/reset-password.tsx:65 msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us." -msgstr "" +msgstr "¿No solicitaste un cambio de contraseña? Estamos aquí para ayudarte a asegurar tu cuenta, solo <0>contáctanos." #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570 msgid "Direct link receiver" @@ -452,12 +452,12 @@ msgstr "Acceso al documento" #: packages/lib/server-only/document/super-delete-document.ts:75 msgid "Document Cancelled" -msgstr "" +msgstr "Documento cancelado" #: packages/email/templates/document-created-from-direct-template.tsx:30 #: packages/lib/server-only/template/create-document-from-direct-template.ts:554 msgid "Document created from direct template" -msgstr "" +msgstr "Documento creado a partir de plantilla directa" #: packages/lib/constants/template.ts:20 msgid "Document Creation" @@ -465,7 +465,7 @@ msgstr "Creación de documento" #: packages/lib/server-only/document/send-delete-email.ts:58 msgid "Document Deleted!" -msgstr "" +msgstr "¡Documento eliminado!" #: packages/email/template-components/template-document-completed.tsx:64 #: packages/ui/components/document/document-download-button.tsx:68 @@ -575,11 +575,11 @@ msgstr "Tamaño de fuente" #: packages/lib/server-only/auth/send-forgot-password.ts:61 msgid "Forgot Password?" -msgstr "" +msgstr "¿Olvidaste tu contraseña?" #: packages/email/template-components/template-forgot-password.tsx:21 msgid "Forgot your password?" -msgstr "" +msgstr "¿Olvidaste tu contraseña?" #: packages/ui/primitives/document-flow/types.ts:50 msgid "Free Signature" @@ -599,7 +599,7 @@ msgstr "Verde" #: packages/email/templates/reset-password.tsx:50 msgid "Hi, {userName} <0>({userEmail})" -msgstr "" +msgstr "Hola, {userName} <0>({userEmail})" #: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" @@ -636,7 +636,7 @@ msgstr "Dirección de email inválida" #: packages/email/templates/team-invite.tsx:55 msgid "Join {teamName} on Documenso" -msgstr "" +msgstr "Únete a {teamName} en Documenso" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 @@ -647,11 +647,11 @@ msgstr "Etiqueta" #: packages/ui/primitives/document-flow/add-settings.tsx:176 #: packages/ui/primitives/template-flow/add-template-settings.tsx:150 msgid "Language" -msgstr "" +msgstr "Idioma" #: packages/email/templates/team-transfer-request.tsx:87 msgid "Link expires in 1 hour." -msgstr "" +msgstr "El enlace expira en 1 hora." #: packages/ui/primitives/lazy-pdf-viewer.tsx:15 #: packages/ui/primitives/pdf-viewer.tsx:44 @@ -764,19 +764,19 @@ msgstr "Se requiere contraseña" #: packages/email/templates/forgot-password.tsx:17 msgid "Password Reset Requested" -msgstr "" +msgstr "Solicitud de restablecimiento de contraseña" #: packages/email/templates/reset-password.tsx:18 msgid "Password Reset Successful" -msgstr "" +msgstr "Restablecimiento de contraseña exitoso" #: packages/email/template-components/template-reset-password.tsx:22 msgid "Password updated!" -msgstr "" +msgstr "¡Contraseña actualizada!" #: packages/email/templates/document-pending.tsx:17 msgid "Pending Document" -msgstr "" +msgstr "Documento pendiente" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156 msgid "Pick a number" @@ -790,31 +790,31 @@ msgstr "Marcador de posición" #: packages/email/template-components/template-document-invite.tsx:43 msgid "Please {0} your document<0/>\"{documentName}\"" -msgstr "" +msgstr "Por favor {0} tu documento<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:38 msgid "Please {action} your document {documentName}" -msgstr "" +msgstr "Por favor {action} tu documento {documentName}" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:98 msgid "Please {recipientActionVerb} this document" -msgstr "" +msgstr "Por favor {recipientActionVerb} este documento" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:112 msgid "Please {recipientActionVerb} this document created by your direct template" -msgstr "" +msgstr "Por favor {recipientActionVerb} este documento creado a partir de tu plantilla directa" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:104 msgid "Please {recipientActionVerb} your document" -msgstr "" +msgstr "Por favor {recipientActionVerb} tu documento" #: packages/lib/server-only/auth/send-confirmation-email.ts:67 msgid "Please confirm your email" -msgstr "" +msgstr "Por favor confirma tu correo electrónico" #: packages/email/templates/confirm-email.tsx:15 msgid "Please confirm your email address" -msgstr "" +msgstr "Por favor confirma tu dirección de correo electrónico" #: packages/ui/primitives/pdf-viewer.tsx:223 #: packages/ui/primitives/pdf-viewer.tsx:238 @@ -858,19 +858,19 @@ msgstr "URL de redirección" #: packages/lib/server-only/document/resend-document.tsx:165 msgid "Reminder: {0}" -msgstr "" +msgstr "Recordatorio: {0}" #: packages/lib/server-only/document/resend-document.tsx:118 msgid "Reminder: {0} invited you to {recipientActionVerb} a document" -msgstr "" +msgstr "Recordatorio: {0} te invitó a {recipientActionVerb} un documento" #: packages/lib/server-only/document/resend-document.tsx:110 msgid "Reminder: Please {recipientActionVerb} this document" -msgstr "" +msgstr "Recordatorio: Por favor {recipientActionVerb} este documento" #: packages/lib/server-only/document/resend-document.tsx:114 msgid "Reminder: Please {recipientActionVerb} your document" -msgstr "" +msgstr "Recordatorio: Por favor {recipientActionVerb} tu documento" #: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" @@ -886,7 +886,7 @@ msgstr "Campo obligatorio" #: packages/email/template-components/template-forgot-password.tsx:33 msgid "Reset Password" -msgstr "" +msgstr "Restablecer contraseña" #: packages/ui/components/document/document-share-button.tsx:147 msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" @@ -957,7 +957,7 @@ msgstr "Firmar" #: packages/email/template-components/template-reset-password.tsx:34 msgid "Sign In" -msgstr "" +msgstr "Iniciar sesión" #: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 @@ -990,11 +990,11 @@ msgstr "Firmando" #: packages/lib/server-only/document/send-completed-email.ts:93 #: packages/lib/server-only/document/send-completed-email.ts:161 msgid "Signing Complete!" -msgstr "" +msgstr "¡Firma completa!" #: packages/lib/constants/recipient-roles.ts:66 #~ msgid "SIGNING_REQUEST" -#~ msgstr "" +#~ msgstr "SIGNING_REQUEST" #: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34 msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." @@ -1028,15 +1028,15 @@ msgstr "Enviar" #: packages/lib/server-only/team/delete-team-email.ts:96 msgid "Team email has been revoked for {0}" -msgstr "" +msgstr "El correo electrónico del equipo ha sido revocado para {0}" #: packages/email/templates/team-email-removed.tsx:53 msgid "Team email removed" -msgstr "" +msgstr "Correo electrónico del equipo eliminado" #: packages/email/templates/team-email-removed.tsx:27 msgid "Team email removed for {teamName} on Documenso" -msgstr "" +msgstr "Correo electrónico del equipo eliminado para {teamName} en Documenso" #: packages/ui/primitives/template-flow/add-template-settings.tsx:133 msgid "Template title" @@ -1050,7 +1050,7 @@ msgstr "Texto" #: packages/email/template-components/template-forgot-password.tsx:25 msgid "That's okay, it happens! Click the button below to reset your password." -msgstr "" +msgstr "Está bien, ¡sucede! Haz clic en el botón de abajo para restablecer tu contraseña." #: packages/ui/components/recipient/recipient-action-auth-select.tsx:44 msgid "The authentication required for recipients to sign fields" @@ -1070,11 +1070,11 @@ msgstr "El nombre del documento" #: packages/email/templates/team-delete.tsx:35 msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents" -msgstr "" +msgstr "El siguiente equipo ha sido eliminado por su propietario. Ya no podrás acceder a este equipo y sus documentos" #: packages/email/templates/team-delete.tsx:34 msgid "The following team has been deleted by you" -msgstr "" +msgstr "El siguiente equipo ha sido eliminado por ti" #: packages/ui/primitives/document-password-dialog.tsx:52 msgid "The password you have entered is incorrect. Please try again." @@ -1082,7 +1082,7 @@ msgstr "La contraseña que ha ingresado es incorrecta. Por favor, inténtelo de #: packages/email/template-components/template-document-super-delete.tsx:38 msgid "The reason provided for deletion is the following:" -msgstr "" +msgstr "La razón proporcionada para la eliminación es la siguiente:" #: packages/ui/components/recipient/recipient-role-select.tsx:103 msgid "The recipient is not required to take any action and receives a copy of the document after it is completed." @@ -1118,7 +1118,7 @@ msgstr "El nombre del firmante" #: packages/email/templates/team-email-removed.tsx:57 msgid "The team email <0>{teamEmail} has been removed from the following team" -msgstr "" +msgstr "El correo electrónico del equipo <0>{teamEmail} ha sido eliminado del siguiente equipo" #: packages/ui/components/document/document-global-auth-action-select.tsx:72 msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." @@ -1126,7 +1126,7 @@ msgstr "Esto se puede anular configurando los requisitos de autenticación direc #: packages/email/template-components/template-document-super-delete.tsx:31 msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support." -msgstr "" +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 msgid "This document has already been sent to this recipient. You can no longer edit this recipient." @@ -1138,7 +1138,7 @@ msgstr "Este documento está protegido por contraseña. Por favor ingrese la con #: packages/email/template-components/template-footer.tsx:14 msgid "This document was sent using <0>Documenso." -msgstr "" +msgstr "Este documento fue enviado usando <0>Documenso." #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:573 msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." @@ -1202,15 +1202,15 @@ msgstr "Ver" #: packages/email/templates/document-created-from-direct-template.tsx:69 msgid "View document" -msgstr "" +msgstr "Ver documento" #: packages/email/template-components/template-document-self-signed.tsx:79 msgid "View plans" -msgstr "" +msgstr "Ver planes" #: packages/lib/constants/recipient-roles.ts:67 #~ msgid "VIEW_REQUEST" -#~ msgstr "" +#~ msgstr "VIEW_REQUEST" #: packages/lib/constants/recipient-roles.ts:27 msgid "Viewed" @@ -1230,23 +1230,23 @@ msgstr "Viendo" #: packages/email/template-components/template-document-pending.tsx:31 msgid "Waiting for others" -msgstr "" +msgstr "Esperando a otros" #: packages/lib/server-only/document/send-pending-email.ts:73 msgid "Waiting for others to complete signing." -msgstr "" +msgstr "Esperando a que otros completen la firma." #: packages/email/template-components/template-document-pending.tsx:41 msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready." -msgstr "" +msgstr "Aún estamos esperando a que otros firmantes firmen este documento.<0/>Te notificaremos tan pronto como esté listo." #: packages/email/templates/reset-password.tsx:59 msgid "We've changed your password as you asked. You can now sign in with your new password." -msgstr "" +msgstr "Hemos cambiado tu contraseña como solicitaste. Ahora puedes iniciar sesión con tu nueva contraseña." #: packages/email/template-components/template-confirmation-email.tsx:24 msgid "Welcome to Documenso!" -msgstr "" +msgstr "¡Bienvenido a Documenso!" #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" @@ -1254,7 +1254,7 @@ msgstr "Está a punto de enviar este documento a los destinatarios. ¿Está segu #: packages/email/template-components/template-confirmation-email.tsx:41 msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)" -msgstr "" +msgstr "También puedes copiar y pegar este enlace en tu navegador: {confirmationLink} (el enlace expira en 1 hora)" #: packages/ui/components/document/document-send-email-message-helper.tsx:11 msgid "You can use the following variables in your message:" @@ -1266,28 +1266,28 @@ msgstr "No puede cargar documentos en este momento." #: packages/email/template-components/template-document-cancel.tsx:35 msgid "You don't need to sign it anymore." -msgstr "" +msgstr "Ya no necesitas firmarlo." #: packages/lib/server-only/team/create-team-member-invites.ts:168 msgid "You have been invited to join {0} on Documenso" -msgstr "" +msgstr "Te han invitado a unirte a {0} en Documenso" #: packages/email/templates/team-invite.tsx:59 msgid "You have been invited to join the following team" -msgstr "" +msgstr "Te han invitado a unirte al siguiente equipo" #: packages/lib/server-only/recipient/set-recipients-for-document.ts:314 msgid "You have been removed from a document" -msgstr "" +msgstr "Te han eliminado de un documento" #: packages/lib/server-only/team/request-team-ownership-transfer.ts:114 msgid "You have been requested to take ownership of team {0} on Documenso" -msgstr "" +msgstr "Se te ha solicitado asumir la propiedad del equipo {0} en Documenso" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:102 #: packages/lib/server-only/document/resend-document.tsx:113 msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it." -msgstr "" +msgstr "Has iniciado el documento {0} que requiere que {recipientActionVerb}." #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." @@ -1295,17 +1295,18 @@ msgstr "Ha alcanzado su límite de documentos." #: packages/email/template-components/template-document-self-signed.tsx:42 msgid "You have signed “{documentName}”" -msgstr "" +msgstr "Has firmado “{documentName}”" #: packages/email/template-components/template-document-super-delete.tsx:23 msgid "Your document has been deleted by an admin!" -msgstr "" +msgstr "¡Tu documento ha sido eliminado por un administrador!" #: packages/email/template-components/template-reset-password.tsx:26 msgid "Your password has been updated." -msgstr "" +msgstr "Tu contraseña ha sido actualizada." #: packages/email/templates/team-delete.tsx:26 #: packages/email/templates/team-delete.tsx:30 msgid "Your team has been deleted" -msgstr "" +msgstr "Tu equipo ha sido eliminado" + diff --git a/packages/lib/translations/es/marketing.po b/packages/lib/translations/es/marketing.po index 41bce34a4..672200726 100644 --- a/packages/lib/translations/es/marketing.po +++ b/packages/lib/translations/es/marketing.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-11-01 02:29\n" +"PO-Revision-Date: 2024-11-05 02:04\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." + diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 9049f6ed5..b2184618e 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-11-01 04:00\n" +"PO-Revision-Date: 2024-11-05 02:04\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -4628,3 +4628,4 @@ msgstr "¡Tu token se creó con éxito! ¡Asegúrate de copiarlo porque no podr #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Tus tokens se mostrarán aquí una vez que los crees." + diff --git a/packages/lib/translations/fr/common.po b/packages/lib/translations/fr/common.po index 6b5a1d366..f4cfc3aa6 100644 --- a/packages/lib/translations/fr/common.po +++ b/packages/lib/translations/fr/common.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-11-01 04:00\n" +"PO-Revision-Date: 2024-11-05 02:04\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -20,32 +20,32 @@ msgstr "" #: packages/email/template-components/template-document-super-delete.tsx:27 msgid "\"{documentName}\" has been deleted by an admin." -msgstr "" +msgstr "\"{documentName}\" a été supprimé par un admin." #: packages/email/template-components/template-document-pending.tsx:37 msgid "“{documentName}” has been signed" -msgstr "" +msgstr "« {documentName} » a été signé" #: packages/email/template-components/template-document-completed.tsx:41 #: packages/lib/server-only/document/resend-document.tsx:109 msgid "{0}" -msgstr "" +msgstr "{0}" #: packages/email/template-components/template-document-invite.tsx:74 msgid "{0} Document" -msgstr "" +msgstr "{0} Document" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:117 msgid "{0} invited you to {recipientActionVerb} a document" -msgstr "" +msgstr "{0} vous a invité à {recipientActionVerb} un document" #: packages/email/templates/team-join.tsx:55 msgid "{0} joined the team {teamName} on Documenso" -msgstr "" +msgstr "{0} a rejoint l'équipe {teamName} sur Documenso" #: packages/email/templates/team-leave.tsx:55 msgid "{0} left the team {teamName} on Documenso" -msgstr "" +msgstr "{0} a quitté l'équipe {teamName} sur Documenso" #: packages/ui/primitives/data-table-pagination.tsx:30 msgid "{0} of {1} row(s) selected." @@ -54,55 +54,55 @@ msgstr "{0} sur {1} ligne(s) sélectionnée(s)." #: packages/lib/jobs/definitions/emails/send-signing-email.ts:119 #: packages/lib/server-only/document/resend-document.tsx:119 msgid "{0} on behalf of {1} has invited you to {recipientActionVerb} the document \"{2}\"." -msgstr "" +msgstr "{0} au nom de {1} vous a invité à {recipientActionVerb} le document \"{2}\"." #: packages/email/templates/document-invite.tsx:79 msgid "{inviterName} <0>({inviterEmail})" -msgstr "" +msgstr "{inviterName} <0>({inviterEmail})" #: packages/email/templates/document-cancel.tsx:19 msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore." -msgstr "" +msgstr "{inviterName} a annulé le document {documentName}, vous n'avez plus besoin de le signer." #: packages/email/template-components/template-document-cancel.tsx:24 msgid "{inviterName} has cancelled the document<0/>\"{documentName}\"" -msgstr "" +msgstr "{inviterName} a annulé le document<0/>\"{documentName}\"" #: packages/email/template-components/template-document-invite.tsx:57 msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" -msgstr "" +msgstr "{inviterName} vous a invité à {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:41 msgid "{inviterName} has invited you to {action} {documentName}" -msgstr "" +msgstr "{inviterName} vous a invité à {action} {documentName}" #: packages/email/templates/recipient-removed-from-document.tsx:18 msgid "{inviterName} has removed you from the document {documentName}." -msgstr "" +msgstr "{inviterName} vous a retiré du document {documentName}." #: packages/email/template-components/template-document-invite.tsx:49 msgid "{inviterName} on behalf of {teamName} has invited you to {0}<0/>\"{documentName}\"" -msgstr "" +msgstr "{inviterName} au nom de {teamName} vous a invité à {0}<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:40 msgid "{inviterName} on behalf of {teamName} has invited you to {action} {documentName}" -msgstr "" +msgstr "{inviterName} au nom de {teamName} vous a invité à {action} {documentName}" #: packages/email/templates/team-join.tsx:61 msgid "{memberEmail} joined the following team" -msgstr "" +msgstr "{memberEmail} a rejoint l'équipe suivante" #: packages/email/templates/team-leave.tsx:61 msgid "{memberEmail} left the following team" -msgstr "" +msgstr "{memberEmail} a quitté l'équipe suivante" #: packages/email/templates/document-created-from-direct-template.tsx:55 msgid "{recipientName} {action} a document by using one of your direct links" -msgstr "" +msgstr "{recipientName} {action} un document en utilisant l'un de vos liens directs" #: packages/email/templates/team-transfer-request.tsx:55 msgid "{teamName} ownership transfer request" -msgstr "" +msgstr "Demande de transfert de propriété de {teamName}" #: packages/ui/primitives/data-table-pagination.tsx:41 msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}" @@ -110,11 +110,11 @@ msgstr "{visibleRows, plural, one {Affichage de # résultat.} other {Affichage d #: packages/email/templates/document-invite.tsx:91 msgid "`${inviterName} has invited you to ${action} the document \"${documentName}\".`" -msgstr "" +msgstr "`${inviterName} vous a invité à ${action} le document \"${documentName}\".`" #: packages/email/templates/team-transfer-request.tsx:59 msgid "<0>{senderName} has requested that you take ownership of the following team" -msgstr "" +msgstr "<0>{senderName} a demandé que vous preniez possession de l'équipe suivante" #: packages/ui/components/recipient/recipient-action-auth-select.tsx:53 msgid "<0>Inherit authentication method - Use the global action signing authentication method configured in the \"General Settings\" step" @@ -148,49 +148,49 @@ msgstr "<0>Exiger une clé d'accès - Le destinataire doit avoir un compte e #: packages/lib/jobs/definitions/emails/send-signing-email.ts:109 msgid "A document was created by your direct template that requires you to {recipientActionVerb} it." -msgstr "" +msgstr "Un document a été créé par votre modèle direct qui nécessite que vous {recipientActionVerb} celui-ci." #: packages/lib/jobs/definitions/emails/send-team-member-joined-email.ts:90 msgid "A new member has joined your team" -msgstr "" +msgstr "Un nouveau membre a rejoint votre équipe" #: 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 "" +msgstr "Une demande d'utilisation de votre email a été initiée par {teamName} sur Documenso" #: packages/email/templates/team-join.tsx:29 msgid "A team member has joined a team on Documenso" -msgstr "" +msgstr "Un membre de l'équipe a rejoint une équipe sur Documenso" #: packages/lib/jobs/definitions/emails/send-team-member-left-email.ts:79 msgid "A team member has left {0}" -msgstr "" +msgstr "Un membre de l'équipe a quitté {0}" #: packages/email/templates/team-leave.tsx:29 msgid "A team member has left a team on Documenso" -msgstr "" +msgstr "Un membre de l'équipe a quitté une équipe sur Documenso" #: packages/email/templates/team-delete.tsx:27 #: packages/email/templates/team-delete.tsx:31 msgid "A team you were a part of has been deleted" -msgstr "" +msgstr "Une équipe dont vous faisiez partie a été supprimée" #: packages/email/templates/team-invite.tsx:77 #: packages/email/templates/team-transfer-request.tsx:81 msgid "Accept" -msgstr "" +msgstr "Accepter" #: packages/email/templates/team-invite.tsx:29 msgid "Accept invitation to join a team on Documenso" -msgstr "" +msgstr "Accepter l'invitation à rejoindre une équipe sur Documenso" #: packages/email/templates/confirm-team-email.tsx:38 msgid "Accept team email request for {teamName} on Documenso" -msgstr "" +msgstr "Accepter la demande d'email d'équipe pour {teamName} sur Documenso" #: packages/email/templates/team-transfer-request.tsx:29 msgid "Accept team transfer request on Documenso" -msgstr "" +msgstr "Accepter la demande de transfert d'équipe sur Documenso" #: packages/ui/primitives/document-dropzone.tsx:69 msgid "Add a document" @@ -262,11 +262,11 @@ msgstr "Après soumission, un document sera automatiquement généré et ajouté #: packages/email/template-components/template-document-cancel.tsx:31 msgid "All signatures have been voided." -msgstr "" +msgstr "Toutes les signatures ont été annulées." #: packages/email/templates/document-super-delete.tsx:20 msgid "An admin has deleted your document \"{documentName}\"." -msgstr "" +msgstr "Un administrateur a supprimé votre document \"{documentName}\"." #: packages/ui/primitives/pdf-viewer.tsx:167 msgid "An error occurred while loading the document." @@ -278,7 +278,7 @@ msgstr "Approuver" #: packages/lib/constants/recipient-roles.ts:68 #~ msgid "APPROVE_REQUEST" -#~ msgstr "" +#~ msgstr "APPROVE_REQUEST" #: packages/lib/constants/recipient-roles.ts:9 msgid "Approved" @@ -298,7 +298,7 @@ msgstr "En attente d'approbation" #: packages/email/template-components/template-confirmation-email.tsx:28 msgid "Before you get started, please confirm your email address by clicking the button below:" -msgstr "" +msgstr "Avant de commencer, veuillez confirmer votre adresse email en cliquant sur le bouton ci-dessous :" #: packages/ui/primitives/signature-pad/signature-pad.tsx:377 msgid "Black" @@ -310,11 +310,11 @@ msgstr "Bleu" #: packages/email/templates/team-invite.tsx:67 msgid "by <0>{senderName}" -msgstr "" +msgstr "par <0>{senderName}" #: packages/email/templates/team-transfer-request.tsx:70 msgid "By accepting this request, you will take responsibility for any billing items associated with this team." -msgstr "" +msgstr "En acceptant cette demande, vous serez responsable de tous les éléments de facturation associés à cette équipe." #: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx:356 #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:58 @@ -369,12 +369,12 @@ msgstr "Fermer" #: packages/email/template-components/template-document-completed.tsx:35 #: packages/email/template-components/template-document-self-signed.tsx:36 msgid "Completed" -msgstr "" +msgstr "Terminé" #: packages/email/templates/document-completed.tsx:21 #: packages/email/templates/document-self-signed.tsx:17 msgid "Completed Document" -msgstr "" +msgstr "Document Terminé" #: packages/lib/constants/template.ts:12 msgid "Configure Direct Recipient" @@ -387,7 +387,7 @@ msgstr "Configurer le champ {0}" #: packages/email/template-components/template-confirmation-email.tsx:38 msgid "Confirm email" -msgstr "" +msgstr "Confirmer l'email" #: packages/ui/primitives/document-flow/document-flow-root.tsx:141 msgid "Continue" @@ -395,11 +395,11 @@ msgstr "Continuer" #: packages/email/template-components/template-document-invite.tsx:66 msgid "Continue by {0} the document." -msgstr "" +msgstr "Continuez en {0} le document." #: packages/email/template-components/template-document-completed.tsx:45 msgid "Continue by downloading the document." -msgstr "" +msgstr "Continuez en téléchargeant le document." #: packages/ui/components/document/document-share-button.tsx:46 msgid "Copied to clipboard" @@ -411,11 +411,11 @@ msgstr "Copier le lien" #: packages/email/template-components/template-document-self-signed.tsx:46 msgid "Create a <0>free account to access your signed documents at any time." -msgstr "" +msgstr "Créez un <0>compte gratuit pour accéder à vos documents signés à tout moment." #: packages/email/template-components/template-document-self-signed.tsx:68 msgid "Create account" -msgstr "" +msgstr "Créer un compte" #: packages/ui/primitives/document-flow/add-signature.tsx:360 msgid "Custom Text" @@ -434,11 +434,11 @@ msgstr "Format de date" #: packages/email/templates/team-invite.tsx:83 msgid "Decline" -msgstr "" +msgstr "Décliner" #: packages/email/templates/reset-password.tsx:65 msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us." -msgstr "" +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." #: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx:570 msgid "Direct link receiver" @@ -452,12 +452,12 @@ msgstr "Accès au document" #: packages/lib/server-only/document/super-delete-document.ts:75 msgid "Document Cancelled" -msgstr "" +msgstr "Document Annulé" #: packages/email/templates/document-created-from-direct-template.tsx:30 #: packages/lib/server-only/template/create-document-from-direct-template.ts:554 msgid "Document created from direct template" -msgstr "" +msgstr "Document créé à partir d'un modèle direct" #: packages/lib/constants/template.ts:20 msgid "Document Creation" @@ -465,7 +465,7 @@ msgstr "Création de document" #: packages/lib/server-only/document/send-delete-email.ts:58 msgid "Document Deleted!" -msgstr "" +msgstr "Document Supprimé !" #: packages/email/template-components/template-document-completed.tsx:64 #: packages/ui/components/document/document-download-button.tsx:68 @@ -575,11 +575,11 @@ msgstr "Taille de Police" #: packages/lib/server-only/auth/send-forgot-password.ts:61 msgid "Forgot Password?" -msgstr "" +msgstr "Mot de passe oublié ?" #: packages/email/template-components/template-forgot-password.tsx:21 msgid "Forgot your password?" -msgstr "" +msgstr "Vous avez oublié votre mot de passe ?" #: packages/ui/primitives/document-flow/types.ts:50 msgid "Free Signature" @@ -599,7 +599,7 @@ msgstr "Vert" #: packages/email/templates/reset-password.tsx:50 msgid "Hi, {userName} <0>({userEmail})" -msgstr "" +msgstr "Bonjour, {userName} <0>({userEmail})" #: packages/lib/constants/recipient-roles.ts:76 msgid "I am a signer of this document" @@ -636,7 +636,7 @@ msgstr "Adresse email invalide" #: packages/email/templates/team-invite.tsx:55 msgid "Join {teamName} on Documenso" -msgstr "" +msgstr "Rejoindre {teamName} sur Documenso" #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:67 #: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx:72 @@ -647,11 +647,11 @@ msgstr "Étiquette" #: packages/ui/primitives/document-flow/add-settings.tsx:176 #: packages/ui/primitives/template-flow/add-template-settings.tsx:150 msgid "Language" -msgstr "" +msgstr "Langue" #: packages/email/templates/team-transfer-request.tsx:87 msgid "Link expires in 1 hour." -msgstr "" +msgstr "Le lien expire dans 1 heure." #: packages/ui/primitives/lazy-pdf-viewer.tsx:15 #: packages/ui/primitives/pdf-viewer.tsx:44 @@ -764,19 +764,19 @@ msgstr "Mot de passe requis" #: packages/email/templates/forgot-password.tsx:17 msgid "Password Reset Requested" -msgstr "" +msgstr "Réinitialisation du mot de passe demandée" #: packages/email/templates/reset-password.tsx:18 msgid "Password Reset Successful" -msgstr "" +msgstr "Réinitialisation du mot de passe réussie" #: packages/email/template-components/template-reset-password.tsx:22 msgid "Password updated!" -msgstr "" +msgstr "Mot de passe mis à jour !" #: packages/email/templates/document-pending.tsx:17 msgid "Pending Document" -msgstr "" +msgstr "Document En Attente" #: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx:156 msgid "Pick a number" @@ -790,31 +790,31 @@ msgstr "Espace réservé" #: packages/email/template-components/template-document-invite.tsx:43 msgid "Please {0} your document<0/>\"{documentName}\"" -msgstr "" +msgstr "Veuillez {0} votre document<0/>\"{documentName}\"" #: packages/email/templates/document-invite.tsx:38 msgid "Please {action} your document {documentName}" -msgstr "" +msgstr "Veuillez {action} votre document {documentName}" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:98 msgid "Please {recipientActionVerb} this document" -msgstr "" +msgstr "Veuillez {recipientActionVerb} ce document" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:112 msgid "Please {recipientActionVerb} this document created by your direct template" -msgstr "" +msgstr "Veuillez {recipientActionVerb} ce document créé par votre modèle direct" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:104 msgid "Please {recipientActionVerb} your document" -msgstr "" +msgstr "Veuillez {recipientActionVerb} votre document" #: packages/lib/server-only/auth/send-confirmation-email.ts:67 msgid "Please confirm your email" -msgstr "" +msgstr "Veuillez confirmer votre email" #: packages/email/templates/confirm-email.tsx:15 msgid "Please confirm your email address" -msgstr "" +msgstr "Veuillez confirmer votre adresse email" #: packages/ui/primitives/pdf-viewer.tsx:223 #: packages/ui/primitives/pdf-viewer.tsx:238 @@ -858,19 +858,19 @@ msgstr "URL de redirection" #: packages/lib/server-only/document/resend-document.tsx:165 msgid "Reminder: {0}" -msgstr "" +msgstr "Rappel : {0}" #: packages/lib/server-only/document/resend-document.tsx:118 msgid "Reminder: {0} invited you to {recipientActionVerb} a document" -msgstr "" +msgstr "Rappel : {0} vous a invité à {recipientActionVerb} un document" #: packages/lib/server-only/document/resend-document.tsx:110 msgid "Reminder: Please {recipientActionVerb} this document" -msgstr "" +msgstr "Rappel : Veuillez {recipientActionVerb} ce document" #: packages/lib/server-only/document/resend-document.tsx:114 msgid "Reminder: Please {recipientActionVerb} your document" -msgstr "" +msgstr "Rappel : Veuillez {recipientActionVerb} votre document" #: packages/ui/primitives/document-flow/add-fields.tsx:1110 msgid "Remove" @@ -886,7 +886,7 @@ msgstr "Champ requis" #: packages/email/template-components/template-forgot-password.tsx:33 msgid "Reset Password" -msgstr "" +msgstr "Réinitialiser le mot de passe" #: packages/ui/components/document/document-share-button.tsx:147 msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" @@ -957,7 +957,7 @@ msgstr "Signer" #: packages/email/template-components/template-reset-password.tsx:34 msgid "Sign In" -msgstr "" +msgstr "Se connecter" #: packages/ui/primitives/document-flow/add-fields.tsx:823 #: packages/ui/primitives/document-flow/add-signature.tsx:323 @@ -990,11 +990,11 @@ msgstr "Signature en cours" #: packages/lib/server-only/document/send-completed-email.ts:93 #: packages/lib/server-only/document/send-completed-email.ts:161 msgid "Signing Complete!" -msgstr "" +msgstr "Signature Complète !" #: packages/lib/constants/recipient-roles.ts:66 #~ msgid "SIGNING_REQUEST" -#~ msgstr "" +#~ msgstr "SIGNING_REQUEST" #: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx:34 msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." @@ -1028,15 +1028,15 @@ msgstr "Soumettre" #: packages/lib/server-only/team/delete-team-email.ts:96 msgid "Team email has been revoked for {0}" -msgstr "" +msgstr "L'email d'équipe a été révoqué pour {0}" #: packages/email/templates/team-email-removed.tsx:53 msgid "Team email removed" -msgstr "" +msgstr "Email d'équipe supprimé" #: packages/email/templates/team-email-removed.tsx:27 msgid "Team email removed for {teamName} on Documenso" -msgstr "" +msgstr "Email d'équipe supprimé pour {teamName} sur Documenso" #: packages/ui/primitives/template-flow/add-template-settings.tsx:133 msgid "Template title" @@ -1050,7 +1050,7 @@ msgstr "Texte" #: packages/email/template-components/template-forgot-password.tsx:25 msgid "That's okay, it happens! Click the button below to reset your password." -msgstr "" +msgstr "C'est d'accord, cela arrive ! Cliquez sur le bouton ci-dessous pour réinitialiser votre mot de passe." #: packages/ui/components/recipient/recipient-action-auth-select.tsx:44 msgid "The authentication required for recipients to sign fields" @@ -1070,11 +1070,11 @@ msgstr "Le nom du document" #: packages/email/templates/team-delete.tsx:35 msgid "The following team has been deleted by its owner. You will no longer be able to access this team and its documents" -msgstr "" +msgstr "L'équipe suivante a été supprimée par son propriétaire. Vous ne pourrez plus accéder à cette équipe et à ses documents" #: packages/email/templates/team-delete.tsx:34 msgid "The following team has been deleted by you" -msgstr "" +msgstr "L'équipe suivante a été supprimée par vous" #: packages/ui/primitives/document-password-dialog.tsx:52 msgid "The password you have entered is incorrect. Please try again." @@ -1082,7 +1082,7 @@ msgstr "Le mot de passe que vous avez entré est incorrect. Veuillez réessayer. #: packages/email/template-components/template-document-super-delete.tsx:38 msgid "The reason provided for deletion is the following:" -msgstr "" +msgstr "La raison fournie pour la suppression est la suivante :" #: packages/ui/components/recipient/recipient-role-select.tsx:103 msgid "The recipient is not required to take any action and receives a copy of the document after it is completed." @@ -1118,7 +1118,7 @@ msgstr "Le nom du signataire" #: packages/email/templates/team-email-removed.tsx:57 msgid "The team email <0>{teamEmail} has been removed from the following team" -msgstr "" +msgstr "L'email d'équipe <0>{teamEmail} a été supprimé de l'équipe suivante" #: packages/ui/components/document/document-global-auth-action-select.tsx:72 msgid "This can be overriden by setting the authentication requirements directly on each recipient in the next step." @@ -1126,7 +1126,7 @@ msgstr "Cela peut être remplacé par le paramétrage direct des exigences d'aut #: packages/email/template-components/template-document-super-delete.tsx:31 msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support." -msgstr "" +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 msgid "This document has already been sent to this recipient. You can no longer edit this recipient." @@ -1210,7 +1210,7 @@ msgstr "Voir les forfaits" #: packages/lib/constants/recipient-roles.ts:67 #~ msgid "VIEW_REQUEST" -#~ msgstr "DEMANDE_DE_CONSULTATION" +#~ msgstr "VIEW_REQUEST" #: packages/lib/constants/recipient-roles.ts:27 msgid "Viewed" @@ -1234,7 +1234,7 @@ msgstr "En attente des autres" #: packages/lib/server-only/document/send-pending-email.ts:73 msgid "Waiting for others to complete signing." -msgstr "" +msgstr "En attente que d'autres terminent la signature." #: 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." @@ -1246,7 +1246,7 @@ msgstr "Nous avons changé votre mot de passe comme demandé. Vous pouvez mainte #: packages/email/template-components/template-confirmation-email.tsx:24 msgid "Welcome to Documenso!" -msgstr "" +msgstr "Bienvenue sur Documenso !" #: packages/ui/primitives/document-flow/send-document-action-dialog.tsx:44 msgid "You are about to send this document to the recipients. Are you sure you want to continue?" @@ -1254,7 +1254,7 @@ msgstr "Vous êtes sur le point d'envoyer ce document aux destinataires. Êtes-v #: packages/email/template-components/template-confirmation-email.tsx:41 msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)" -msgstr "" +msgstr "Vous pouvez également copier et coller ce lien dans votre navigateur : {confirmationLink} (le lien expire dans 1 heure)" #: packages/ui/components/document/document-send-email-message-helper.tsx:11 msgid "You can use the following variables in your message:" @@ -1270,7 +1270,7 @@ msgstr "Vous n'avez plus besoin de le signer." #: packages/lib/server-only/team/create-team-member-invites.ts:168 msgid "You have been invited to join {0} on Documenso" -msgstr "" +msgstr "Vous avez été invité à rejoindre {0} sur Documenso" #: packages/email/templates/team-invite.tsx:59 msgid "You have been invited to join the following team" @@ -1278,28 +1278,24 @@ msgstr "Vous avez été invité à rejoindre l'équipe suivante" #: packages/lib/server-only/recipient/set-recipients-for-document.ts:314 msgid "You have been removed from a document" -msgstr "" +msgstr "Vous avez été supprimé d'un document" #: packages/lib/server-only/team/request-team-ownership-transfer.ts:114 msgid "You have been requested to take ownership of team {0} on Documenso" -msgstr "" +msgstr "On vous a demandé de prendre possession de l'équipe {0} sur Documenso" #: packages/lib/jobs/definitions/emails/send-signing-email.ts:102 #: packages/lib/server-only/document/resend-document.tsx:113 msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it." -msgstr "" +msgstr "Vous avez initié le document {0} qui nécessite que vous {recipientActionVerb} celui-ci." #: packages/ui/primitives/document-dropzone.tsx:69 msgid "You have reached your document limit." msgstr "Vous avez atteint votre limite de documents." -#: packages/email/template-components/template-document-self-signed.tsx:42 -#~ msgid "You have signed \"{documentName}\"" -#~ msgstr "Vous avez signé \"{documentName}\"" - #: packages/email/template-components/template-document-self-signed.tsx:42 msgid "You have signed “{documentName}”" -msgstr "" +msgstr "Vous avez signé “{documentName}”" #: packages/email/template-components/template-document-super-delete.tsx:23 msgid "Your document has been deleted by an admin!" @@ -1313,3 +1309,4 @@ msgstr "Votre mot de passe a été mis à jour." #: packages/email/templates/team-delete.tsx:30 msgid "Your team has been deleted" msgstr "Votre équipe a été supprimée" + diff --git a/packages/lib/translations/fr/marketing.po b/packages/lib/translations/fr/marketing.po index 617549e8f..d0c55e6ba 100644 --- a/packages/lib/translations/fr/marketing.po +++ b/packages/lib/translations/fr/marketing.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-11-01 02:29\n" +"PO-Revision-Date: 2024-11-05 02:04\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." + diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index 5ab0eaad8..20e94c34e 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-11-01 04:00\n" +"PO-Revision-Date: 2024-11-05 02:04\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -4628,3 +4628,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." + From dc5723c38605b0acfe79d04788a20c00dfc8f59e Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 5 Nov 2024 13:44:00 +1100 Subject: [PATCH 19/52] chore: add i18n lang to document deleted email --- packages/lib/server-only/document/delete-document.ts | 11 ++++++++--- packages/lib/translations/de/common.po | 2 +- packages/lib/translations/de/marketing.po | 1 - packages/lib/translations/de/web.po | 1 - packages/lib/translations/en/common.po | 1 + packages/lib/translations/es/common.po | 2 +- packages/lib/translations/es/marketing.po | 1 - packages/lib/translations/es/web.po | 1 - packages/lib/translations/fr/common.po | 2 +- packages/lib/translations/fr/marketing.po | 1 - packages/lib/translations/fr/web.po | 1 - 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/lib/server-only/document/delete-document.ts b/packages/lib/server-only/document/delete-document.ts index b43ed2cd3..301d37bd2 100644 --- a/packages/lib/server-only/document/delete-document.ts +++ b/packages/lib/server-only/document/delete-document.ts @@ -2,12 +2,15 @@ import { createElement } from 'react'; +import { msg } from '@lingui/macro'; + import { mailer } from '@documenso/email/mailer'; import DocumentCancelTemplate from '@documenso/email/templates/document-cancel'; import { prisma } from '@documenso/prisma'; import type { Document, DocumentMeta, Recipient, User } from '@documenso/prisma/client'; import { DocumentStatus, SendStatus } 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 { DOCUMENT_AUDIT_LOG_TYPE } from '../../types/document-audit-logs'; @@ -192,10 +195,12 @@ const handleDocumentOwnerDelete = async ({ }); const [html, text] = await Promise.all([ - renderEmailWithI18N(template), - renderEmailWithI18N(template, { plainText: true }), + renderEmailWithI18N(template, { lang: document.documentMeta?.language }), + renderEmailWithI18N(template, { lang: document.documentMeta?.language, plainText: true }), ]); + const i18n = await getI18nInstance(document.documentMeta?.language); + await mailer.sendMail({ to: { address: recipient.email, @@ -205,7 +210,7 @@ const handleDocumentOwnerDelete = async ({ name: FROM_NAME, address: FROM_ADDRESS, }, - subject: 'Document Cancelled', + subject: i18n._(msg`Document Cancelled`), html, text, }); diff --git a/packages/lib/translations/de/common.po b/packages/lib/translations/de/common.po index 43b62d6ea..a84d16da9 100644 --- a/packages/lib/translations/de/common.po +++ b/packages/lib/translations/de/common.po @@ -450,6 +450,7 @@ msgstr "Empfänger des direkten Links" msgid "Document access" msgstr "Dokumentenzugriff" +#: packages/lib/server-only/document/delete-document.ts:213 #: packages/lib/server-only/document/super-delete-document.ts:75 msgid "Document Cancelled" msgstr "Dokument storniert" @@ -1309,4 +1310,3 @@ msgstr "Dein Passwort wurde aktualisiert." #: packages/email/templates/team-delete.tsx:30 msgid "Your team has been deleted" msgstr "Dein Team wurde gelöscht" - diff --git a/packages/lib/translations/de/marketing.po b/packages/lib/translations/de/marketing.po index e903d0b4b..1519ee16f 100644 --- a/packages/lib/translations/de/marketing.po +++ b/packages/lib/translations/de/marketing.po @@ -602,4 +602,3 @@ 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." - diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index a9abfeb0c..a6e6beacf 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -4628,4 +4628,3 @@ msgstr "Ihr Token wurde erfolgreich erstellt! Stellen Sie sicher, dass Sie es ko #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Ihre Tokens werden hier angezeigt, sobald Sie sie erstellt haben." - diff --git a/packages/lib/translations/en/common.po b/packages/lib/translations/en/common.po index 596ff4e27..b14c1c2d2 100644 --- a/packages/lib/translations/en/common.po +++ b/packages/lib/translations/en/common.po @@ -445,6 +445,7 @@ msgstr "Direct link receiver" msgid "Document access" msgstr "Document access" +#: packages/lib/server-only/document/delete-document.ts:213 #: packages/lib/server-only/document/super-delete-document.ts:75 msgid "Document Cancelled" msgstr "Document Cancelled" diff --git a/packages/lib/translations/es/common.po b/packages/lib/translations/es/common.po index a4501f145..93fd930b9 100644 --- a/packages/lib/translations/es/common.po +++ b/packages/lib/translations/es/common.po @@ -450,6 +450,7 @@ msgstr "Receptor de enlace directo" msgid "Document access" msgstr "Acceso al documento" +#: packages/lib/server-only/document/delete-document.ts:213 #: packages/lib/server-only/document/super-delete-document.ts:75 msgid "Document Cancelled" msgstr "Documento cancelado" @@ -1309,4 +1310,3 @@ msgstr "Tu contraseña ha sido actualizada." #: packages/email/templates/team-delete.tsx:30 msgid "Your team has been deleted" msgstr "Tu equipo ha sido eliminado" - diff --git a/packages/lib/translations/es/marketing.po b/packages/lib/translations/es/marketing.po index 672200726..b27c1e894 100644 --- a/packages/lib/translations/es/marketing.po +++ b/packages/lib/translations/es/marketing.po @@ -602,4 +602,3 @@ 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." - diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index b2184618e..665cb55ff 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -4628,4 +4628,3 @@ msgstr "¡Tu token se creó con éxito! ¡Asegúrate de copiarlo porque no podr #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:86 msgid "Your tokens will be shown here once you create them." msgstr "Tus tokens se mostrarán aquí una vez que los crees." - diff --git a/packages/lib/translations/fr/common.po b/packages/lib/translations/fr/common.po index f4cfc3aa6..cd9cd0c30 100644 --- a/packages/lib/translations/fr/common.po +++ b/packages/lib/translations/fr/common.po @@ -450,6 +450,7 @@ msgstr "Receveur de lien direct" msgid "Document access" msgstr "Accès au document" +#: packages/lib/server-only/document/delete-document.ts:213 #: packages/lib/server-only/document/super-delete-document.ts:75 msgid "Document Cancelled" msgstr "Document Annulé" @@ -1309,4 +1310,3 @@ msgstr "Votre mot de passe a été mis à jour." #: packages/email/templates/team-delete.tsx:30 msgid "Your team has been deleted" msgstr "Votre équipe a été supprimée" - diff --git a/packages/lib/translations/fr/marketing.po b/packages/lib/translations/fr/marketing.po index d0c55e6ba..7ca6b7a59 100644 --- a/packages/lib/translations/fr/marketing.po +++ b/packages/lib/translations/fr/marketing.po @@ -602,4 +602,3 @@ 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." - diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index 20e94c34e..d693cf6a9 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -4628,4 +4628,3 @@ 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." - From de880aa821fdda618542f7a08026de729338d17e Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 5 Nov 2024 13:50:01 +1100 Subject: [PATCH 20/52] v1.7.2-rc.4 --- apps/marketing/package.json | 2 +- apps/web/package.json | 2 +- package-lock.json | 8 ++++---- package.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/marketing/package.json b/apps/marketing/package.json index a890c8374..7923022c9 100644 --- a/apps/marketing/package.json +++ b/apps/marketing/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/marketing", - "version": "1.7.2-rc.3", + "version": "1.7.2-rc.4", "private": true, "license": "AGPL-3.0", "scripts": { diff --git a/apps/web/package.json b/apps/web/package.json index 722e028d6..15cde6270 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@documenso/web", - "version": "1.7.2-rc.3", + "version": "1.7.2-rc.4", "private": true, "license": "AGPL-3.0", "scripts": { diff --git a/package-lock.json b/package-lock.json index 956db402e..77172fba3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@documenso/root", - "version": "1.7.2-rc.3", + "version": "1.7.2-rc.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@documenso/root", - "version": "1.7.2-rc.3", + "version": "1.7.2-rc.4", "workspaces": [ "apps/*", "packages/*" @@ -80,7 +80,7 @@ }, "apps/marketing": { "name": "@documenso/marketing", - "version": "1.7.2-rc.3", + "version": "1.7.2-rc.4", "license": "AGPL-3.0", "dependencies": { "@documenso/assets": "*", @@ -441,7 +441,7 @@ }, "apps/web": { "name": "@documenso/web", - "version": "1.7.2-rc.3", + "version": "1.7.2-rc.4", "license": "AGPL-3.0", "dependencies": { "@documenso/api": "*", diff --git a/package.json b/package.json index 1aedb4fba..bc6df055a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "1.7.2-rc.3", + "version": "1.7.2-rc.4", "scripts": { "build": "turbo run build", "build:web": "turbo run build --filter=@documenso/web", From 32b65c4d49f373057cdf08085b523a58d95f8e23 Mon Sep 17 00:00:00 2001 From: Mythie Date: Tue, 5 Nov 2024 18:34:27 +1100 Subject: [PATCH 21/52] fix: blog posts breaking during ssr on vercel --- .../app/(marketing)/blog/[post]/content.tsx | 23 +++++++++++++++++++ .../src/app/(marketing)/blog/[post]/page.tsx | 15 +++--------- 2 files changed, 26 insertions(+), 12 deletions(-) create mode 100644 apps/marketing/src/app/(marketing)/blog/[post]/content.tsx diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/content.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/content.tsx new file mode 100644 index 000000000..ebcd5f8b9 --- /dev/null +++ b/apps/marketing/src/app/(marketing)/blog/[post]/content.tsx @@ -0,0 +1,23 @@ +'use client'; + +import Image from 'next/image'; + +import type { BlogPost } from 'contentlayer/generated'; +import type { MDXComponents } from 'mdx/types'; +import { useMDXComponent } from 'next-contentlayer/hooks'; + +const mdxComponents: MDXComponents = { + MdxNextImage: (props: { width: number; height: number; alt?: string; src: string }) => ( + {props.alt + ), +}; + +export type BlogPostContentProps = { + post: BlogPost; +}; + +export const BlogPostContent = ({ post }: BlogPostContentProps) => { + const MdxContent = useMDXComponent(post.body.code); + + return ; +}; diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx index 324f742d1..03c5bcb81 100644 --- a/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx +++ b/apps/marketing/src/app/(marketing)/blog/[post]/page.tsx @@ -1,16 +1,15 @@ -import Image from 'next/image'; import Link from 'next/link'; import { notFound } from 'next/navigation'; import { allBlogPosts } from 'contentlayer/generated'; import { ChevronLeft } from 'lucide-react'; -import type { MDXComponents } from 'mdx/types'; -import { useMDXComponent } from 'next-contentlayer/hooks'; import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; import { CallToAction } from '~/components/(marketing)/call-to-action'; +import { BlogPostContent } from './content'; + export const dynamic = 'force-dynamic'; export const generateMetadata = ({ params }: { params: { post: string } }) => { @@ -42,12 +41,6 @@ export const generateMetadata = ({ params }: { params: { post: string } }) => { }; }; -const mdxComponents: MDXComponents = { - MdxNextImage: (props: { width: number; height: number; alt?: string; src: string }) => ( - {props.alt - ), -}; - export default async function BlogPostPage({ params }: { params: { post: string } }) { await setupI18nSSR(); @@ -57,8 +50,6 @@ export default async function BlogPostPage({ params }: { params: { post: string notFound(); } - const MDXContent = useMDXComponent(post.body.code); - return (
@@ -87,7 +78,7 @@ export default async function BlogPostPage({ params }: { params: { post: string
- + {post.tags.length > 0 && (
    From 4fa6dc1e2199c0a8d8370071e0f74e260bfad802 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Tue, 5 Nov 2024 17:36:30 +0900 Subject: [PATCH 22/52] feat: add template page (#1395) Add a template page view to allow users to see more details about a template at a glance. --- .../[id]/{ => edit}/edit-template.tsx | 0 .../(dashboard)/templates/[id]/edit/page.tsx | 14 + .../[id]/edit/template-edit-page-view.tsx | 96 ++++++ .../app/(dashboard)/templates/[id]/page.tsx | 9 +- .../template-direct-link-dialog-wrapper.tsx | 6 +- .../template-page-view-documents-table.tsx | 281 ++++++++++++++++++ .../[id]/template-page-view-information.tsx | 66 ++++ .../template-page-view-recent-activity.tsx | 163 ++++++++++ .../[id]/template-page-view-recipients.tsx | 69 +++++ .../templates/[id]/template-page-view.tsx | 165 ++++++++-- .../templates/data-table-action-dropdown.tsx | 9 +- .../templates/data-table-templates.tsx | 2 +- .../templates/new-template-dialog.tsx | 2 +- .../templates/use-template-dialog.tsx | 14 +- .../t/[teamUrl]/templates/[id]/edit/page.tsx | 24 ++ .../document/document-read-only-fields.tsx | 44 ++- .../forms/search-param-selector.tsx | 50 ++++ .../template-settings-step.spec.ts | 8 +- .../template-signers-step.spec.ts | 4 +- .../create-document-from-template.spec.ts | 4 +- .../server-only/document/find-documents.ts | 97 +++--- .../template/get-template-by-id.ts | 7 + .../trpc/server/document-router/router.ts | 33 ++ .../trpc/server/document-router/schema.ts | 25 +- 24 files changed, 1096 insertions(+), 96 deletions(-) rename apps/web/src/app/(dashboard)/templates/[id]/{ => edit}/edit-template.tsx (100%) create mode 100644 apps/web/src/app/(dashboard)/templates/[id]/edit/page.tsx create mode 100644 apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx create mode 100644 apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx create mode 100644 apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx create mode 100644 apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx create mode 100644 apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx create mode 100644 apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/edit/page.tsx create mode 100644 apps/web/src/components/forms/search-param-selector.tsx diff --git a/apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx b/apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx similarity index 100% rename from apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx rename to apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx diff --git a/apps/web/src/app/(dashboard)/templates/[id]/edit/page.tsx b/apps/web/src/app/(dashboard)/templates/[id]/edit/page.tsx new file mode 100644 index 000000000..ed463b2cf --- /dev/null +++ b/apps/web/src/app/(dashboard)/templates/[id]/edit/page.tsx @@ -0,0 +1,14 @@ +import React from 'react'; + +import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; + +import type { TemplateEditPageViewProps } from './template-edit-page-view'; +import { TemplateEditPageView } from './template-edit-page-view'; + +type TemplateEditPageProps = Pick; + +export default async function TemplateEditPage({ params }: TemplateEditPageProps) { + await setupI18nSSR(); + + return ; +} diff --git a/apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx b/apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx new file mode 100644 index 000000000..d7d6d86b4 --- /dev/null +++ b/apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx @@ -0,0 +1,96 @@ +import React from 'react'; + +import Link from 'next/link'; +import { redirect } from 'next/navigation'; + +import { Trans } from '@lingui/macro'; +import { ChevronLeft } from 'lucide-react'; + +import { isUserEnterprise } from '@documenso/ee/server-only/util/is-document-enterprise'; +import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session'; +import { getTemplateWithDetailsById } from '@documenso/lib/server-only/template/get-template-with-details-by-id'; +import { formatTemplatesPath } from '@documenso/lib/utils/teams'; +import type { Team } from '@documenso/prisma/client'; + +import { TemplateType } from '~/components/formatter/template-type'; + +import { TemplateDirectLinkBadge } from '../../template-direct-link-badge'; +import { TemplateDirectLinkDialogWrapper } from '../template-direct-link-dialog-wrapper'; +import { EditTemplateForm } from './edit-template'; + +export type TemplateEditPageViewProps = { + params: { + id: string; + }; + team?: Team; +}; + +export const TemplateEditPageView = async ({ params, team }: TemplateEditPageViewProps) => { + const { id } = params; + + const templateId = Number(id); + const templateRootPath = formatTemplatesPath(team?.url); + + if (!templateId || Number.isNaN(templateId)) { + redirect(templateRootPath); + } + + const { user } = await getRequiredServerComponentSession(); + + const template = await getTemplateWithDetailsById({ + id: templateId, + userId: user.id, + }).catch(() => null); + + if (!template || !template.templateDocumentData) { + redirect(templateRootPath); + } + + const isTemplateEnterprise = await isUserEnterprise({ + userId: user.id, + teamId: team?.id, + }); + + return ( +
    +
    +
    + + + Template + + +

    + {template.title} +

    + +
    + + + {template.directLink?.token && ( + + )} +
    +
    + +
    + +
    +
    + + +
    + ); +}; diff --git a/apps/web/src/app/(dashboard)/templates/[id]/page.tsx b/apps/web/src/app/(dashboard)/templates/[id]/page.tsx index 0deaf4ecb..6133f5d7d 100644 --- a/apps/web/src/app/(dashboard)/templates/[id]/page.tsx +++ b/apps/web/src/app/(dashboard)/templates/[id]/page.tsx @@ -1,11 +1,12 @@ -import React from 'react'; - import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; -import type { TemplatePageViewProps } from './template-page-view'; import { TemplatePageView } from './template-page-view'; -type TemplatePageProps = Pick; +export type TemplatePageProps = { + params: { + id: string; + }; +}; export default async function TemplatePage({ params }: TemplatePageProps) { await setupI18nSSR(); diff --git a/apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx b/apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx index f9ecae130..a3639ab6d 100644 --- a/apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx +++ b/apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx @@ -10,11 +10,13 @@ import { Button } from '@documenso/ui/primitives/button'; import { TemplateDirectLinkDialog } from '../template-direct-link-dialog'; -export type TemplatePageViewProps = { +export type TemplateDirectLinkDialogWrapperProps = { template: Template & { directLink?: TemplateDirectLink | null; Recipient: Recipient[] }; }; -export const TemplateDirectLinkDialogWrapper = ({ template }: TemplatePageViewProps) => { +export const TemplateDirectLinkDialogWrapper = ({ + template, +}: TemplateDirectLinkDialogWrapperProps) => { const [isTemplateDirectLinkOpen, setTemplateDirectLinkOpen] = useState(false); return ( diff --git a/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx new file mode 100644 index 000000000..35b69f4dd --- /dev/null +++ b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx @@ -0,0 +1,281 @@ +'use client'; + +import { useMemo } from 'react'; + +import { useSearchParams } from 'next/navigation'; + +import type { MessageDescriptor } from '@lingui/core'; +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; +import { InfoIcon } from 'lucide-react'; +import { DateTime } from 'luxon'; +import { z } from 'zod'; + +import { useUpdateSearchParams } from '@documenso/lib/client-only/hooks/use-update-search-params'; +import { ZBaseTableSearchParamsSchema } from '@documenso/lib/types/search-params'; +import type { Team } from '@documenso/prisma/client'; +import { DocumentSource, DocumentStatus as DocumentStatusEnum } from '@documenso/prisma/client'; +import { trpc } from '@documenso/trpc/react'; +import type { DataTableColumnDef } from '@documenso/ui/primitives/data-table'; +import { DataTable } from '@documenso/ui/primitives/data-table'; +import { DataTablePagination } from '@documenso/ui/primitives/data-table-pagination'; +import { SelectItem } from '@documenso/ui/primitives/select'; +import { Skeleton } from '@documenso/ui/primitives/skeleton'; +import { TableCell } from '@documenso/ui/primitives/table'; +import { Tooltip, TooltipContent, TooltipTrigger } from '@documenso/ui/primitives/tooltip'; + +import { StackAvatarsWithTooltip } from '~/components/(dashboard)/avatar/stack-avatars-with-tooltip'; +import { DocumentSearch } from '~/components/(dashboard)/document-search/document-search'; +import { PeriodSelector } from '~/components/(dashboard)/period-selector/period-selector'; +import { DocumentStatus } from '~/components/formatter/document-status'; +import { SearchParamSelector } from '~/components/forms/search-param-selector'; + +import { DataTableActionButton } from '../../documents/data-table-action-button'; +import { DataTableActionDropdown } from '../../documents/data-table-action-dropdown'; +import { DataTableTitle } from '../../documents/data-table-title'; + +const DOCUMENT_SOURCE_LABELS: { [key in DocumentSource]: MessageDescriptor } = { + DOCUMENT: msg`Document`, + TEMPLATE: msg`Template`, + TEMPLATE_DIRECT_LINK: msg`Direct link`, +}; + +const ZTemplateSearchParamsSchema = ZBaseTableSearchParamsSchema.extend({ + source: z + .nativeEnum(DocumentSource) + .optional() + .catch(() => undefined), + status: z + .nativeEnum(DocumentStatusEnum) + .optional() + .catch(() => undefined), + search: z.coerce + .string() + .optional() + .catch(() => undefined), +}); + +type TemplatePageViewDocumentsTableProps = { + templateId: number; + team?: Team; +}; + +export const TemplatePageViewDocumentsTable = ({ + templateId, + team, +}: TemplatePageViewDocumentsTableProps) => { + const { _, i18n } = useLingui(); + + const searchParams = useSearchParams(); + const updateSearchParams = useUpdateSearchParams(); + + const parsedSearchParams = ZTemplateSearchParamsSchema.parse( + Object.fromEntries(searchParams ?? []), + ); + + const { data, isLoading, isInitialLoading, isLoadingError } = + trpc.document.findDocuments.useQuery( + { + templateId, + teamId: team?.id, + page: parsedSearchParams.page, + perPage: parsedSearchParams.perPage, + search: parsedSearchParams.search, + source: parsedSearchParams.source, + status: parsedSearchParams.status, + }, + { + keepPreviousData: true, + }, + ); + + const onPaginationChange = (page: number, perPage: number) => { + updateSearchParams({ + page, + perPage, + }); + }; + + const results = data ?? { + data: [], + perPage: 10, + currentPage: 1, + totalPages: 1, + }; + + const columns = useMemo(() => { + return [ + { + header: _(msg`Created`), + accessorKey: 'createdAt', + cell: ({ row }) => + i18n.date(row.original.createdAt, { ...DateTime.DATETIME_SHORT, hourCycle: 'h12' }), + }, + { + header: _(msg`Title`), + cell: ({ row }) => , + }, + + { + header: _(msg`Recipient`), + accessorKey: 'recipient', + cell: ({ row }) => ( + + ), + }, + { + header: _(msg`Status`), + accessorKey: 'status', + cell: ({ row }) => , + size: 140, + }, + { + header: () => ( +
    + Source + + + + + + +
      +
    • +

      + Template +

      + +

      + + This document was created by you or a team member using the template above. + +

      +
    • + +
    • +

      + Direct Link +

      + +

      + This document was created using a direct link. +

      +
    • +
    +
    +
    +
    + ), + accessorKey: 'type', + cell: ({ row }) => ( +
    + {_(DOCUMENT_SOURCE_LABELS[row.original.source])} +
    + ), + }, + { + id: 'actions', + header: _(msg`Actions`), + cell: ({ row }) => ( +
    + + + +
    + ), + }, + ] satisfies DataTableColumnDef<(typeof results)['data'][number]>[]; + }, []); + + return ( +
    +
    + + + + [...DocumentStatusEnum.COMPLETED].includes(value as unknown as string) + } + > + + Any Status + + + Completed + + + Pending + + + Draft + + + + + [...DocumentSource.TEMPLATE].includes(value as unknown as string) + } + > + + Any Source + + + Template + + + Direct Link + + + + +
    + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + ), + }} + > + {(table) => } +
    +
    + ); +}; diff --git a/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx new file mode 100644 index 000000000..2b25dd819 --- /dev/null +++ b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx @@ -0,0 +1,66 @@ +'use client'; + +import { useMemo } from 'react'; + +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; +import { DateTime } from 'luxon'; + +import { useIsMounted } from '@documenso/lib/client-only/hooks/use-is-mounted'; +import type { Template, User } from '@documenso/prisma/client'; + +export type TemplatePageViewInformationProps = { + userId: number; + template: Template & { + User: Pick; + }; +}; + +export const TemplatePageViewInformation = ({ + template, + userId, +}: TemplatePageViewInformationProps) => { + const isMounted = useIsMounted(); + + const { _, i18n } = useLingui(); + + const templateInformation = useMemo(() => { + return [ + { + description: msg`Uploaded by`, + value: userId === template.userId ? _(msg`You`) : template.User.name ?? template.User.email, + }, + { + description: msg`Created`, + value: i18n.date(template.createdAt, { dateStyle: 'medium' }), + }, + { + description: msg`Last modified`, + value: DateTime.fromJSDate(template.updatedAt) + .setLocale(i18n.locales?.[0] || i18n.locale) + .toRelative(), + }, + ]; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [isMounted, template, userId]); + + return ( +
    +

    + Information +

    + +
      + {templateInformation.map((item, i) => ( +
    • + {_(item.description)} + {item.value} +
    • + ))} +
    +
    + ); +}; diff --git a/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx new file mode 100644 index 000000000..2e8887f39 --- /dev/null +++ b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx @@ -0,0 +1,163 @@ +'use client'; + +import Link from 'next/link'; + +import { Trans } from '@lingui/macro'; +import { Loader } from 'lucide-react'; +import { DateTime } from 'luxon'; +import { match } from 'ts-pattern'; + +import { DocumentSource } from '@documenso/prisma/client'; +import { trpc } from '@documenso/trpc/react'; +import { cn } from '@documenso/ui/lib/utils'; +import { Button } from '@documenso/ui/primitives/button'; + +export type TemplatePageViewRecentActivityProps = { + templateId: number; + teamId?: number; + documentRootPath: string; +}; + +export const TemplatePageViewRecentActivity = ({ + templateId, + teamId, + documentRootPath, +}: TemplatePageViewRecentActivityProps) => { + const { data, isLoading, isLoadingError, refetch } = trpc.document.findDocuments.useQuery({ + templateId, + teamId, + orderBy: { + column: 'createdAt', + direction: 'asc', + }, + perPage: 5, + }); + + const results = data ?? { + data: [], + perPage: 10, + currentPage: 1, + totalPages: 1, + }; + + return ( +
    +
    +

    + Recent documents +

    + + {/* Can add dropdown menu here for additional options. */} +
    + + {isLoading && ( +
    + +
    + )} + + {isLoadingError && ( +
    +

    + Unable to load documents +

    + +
    + )} + + {data && ( + <> +
      + {data.data.length > 0 && results.totalPages > 1 && ( +
    • +
      +
      +
      + +
      +
      +
      + + +
    • + )} + + {results.data.length === 0 && ( +
      +

      + No recent documents +

      +
      + )} + + {results.data.map((document, documentIndex) => ( +
    • +
      +
      +
      + +
      +
      +
      + + + {match(document.source) + .with(DocumentSource.DOCUMENT, DocumentSource.TEMPLATE, () => ( + + Document created by {document.User.name} + + )) + .with(DocumentSource.TEMPLATE_DIRECT_LINK, () => ( + + Document created using a direct link + + )) + .exhaustive()} + + + +
    • + ))} +
    + + + + )} +
    + ); +}; diff --git a/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx new file mode 100644 index 000000000..50a9581e3 --- /dev/null +++ b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx @@ -0,0 +1,69 @@ +import Link from 'next/link'; + +import { Trans, msg } from '@lingui/macro'; +import { useLingui } from '@lingui/react'; +import { PenIcon, PlusIcon } from 'lucide-react'; + +import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles'; +import type { Recipient, Template } from '@documenso/prisma/client'; +import { AvatarWithText } from '@documenso/ui/primitives/avatar'; + +export type TemplatePageViewRecipientsProps = { + template: Template & { + Recipient: Recipient[]; + }; + templateRootPath: string; +}; + +export const TemplatePageViewRecipients = ({ + template, + templateRootPath, +}: TemplatePageViewRecipientsProps) => { + const { _ } = useLingui(); + + const recipients = template.Recipient; + + return ( +
    +
    +

    + Recipients +

    + + + {recipients.length === 0 ? ( + + ) : ( + + )} + +
    + +
      + {recipients.length === 0 && ( +
    • + No recipients +
    • + )} + + {recipients.map((recipient) => ( +
    • + {recipient.email}

      } + secondaryText={ +

      + {_(RECIPIENT_ROLES_DESCRIPTION[recipient.role].roleName)} +

      + } + /> +
    • + ))} +
    +
    + ); +}; diff --git a/apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx index b67f289a8..0436ab3f6 100644 --- a/apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx +++ b/apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx @@ -1,22 +1,28 @@ -import React from 'react'; - import Link from 'next/link'; import { redirect } from 'next/navigation'; import { Trans } from '@lingui/macro'; -import { ChevronLeft } from 'lucide-react'; +import { ChevronLeft, LucideEdit } from 'lucide-react'; -import { isUserEnterprise } from '@documenso/ee/server-only/util/is-document-enterprise'; import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session'; -import { getTemplateWithDetailsById } from '@documenso/lib/server-only/template/get-template-with-details-by-id'; -import { formatTemplatesPath } from '@documenso/lib/utils/teams'; -import type { Team } from '@documenso/prisma/client'; +import { getTemplateById } from '@documenso/lib/server-only/template/get-template-by-id'; +import { formatDocumentsPath, formatTemplatesPath } from '@documenso/lib/utils/teams'; +import { DocumentSigningOrder, SigningStatus, type Team } from '@documenso/prisma/client'; +import { Button } from '@documenso/ui/primitives/button'; +import { Card, CardContent } from '@documenso/ui/primitives/card'; +import { LazyPDFViewer } from '@documenso/ui/primitives/lazy-pdf-viewer'; +import { DocumentReadOnlyFields } from '~/components/document/document-read-only-fields'; import { TemplateType } from '~/components/formatter/template-type'; +import { DataTableActionDropdown } from '../data-table-action-dropdown'; import { TemplateDirectLinkBadge } from '../template-direct-link-badge'; -import { EditTemplateForm } from './edit-template'; +import { UseTemplateDialog } from '../use-template-dialog'; import { TemplateDirectLinkDialogWrapper } from './template-direct-link-dialog-wrapper'; +import { TemplatePageViewDocumentsTable } from './template-page-view-documents-table'; +import { TemplatePageViewInformation } from './template-page-view-information'; +import { TemplatePageViewRecentActivity } from './template-page-view-recent-activity'; +import { TemplatePageViewRecipients } from './template-page-view-recipients'; export type TemplatePageViewProps = { params: { @@ -30,6 +36,7 @@ export const TemplatePageView = async ({ params, team }: TemplatePageViewProps) const templateId = Number(id); const templateRootPath = formatTemplatesPath(team?.url); + const documentRootPath = formatDocumentsPath(team?.url); if (!templateId || Number.isNaN(templateId)) { redirect(templateRootPath); @@ -37,29 +44,51 @@ export const TemplatePageView = async ({ params, team }: TemplatePageViewProps) const { user } = await getRequiredServerComponentSession(); - const template = await getTemplateWithDetailsById({ + const template = await getTemplateById({ id: templateId, userId: user.id, + teamId: team?.id, }).catch(() => null); - if (!template || !template.templateDocumentData) { + if (!template || !template.templateDocumentData || (template?.teamId && !team?.url)) { redirect(templateRootPath); } - const isTemplateEnterprise = await isUserEnterprise({ - userId: user.id, - teamId: team?.id, + const { templateDocumentData, Field, Recipient: recipients, templateMeta } = template; + + // Remap to fit the DocumentReadOnlyFields component. + const readOnlyFields = Field.map((field) => { + const recipient = recipients.find((recipient) => recipient.id === field.recipientId) || { + name: '', + email: '', + signingStatus: SigningStatus.NOT_SIGNED, + }; + + return { + ...field, + Recipient: recipient, + Signature: null, + }; }); - return ( -
    -
    -
    - - - Templates - + const mockedDocumentMeta = templateMeta + ? { + typedSignatureEnabled: false, + ...templateMeta, + signingOrder: templateMeta.signingOrder || DocumentSigningOrder.SEQUENTIAL, + documentId: 0, + } + : undefined; + return ( +
    + + + Templates + + +
    +

    {template.title}

    @@ -77,17 +106,97 @@ export const TemplatePageView = async ({ params, team }: TemplatePageViewProps)
    -
    +
    + +
    - +
    + + + + + + + + +
    +
    +
    +
    +

    + Template +

    + +
    + +
    +
    + +

    + Manage and view template +

    + +
    + + Use + + } + /> +
    +
    + + {/* Template information section. */} + + + {/* Recipients section. */} + + + {/* Recent activity section. */} + +
    +
    +
    + +
    +

    + Documents created from template +

    + + +
    ); }; diff --git a/apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx b/apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx index 0e8b3b2b0..95ca60ae9 100644 --- a/apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx +++ b/apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx @@ -8,7 +8,7 @@ import { Trans } from '@lingui/macro'; import { Copy, Edit, MoreHorizontal, MoveRight, Share2Icon, Trash2 } from 'lucide-react'; import { useSession } from 'next-auth/react'; -import { type FindTemplateRow } from '@documenso/lib/server-only/template/find-templates'; +import type { Recipient, Template, TemplateDirectLink } from '@documenso/prisma/client'; import { DropdownMenu, DropdownMenuContent, @@ -23,7 +23,10 @@ import { MoveTemplateDialog } from './move-template-dialog'; import { TemplateDirectLinkDialog } from './template-direct-link-dialog'; export type DataTableActionDropdownProps = { - row: FindTemplateRow; + row: Template & { + directLink?: Pick | null; + Recipient: Recipient[]; + }; templateRootPath: string; teamId?: number; }; @@ -57,7 +60,7 @@ export const DataTableActionDropdown = ({ Action - + Edit diff --git a/apps/web/src/app/(dashboard)/templates/data-table-templates.tsx b/apps/web/src/app/(dashboard)/templates/data-table-templates.tsx index 0181a5ea7..277f9d36f 100644 --- a/apps/web/src/app/(dashboard)/templates/data-table-templates.tsx +++ b/apps/web/src/app/(dashboard)/templates/data-table-templates.tsx @@ -124,7 +124,7 @@ export const TemplatesDataTable = ({ accessorKey: 'type', cell: ({ row }) => (
    - + {row.original.directLink?.token && ( !form.formState.isSubmitting && setOpen(value)}> - + {trigger || ( + + )} diff --git a/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/edit/page.tsx b/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/edit/page.tsx new file mode 100644 index 000000000..2ae081ba4 --- /dev/null +++ b/apps/web/src/app/(teams)/t/[teamUrl]/templates/[id]/edit/page.tsx @@ -0,0 +1,24 @@ +import { setupI18nSSR } from '@documenso/lib/client-only/providers/i18n.server'; +import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session'; +import { getTeamByUrl } from '@documenso/lib/server-only/team/get-team'; + +import type { TemplateEditPageViewProps } from '~/app/(dashboard)/templates/[id]/edit/template-edit-page-view'; +import { TemplateEditPageView } from '~/app/(dashboard)/templates/[id]/edit/template-edit-page-view'; + +export type TeamsTemplateEditPageProps = { + params: TemplateEditPageViewProps['params'] & { + teamUrl: string; + }; +}; + +export default async function TeamsTemplateEditPage({ params }: TeamsTemplateEditPageProps) { + await setupI18nSSR(); + + const { teamUrl } = params; + + const { user } = await getRequiredServerComponentSession(); + + const team = await getTeamByUrl({ userId: user.id, teamUrl }); + + return ; +} diff --git a/apps/web/src/components/document/document-read-only-fields.tsx b/apps/web/src/components/document/document-read-only-fields.tsx index 9c534ca35..0b9550a8c 100644 --- a/apps/web/src/components/document/document-read-only-fields.tsx +++ b/apps/web/src/components/document/document-read-only-fields.tsx @@ -2,8 +2,9 @@ import { useState } from 'react'; +import { Trans } from '@lingui/macro'; import { useLingui } from '@lingui/react'; -import { EyeOffIcon } from 'lucide-react'; +import { Clock, EyeOffIcon } from 'lucide-react'; import { P, match } from 'ts-pattern'; import { @@ -18,8 +19,10 @@ import { extractInitials } from '@documenso/lib/utils/recipient-formatter'; import type { DocumentMeta } from '@documenso/prisma/client'; import { FieldType, SigningStatus } from '@documenso/prisma/client'; import { FieldRootContainer } from '@documenso/ui/components/field/field'; +import { SignatureIcon } from '@documenso/ui/icons/signature'; import { cn } from '@documenso/ui/lib/utils'; import { Avatar, AvatarFallback } from '@documenso/ui/primitives/avatar'; +import { Badge } from '@documenso/ui/primitives/badge'; import { FRIENDLY_FIELD_TYPE } from '@documenso/ui/primitives/document-flow/types'; import { ElementVisible } from '@documenso/ui/primitives/element-visible'; import { PopoverHover } from '@documenso/ui/primitives/popover'; @@ -27,9 +30,14 @@ import { PopoverHover } from '@documenso/ui/primitives/popover'; export type DocumentReadOnlyFieldsProps = { fields: DocumentField[]; documentMeta?: DocumentMeta; + showFieldStatus?: boolean; }; -export const DocumentReadOnlyFields = ({ documentMeta, fields }: DocumentReadOnlyFieldsProps) => { +export const DocumentReadOnlyFields = ({ + documentMeta, + fields, + showFieldStatus = true, +}: DocumentReadOnlyFieldsProps) => { const { _ } = useLingui(); const [hiddenFieldIds, setHiddenFieldIds] = useState>({}); @@ -58,15 +66,37 @@ export const DocumentReadOnlyFields = ({ documentMeta, fields }: DocumentReadOnl } contentProps={{ - className: 'relative flex w-fit flex-col p-2.5 text-sm', + className: 'relative flex w-fit flex-col p-4 text-sm', }} > -

    - {field.Recipient.signingStatus === SigningStatus.SIGNED ? 'Signed' : 'Pending'}{' '} - {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[field.type]).toLowerCase()} field + {showFieldStatus && ( + + {field.Recipient.signingStatus === SigningStatus.SIGNED ? ( + <> + + Signed + + ) : ( + <> + + Pending + + )} + + )} + +

    + {parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[field.type])} field

    -

    +

    {field.Recipient.name ? `${field.Recipient.name} (${field.Recipient.email})` : field.Recipient.email}{' '} diff --git a/apps/web/src/components/forms/search-param-selector.tsx b/apps/web/src/components/forms/search-param-selector.tsx new file mode 100644 index 000000000..cdd4ef2b2 --- /dev/null +++ b/apps/web/src/components/forms/search-param-selector.tsx @@ -0,0 +1,50 @@ +import React, { useMemo } from 'react'; + +import { usePathname, useRouter, useSearchParams } from 'next/navigation'; + +import { Select, SelectContent, SelectTrigger, SelectValue } from '@documenso/ui/primitives/select'; + +export type SearchParamSelector = { + paramKey: string; + isValueValid: (value: unknown) => boolean; + children: React.ReactNode; +}; + +export const SearchParamSelector = ({ children, paramKey, isValueValid }: SearchParamSelector) => { + const pathname = usePathname(); + const searchParams = useSearchParams(); + + const router = useRouter(); + + const value = useMemo(() => { + const p = searchParams?.get(paramKey) ?? 'all'; + + return isValueValid(p) ? p : 'all'; + }, [searchParams]); + + const onValueChange = (newValue: string) => { + if (!pathname) { + return; + } + + const params = new URLSearchParams(searchParams?.toString()); + + params.set(paramKey, newValue); + + if (newValue === '' || newValue === 'all') { + params.delete(paramKey); + } + + router.push(`${pathname}?${params.toString()}`, { scroll: false }); + }; + + return ( + + ); +}; diff --git a/packages/app-tests/e2e/templates-flow/template-settings-step.spec.ts b/packages/app-tests/e2e/templates-flow/template-settings-step.spec.ts index 4061b0046..e367ecef6 100644 --- a/packages/app-tests/e2e/templates-flow/template-settings-step.spec.ts +++ b/packages/app-tests/e2e/templates-flow/template-settings-step.spec.ts @@ -32,7 +32,7 @@ test.describe('[EE_ONLY]', () => { await apiSignin({ page, email: user.email, - redirectPath: `/templates/${template.id}`, + redirectPath: `/templates/${template.id}/edit`, }); // Set EE action auth. @@ -74,7 +74,7 @@ test.describe('[EE_ONLY]', () => { await apiSignin({ page, email: teamMemberUser.email, - redirectPath: `/t/${team.url}/templates/${template.id}`, + redirectPath: `/t/${team.url}/templates/${template.id}/edit`, }); // Set EE action auth. @@ -110,7 +110,7 @@ test.describe('[EE_ONLY]', () => { await apiSignin({ page, email: teamMemberUser.email, - redirectPath: `/templates/${template.id}`, + redirectPath: `/templates/${template.id}/edit`, }); // Global action auth should not be visible. @@ -132,7 +132,7 @@ test('[TEMPLATE_FLOW]: add settings', async ({ page }) => { await apiSignin({ page, email: user.email, - redirectPath: `/templates/${template.id}`, + redirectPath: `/templates/${template.id}/edit`, }); // Set title. diff --git a/packages/app-tests/e2e/templates-flow/template-signers-step.spec.ts b/packages/app-tests/e2e/templates-flow/template-signers-step.spec.ts index 16bb077e4..3ce52c55c 100644 --- a/packages/app-tests/e2e/templates-flow/template-signers-step.spec.ts +++ b/packages/app-tests/e2e/templates-flow/template-signers-step.spec.ts @@ -31,7 +31,7 @@ test.describe('[EE_ONLY]', () => { await apiSignin({ page, email: user.email, - redirectPath: `/templates/${template.id}`, + redirectPath: `/templates/${template.id}/edit`, }); // Save the settings by going to the next step. @@ -81,7 +81,7 @@ test('[TEMPLATE_FLOW]: add placeholder', async ({ page }) => { await apiSignin({ page, email: user.email, - redirectPath: `/templates/${template.id}`, + redirectPath: `/templates/${template.id}/edit`, }); // Save the settings by going to the next step. diff --git a/packages/app-tests/e2e/templates/create-document-from-template.spec.ts b/packages/app-tests/e2e/templates/create-document-from-template.spec.ts index 72baa0002..57100eaa6 100644 --- a/packages/app-tests/e2e/templates/create-document-from-template.spec.ts +++ b/packages/app-tests/e2e/templates/create-document-from-template.spec.ts @@ -37,7 +37,7 @@ test('[TEMPLATE]: should create a document from a template', async ({ page }) => await apiSignin({ page, email: user.email, - redirectPath: `/templates/${template.id}`, + redirectPath: `/templates/${template.id}/edit`, }); // Set template title. @@ -172,7 +172,7 @@ test('[TEMPLATE]: should create a team document from a team template', async ({ await apiSignin({ page, email: owner.email, - redirectPath: `/t/${team.url}/templates/${template.id}`, + redirectPath: `/t/${team.url}/templates/${template.id}/edit`, }); // Set template title. diff --git a/packages/lib/server-only/document/find-documents.ts b/packages/lib/server-only/document/find-documents.ts index 2495973f2..a14996bb9 100644 --- a/packages/lib/server-only/document/find-documents.ts +++ b/packages/lib/server-only/document/find-documents.ts @@ -3,7 +3,14 @@ import { P, match } from 'ts-pattern'; import { prisma } from '@documenso/prisma'; import { RecipientRole, SigningStatus, TeamMemberRole } from '@documenso/prisma/client'; -import type { Document, Prisma, Team, TeamEmail, User } from '@documenso/prisma/client'; +import type { + Document, + DocumentSource, + Prisma, + Team, + TeamEmail, + User, +} from '@documenso/prisma/client'; import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status'; import { DocumentVisibility } from '../../types/document-visibility'; @@ -16,6 +23,8 @@ export type FindDocumentsOptions = { userId: number; teamId?: number; term?: string; + templateId?: number; + source?: DocumentSource; status?: ExtendedDocumentStatus; page?: number; perPage?: number; @@ -32,6 +41,8 @@ export const findDocuments = async ({ userId, teamId, term, + templateId, + source, status = ExtendedDocumentStatus.ALL, page = 1, perPage = 10, @@ -40,44 +51,37 @@ export const findDocuments = async ({ senderIds, search, }: FindDocumentsOptions) => { - const { user, team } = await prisma.$transaction(async (tx) => { - const user = await tx.user.findFirstOrThrow({ + const user = await prisma.user.findFirstOrThrow({ + where: { + id: userId, + }, + }); + + let team = null; + + if (teamId !== undefined) { + team = await prisma.team.findFirstOrThrow({ where: { - id: userId, + id: teamId, + members: { + some: { + userId, + }, + }, + }, + include: { + teamEmail: true, + members: { + where: { + userId, + }, + select: { + role: true, + }, + }, }, }); - - let team = null; - - if (teamId !== undefined) { - team = await tx.team.findFirstOrThrow({ - where: { - id: teamId, - members: { - some: { - userId, - }, - }, - }, - include: { - teamEmail: true, - members: { - where: { - userId, - }, - select: { - role: true, - }, - }, - }, - }); - } - - return { - user, - team, - }; - }); + } const orderByColumn = orderBy?.column ?? 'createdAt'; const orderByDirection = orderBy?.direction ?? 'desc'; @@ -197,8 +201,27 @@ export const findDocuments = async ({ }; } + const whereAndClause: Prisma.DocumentWhereInput['AND'] = [ + { ...termFilters }, + { ...filters }, + { ...deletedFilter }, + { ...searchFilter }, + ]; + + if (templateId) { + whereAndClause.push({ + templateId, + }); + } + + if (source) { + whereAndClause.push({ + source, + }); + } + const whereClause: Prisma.DocumentWhereInput = { - AND: [{ ...termFilters }, { ...filters }, { ...deletedFilter }, { ...searchFilter }], + AND: whereAndClause, }; if (period) { diff --git a/packages/lib/server-only/template/get-template-by-id.ts b/packages/lib/server-only/template/get-template-by-id.ts index fbc8c48f8..fc365433e 100644 --- a/packages/lib/server-only/template/get-template-by-id.ts +++ b/packages/lib/server-only/template/get-template-by-id.ts @@ -42,6 +42,13 @@ export const getTemplateById = async ({ id, userId, teamId }: GetTemplateByIdOpt templateMeta: true, Recipient: true, Field: true, + User: { + select: { + id: true, + name: true, + email: true, + }, + }, }, }); diff --git a/packages/trpc/server/document-router/router.ts b/packages/trpc/server/document-router/router.ts index d49dd07ef..753cd87d0 100644 --- a/packages/trpc/server/document-router/router.ts +++ b/packages/trpc/server/document-router/router.ts @@ -11,6 +11,7 @@ import { createDocument } from '@documenso/lib/server-only/document/create-docum import { deleteDocument } from '@documenso/lib/server-only/document/delete-document'; import { duplicateDocumentById } from '@documenso/lib/server-only/document/duplicate-document-by-id'; import { findDocumentAuditLogs } from '@documenso/lib/server-only/document/find-document-audit-logs'; +import { findDocuments } from '@documenso/lib/server-only/document/find-documents'; import { getDocumentById } from '@documenso/lib/server-only/document/get-document-by-id'; import { getDocumentAndSenderByToken } from '@documenso/lib/server-only/document/get-document-by-token'; import { getDocumentWithDetailsById } from '@documenso/lib/server-only/document/get-document-with-details-by-id'; @@ -31,6 +32,7 @@ import { ZDownloadAuditLogsMutationSchema, ZDownloadCertificateMutationSchema, ZFindDocumentAuditLogsQuerySchema, + ZFindDocumentsQuerySchema, ZGetDocumentByIdQuerySchema, ZGetDocumentByTokenQuerySchema, ZGetDocumentWithDetailsByIdQuerySchema, @@ -190,6 +192,37 @@ export const documentRouter = router({ } }), + findDocuments: authenticatedProcedure + .input(ZFindDocumentsQuerySchema) + .query(async ({ input, ctx }) => { + const { user } = ctx; + + const { search, teamId, templateId, page, perPage, orderBy, source, status } = input; + + try { + const documents = await findDocuments({ + userId: user.id, + teamId, + templateId, + search, + source, + status, + page, + perPage, + orderBy, + }); + + return documents; + } catch (err) { + console.error(err); + + throw new TRPCError({ + code: 'BAD_REQUEST', + message: 'We are unable to search for documents. Please try again later.', + }); + } + }), + findDocumentAuditLogs: authenticatedProcedure .input(ZFindDocumentAuditLogsQuerySchema) .query(async ({ input, ctx }) => { diff --git a/packages/trpc/server/document-router/schema.ts b/packages/trpc/server/document-router/schema.ts index 64540b077..b906dae21 100644 --- a/packages/trpc/server/document-router/schema.ts +++ b/packages/trpc/server/document-router/schema.ts @@ -7,7 +7,30 @@ import { } from '@documenso/lib/types/document-auth'; import { ZBaseTableSearchParamsSchema } from '@documenso/lib/types/search-params'; import { isValidRedirectUrl } from '@documenso/lib/utils/is-valid-redirect-url'; -import { DocumentSigningOrder, FieldType, RecipientRole } from '@documenso/prisma/client'; +import { + DocumentSigningOrder, + DocumentSource, + DocumentStatus, + FieldType, + RecipientRole, +} from '@documenso/prisma/client'; + +export const ZFindDocumentsQuerySchema = ZBaseTableSearchParamsSchema.extend({ + teamId: z.number().min(1).optional(), + templateId: z.number().min(1).optional(), + search: z + .string() + .optional() + .catch(() => undefined), + source: z.nativeEnum(DocumentSource).optional(), + status: z.nativeEnum(DocumentStatus).optional(), + orderBy: z + .object({ + column: z.enum(['createdAt']), + direction: z.enum(['asc', 'desc']), + }) + .optional(), +}).omit({ query: true }); export const ZFindDocumentAuditLogsQuerySchema = ZBaseTableSearchParamsSchema.extend({ documentId: z.number().min(1), From 011dabcc0419cc577c6317bac9b37689cff53e33 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Tue, 5 Nov 2024 17:37:05 +0900 Subject: [PATCH 23/52] chore: extract translations --- packages/lib/translations/de/web.po | 177 +++++++++++++++++++++------- packages/lib/translations/en/web.po | 177 +++++++++++++++++++++------- packages/lib/translations/es/web.po | 177 +++++++++++++++++++++------- packages/lib/translations/fr/web.po | 177 +++++++++++++++++++++------- 4 files changed, 544 insertions(+), 164 deletions(-) diff --git a/packages/lib/translations/de/web.po b/packages/lib/translations/de/web.po index a6e6beacf..a2763d52f 100644 --- a/packages/lib/translations/de/web.po +++ b/packages/lib/translations/de/web.po @@ -161,7 +161,7 @@ msgstr "Eine Bestätigungs-E-Mail wurde gesendet, und sie sollte in Kürze in de msgid "A device capable of accessing, opening, and reading documents" msgstr "Ein Gerät, das in der Lage ist, Dokumente zuzugreifen, zu öffnen und zu lesen" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207 msgid "A draft document will be created" msgstr "Ein Entwurf wird erstellt" @@ -238,6 +238,7 @@ msgid "Action" msgstr "Aktion" #: apps/web/src/app/(dashboard)/documents/data-table.tsx:85 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:181 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142 @@ -261,11 +262,11 @@ msgid "Add" msgstr "Hinzufügen" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:88 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88 msgid "Add all relevant fields for each recipient." msgstr "Fügen Sie alle relevanten Felder für jeden Empfänger hinzu." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:83 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:83 msgid "Add all relevant placeholders for each recipient." msgstr "Fügen Sie alle relevanten Platzhalter für jeden Empfänger hinzu." @@ -282,7 +283,7 @@ msgid "Add email" msgstr "E-Mail hinzufügen" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87 msgid "Add Fields" msgstr "Felder hinzufügen" @@ -295,7 +296,7 @@ msgstr "Mehr hinzufügen" msgid "Add passkey" msgstr "Passkey hinzufügen" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82 msgid "Add Placeholders" msgstr "Platzhalter hinzufügen" @@ -315,7 +316,7 @@ msgstr "Team-E-Mail hinzufügen" msgid "Add the people who will sign the document." msgstr "Fügen Sie die Personen hinzu, die das Dokument unterschreiben werden." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:209 msgid "Add the recipients to create the document with" msgstr "Fügen Sie die Empfänger hinzu, um das Dokument zu erstellen" @@ -415,8 +416,8 @@ msgid "An error occurred" msgstr "Ein Fehler ist aufgetreten" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:201 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:235 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235 msgid "An error occurred while adding signers." msgstr "Ein Fehler ist aufgetreten, während Unterzeichner hinzugefügt wurden." @@ -424,7 +425,7 @@ 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/(dashboard)/templates/use-template-dialog.tsx:161 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:165 msgid "An error occurred while creating document from template." msgstr "Ein Fehler ist aufgetreten, während das Dokument aus der Vorlage erstellt wurde." @@ -508,7 +509,7 @@ msgid "An error occurred while trying to create a checkout session." msgstr "Ein Fehler ist aufgetreten, während versucht wurde, eine Checkout-Sitzung zu erstellen." #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170 msgid "An error occurred while updating the document settings." msgstr "Ein Fehler ist aufgetreten, während die Dokumenteinstellungen aktualisiert wurden." @@ -571,6 +572,14 @@ msgstr "Es ist ein unbekannter Fehler aufgetreten" msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information." msgstr "Alle Zahlungsmethoden, die mit diesem Team verbunden sind, bleiben diesem Team zugeordnet. Bitte kontaktiere uns, wenn du diese Informationen aktualisieren möchtest." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225 +msgid "Any Source" +msgstr "" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205 +msgid "Any Status" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:22 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:42 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56 @@ -805,6 +814,7 @@ msgstr "Klicken Sie hier, um zu beginnen" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:78 #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:118 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:68 #: apps/web/src/components/document/document-history-sheet.tsx:133 msgid "Click here to retry" msgstr "Klicken Sie hier, um es erneut zu versuchen" @@ -826,7 +836,7 @@ msgid "Click to insert field" msgstr "Klicken Sie, um das Feld einzufügen" #: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 @@ -856,6 +866,7 @@ msgstr "Unterzeichnung abschließen" 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/formatter/document-status.tsx:28 msgid "Completed" @@ -873,7 +884,7 @@ msgstr "Abgeschlossene Dokumente" msgid "Configure general settings for the document." msgstr "Konfigurieren Sie die allgemeinen Einstellungen für das Dokument." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:78 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:78 msgid "Configure general settings for the template." msgstr "Konfigurieren Sie die allgemeinen Einstellungen für die Vorlage." @@ -975,15 +986,15 @@ msgstr "Ein Team erstellen, um mit Ihren Teammitgliedern zusammenzuarbeiten." msgid "Create account" msgstr "Konto erstellen" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:351 msgid "Create and send" msgstr "Erstellen und senden" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:353 msgid "Create as draft" msgstr "Als Entwurf erstellen" -#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35 +#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37 msgid "Create Direct Link" msgstr "Direkten Link erstellen" @@ -991,7 +1002,7 @@ msgstr "Direkten Link erstellen" msgid "Create Direct Signing Link" msgstr "Direkten Signatur-Link erstellen" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 msgid "Create document from template" msgstr "Dokument aus der Vorlage erstellen" @@ -1039,6 +1050,8 @@ msgstr "Erstellen Sie Ihr Konto und beginnen Sie mit dem modernen Dokumentensign #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:35 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:54 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:34 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:274 msgid "Created" @@ -1108,7 +1121,7 @@ msgstr "löschen" #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211 #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 @@ -1196,10 +1209,16 @@ msgstr "Gerät" msgid "direct link" msgstr "Direkter Link" -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79 msgid "Direct link" msgstr "Direkter Link" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:160 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:231 +msgid "Direct Link" +msgstr "" + #: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46 msgid "direct link disabled" msgstr "Direkter Link deaktiviert" @@ -1268,6 +1287,7 @@ msgid "Documenso will delete <0>all of your documents, along with all of you msgstr "Documenso wird <0>alle Ihre Dokumente löschen, zusammen mit allen abgeschlossenen Dokumenten, Unterschriften und allen anderen Ressourcen, die zu Ihrem Konto gehören." #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:119 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:38 msgid "Document" msgstr "Dokument" @@ -1291,10 +1311,18 @@ msgstr "Dokument abgeschlossen" msgid "Document Completed!" msgstr "Dokument abgeschlossen!" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:154 msgid "Document created" msgstr "Dokument erstellt" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:129 +msgid "Document created by <0>{0}" +msgstr "" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:134 +msgid "Document created using a <0>direct link" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59 @@ -1402,6 +1430,10 @@ msgstr "Dokument wird dauerhaft gelöscht" msgid "Documents" msgstr "Dokumente" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195 +msgid "Documents created from template" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:113 msgid "Documents Received" msgstr "Dokumente empfangen" @@ -1433,6 +1465,7 @@ msgstr "Auditprotokolle herunterladen" msgid "Download Certificate" msgstr "Zertifikat herunterladen" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:214 #: apps/web/src/components/formatter/document-status.tsx:34 msgid "Draft" msgstr "Entwurf" @@ -1453,7 +1486,7 @@ msgstr "Aufgrund einer unbezahlten Rechnung wurde Ihrem Team der Zugriff eingesc #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:165 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:85 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:118 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:71 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:91 msgid "Duplicate" msgstr "Duplizieren" @@ -1464,12 +1497,16 @@ msgstr "Duplizieren" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:154 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:62 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100 msgid "Edit" msgstr "Bearbeiten" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115 +msgid "Edit Template" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:94 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:100 msgid "Edit webhook" @@ -1486,8 +1523,8 @@ msgstr "Offenlegung der elektronischen Unterschrift" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:254 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:261 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 @@ -1586,12 +1623,12 @@ msgstr "Geben Sie hier Ihren Text ein" #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:169 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:200 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:164 #: 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 @@ -1680,7 +1717,7 @@ msgid "Full Name" msgstr "Vollständiger Name" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77 #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60 #: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43 #: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51 @@ -1771,6 +1808,7 @@ msgid "Inbox documents" msgstr "Posteingang Dokumente" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50 msgid "Information" msgstr "Information" @@ -1885,6 +1923,7 @@ msgid "Last 7 days" msgstr "Die letzten 7 Tage" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:41 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:38 msgid "Last modified" msgstr "Zuletzt geändert" @@ -1971,11 +2010,15 @@ msgstr "Verwalten Sie das Profil von {0}" msgid "Manage all teams you are currently associated with." msgstr "Verwalten Sie alle Teams, mit denen Sie derzeit verbunden sind." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159 +msgid "Manage and view template" +msgstr "" + #: 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" -#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:33 +#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35 msgid "Manage Direct Link" msgstr "Direktlink verwalten" @@ -2051,6 +2094,7 @@ msgid "Members" msgstr "Mitglieder" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:40 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35 msgid "Modify recipients" msgstr "Empfänger ändern" @@ -2080,7 +2124,7 @@ msgid "Move Template to Team" msgstr "Vorlage in Team verschieben" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:172 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:82 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85 msgid "Move to Team" msgstr "In Team verschieben" @@ -2098,8 +2142,8 @@ msgstr "Meine Vorlagen" #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:276 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:283 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 @@ -2155,7 +2199,12 @@ msgstr "Keine Vorlagen für das öffentliche Profil gefunden" msgid "No recent activity" msgstr "Keine aktuellen Aktivitäten" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:103 +msgid "No recent documents" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:49 msgid "No recipients" msgstr "Keine Empfänger" @@ -2250,7 +2299,7 @@ msgstr "Oder" msgid "Or continue with" msgstr "Oder fahren Sie fort mit" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:330 msgid "Otherwise, the document will be created as a draft." msgstr "Andernfalls wird das Dokument als Entwurf erstellt." @@ -2330,8 +2379,10 @@ msgid "Payment overdue" msgstr "Zahlung überfällig" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:115 +#: 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 +#: apps/web/src/components/document/document-read-only-fields.tsx:89 #: apps/web/src/components/formatter/document-status.tsx:22 msgid "Pending" msgstr "Ausstehend" @@ -2531,7 +2582,12 @@ msgstr "Eine erneute Authentifizierung ist erforderlich, um dieses Feld zu unter msgid "Recent activity" msgstr "Aktuelle Aktivitäten" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:47 +msgid "Recent documents" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/data-table.tsx:69 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:120 #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280 msgid "Recipient" msgstr "Empfänger" @@ -2542,6 +2598,7 @@ 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:34 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30 msgid "Recipients" msgstr "Empfänger" @@ -2768,7 +2825,7 @@ msgstr "Passkey auswählen" msgid "Send confirmation email" msgstr "Bestätigungs-E-Mail senden" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:314 msgid "Send document" msgstr "Dokument senden" @@ -2930,6 +2987,7 @@ 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:98 +#: apps/web/src/components/document/document-read-only-fields.tsx:84 msgid "Signed" msgstr "Unterzeichnet" @@ -3030,6 +3088,10 @@ msgstr "Entschuldigung, wir konnten die Prüfprotokolle nicht herunterladen. Bit 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." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:138 +msgid "Source" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/nav.tsx:37 msgid "Stats" msgstr "Statistiken" @@ -3037,6 +3099,7 @@ msgstr "Statistiken" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81 #: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:79 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:130 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73 msgid "Status" msgstr "Status" @@ -3215,6 +3278,11 @@ msgstr "Teams" msgid "Teams restricted" msgstr "Teams beschränkt" +#: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:63 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:271 msgid "Template" @@ -3244,11 +3312,11 @@ msgstr "Vorlage wurde aktualisiert." msgid "Template moved" msgstr "Vorlage verschoben" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:223 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223 msgid "Template saved" msgstr "Vorlage gespeichert" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:60 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -3295,7 +3363,7 @@ msgstr "Das Dokument wurde erfolgreich in das ausgewählte Team verschoben." msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "Das Dokument ist jetzt abgeschlossen. Bitte folgen Sie allen Anweisungen, die in der übergeordneten Anwendung bereitgestellt werden." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:171 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." @@ -3303,7 +3371,7 @@ msgstr "Das Dokument wurde erstellt, konnte aber nicht an die Empfänger versend msgid "The document will be hidden from your account" msgstr "Das Dokument wird von Ihrem Konto verborgen werden" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:322 msgid "The document will be immediately sent to recipients if this is checked." msgstr "Das Dokument wird sofort an die Empfänger gesendet, wenn dies angehakt ist." @@ -3454,6 +3522,14 @@ msgstr "Dieses Dokument wurde von allen Empfängern unterschrieben" msgid "This document is currently a draft and has not been sent" msgstr "Dieses Dokument ist momentan ein Entwurf und wurde nicht gesendet" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:152 +msgid "This document was created by you or a team member using the template above." +msgstr "" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:164 +msgid "This document was created using a direct link." +msgstr "" + #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93 msgid "This email is already being used by another team." msgstr "Diese E-Mail-Adresse wird bereits von einem anderen Team verwendet." @@ -3521,6 +3597,7 @@ msgstr "Zeitzone" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:60 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:115 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61 msgid "Title" msgstr "Titel" @@ -3724,6 +3801,10 @@ msgstr "Zurzeit kann diesem Team nicht beigetreten werden." msgid "Unable to load document history" msgstr "Kann den Dokumentverlauf nicht laden" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:62 +msgid "Unable to load documents" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111 msgid "Unable to load your public profile templates at this time" msgstr "Derzeit können Ihre öffentlichen Profilvorlagen nicht geladen werden" @@ -3848,6 +3929,7 @@ msgid "Upload Avatar" msgstr "Avatar hochladen" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30 msgid "Uploaded by" msgstr "Hochgeladen von" @@ -3863,6 +3945,10 @@ msgstr "Die hochgeladene Datei ist zu klein" msgid "Uploaded file not an allowed file type" msgstr "Die hochgeladene Datei ist kein zulässiger Dateityp" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170 +msgid "Use" +msgstr "" + #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187 #: apps/web/src/components/forms/signin.tsx:505 msgid "Use Authenticator" @@ -3873,7 +3959,7 @@ msgstr "Authenticator verwenden" msgid "Use Backup Code" msgstr "Backup-Code verwenden" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:196 msgid "Use Template" msgstr "Vorlage verwenden" @@ -3946,6 +4032,10 @@ msgstr "Alle Dokumente anzeigen, die an Ihr Konto gesendet wurden" msgid "View all recent security activity related to your account." msgstr "Sehen Sie sich alle aktuellen Sicherheitsaktivitäten in Ihrem Konto an." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:157 +msgid "View all related documents" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:26 msgid "View all security activity related to your account." msgstr "Sehen Sie sich alle Sicherheitsaktivitäten in Ihrem Konto an." @@ -3966,6 +4056,10 @@ msgstr "Dokumente ansehen, die mit dieser E-Mail verknüpft sind" msgid "View invites" msgstr "Einladungen ansehen" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:95 +msgid "View more" +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx:34 msgid "View Original Document" msgstr "Originaldokument ansehen" @@ -4280,6 +4374,7 @@ msgid "Yearly" msgstr "Jährlich" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:32 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:31 msgid "You" msgstr "Sie" @@ -4513,7 +4608,7 @@ msgstr "Ihre direkten Unterzeichnungsvorlagen" msgid "Your document failed to upload." msgstr "Ihr Dokument konnte nicht hochgeladen werden." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:155 msgid "Your document has been created from the template successfully." msgstr "Ihr Dokument wurde erfolgreich aus der Vorlage erstellt." @@ -4612,7 +4707,7 @@ msgstr "Ihre Vorlage wurde erfolgreich gelöscht." msgid "Your template will be duplicated." msgstr "Ihre Vorlage wird dupliziert." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:224 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224 msgid "Your templates has been saved successfully." msgstr "Ihre Vorlagen wurden erfolgreich gespeichert." diff --git a/packages/lib/translations/en/web.po b/packages/lib/translations/en/web.po index b91dad148..6b0c48e5c 100644 --- a/packages/lib/translations/en/web.po +++ b/packages/lib/translations/en/web.po @@ -156,7 +156,7 @@ msgstr "A confirmation email has been sent, and it should arrive in your inbox s msgid "A device capable of accessing, opening, and reading documents" msgstr "A device capable of accessing, opening, and reading documents" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207 msgid "A draft document will be created" msgstr "A draft document will be created" @@ -233,6 +233,7 @@ msgid "Action" msgstr "Action" #: apps/web/src/app/(dashboard)/documents/data-table.tsx:85 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:181 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142 @@ -256,11 +257,11 @@ msgid "Add" msgstr "Add" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:88 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88 msgid "Add all relevant fields for each recipient." msgstr "Add all relevant fields for each recipient." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:83 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:83 msgid "Add all relevant placeholders for each recipient." msgstr "Add all relevant placeholders for each recipient." @@ -277,7 +278,7 @@ msgid "Add email" msgstr "Add email" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87 msgid "Add Fields" msgstr "Add Fields" @@ -290,7 +291,7 @@ msgstr "Add more" msgid "Add passkey" msgstr "Add passkey" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82 msgid "Add Placeholders" msgstr "Add Placeholders" @@ -310,7 +311,7 @@ msgstr "Add team email" msgid "Add the people who will sign the document." msgstr "Add the people who will sign the document." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:209 msgid "Add the recipients to create the document with" msgstr "Add the recipients to create the document with" @@ -410,8 +411,8 @@ msgid "An error occurred" msgstr "An error occurred" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:201 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:235 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235 msgid "An error occurred while adding signers." msgstr "An error occurred while adding signers." @@ -419,7 +420,7 @@ 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/(dashboard)/templates/use-template-dialog.tsx:161 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:165 msgid "An error occurred while creating document from template." msgstr "An error occurred while creating document from template." @@ -503,7 +504,7 @@ msgid "An error occurred while trying to create a checkout session." msgstr "An error occurred while trying to create a checkout session." #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170 msgid "An error occurred while updating the document settings." msgstr "An error occurred while updating the document settings." @@ -566,6 +567,14 @@ msgstr "An unknown error occurred" msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information." msgstr "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225 +msgid "Any Source" +msgstr "Any Source" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205 +msgid "Any Status" +msgstr "Any Status" + #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:22 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:42 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56 @@ -800,6 +809,7 @@ msgstr "Click here to get started" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:78 #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:118 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:68 #: apps/web/src/components/document/document-history-sheet.tsx:133 msgid "Click here to retry" msgstr "Click here to retry" @@ -821,7 +831,7 @@ msgid "Click to insert field" msgstr "Click to insert field" #: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 @@ -851,6 +861,7 @@ msgstr "Complete Signing" 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/formatter/document-status.tsx:28 msgid "Completed" @@ -868,7 +879,7 @@ msgstr "Completed Documents" msgid "Configure general settings for the document." msgstr "Configure general settings for the document." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:78 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:78 msgid "Configure general settings for the template." msgstr "Configure general settings for the template." @@ -970,15 +981,15 @@ msgstr "Create a team to collaborate with your team members." msgid "Create account" msgstr "Create account" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:351 msgid "Create and send" msgstr "Create and send" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:353 msgid "Create as draft" msgstr "Create as draft" -#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35 +#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37 msgid "Create Direct Link" msgstr "Create Direct Link" @@ -986,7 +997,7 @@ msgstr "Create Direct Link" msgid "Create Direct Signing Link" msgstr "Create Direct Signing Link" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 msgid "Create document from template" msgstr "Create document from template" @@ -1034,6 +1045,8 @@ msgstr "Create your account and start using state-of-the-art document signing. O #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:35 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:54 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:34 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:274 msgid "Created" @@ -1103,7 +1116,7 @@ msgstr "delete" #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211 #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 @@ -1191,10 +1204,16 @@ msgstr "Device" msgid "direct link" msgstr "direct link" -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79 msgid "Direct link" msgstr "Direct link" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:160 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:231 +msgid "Direct Link" +msgstr "Direct Link" + #: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46 msgid "direct link disabled" msgstr "direct link disabled" @@ -1263,6 +1282,7 @@ msgid "Documenso will delete <0>all of your documents, along with all of you msgstr "Documenso will delete <0>all of your documents, along with all of your completed documents, signatures, and all other resources belonging to your Account." #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:119 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:38 msgid "Document" msgstr "Document" @@ -1286,10 +1306,18 @@ msgstr "Document completed" msgid "Document Completed!" msgstr "Document Completed!" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:154 msgid "Document created" msgstr "Document created" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:129 +msgid "Document created by <0>{0}" +msgstr "Document created by <0>{0}" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:134 +msgid "Document created using a <0>direct link" +msgstr "Document created using a <0>direct link" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59 @@ -1397,6 +1425,10 @@ msgstr "Document will be permanently deleted" msgid "Documents" msgstr "Documents" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195 +msgid "Documents created from template" +msgstr "Documents created from template" + #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:113 msgid "Documents Received" msgstr "Documents Received" @@ -1428,6 +1460,7 @@ msgstr "Download Audit Logs" msgid "Download Certificate" msgstr "Download Certificate" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:214 #: apps/web/src/components/formatter/document-status.tsx:34 msgid "Draft" msgstr "Draft" @@ -1448,7 +1481,7 @@ msgstr "Due to an unpaid invoice, your team has been restricted. Please settle t #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:165 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:85 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:118 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:71 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:91 msgid "Duplicate" msgstr "Duplicate" @@ -1459,12 +1492,16 @@ msgstr "Duplicate" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:154 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:62 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100 msgid "Edit" msgstr "Edit" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115 +msgid "Edit Template" +msgstr "Edit Template" + #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:94 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:100 msgid "Edit webhook" @@ -1481,8 +1518,8 @@ msgstr "Electronic Signature Disclosure" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:254 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:261 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 @@ -1581,12 +1618,12 @@ msgstr "Enter your text here" #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:169 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:200 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:164 #: 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 @@ -1675,7 +1712,7 @@ msgid "Full Name" msgstr "Full Name" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77 #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60 #: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43 #: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51 @@ -1766,6 +1803,7 @@ msgid "Inbox documents" msgstr "Inbox documents" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50 msgid "Information" msgstr "Information" @@ -1880,6 +1918,7 @@ msgid "Last 7 days" msgstr "Last 7 days" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:41 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:38 msgid "Last modified" msgstr "Last modified" @@ -1966,11 +2005,15 @@ msgstr "Manage {0}'s profile" msgid "Manage all teams you are currently associated with." msgstr "Manage all teams you are currently associated with." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159 +msgid "Manage and view template" +msgstr "Manage and view template" + #: 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" -#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:33 +#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35 msgid "Manage Direct Link" msgstr "Manage Direct Link" @@ -2046,6 +2089,7 @@ msgid "Members" msgstr "Members" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:40 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35 msgid "Modify recipients" msgstr "Modify recipients" @@ -2075,7 +2119,7 @@ msgid "Move Template to Team" msgstr "Move Template to Team" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:172 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:82 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85 msgid "Move to Team" msgstr "Move to Team" @@ -2093,8 +2137,8 @@ msgstr "My templates" #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:276 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:283 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 @@ -2150,7 +2194,12 @@ msgstr "No public profile templates found" msgid "No recent activity" msgstr "No recent activity" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:103 +msgid "No recent documents" +msgstr "No recent documents" + #: 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:49 msgid "No recipients" msgstr "No recipients" @@ -2245,7 +2294,7 @@ msgstr "Or" msgid "Or continue with" msgstr "Or continue with" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:330 msgid "Otherwise, the document will be created as a draft." msgstr "Otherwise, the document will be created as a draft." @@ -2325,8 +2374,10 @@ msgid "Payment overdue" msgstr "Payment overdue" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:115 +#: 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 +#: apps/web/src/components/document/document-read-only-fields.tsx:89 #: apps/web/src/components/formatter/document-status.tsx:22 msgid "Pending" msgstr "Pending" @@ -2526,7 +2577,12 @@ msgstr "Reauthentication is required to sign this field" msgid "Recent activity" msgstr "Recent activity" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:47 +msgid "Recent documents" +msgstr "Recent documents" + #: apps/web/src/app/(dashboard)/documents/data-table.tsx:69 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:120 #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280 msgid "Recipient" msgstr "Recipient" @@ -2537,6 +2593,7 @@ 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:34 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30 msgid "Recipients" msgstr "Recipients" @@ -2763,7 +2820,7 @@ msgstr "Select passkey" msgid "Send confirmation email" msgstr "Send confirmation email" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:314 msgid "Send document" msgstr "Send document" @@ -2925,6 +2982,7 @@ 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:98 +#: apps/web/src/components/document/document-read-only-fields.tsx:84 msgid "Signed" msgstr "Signed" @@ -3025,6 +3083,10 @@ msgstr "Sorry, we were unable to download the audit logs. Please try again later 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." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:138 +msgid "Source" +msgstr "Source" + #: apps/web/src/app/(dashboard)/admin/nav.tsx:37 msgid "Stats" msgstr "Stats" @@ -3032,6 +3094,7 @@ msgstr "Stats" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81 #: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:79 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:130 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73 msgid "Status" msgstr "Status" @@ -3210,6 +3273,11 @@ msgstr "Teams" msgid "Teams restricted" msgstr "Teams restricted" +#: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:63 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:271 msgid "Template" @@ -3239,11 +3307,11 @@ msgstr "Template has been updated." msgid "Template moved" msgstr "Template moved" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:223 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223 msgid "Template saved" msgstr "Template saved" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:60 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -3290,7 +3358,7 @@ msgstr "The document has been successfully moved to the selected team." msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "The document is now completed, please follow any instructions provided within the parent application." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:171 msgid "The document was created but could not be sent to recipients." msgstr "The document was created but could not be sent to recipients." @@ -3298,7 +3366,7 @@ msgstr "The document was created but could not be sent to recipients." msgid "The document will be hidden from your account" msgstr "The document will be hidden from your account" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:322 msgid "The document will be immediately sent to recipients if this is checked." msgstr "The document will be immediately sent to recipients if this is checked." @@ -3449,6 +3517,14 @@ msgstr "This document has been signed by all recipients" msgid "This document is currently a draft and has not been sent" msgstr "This document is currently a draft and has not been sent" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:152 +msgid "This document was created by you or a team member using the template above." +msgstr "This document was created by you or a team member using the template above." + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:164 +msgid "This document was created using a direct link." +msgstr "This document was created using a direct link." + #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93 msgid "This email is already being used by another team." msgstr "This email is already being used by another team." @@ -3516,6 +3592,7 @@ msgstr "Time zone" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:60 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:115 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61 msgid "Title" msgstr "Title" @@ -3719,6 +3796,10 @@ msgstr "Unable to join this team at this time." msgid "Unable to load document history" msgstr "Unable to load document history" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:62 +msgid "Unable to load documents" +msgstr "Unable to load documents" + #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111 msgid "Unable to load your public profile templates at this time" msgstr "Unable to load your public profile templates at this time" @@ -3843,6 +3924,7 @@ msgid "Upload Avatar" msgstr "Upload Avatar" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30 msgid "Uploaded by" msgstr "Uploaded by" @@ -3858,6 +3940,10 @@ msgstr "Uploaded file is too small" msgid "Uploaded file not an allowed file type" msgstr "Uploaded file not an allowed file type" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170 +msgid "Use" +msgstr "Use" + #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187 #: apps/web/src/components/forms/signin.tsx:505 msgid "Use Authenticator" @@ -3868,7 +3954,7 @@ msgstr "Use Authenticator" msgid "Use Backup Code" msgstr "Use Backup Code" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:196 msgid "Use Template" msgstr "Use Template" @@ -3941,6 +4027,10 @@ msgstr "View all documents sent to your account" msgid "View all recent security activity related to your account." msgstr "View all recent security activity related to your account." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:157 +msgid "View all related documents" +msgstr "View all related documents" + #: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:26 msgid "View all security activity related to your account." msgstr "View all security activity related to your account." @@ -3961,6 +4051,10 @@ msgstr "View documents associated with this email" msgid "View invites" msgstr "View invites" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:95 +msgid "View more" +msgstr "View more" + #: apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx:34 msgid "View Original Document" msgstr "View Original Document" @@ -4275,6 +4369,7 @@ msgid "Yearly" msgstr "Yearly" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:32 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:31 msgid "You" msgstr "You" @@ -4508,7 +4603,7 @@ msgstr "Your direct signing templates" msgid "Your document failed to upload." msgstr "Your document failed to upload." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:155 msgid "Your document has been created from the template successfully." msgstr "Your document has been created from the template successfully." @@ -4607,7 +4702,7 @@ msgstr "Your template has been successfully deleted." msgid "Your template will be duplicated." msgstr "Your template will be duplicated." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:224 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224 msgid "Your templates has been saved successfully." msgstr "Your templates has been saved successfully." diff --git a/packages/lib/translations/es/web.po b/packages/lib/translations/es/web.po index 665cb55ff..8e630bc89 100644 --- a/packages/lib/translations/es/web.po +++ b/packages/lib/translations/es/web.po @@ -161,7 +161,7 @@ msgstr "Se ha enviado un correo electrónico de confirmación y debería llegar msgid "A device capable of accessing, opening, and reading documents" msgstr "Un dispositivo capaz de acceder, abrir y leer documentos" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207 msgid "A draft document will be created" msgstr "Se creará un documento borrador" @@ -238,6 +238,7 @@ msgid "Action" msgstr "Acción" #: apps/web/src/app/(dashboard)/documents/data-table.tsx:85 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:181 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142 @@ -261,11 +262,11 @@ msgid "Add" msgstr "Agregar" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:88 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88 msgid "Add all relevant fields for each recipient." msgstr "Agrega todos los campos relevantes para cada destinatario." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:83 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:83 msgid "Add all relevant placeholders for each recipient." msgstr "Agrega todos los marcadores de posición relevantes para cada destinatario." @@ -282,7 +283,7 @@ msgid "Add email" msgstr "Agregar correo electrónico" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87 msgid "Add Fields" msgstr "Agregar Campos" @@ -295,7 +296,7 @@ msgstr "Agregar más" msgid "Add passkey" msgstr "Agregar clave" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82 msgid "Add Placeholders" msgstr "Agregar Marcadores de posición" @@ -315,7 +316,7 @@ msgstr "Agregar correo electrónico del equipo" msgid "Add the people who will sign the document." msgstr "Agrega a las personas que firmarán el documento." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:209 msgid "Add the recipients to create the document with" msgstr "Agrega los destinatarios con los que crear el documento" @@ -415,8 +416,8 @@ msgid "An error occurred" msgstr "Ocurrió un error" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:201 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:235 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235 msgid "An error occurred while adding signers." msgstr "Ocurrió un error al agregar firmantes." @@ -424,7 +425,7 @@ 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/(dashboard)/templates/use-template-dialog.tsx:161 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:165 msgid "An error occurred while creating document from template." msgstr "Ocurrió un error al crear el documento a partir de la plantilla." @@ -508,7 +509,7 @@ msgid "An error occurred while trying to create a checkout session." msgstr "Ocurrió un error al intentar crear una sesión de pago." #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170 msgid "An error occurred while updating the document settings." msgstr "Ocurrió un error al actualizar la configuración del documento." @@ -571,6 +572,14 @@ msgstr "Ocurrió un error desconocido" msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information." msgstr "Cualquier método de pago adjunto a este equipo permanecerá adjunto a este equipo. Por favor, contáctanos si necesitas actualizar esta información." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225 +msgid "Any Source" +msgstr "" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205 +msgid "Any Status" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:22 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:42 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56 @@ -805,6 +814,7 @@ msgstr "Haga clic aquí para comenzar" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:78 #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:118 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:68 #: apps/web/src/components/document/document-history-sheet.tsx:133 msgid "Click here to retry" msgstr "Haga clic aquí para reintentar" @@ -826,7 +836,7 @@ msgid "Click to insert field" msgstr "Haga clic para insertar campo" #: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 @@ -856,6 +866,7 @@ msgstr "Completar Firmado" 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/formatter/document-status.tsx:28 msgid "Completed" @@ -873,7 +884,7 @@ msgstr "Documentos Completados" msgid "Configure general settings for the document." msgstr "Configurar ajustes generales para el documento." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:78 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:78 msgid "Configure general settings for the template." msgstr "Configurar ajustes generales para la plantilla." @@ -975,15 +986,15 @@ msgstr "Crea un equipo para colaborar con los miembros de tu equipo." msgid "Create account" msgstr "Crear cuenta" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:351 msgid "Create and send" msgstr "Crear y enviar" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:353 msgid "Create as draft" msgstr "Crear como borrador" -#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35 +#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37 msgid "Create Direct Link" msgstr "Crear enlace directo" @@ -991,7 +1002,7 @@ msgstr "Crear enlace directo" msgid "Create Direct Signing Link" msgstr "Crear enlace de firma directo" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 msgid "Create document from template" msgstr "Crear documento a partir de la plantilla" @@ -1039,6 +1050,8 @@ msgstr "Crea tu cuenta y comienza a utilizar la firma de documentos de última g #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:35 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:54 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:34 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:274 msgid "Created" @@ -1108,7 +1121,7 @@ msgstr "eliminar" #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211 #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 @@ -1196,10 +1209,16 @@ msgstr "Dispositivo" msgid "direct link" msgstr "enlace directo" -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79 msgid "Direct link" msgstr "Enlace directo" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:160 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:231 +msgid "Direct Link" +msgstr "" + #: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46 msgid "direct link disabled" msgstr "enlace directo deshabilitado" @@ -1268,6 +1287,7 @@ msgid "Documenso will delete <0>all of your documents, along with all of you msgstr "Documenso eliminará <0>todos sus documentos, junto con todos sus documentos completados, firmas y todos los demás recursos de su cuenta." #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:119 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:38 msgid "Document" msgstr "Documento" @@ -1291,10 +1311,18 @@ msgstr "Documento completado" msgid "Document Completed!" msgstr "¡Documento completado!" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:154 msgid "Document created" msgstr "Documento creado" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:129 +msgid "Document created by <0>{0}" +msgstr "" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:134 +msgid "Document created using a <0>direct link" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59 @@ -1402,6 +1430,10 @@ msgstr "El documento será eliminado permanentemente" msgid "Documents" msgstr "Documentos" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195 +msgid "Documents created from template" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:113 msgid "Documents Received" msgstr "Documentos recibidos" @@ -1433,6 +1465,7 @@ msgstr "Descargar registros de auditoría" msgid "Download Certificate" msgstr "Descargar certificado" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:214 #: apps/web/src/components/formatter/document-status.tsx:34 msgid "Draft" msgstr "Borrador" @@ -1453,7 +1486,7 @@ msgstr "Debido a una factura impaga, tu equipo ha sido restringido. Realiza el p #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:165 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:85 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:118 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:71 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:91 msgid "Duplicate" msgstr "Duplicar" @@ -1464,12 +1497,16 @@ msgstr "Duplicar" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:154 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:62 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100 msgid "Edit" msgstr "Editar" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115 +msgid "Edit Template" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:94 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:100 msgid "Edit webhook" @@ -1486,8 +1523,8 @@ msgstr "Divulgación de Firma Electrónica" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:254 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:261 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 @@ -1586,12 +1623,12 @@ msgstr "Ingresa tu texto aquí" #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:169 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:200 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:164 #: 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 @@ -1680,7 +1717,7 @@ msgid "Full Name" msgstr "Nombre completo" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77 #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60 #: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43 #: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51 @@ -1771,6 +1808,7 @@ msgid "Inbox documents" msgstr "Documentos en bandeja de entrada" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50 msgid "Information" msgstr "Información" @@ -1885,6 +1923,7 @@ msgid "Last 7 days" msgstr "Últimos 7 días" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:41 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:38 msgid "Last modified" msgstr "Última modificación" @@ -1971,11 +2010,15 @@ msgstr "Gestionar el perfil de {0}" msgid "Manage all teams you are currently associated with." msgstr "Gestionar todos los equipos con los que estás asociado actualmente." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159 +msgid "Manage and view template" +msgstr "" + #: 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" -#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:33 +#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35 msgid "Manage Direct Link" msgstr "Gestionar enlace directo" @@ -2051,6 +2094,7 @@ msgid "Members" msgstr "Miembros" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:40 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35 msgid "Modify recipients" msgstr "Modificar destinatarios" @@ -2080,7 +2124,7 @@ msgid "Move Template to Team" msgstr "Mover plantilla al equipo" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:172 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:82 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85 msgid "Move to Team" msgstr "Mover al equipo" @@ -2098,8 +2142,8 @@ msgstr "Mis plantillas" #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:276 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:283 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 @@ -2155,7 +2199,12 @@ msgstr "No se encontraron plantillas de perfil público" msgid "No recent activity" msgstr "No hay actividad reciente" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:103 +msgid "No recent documents" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:49 msgid "No recipients" msgstr "No hay destinatarios" @@ -2250,7 +2299,7 @@ msgstr "O" msgid "Or continue with" msgstr "O continúa con" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:330 msgid "Otherwise, the document will be created as a draft." msgstr "De lo contrario, el documento se creará como un borrador." @@ -2330,8 +2379,10 @@ msgid "Payment overdue" msgstr "Pago atrasado" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:115 +#: 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 +#: apps/web/src/components/document/document-read-only-fields.tsx:89 #: apps/web/src/components/formatter/document-status.tsx:22 msgid "Pending" msgstr "Pendiente" @@ -2531,7 +2582,12 @@ msgstr "Se requiere reautenticación para firmar este campo" msgid "Recent activity" msgstr "Actividad reciente" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:47 +msgid "Recent documents" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/data-table.tsx:69 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:120 #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280 msgid "Recipient" msgstr "Destinatario" @@ -2542,6 +2598,7 @@ 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:34 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30 msgid "Recipients" msgstr "Destinatarios" @@ -2768,7 +2825,7 @@ msgstr "Seleccionar clave de acceso" msgid "Send confirmation email" msgstr "Enviar correo de confirmación" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:314 msgid "Send document" msgstr "Enviar documento" @@ -2930,6 +2987,7 @@ 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:98 +#: apps/web/src/components/document/document-read-only-fields.tsx:84 msgid "Signed" msgstr "Firmado" @@ -3030,6 +3088,10 @@ msgstr "Lo sentimos, no pudimos descargar los registros de auditoría. Por favor 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." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:138 +msgid "Source" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/nav.tsx:37 msgid "Stats" msgstr "Estadísticas" @@ -3037,6 +3099,7 @@ msgstr "Estadísticas" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81 #: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:79 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:130 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73 msgid "Status" msgstr "Estado" @@ -3215,6 +3278,11 @@ msgstr "Equipos" msgid "Teams restricted" msgstr "Equipos restringidos" +#: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:63 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:271 msgid "Template" @@ -3244,11 +3312,11 @@ msgstr "La plantilla ha sido actualizada." msgid "Template moved" msgstr "Plantilla movida" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:223 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223 msgid "Template saved" msgstr "Plantilla guardada" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:60 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -3295,7 +3363,7 @@ msgstr "El documento ha sido movido con éxito al equipo seleccionado." msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "El documento ahora está completado, por favor sigue cualquier instrucción proporcionada dentro de la aplicación principal." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:171 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." @@ -3303,7 +3371,7 @@ msgstr "El documento fue creado pero no se pudo enviar a los destinatarios." msgid "The document will be hidden from your account" msgstr "El documento será ocultado de tu cuenta" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:322 msgid "The document will be immediately sent to recipients if this is checked." msgstr "El documento se enviará inmediatamente a los destinatarios si esto está marcado." @@ -3454,6 +3522,14 @@ msgstr "Este documento ha sido firmado por todos los destinatarios" msgid "This document is currently a draft and has not been sent" msgstr "Este documento es actualmente un borrador y no ha sido enviado" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:152 +msgid "This document was created by you or a team member using the template above." +msgstr "" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:164 +msgid "This document was created using a direct link." +msgstr "" + #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93 msgid "This email is already being used by another team." msgstr "Este correo electrónico ya está siendo utilizado por otro equipo." @@ -3521,6 +3597,7 @@ msgstr "Zona horaria" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:60 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:115 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61 msgid "Title" msgstr "Título" @@ -3724,6 +3801,10 @@ msgstr "No se pudo unirte a este equipo en este momento." msgid "Unable to load document history" msgstr "No se pudo cargar el historial del documento" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:62 +msgid "Unable to load documents" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111 msgid "Unable to load your public profile templates at this time" msgstr "No se pudo cargar tus plantillas de perfil público en este momento" @@ -3848,6 +3929,7 @@ msgid "Upload Avatar" msgstr "Subir avatar" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30 msgid "Uploaded by" msgstr "Subido por" @@ -3863,6 +3945,10 @@ msgstr "El archivo subido es demasiado pequeño" msgid "Uploaded file not an allowed file type" msgstr "El archivo subido no es un tipo de archivo permitido" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170 +msgid "Use" +msgstr "" + #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187 #: apps/web/src/components/forms/signin.tsx:505 msgid "Use Authenticator" @@ -3873,7 +3959,7 @@ msgstr "Usar Autenticador" msgid "Use Backup Code" msgstr "Usar Código de Respaldo" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:196 msgid "Use Template" msgstr "Usar Plantilla" @@ -3946,6 +4032,10 @@ msgstr "Ver todos los documentos enviados a tu cuenta" msgid "View all recent security activity related to your account." msgstr "Ver toda la actividad de seguridad reciente relacionada con tu cuenta." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:157 +msgid "View all related documents" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:26 msgid "View all security activity related to your account." msgstr "Ver toda la actividad de seguridad relacionada con tu cuenta." @@ -3966,6 +4056,10 @@ msgstr "Ver documentos asociados con este correo electrónico" msgid "View invites" msgstr "Ver invitaciones" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:95 +msgid "View more" +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx:34 msgid "View Original Document" msgstr "Ver Documento Original" @@ -4280,6 +4374,7 @@ msgid "Yearly" msgstr "Anual" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:32 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:31 msgid "You" msgstr "Tú" @@ -4513,7 +4608,7 @@ msgstr "Tus {0} plantillas de firma directa" msgid "Your document failed to upload." msgstr "Tu documento no se pudo cargar." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:155 msgid "Your document has been created from the template successfully." msgstr "Tu documento se ha creado exitosamente a partir de la plantilla." @@ -4612,7 +4707,7 @@ msgstr "Tu plantilla ha sido eliminada con éxito." msgid "Your template will be duplicated." msgstr "Tu plantilla será duplicada." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:224 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224 msgid "Your templates has been saved successfully." msgstr "Tus plantillas han sido guardadas con éxito." diff --git a/packages/lib/translations/fr/web.po b/packages/lib/translations/fr/web.po index d693cf6a9..44b8c692b 100644 --- a/packages/lib/translations/fr/web.po +++ b/packages/lib/translations/fr/web.po @@ -161,7 +161,7 @@ msgstr "Un e-mail de confirmation a été envoyé et devrait arriver dans votre msgid "A device capable of accessing, opening, and reading documents" msgstr "Un appareil capable d'accéder, d'ouvrir et de lire des documents" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:201 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:207 msgid "A draft document will be created" msgstr "Un document brouillon sera créé" @@ -238,6 +238,7 @@ msgid "Action" msgstr "Action" #: apps/web/src/app/(dashboard)/documents/data-table.tsx:85 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:181 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:140 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:133 #: apps/web/src/components/(teams)/tables/team-member-invites-data-table.tsx:142 @@ -261,11 +262,11 @@ msgid "Add" msgstr "Ajouter" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:176 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:88 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:88 msgid "Add all relevant fields for each recipient." msgstr "Ajouter tous les champs pertinents pour chaque destinataire." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:83 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:83 msgid "Add all relevant placeholders for each recipient." msgstr "Ajouter tous les espaces réservés pertinents pour chaque destinataire." @@ -282,7 +283,7 @@ msgid "Add email" msgstr "Ajouter un e-mail" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:175 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:87 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:87 msgid "Add Fields" msgstr "Ajouter des champs" @@ -295,7 +296,7 @@ msgstr "Ajouter davantage" msgid "Add passkey" msgstr "Ajouter une clé de passe" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:82 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:82 msgid "Add Placeholders" msgstr "Ajouter des espaces réservés" @@ -315,7 +316,7 @@ msgstr "Ajouter un e-mail d'équipe" msgid "Add the people who will sign the document." msgstr "Ajouter les personnes qui signeront le document." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:209 msgid "Add the recipients to create the document with" msgstr "Ajouter les destinataires pour créer le document avec" @@ -415,8 +416,8 @@ msgid "An error occurred" msgstr "Une erreur est survenue" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:268 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:201 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:235 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:201 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:235 msgid "An error occurred while adding signers." msgstr "Une erreur est survenue lors de l'ajout de signataires." @@ -424,7 +425,7 @@ 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/(dashboard)/templates/use-template-dialog.tsx:161 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:165 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." @@ -508,7 +509,7 @@ msgid "An error occurred while trying to create a checkout session." msgstr "Une erreur est survenue lors de la création d'une session de paiement." #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:234 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:170 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:170 msgid "An error occurred while updating the document settings." msgstr "Une erreur est survenue lors de la mise à jour des paramètres du document." @@ -571,6 +572,14 @@ msgstr "Une erreur inconnue est survenue" msgid "Any payment methods attached to this team will remain attached to this team. Please contact us if you need to update this information." msgstr "Tous les moyens de paiement associés à cette équipe resteront associés à cette équipe. Veuillez nous contacter si vous avez besoin de mettre à jour ces informations." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:225 +msgid "Any Source" +msgstr "" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:205 +msgid "Any Status" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:22 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:42 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:56 @@ -805,6 +814,7 @@ msgstr "Cliquez ici pour commencer" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx:78 #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:118 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:68 #: apps/web/src/components/document/document-history-sheet.tsx:133 msgid "Click here to retry" msgstr "Cliquez ici pour réessayer" @@ -826,7 +836,7 @@ msgid "Click to insert field" msgstr "Cliquez pour insérer le champ" #: apps/web/src/app/(dashboard)/templates/new-template-dialog.tsx:126 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:339 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-2fa.tsx:125 #: apps/web/src/app/(signing)/sign/[token]/document-action-auth-passkey.tsx:138 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-transfer-status.tsx:121 @@ -856,6 +866,7 @@ msgstr "Compléter la signature" 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/formatter/document-status.tsx:28 msgid "Completed" @@ -873,7 +884,7 @@ msgstr "Documents Complétés" msgid "Configure general settings for the document." msgstr "Configurer les paramètres généraux pour le document." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:78 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:78 msgid "Configure general settings for the template." msgstr "Configurer les paramètres généraux pour le modèle." @@ -975,15 +986,15 @@ msgstr "Créer une équipe pour collaborer avec vos membres." msgid "Create account" msgstr "Créer un compte" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:345 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:351 msgid "Create and send" msgstr "Créer et envoyer" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:347 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:353 msgid "Create as draft" msgstr "Créer en tant que brouillon" -#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35 +#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:37 msgid "Create Direct Link" msgstr "Créer un lien direct" @@ -991,7 +1002,7 @@ msgstr "Créer un lien direct" msgid "Create Direct Signing Link" msgstr "Créer un lien de signature directe" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:197 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:203 msgid "Create document from template" msgstr "Créer un document à partir du modèle" @@ -1039,6 +1050,8 @@ msgstr "Créez votre compte et commencez à utiliser la signature de documents #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:35 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:54 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:65 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:109 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:34 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:56 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:274 msgid "Created" @@ -1108,7 +1121,7 @@ msgstr "supprimer" #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:211 #: apps/web/src/app/(dashboard)/settings/tokens/page.tsx:83 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:100 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:91 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:94 #: apps/web/src/app/(dashboard)/templates/delete-template-dialog.tsx:90 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/tokens/page.tsx:116 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:105 @@ -1196,10 +1209,16 @@ msgstr "Appareil" msgid "direct link" msgstr "lien direct" -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:76 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:40 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:79 msgid "Direct link" msgstr "Lien direct" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:160 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:231 +msgid "Direct Link" +msgstr "" + #: apps/web/src/app/(dashboard)/templates/template-direct-link-badge.tsx:46 msgid "direct link disabled" msgstr "lien direct désactivé" @@ -1268,6 +1287,7 @@ msgid "Documenso will delete <0>all of your documents, along with all of you msgstr "Documenso supprimera <0>tous vos documents, ainsi que tous vos documents complétés, signatures, et toutes les autres ressources appartenant à votre compte." #: apps/web/src/app/(dashboard)/documents/[id]/logs/document-logs-page-view.tsx:119 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:38 msgid "Document" msgstr "Document" @@ -1291,10 +1311,18 @@ msgstr "Document complété" msgid "Document Completed!" msgstr "Document Complété !" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:150 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:154 msgid "Document created" msgstr "Document créé" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:129 +msgid "Document created by <0>{0}" +msgstr "" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:134 +msgid "Document created using a <0>direct link" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/documents/[id]/super-delete-document-dialog.tsx:51 #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view.tsx:173 #: apps/web/src/app/(dashboard)/documents/delete-document-dialog.tsx:59 @@ -1402,6 +1430,10 @@ msgstr "Le document sera supprimé de manière permanente" msgid "Documents" msgstr "Documents" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:195 +msgid "Documents created from template" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/stats/page.tsx:113 msgid "Documents Received" msgstr "Documents reçus" @@ -1433,6 +1465,7 @@ msgstr "Télécharger les journaux d'audit" msgid "Download Certificate" msgstr "Télécharger le certificat" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:214 #: apps/web/src/components/formatter/document-status.tsx:34 msgid "Draft" msgstr "Brouillon" @@ -1453,7 +1486,7 @@ msgstr "En raison d'une facture impayée, votre équipe a été restreinte. Veui #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:165 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:85 #: apps/web/src/app/(dashboard)/documents/duplicate-document-dialog.tsx:118 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:71 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:74 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:91 msgid "Duplicate" msgstr "Dupliquer" @@ -1464,12 +1497,16 @@ msgstr "Dupliquer" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:154 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:111 #: apps/web/src/app/(dashboard)/settings/webhooks/page.tsx:95 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:62 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:65 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/team-email-dropdown.tsx:77 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/page.tsx:100 msgid "Edit" msgstr "Modifier" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:115 +msgid "Edit Template" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/webhooks/[id]/page.tsx:94 #: apps/web/src/app/(teams)/t/[teamUrl]/settings/webhooks/[id]/page.tsx:100 msgid "Edit webhook" @@ -1486,8 +1523,8 @@ msgstr "Divulgation de signature électronique" #: apps/web/src/app/(dashboard)/admin/documents/[id]/recipient-item.tsx:166 #: apps/web/src/app/(dashboard)/admin/users/[id]/page.tsx:114 #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:71 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:248 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:255 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:254 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:261 #: apps/web/src/app/(recipient)/d/[token]/configure-direct-template.tsx:118 #: apps/web/src/app/(signing)/sign/[token]/email-field.tsx:126 #: apps/web/src/app/embed/direct/[[...url]]/client.tsx:377 @@ -1586,12 +1623,12 @@ msgstr "Entrez votre texte ici" #: apps/web/src/app/(dashboard)/documents/move-document-dialog.tsx:57 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:106 #: apps/web/src/app/(dashboard)/documents/upload-document.tsx:112 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:169 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:200 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:234 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:169 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:200 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:234 #: apps/web/src/app/(dashboard)/templates/duplicate-template-dialog.tsx:51 #: apps/web/src/app/(dashboard)/templates/move-template-dialog.tsx:56 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:160 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:164 #: 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 @@ -1680,7 +1717,7 @@ msgid "Full Name" msgstr "Nom complet" #: apps/web/src/app/(dashboard)/documents/[id]/edit-document.tsx:165 -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:77 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:77 #: apps/web/src/app/(recipient)/d/[token]/direct-template.tsx:60 #: apps/web/src/components/(teams)/settings/layout/desktop-nav.tsx:43 #: apps/web/src/components/(teams)/settings/layout/mobile-nav.tsx:51 @@ -1771,6 +1808,7 @@ msgid "Inbox documents" msgstr "Documents de la boîte de réception" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:53 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:50 msgid "Information" msgstr "Information" @@ -1885,6 +1923,7 @@ msgid "Last 7 days" msgstr "Derniers 7 jours" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:41 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:38 msgid "Last modified" msgstr "Dernière modification" @@ -1971,11 +2010,15 @@ msgstr "Gérer le profil de {0}" msgid "Manage all teams you are currently associated with." msgstr "Gérer toutes les équipes avec lesquelles vous êtes actuellement associé." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:159 +msgid "Manage and view template" +msgstr "" + #: 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" -#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:33 +#: apps/web/src/app/(dashboard)/templates/[id]/template-direct-link-dialog-wrapper.tsx:35 msgid "Manage Direct Link" msgstr "Gérer le lien direct" @@ -2051,6 +2094,7 @@ msgid "Members" msgstr "Membres" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:40 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:35 msgid "Modify recipients" msgstr "Modifier les destinataires" @@ -2080,7 +2124,7 @@ msgid "Move Template to Team" msgstr "Déplacer le modèle vers l'équipe" #: apps/web/src/app/(dashboard)/documents/data-table-action-dropdown.tsx:172 -#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:82 +#: apps/web/src/app/(dashboard)/templates/data-table-action-dropdown.tsx:85 msgid "Move to Team" msgstr "Déplacer vers l'équipe" @@ -2098,8 +2142,8 @@ msgstr "Mes modèles" #: apps/web/src/app/(dashboard)/admin/users/data-table-users.tsx:66 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table-actions.tsx:144 #: apps/web/src/app/(dashboard)/settings/security/passkeys/user-passkeys-data-table.tsx:61 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:270 -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:277 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:276 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:283 #: apps/web/src/app/(signing)/sign/[token]/complete/claim-account.tsx:119 #: apps/web/src/app/(signing)/sign/[token]/name-field.tsx:170 #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:153 @@ -2155,7 +2199,12 @@ msgstr "Aucun modèle de profil public trouvé" msgid "No recent activity" msgstr "Aucune activité récente" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:103 +msgid "No recent documents" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:55 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:49 msgid "No recipients" msgstr "Pas de destinataires" @@ -2250,7 +2299,7 @@ msgstr "Ou" msgid "Or continue with" msgstr "Ou continuez avec" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:324 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:330 msgid "Otherwise, the document will be created as a draft." msgstr "Sinon, le document sera créé sous forme de brouillon." @@ -2330,8 +2379,10 @@ msgid "Payment overdue" msgstr "Paiement en retard" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recipients.tsx:115 +#: 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 +#: apps/web/src/components/document/document-read-only-fields.tsx:89 #: apps/web/src/components/formatter/document-status.tsx:22 msgid "Pending" msgstr "En attente" @@ -2531,7 +2582,12 @@ msgstr "Une nouvelle authentification est requise pour signer ce champ" msgid "Recent activity" msgstr "Activité récente" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:47 +msgid "Recent documents" +msgstr "" + #: apps/web/src/app/(dashboard)/documents/data-table.tsx:69 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:120 #: apps/web/src/app/(dashboard)/templates/template-direct-link-dialog.tsx:280 msgid "Recipient" msgstr "Destinataire" @@ -2542,6 +2598,7 @@ 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:34 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recipients.tsx:30 msgid "Recipients" msgstr "Destinataires" @@ -2768,7 +2825,7 @@ msgstr "Sélectionner la clé d'authentification" msgid "Send confirmation email" msgstr "Envoyer l'e-mail de confirmation" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:308 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:314 msgid "Send document" msgstr "Envoyer le document" @@ -2930,6 +2987,7 @@ 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:98 +#: apps/web/src/components/document/document-read-only-fields.tsx:84 msgid "Signed" msgstr "Signé" @@ -3030,6 +3088,10 @@ msgstr "Désolé, nous n'avons pas pu télécharger les journaux d'audit. Veuill 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." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:138 +msgid "Source" +msgstr "" + #: apps/web/src/app/(dashboard)/admin/nav.tsx:37 msgid "Stats" msgstr "Statistiques" @@ -3037,6 +3099,7 @@ msgstr "Statistiques" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:81 #: apps/web/src/app/(dashboard)/admin/subscriptions/page.tsx:32 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:79 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:130 #: apps/web/src/components/(teams)/tables/team-billing-invoices-data-table.tsx:73 msgid "Status" msgstr "Statut" @@ -3215,6 +3278,11 @@ msgstr "Équipes" msgid "Teams restricted" msgstr "Équipes restreintes" +#: apps/web/src/app/(dashboard)/templates/[id]/edit/template-edit-page-view.tsx:63 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:39 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:148 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:228 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:146 #: apps/web/src/components/(teams)/dialogs/invite-team-member-dialog.tsx:408 #: apps/web/src/components/templates/manage-public-template-dialog.tsx:271 msgid "Template" @@ -3244,11 +3312,11 @@ msgstr "Le modèle a été mis à jour." msgid "Template moved" msgstr "Modèle déplacé" -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:223 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:223 msgid "Template saved" msgstr "Modèle enregistré" -#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:60 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:87 #: apps/web/src/app/(dashboard)/templates/templates-page-view.tsx:55 #: apps/web/src/components/(dashboard)/common/command-menu.tsx:208 #: apps/web/src/components/(dashboard)/layout/desktop-nav.tsx:22 @@ -3295,7 +3363,7 @@ msgstr "Le document a été déplacé avec succès vers l'équipe sélectionnée msgid "The document is now completed, please follow any instructions provided within the parent application." msgstr "Le document est maintenant complet, veuillez suivre toutes les instructions fournies dans l'application parente." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:167 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:171 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." @@ -3303,7 +3371,7 @@ msgstr "Le document a été créé mais n'a pas pu être envoyé aux destinatair msgid "The document will be hidden from your account" msgstr "Le document sera caché de votre compte" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:316 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:322 msgid "The document will be immediately sent to recipients if this is checked." msgstr "Le document sera immédiatement envoyé aux destinataires si cela est coché." @@ -3454,6 +3522,14 @@ msgstr "Ce document a été signé par tous les destinataires" msgid "This document is currently a draft and has not been sent" msgstr "Ce document est actuellement un brouillon et n'a pas été envoyé" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:152 +msgid "This document was created by you or a team member using the template above." +msgstr "" + +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:164 +msgid "This document was created using a direct link." +msgstr "" + #: apps/web/src/components/(teams)/dialogs/add-team-email-dialog.tsx:93 msgid "This email is already being used by another team." msgstr "Cet e-mail est déjà utilisé par une autre équipe." @@ -3521,6 +3597,7 @@ msgstr "Fuseau horaire" #: apps/web/src/app/(dashboard)/admin/documents/document-results.tsx:67 #: apps/web/src/app/(dashboard)/documents/data-table.tsx:60 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-documents-table.tsx:115 #: apps/web/src/app/(dashboard)/templates/data-table-templates.tsx:61 msgid "Title" msgstr "Titre" @@ -3724,6 +3801,10 @@ msgstr "Impossible de rejoindre cette équipe pour le moment." msgid "Unable to load document history" msgstr "Impossible de charger l'historique des documents" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:62 +msgid "Unable to load documents" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/public-profile/public-templates-data-table.tsx:111 msgid "Unable to load your public profile templates at this time" msgstr "Impossible de charger vos modèles de profil public pour le moment" @@ -3848,6 +3929,7 @@ msgid "Upload Avatar" msgstr "Télécharger un avatar" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:31 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:30 msgid "Uploaded by" msgstr "Téléversé par" @@ -3863,6 +3945,10 @@ msgstr "Le fichier téléchargé est trop petit" msgid "Uploaded file not an allowed file type" msgstr "Le fichier téléchargé n'est pas un type de fichier autorisé" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view.tsx:170 +msgid "Use" +msgstr "" + #: apps/web/src/components/forms/2fa/disable-authenticator-app-dialog.tsx:187 #: apps/web/src/components/forms/signin.tsx:505 msgid "Use Authenticator" @@ -3873,7 +3959,7 @@ msgstr "Utiliser l'authentificateur" msgid "Use Backup Code" msgstr "Utiliser le code de secours" -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:191 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:196 msgid "Use Template" msgstr "Utiliser le modèle" @@ -3946,6 +4032,10 @@ msgstr "Voir tous les documents envoyés à votre compte" msgid "View all recent security activity related to your account." msgstr "Voir toute l'activité de sécurité récente liée à votre compte." +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:157 +msgid "View all related documents" +msgstr "" + #: apps/web/src/app/(dashboard)/settings/security/activity/page.tsx:26 msgid "View all security activity related to your account." msgstr "Voir toute l'activité de sécurité liée à votre compte." @@ -3966,6 +4056,10 @@ msgstr "Voir les documents associés à cet e-mail" msgid "View invites" msgstr "Voir les invitations" +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-recent-activity.tsx:95 +msgid "View more" +msgstr "" + #: apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx:34 msgid "View Original Document" msgstr "Voir le document original" @@ -4280,6 +4374,7 @@ msgid "Yearly" msgstr "Annuel" #: apps/web/src/app/(dashboard)/documents/[id]/document-page-view-information.tsx:32 +#: apps/web/src/app/(dashboard)/templates/[id]/template-page-view-information.tsx:31 msgid "You" msgstr "Vous" @@ -4513,7 +4608,7 @@ msgstr "Vos modèles de signature directe" msgid "Your document failed to upload." msgstr "Votre document a échoué à se télécharger." -#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:151 +#: apps/web/src/app/(dashboard)/templates/use-template-dialog.tsx:155 msgid "Your document has been created from the template successfully." msgstr "Votre document a été créé à partir du modèle avec succès." @@ -4612,7 +4707,7 @@ msgstr "Votre modèle a été supprimé avec succès." msgid "Your template will be duplicated." msgstr "Votre modèle sera dupliqué." -#: apps/web/src/app/(dashboard)/templates/[id]/edit-template.tsx:224 +#: apps/web/src/app/(dashboard)/templates/[id]/edit/edit-template.tsx:224 msgid "Your templates has been saved successfully." msgstr "Vos modèles ont été enregistrés avec succès." From cc249357b3210059e3e1be66cb98b9d05acb2813 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Tue, 5 Nov 2024 18:25:23 +0900 Subject: [PATCH 24/52] feat: add certificate translations (#1440) Add translations for audit logs and certificates. --- .../document-page-view-recent-activity.tsx | 10 +- .../[id]/logs/document-logs-data-table.tsx | 8 +- .../%5F%5Fhtmltopdf/audit-log/data-table.tsx | 21 ++- .../%5F%5Fhtmltopdf/audit-log/page.tsx | 49 ++++-- .../%5F%5Fhtmltopdf/certificate/page.tsx | 84 +++++++---- .../document/document-history-sheet.tsx | 6 +- packages/lib/constants/document.ts | 18 +++ packages/lib/constants/recipient-roles.ts | 10 -- packages/lib/utils/document-audit-logs.ts | 140 ++++++++---------- 9 files changed, 188 insertions(+), 158 deletions(-) create mode 100644 packages/lib/constants/document.ts diff --git a/apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx b/apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx index f1f6838aa..b44175d51 100644 --- a/apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx +++ b/apps/web/src/app/(dashboard)/documents/[id]/document-page-view-recent-activity.tsx @@ -143,17 +143,11 @@ export const DocumentPageViewRecentActivity = ({ ))}

    - {/* Todo: Translations. */}

    - - {formatDocumentAuditLogAction(auditLog, userId).prefix} - {' '} - {formatDocumentAuditLogAction(auditLog, userId).description} + {formatDocumentAuditLogAction(_, auditLog, userId).description}