From 3128df9776978eb76d919513ce3ed775c701f6a4 Mon Sep 17 00:00:00 2001 From: Chris Mathevet Date: Thu, 13 Aug 2026 11:06:47 -0400 Subject: [PATCH 1/6] Add translations for download filenames --- .../public/locales/de/translation.json | 6 ++++ .../public/locales/en/translation.json | 6 ++++ .../public/locales/es/translation.json | 6 ++++ .../public/locales/fr/translation.json | 6 ++++ .../public/locales/hi/translation.json | 6 ++++ .../public/locales/it/translation.json | 6 ++++ .../public/locales/kr/translation.json | 6 ++++ .../preferences/FilenameFormatSelector.jsx | 28 +++++++++---------- apps/OpenSign/src/utils/fileUtils.js | 2 +- 9 files changed, 57 insertions(+), 15 deletions(-) diff --git a/apps/OpenSign/public/locales/de/translation.json b/apps/OpenSign/public/locales/de/translation.json index 27bca68a62..9ece783515 100644 --- a/apps/OpenSign/public/locales/de/translation.json +++ b/apps/OpenSign/public/locales/de/translation.json @@ -1268,6 +1268,12 @@ "email-settings-redirect-message": "Diese Einstellung wurde von der Konsole zu den Haupteinstellungen → Präferenzen verschoben. Diese Seite wird in zukünftigen Versionen entfernt.", "go-to-preferences-menu": "Zum Menü 'Einstellungen' gehen", "document-download-filename-format": "Dateiname-Format für Dokument-Download", + "document-download-filename-format-options":{ + "docname": "Dokumentname.pdf", + "docname-signed": "Dokumentname - Unterzeichnet.pdf", + "docname-email": "Dokumentname - name@domain.com.pdf", + "docname-email-date": "Dokumentname - name@domain.com - Datum.pdf" + }, "preview": "Vorschau: ", "download-filename-format-help": "Wählen Sie, wie heruntergeladene PDFs benannt werden. Ihre Auswahl wird in Ihrem Profil gespeichert und in der gesamten App verwendet.", "delete-action-prohibited": "Diese Aktion ist nicht erlaubt. Bitte wenden Sie sich an Ihren Administrator, um die Löschung des Kontos zu beantragen.", diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index 49b308af1b..425db495ad 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -1268,6 +1268,12 @@ "email-settings-redirect-message": "This setting has been moved from the console to Main Menu Settings → Preferences. This page will be removed in upcoming versions.", "go-to-preferences-menu": "Go to Preferences menu", "document-download-filename-format": "Document download filename format", + "document-download-filename-format-options":{ + "docname": "Document Name.pdf", + "docname-signed": "Document Name - Signed.pdf", + "docname-email": "Document Name - name@domain.com.pdf", + "docname-email-date": "Document Name - name@domain.com - Date.pdf" + }, "preview": "Preview: ", "download-filename-format-help": "Choose how downloaded PDFs are named. Your selection is saved to your profile and used across the app.", "delete-action-prohibited": "This action is not permitted. Kindly contact your administrator to request account deletion.", diff --git a/apps/OpenSign/public/locales/es/translation.json b/apps/OpenSign/public/locales/es/translation.json index 33582688a2..98d4e238d3 100644 --- a/apps/OpenSign/public/locales/es/translation.json +++ b/apps/OpenSign/public/locales/es/translation.json @@ -1268,6 +1268,12 @@ "email-settings-redirect-message": "Esta configuración se ha movido de la consola a Configuración del menú principal → Preferencias. Esta página se eliminará en próximas versiones.", "go-to-preferences-menu": "Ir al menú de preferencias", "document-download-filename-format": "Formato de nombre de archivo para la descarga del documento", + "document-download-filename-format-options":{ + "docname": "Nombre del documento.pdf", + "docname-signed": "Nombre del documento - Firmado.pdf", + "docname-email": "Nombre del documento - name@domain.com.pdf", + "docname-email-date": "Nombre del documento - name@domain.com - Fecha.pdf" + }, "preview": "Vista previa: ", "download-filename-format-help": "Elija cómo se nombran los archivos PDF descargados. Su selección se guarda en su perfil y se usa en toda la aplicación.", "delete-action-prohibited": "Esta acción no está permitida. Por favor, póngase en contacto con su administrador para solicitar la eliminación de la cuenta.", diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index bd8e27fd88..b82fcdf7bb 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -1266,6 +1266,12 @@ "email-settings-redirect-message": "Ce paramètre a été déplacé de la console vers Paramètres du menu principal → Préférences. Cette page sera supprimée dans les prochaines versions.", "go-to-preferences-menu": "Aller au menu Préférences", "document-download-filename-format": "Format du nom de fichier pour le téléchargement du document", + "document-download-filename-format-options":{ + "docname": "Nom du document.pdf", + "docname-signed": "Nom du document - Signé.pdf", + "docname-email": "Nom du document - name@domain.com.pdf", + "docname-email-date": "Nom du document - name@domain.com - Date.pdf" + }, "preview": "Aperçu : ", "download-filename-format-help": "Choisissez comment les fichiers PDF téléchargés sont nommés. Votre sélection est enregistrée dans votre profil et utilisée dans toute l'application.", "delete-action-prohibited": "Cette action n'est pas autorisée. Veuillez contacter votre administrateur pour demander la suppression du compte.", diff --git a/apps/OpenSign/public/locales/hi/translation.json b/apps/OpenSign/public/locales/hi/translation.json index 5935a81fd0..c9e778d4ae 100644 --- a/apps/OpenSign/public/locales/hi/translation.json +++ b/apps/OpenSign/public/locales/hi/translation.json @@ -1268,6 +1268,12 @@ "email-settings-redirect-message": "यह सेटिंग कंसोल से मुख्य मेनू सेटिंग्स → प्रेफ़रेंस में स्थानांतरित कर दी गई है। यह पेज आने वाले संस्करणों में हटा दिया जाएगा।", "go-to-preferences-menu": "प्रेफ़रेंस मेनू पर जाएं", "document-download-filename-format": "दस्तावेज़ डाउनलोड फ़ाइलनाम प्रारूप", + "document-download-filename-format-options":{ + "docname": "दस्तावेज़ नाम.pdf", + "docname-signed": "दस्तावेज़ नाम - हस्ताक्षरित.pdf", + "docname-email": "दस्तावेज़ नाम - name@domain.com.pdf", + "docname-email-date": "दस्तावेज़ नाम - name@domain.com - दिनांक.pdf" + }, "preview": "पूर्वावलोकन: ", "download-filename-format-help": "डाउनलोड की गई PDF फ़ाइलों का नाम कैसे रखा जाए, चुनें। आपका चयन आपके प्रोफ़ाइल में सहेजा जाएगा और पूरे ऐप में उपयोग किया जाएगा।", "delete-action-prohibited": "यह कार्रवाई अनुमत नहीं है। कृपया अपना खाता हटाने के लिए अपने व्यवस्थापक से संपर्क करें।", diff --git a/apps/OpenSign/public/locales/it/translation.json b/apps/OpenSign/public/locales/it/translation.json index 9bda7b6106..e81b4e45e5 100644 --- a/apps/OpenSign/public/locales/it/translation.json +++ b/apps/OpenSign/public/locales/it/translation.json @@ -1268,6 +1268,12 @@ "email-settings-redirect-message": "Questa impostazione è stata spostata dalla console a Impostazioni del menu principale → Preferenze. Questa pagina verrà rimossa nelle prossime versioni.", "go-to-preferences-menu": "Vai al menu Preferenze", "document-download-filename-format": "Formato del nome file per il download del documento", + "document-download-filename-format-options":{ + "docname": "Nome del documento.pdf", + "docname-signed": "Nome del documento - Firmato.pdf", + "docname-email": "Nome del documento - name@domain.com.pdf", + "docname-email-date": "Nome del documento - name@domain.com - Data.pdf" + }, "preview": "Anteprima: ", "download-filename-format-help": "Scegli come vengono nominati i PDF scaricati. La tua selezione viene salvata nel tuo profilo e utilizzata in tutta l'app.", "delete-action-prohibited": "Questa azione non è consentita. Si prega di contattare l'amministratore per richiedere l'eliminazione dell'account.", diff --git a/apps/OpenSign/public/locales/kr/translation.json b/apps/OpenSign/public/locales/kr/translation.json index 377fe9d884..82939880ea 100644 --- a/apps/OpenSign/public/locales/kr/translation.json +++ b/apps/OpenSign/public/locales/kr/translation.json @@ -1268,6 +1268,12 @@ "email-settings-redirect-message": "이 설정은 콘솔에서 주 메뉴 설정 → 환경설정으로 이동되었습니다. 이 페이지는 향후 버전에서 제거될 예정입니다.", "go-to-preferences-menu": "환경설정 메뉴로 이동", "document-download-filename-format": "문서 다운로드 파일 이름 형식", + "document-download-filename-format-options":{ + "docname": "문서 이름.pdf", + "docname-signed": "문서 이름 - 서명 완료.pdf", + "docname-email": "문서 이름 - name@domain.com.pdf", + "docname-email-date": "문서 이름 - name@domain.com - 날짜.pdf" + }, "preview": "미리보기: ", "download-filename-format-help": "다운로드한 PDF의 이름을 지정하는 방법을 선택합니다. 선택 사항은 프로필에 저장되어 앱 전체에서 사용됩니다.", "delete-action-prohibited": "이 작업은 허용되지 않습니다. 계정 삭제를 요청하려면 관리자에게 문의하십시오.", diff --git a/apps/OpenSign/src/components/preferences/FilenameFormatSelector.jsx b/apps/OpenSign/src/components/preferences/FilenameFormatSelector.jsx index 2ee8cbf677..38c681c4f5 100644 --- a/apps/OpenSign/src/components/preferences/FilenameFormatSelector.jsx +++ b/apps/OpenSign/src/components/preferences/FilenameFormatSelector.jsx @@ -4,22 +4,22 @@ import { buildDownloadFilename } from "../../utils"; import { useTranslation } from "react-i18next"; import { Tooltip as ReactTooltip } from "react-tooltip"; -/** - * Enum-like list of supported filename format IDs and their labels - * Keep IDs stable; you can freely change labels for UX. - */ -const FILENAME_FORMATS = [ - { id: "DOCNAME", label: "document Name.pdf" }, - { id: "DOCNAME_SIGNED", label: "document Name - Signed.pdf" }, - { id: "DOCNAME_EMAIL", label: "document Name - name@domain.com.pdf" }, - { - id: "DOCNAME_EMAIL_DATE", - label: "document Name - name@domain.com - date.pdf" - } -]; - const FilenameFormatSelector = ({ fileNameFormat, setFileNameFormat }) => { const { t } = useTranslation(); + /** + * Enum-like list of supported filename format IDs and their labels + * Keep IDs stable; you can freely change labels for UX. + */ + const FILENAME_FORMATS = [ + { id: "DOCNAME", label: t("document-download-filename-format-options.docname") }, + { id: "DOCNAME_SIGNED", label: t("document-download-filename-format-options.docname-signed") }, + { id: "DOCNAME_EMAIL", label: t("document-download-filename-format-options.docname-email") }, + { + id: "DOCNAME_EMAIL_DATE", + label: t("document-download-filename-format-options.docname-email-date") + } + ]; + const sampleDocName = "Agreement"; const [value, setValue] = useState(fileNameFormat); const [error, setError] = useState(""); diff --git a/apps/OpenSign/src/utils/fileUtils.js b/apps/OpenSign/src/utils/fileUtils.js index 86924d4627..f96011c307 100644 --- a/apps/OpenSign/src/utils/fileUtils.js +++ b/apps/OpenSign/src/utils/fileUtils.js @@ -108,7 +108,7 @@ export function buildDownloadFilename(formatId, ctx) { stem = base; break; case "DOCNAME_SIGNED": - stem = isSigned ? `${base} - Signed` : base; // if not signed, fallback to base + stem = isSigned ? `${base} - ${i18n.t("signed")}` : base; // if not signed, fallback to base break; case "DOCNAME_EMAIL": stem = `${base} - ${safeEmail}`; From 78b9b222511b1ba9cae5468c7cc3cbf1dcc19240 Mon Sep 17 00:00:00 2001 From: Chris Mathevet Date: Tue, 11 Aug 2026 14:06:01 -0400 Subject: [PATCH 2/6] Add translations for audit activity --- .../public/locales/de/translation.json | 14 +++++++++++--- .../public/locales/en/translation.json | 18 +++++++++++++----- .../public/locales/es/translation.json | 14 +++++++++++--- .../public/locales/fr/translation.json | 12 ++++++++++-- .../public/locales/hi/translation.json | 14 +++++++++++--- .../public/locales/it/translation.json | 14 +++++++++++--- .../public/locales/kr/translation.json | 12 ++++++++++-- apps/OpenSign/src/index.css | 4 ++++ apps/OpenSign/src/primitives/SignerCell.jsx | 9 +++++---- 9 files changed, 86 insertions(+), 25 deletions(-) diff --git a/apps/OpenSign/public/locales/de/translation.json b/apps/OpenSign/public/locales/de/translation.json index 9ece783515..9f69f280ff 100644 --- a/apps/OpenSign/public/locales/de/translation.json +++ b/apps/OpenSign/public/locales/de/translation.json @@ -1599,7 +1599,7 @@ "widget-hidden-due-to-logic": "Dieses Widget ist aufgrund bedingter Logik ausgeblendet.", "remove": "Entfernen", "attachments-docx-not-supported": "Derzeit tritt ein Problem beim Hochladen von DOCX-Dateien auf. Bitte versuchen Sie, das Dokument in einem anderen unterstützten Format hochzuladen, oder versuchen Sie es später erneut.", - "access-code": "Zugangscode", + "access-code": "Zugangscode", "access-code-set": "Zugangscode festgelegt", "access-code-add": "Zugangscode hinzufügen", "access-code-help": "Optionales Geheimnis, das nur dieser Unterzeichner kennt. Vor dem Anzeigen oder Unterschreiben des Dokuments wird die Eingabe verlangt. Geben Sie den Code dem Empfänger auf einem anderen Kanal weiter (Telefon, persönlich).", @@ -1617,5 +1617,13 @@ "access-code-upgrade-msg": "Zugangscodes sind nur in kostenpflichtigen Tarifen verfügbar. Aktualisieren Sie Ihren Tarif, um Zugangscodes für Empfänger hinzuzufügen.", "show-access-code": "Zugangscode anzeigen", "hide-access-code": "Zugangscode ausblenden", - "already-copied-to-clipboard": "Bereits in die Zwischenablage kopiert" -} + "already-copied-to-clipboard": "Bereits in die Zwischenablage kopiert", + "audit-activity": { + "sent": "Gesendet", + "resend": "Erneut senden", + "signed": "Signiert", + "viewed": "Angesehen", + "awaited": "Ausstehend", + "created": "Erstellt" + } +} \ No newline at end of file diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index 425db495ad..3857c601ba 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -1598,9 +1598,9 @@ "logic-op-unchecked": "is not checked", "widget-hidden-due-to-logic": "This widget is hidden due to conditional logic.", "remove": "Remove", - "attachement-note":"Note: This widget allows signers to upload a file during the signing process. The uploaded file will be appended as additional pages at the end of the existing PDF", - "attachments-docx-not-supported":"We are currently experiencing an issue with DOCX file uploads. Please try uploading the document in a different supported format, or try again later.", - "access-code": "Access code", + "attachement-note": "Note: This widget allows signers to upload a file during the signing process. The uploaded file will be appended as additional pages at the end of the existing PDF", + "attachments-docx-not-supported": "We are currently experiencing an issue with DOCX file uploads. Please try uploading the document in a different supported format, or try again later.", + "access-code": "Access code", "access-code-set": "Access code set", "access-code-add": "Add access code", "access-code-help": "Optional secret only this signer knows. They will be required to enter it before viewing or signing the document. Share it with the recipient out-of-band (phone, in person).", @@ -1618,5 +1618,13 @@ "access-code-upgrade-msg": "Access codes are available on paid plans only. Upgrade your plan to add access codes for recipients.", "show-access-code": "Show access code", "hide-access-code": "Hide access code", - "already-copied-to-clipboard": "Already copied to clipboard" -} + "already-copied-to-clipboard": "Already copied to clipboard", + "audit-activity": { + "sent": "Sent", + "resend": "Resend", + "signed": "Signed", + "viewed": "Viewed", + "awaited": "Awaited", + "created": "Created" + } +} \ No newline at end of file diff --git a/apps/OpenSign/public/locales/es/translation.json b/apps/OpenSign/public/locales/es/translation.json index 98d4e238d3..48ec54cbed 100644 --- a/apps/OpenSign/public/locales/es/translation.json +++ b/apps/OpenSign/public/locales/es/translation.json @@ -1600,7 +1600,7 @@ "remove": "Eliminar", "attachement-note": "Nota: Este widget permite a los firmantes cargar un archivo durante el proceso de firma. El archivo cargado se añadirá como páginas adicionales al final del PDF existente.", "attachments-docx-not-supported": "Actualmente estamos experimentando un problema con las cargas de archivos DOCX. Intente cargar el documento en otro formato compatible o vuelva a intentarlo más tarde.", - "access-code": "Código de acceso", + "access-code": "Código de acceso", "access-code-set": "Código de acceso establecido", "access-code-add": "Añadir código de acceso", "access-code-help": "Secreto opcional que solo conoce este firmante. Deberá introducirlo antes de ver o firmar el documento. Compártalo con el destinatario por otro canal (teléfono, en persona).", @@ -1618,5 +1618,13 @@ "access-code-upgrade-msg": "Los códigos de acceso solo están disponibles en planes de pago. Actualice su plan para agregar códigos de acceso a los destinatarios.", "show-access-code": "Mostrar código de acceso", "hide-access-code": "Ocultar código de acceso", - "already-copied-to-clipboard": "Ya copiado al portapapeles" -} + "already-copied-to-clipboard": "Ya copiado al portapapeles", + "audit-activity": { + "sent": "Enviado", + "resend": "Reenviar", + "signed": "Firmado", + "viewed": "Visto", + "awaited": "Pendiente", + "created": "Creado" + } +} \ No newline at end of file diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index b82fcdf7bb..69962f798f 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -1619,5 +1619,13 @@ "access-code-upgrade-msg": "Les codes d'accès sont disponibles uniquement dans les forfaits payants. Améliorez votre forfait pour ajouter des codes d'accès aux destinataires.", "show-access-code": "Afficher le code d’accès", "hide-access-code": "Masquer le code d’accès", - "already-copied-to-clipboard": "Déjà copié dans le presse-papiers" -} + "already-copied-to-clipboard": "Déjà copié dans le presse-papiers", + "audit-activity": { + "sent": "Envoyé", + "resend": "Renvoyer", + "signed": "Signé", + "viewed": "Consulté", + "awaited": "En attente", + "created": "Créé" + } +} \ No newline at end of file diff --git a/apps/OpenSign/public/locales/hi/translation.json b/apps/OpenSign/public/locales/hi/translation.json index c9e778d4ae..b59d3011c0 100644 --- a/apps/OpenSign/public/locales/hi/translation.json +++ b/apps/OpenSign/public/locales/hi/translation.json @@ -1600,7 +1600,7 @@ "remove": "हटाएँ", "attachement-note": "नोट: यह विजेट हस्ताक्षरकर्ताओं को साइनिंग प्रक्रिया के दौरान फ़ाइल अपलोड करने की अनुमति देता है। अपलोड की गई फ़ाइल मौजूदा PDF के अंत में अतिरिक्त पेज के रूप में जोड़ दी जाएगी।", "attachments-docx-not-supported": "हम वर्तमान में DOCX फ़ाइल अपलोड में एक समस्या का सामना कर रहे हैं। कृपया दस्तावेज़ को किसी अन्य समर्थित प्रारूप में अपलोड करने का प्रयास करें, या बाद में पुनः प्रयास करें।", - "access-code": "एक्सेस कोड", + "access-code": "एक्सेस कोड", "access-code-set": "एक्सेस कोड सेट किया गया", "access-code-add": "एक्सेस कोड जोड़ें", "access-code-help": "वैकल्पिक गुप्त कोड जो केवल इस हस्ताक्षरकर्ता को पता है। दस्तावेज़ देखने या हस्ताक्षर करने से पहले उन्हें इसे दर्ज करना होगा। इसे प्राप्तकर्ता के साथ किसी अन्य माध्यम (फ़ोन, व्यक्तिगत रूप से) से साझा करें।", @@ -1618,5 +1618,13 @@ "access-code-upgrade-msg": "एक्सेस कोड केवल भुगतान योजनाओं पर उपलब्ध हैं। प्राप्तकर्ताओं के लिए एक्सेस कोड जोड़ने के लिए अपनी योजना को अपग्रेड करें।", "show-access-code": "एक्सेस कोड दिखाएं", "hide-access-code": "एक्सेस कोड छिपाएं", - "already-copied-to-clipboard": "पहले से क्लिपबोर्ड में कॉपी किया गया है" -} + "already-copied-to-clipboard": "पहले से क्लिपबोर्ड में कॉपी किया गया है", + "audit-activity": { + "sent": "भेजा गया", + "resend": "फिर से भेजें", + "signed": "हस्ताक्षरित", + "viewed": "देखा गया", + "awaited": "प्रतीक्षित", + "created": "बनाया गया" + } +} \ No newline at end of file diff --git a/apps/OpenSign/public/locales/it/translation.json b/apps/OpenSign/public/locales/it/translation.json index e81b4e45e5..966b440e64 100644 --- a/apps/OpenSign/public/locales/it/translation.json +++ b/apps/OpenSign/public/locales/it/translation.json @@ -1600,7 +1600,7 @@ "remove": "Rimuovi", "attachement-note": "Nota: Questo widget consente ai firmatari di caricare un file durante il processo di firma. Il file caricato verrà aggiunto come pagine aggiuntive alla fine del PDF esistente.", "attachments-docx-not-supported": "Al momento stiamo riscontrando un problema con il caricamento dei file DOCX. Prova a caricare il documento in un altro formato supportato oppure riprova più tardi.", - "access-code": "Codice di accesso", + "access-code": "Codice di accesso", "access-code-set": "Codice di accesso impostato", "access-code-add": "Aggiungi codice di accesso", "access-code-help": "Codice segreto facoltativo noto solo a questo firmatario. Dovrà inserirlo prima di visualizzare o firmare il documento. Comunicalo al destinatario tramite un canale alternativo (telefono, di persona).", @@ -1618,5 +1618,13 @@ "access-code-upgrade-msg": "I codici di accesso sono disponibili solo nei piani a pagamento. Aggiorna il tuo piano per aggiungere codici di accesso per i destinatari.", "show-access-code": "Mostra codice di accesso", "hide-access-code": "Nascondi codice di accesso", - "already-copied-to-clipboard": "Già copiato negli appunti" -} + "already-copied-to-clipboard": "Già copiato negli appunti", + "audit-activity": { + "sent": "Inviato", + "resend": "Invia di nuovo", + "signed": "Firmato", + "viewed": "Visualizzato", + "awaited": "In attesa", + "created": "Creato" + } +} \ No newline at end of file diff --git a/apps/OpenSign/public/locales/kr/translation.json b/apps/OpenSign/public/locales/kr/translation.json index 82939880ea..1095c7365e 100644 --- a/apps/OpenSign/public/locales/kr/translation.json +++ b/apps/OpenSign/public/locales/kr/translation.json @@ -1618,5 +1618,13 @@ "access-code-upgrade-msg": "접속 코드는 유료 요금제에서만 사용할 수 있습니다. 수신자에게 접속 코드를 추가하려면 요금제를 업그레이드하세요.", "show-access-code": "액세스 코드 표시", "hide-access-code": "액세스 코드 숨기기", - "already-copied-to-clipboard": "이미 클립보드에 복사됨" -} + "already-copied-to-clipboard": "이미 클립보드에 복사됨", + "audit-activity": { + "sent": "전송됨", + "resend": "다시 보내기", + "signed": "서명됨", + "viewed": "조회됨", + "awaited": "대기 중", + "created": "생성됨" + } +} \ No newline at end of file diff --git a/apps/OpenSign/src/index.css b/apps/OpenSign/src/index.css index 80f1c9a6aa..1b5b9dcf25 100644 --- a/apps/OpenSign/src/index.css +++ b/apps/OpenSign/src/index.css @@ -104,6 +104,10 @@ body { @apply border-gray-300 hover:border-base-content; } +.activity{ + width: 100px; +} + /* Note: Dark mode styling is now handled via Tailwind utilities in tailwind.config.js */ /* You can use classes like: icon-improved, icon-muted, icon-disabled, op-btn-vscode-disabled */ diff --git a/apps/OpenSign/src/primitives/SignerCell.jsx b/apps/OpenSign/src/primitives/SignerCell.jsx index 792fca79b7..016f5fc186 100644 --- a/apps/OpenSign/src/primitives/SignerCell.jsx +++ b/apps/OpenSign/src/primitives/SignerCell.jsx @@ -46,6 +46,7 @@ const SignerCell = ({ reportName, item, handleRemovePrefill }) => { id: i, Email: getSignerEmail(x, item?.Signers) || x?.email || "-", Activity: audit?.Activity?.toUpperCase() || "SENT", + ActivityLabel: t(`audit-activity.${audit?.Activity?.toLowerCase() || "sent"}`), SignedOn: format(audit?.SignedOn), ViewedOn: format(audit?.ViewedOn) }; @@ -68,13 +69,13 @@ const SignerCell = ({ reportName, item, handleRemovePrefill }) => { onClick={() => setIsModal({ [`${item.objectId}_${i}`]: true })} className={`${ x.Activity === "SIGNED" - ? "op-border-primary op-text-primary" + ? "op-border-primary op-text-primary activity" : x.Activity === "VIEWED" - ? "border-green-400 text-green-400" - : "border-base-content text-base-content" + ? "border-green-400 text-green-400 activity" + : "border-base-content text-base-content activity" } focus:outline-none border-2 w-[60px] h-[30px] text-[11px] rounded-full`} > - {x?.Activity?.toUpperCase() || "-"} + {x?.ActivityLabel?.toUpperCase() || "-"} )}
{x?.Email || "-"}
From ade265dfab9a5abcb91e60add881fd2b4f833026 Mon Sep 17 00:00:00 2001 From: Chris Mathevet Date: Thu, 13 Aug 2026 11:23:15 -0400 Subject: [PATCH 3/6] Add translations for signature types --- apps/OpenSign/public/locales/de/translation.json | 6 ++++++ apps/OpenSign/public/locales/en/translation.json | 6 ++++++ apps/OpenSign/public/locales/es/translation.json | 8 +++++++- apps/OpenSign/public/locales/fr/translation.json | 8 +++++++- apps/OpenSign/public/locales/hi/translation.json | 6 ++++++ apps/OpenSign/public/locales/it/translation.json | 6 ++++++ apps/OpenSign/public/locales/kr/translation.json | 6 ++++++ apps/OpenSign/src/pages/Preferences.jsx | 10 +++++----- 8 files changed, 49 insertions(+), 7 deletions(-) diff --git a/apps/OpenSign/public/locales/de/translation.json b/apps/OpenSign/public/locales/de/translation.json index 9f69f280ff..7c6f8164b2 100644 --- a/apps/OpenSign/public/locales/de/translation.json +++ b/apps/OpenSign/public/locales/de/translation.json @@ -852,6 +852,12 @@ "l3": "Laden Sie eine vorhandene digitale Version Ihrer Signatur hoch.", "l4": "Verwenden Sie einen voreingestellten Signaturstil, der unter 'Meine Signatur' in Ihren Einstellungen gespeichert ist." }, + "allowed-signature-types-types":{ + "draw": "Zeichnen", + "type": "Tippen", + "upload": "Hochladen", + "default": "Standard" + }, "notify-on-signatures": "Benachrichtigen bei Signaturen", "notify-on-signatures-help": { "p1": "Der Ersteller des Dokuments erhält eine E-Mail-Benachrichtigung, sobald ein Unterzeichner das Dokument unterschreibt.", diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index 3857c601ba..2f19245181 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -852,6 +852,12 @@ "l3": "Upload an existing digital version of your signature.", "l4": "Use a pre-set signature style saved under 'My Signature' in your settings." }, + "allowed-signature-types-types":{ + "draw": "Draw", + "type": "Type", + "upload": "Upload", + "default": "Default" + }, "notify-on-signatures": "Notify on signatures", "notify-on-signatures-help": { "p1": "The document creator will receive an email notification whenever a signer signs the document.", diff --git a/apps/OpenSign/public/locales/es/translation.json b/apps/OpenSign/public/locales/es/translation.json index 48ec54cbed..e10656f5ac 100644 --- a/apps/OpenSign/public/locales/es/translation.json +++ b/apps/OpenSign/public/locales/es/translation.json @@ -846,12 +846,18 @@ "expect-default-one-signature-type": "Habilite un tipo de firma adicional aparte del predeterminado.", "add-signer-note": "Nota - Este contacto se guardará en sus Contactos", "allowed-signature-types-help": { - "p1": "Esta preferencia de firma controla qué opciones de firma están disponibles para sus firmantes. Solo los tipos de firma que seleccione aparecerán en el widget de firma cuando se firme un documento. Por ejemplo, si elige sólo la opción 'Draw' en las preferencias, su firmante verá sólo la opción 'Draw' en el widget de firma, mientras que las otras tres opciones no estarán disponibles.", + "p1": "Esta preferencia de firma controla qué opciones de firma están disponibles para sus firmantes. Solo los tipos de firma que seleccione aparecerán en el widget de firma cuando se firme un documento. Por ejemplo, si elige sólo la opción 'Dibujar' en las preferencias, su firmante verá sólo la opción 'Dibujar' en el widget de firma, mientras que las otras tres opciones no estarán disponibles.", "l1": "Cree una firma manuscrita directamente en la pantalla usando su dedo o un lápiz.", "l2": "Ingrese su nombre y elija entre varios estilos de fuente para crear una firma.", "l3": "Cargue una versión digital existente de su firma.", "l4": "Utilice un estilo de firma preestablecido guardado en 'Mi firma' en su configuración." }, + "allowed-signature-types-types":{ + "draw": "Dibujar", + "type": "Escribir", + "upload": "Subir", + "default": "Predeterminado" + }, "notify-on-signatures": "Notificar sobre firmas", "notify-on-signatures-help": { "p1": "El creador del documento recibirá una notificación por correo electrónico cada vez que un firmante firme el documento.", diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index 69962f798f..4c914b3088 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -844,12 +844,18 @@ "expect-default-one-signature-type": "Veuillez activer un type de signature supplémentaire en plus de celui par défaut.", "add-signer-note": "Remarque - Ce contact sera enregistré dans vos contacts", "allowed-signature-types-help": { - "p1": "Cette préférence de signature contrôle les options de signature disponibles pour vos signataires. Seuls les types de signature que vous sélectionnez apparaîtront dans le widget de signature lorsqu'un document est signé. Par exemple, si vous choisissez uniquement l'option 'Draw' dans les préférences, votre signataire ne verra que l'option 'Draw' dans le widget de signature, tandis que les trois autres options ne seront pas disponibles.", + "p1": "Cette préférence de signature contrôle les options de signature disponibles pour vos signataires. Seuls les types de signature que vous sélectionnez apparaîtront dans le widget de signature lorsqu'un document est signé. Par exemple, si vous choisissez uniquement l'option 'Dessiner' dans les préférences, votre signataire ne verra que l'option 'Dessiner' dans le widget de signature, tandis que les trois autres options ne seront pas disponibles.", "l1": "Créez une signature manuscrite directement sur l'écran à l'aide de votre doigt ou d'un stylet.", "l2": "Entrez votre nom et choisissez parmi différents styles de police pour créer une signature.", "l3": "Téléchargez une version numérique existante de votre signature.", "l4": "Utilisez un style de signature prédéfini enregistré sous 'Ma signature' ​​dans vos paramètres." }, + "allowed-signature-types-types":{ + "draw": "Dessiner", + "type": "Taper", + "upload": "Télécharger", + "default": "Défaut" + }, "notify-on-signatures": "Notifier les signatures", "notify-on-signatures-help": { "p1": "Le créateur du document recevra une notification par e-mail chaque fois qu'un signataire signera le document.", diff --git a/apps/OpenSign/public/locales/hi/translation.json b/apps/OpenSign/public/locales/hi/translation.json index b59d3011c0..b3c565c1de 100644 --- a/apps/OpenSign/public/locales/hi/translation.json +++ b/apps/OpenSign/public/locales/hi/translation.json @@ -852,6 +852,12 @@ "l3": "अपने हस्ताक्षर का मौजूदा डिजिटल संस्करण अपलोड करें।", "l4": "अपनी सेटिंग्स में 'मेरा हस्ताक्षर' के अंतर्गत सहेजी गई एक पूर्व-निर्धारित हस्ताक्षर शैली का उपयोग करें।" }, + "allowed-signature-types-types":{ + "draw": "ड्रा करें", + "type": "टाइप करें", + "upload": "अपलोड करें", + "default": "डिफ़ॉल्ट" + }, "notify-on-signatures": "हस्ताक्षर पर सूचित करें", "notify-on-signatures-help": { "p1": "दस्तावेज़ निर्माता को हर बार एक हस्ताक्षरकर्ता द्वारा दस्तावेज़ पर हस्ताक्षर करने पर एक ईमेल सूचना प्राप्त होगी।", diff --git a/apps/OpenSign/public/locales/it/translation.json b/apps/OpenSign/public/locales/it/translation.json index 966b440e64..a2740b2a51 100644 --- a/apps/OpenSign/public/locales/it/translation.json +++ b/apps/OpenSign/public/locales/it/translation.json @@ -852,6 +852,12 @@ "l3": "Carica una versione digitale esistente della tua firma.", "l4": "Usa uno stile di firma preimpostato salvato sotto 'La mia firma' nelle tue impostazioni." }, + "allowed-signature-types-types":{ + "draw": "Disegna", + "type": "Digita", + "upload": "Carica", + "default": "Predefinito" + }, "notify-on-signatures": "Notifica sulle firme", "notify-on-signatures-help": { "p1": "Il creatore del documento riceverà una notifica via email ogni volta che un firmatario firma il documento.", diff --git a/apps/OpenSign/public/locales/kr/translation.json b/apps/OpenSign/public/locales/kr/translation.json index 1095c7365e..68abb6c8f7 100644 --- a/apps/OpenSign/public/locales/kr/translation.json +++ b/apps/OpenSign/public/locales/kr/translation.json @@ -852,6 +852,12 @@ "l3": "기존 디지털 버전의 서명을 업로드합니다.", "l4": "설정의 '내 서명' 아래에 저장된 미리 설정된 서명 스타일을 사용합니다." }, + "allowed-signature-types-types":{ + "draw": "그리기", + "type": "입력", + "upload": "업로드", + "default": "기본값" + }, "notify-on-signatures": "서명 시 알림", "notify-on-signatures-help": { "p1": "문서 작성자는 서명자가 문서에 서명할 때마다 이메일 알림을 받게 됩니다.", diff --git a/apps/OpenSign/src/pages/Preferences.jsx b/apps/OpenSign/src/pages/Preferences.jsx index d97e43ae08..fc93b90b36 100644 --- a/apps/OpenSign/src/pages/Preferences.jsx +++ b/apps/OpenSign/src/pages/Preferences.jsx @@ -327,28 +327,28 @@ const Preferences = () => {
  1. - {t("draw")}:{" "} + {t("allowed-signature-types-types.draw")}:{" "} {t("allowed-signature-types-help.l1")}
  2. - Type: + {t("allowed-signature-types-types.type")}:{" "} {t("allowed-signature-types-help.l2")}
  3. - {t("upload")}:{" "} + {t("allowed-signature-types-types.upload")}:{" "} {t("allowed-signature-types-help.l3")}
  4. - Default: + {t("allowed-signature-types-types.default")}:{" "} {t("allowed-signature-types-help.l4")} @@ -377,7 +377,7 @@ const Preferences = () => { className="text-sm font-medium text-base-content hover:underline underline-offset-2 cursor-pointer capitalize mb-0" title={`Enabling this allows signers to ${type.name} signature`} > - {type?.name === "typed" ? "type" : type?.name} + {t(`allowed-signature-types-types.${type?.name === "typed" ? "type" : type?.name}`)} ))} From 240b1a6fac78d214dbd895f5ff3da78e8afb1d8a Mon Sep 17 00:00:00 2001 From: Chris Mathevet Date: Thu, 13 Aug 2026 11:28:37 -0400 Subject: [PATCH 4/6] Add translation for new drive folder name --- apps/OpenSign/public/locales/de/translation.json | 3 ++- apps/OpenSign/public/locales/en/translation.json | 1 + apps/OpenSign/public/locales/es/translation.json | 3 ++- apps/OpenSign/public/locales/fr/translation.json | 3 ++- apps/OpenSign/public/locales/hi/translation.json | 3 ++- apps/OpenSign/public/locales/it/translation.json | 3 ++- apps/OpenSign/public/locales/kr/translation.json | 3 ++- apps/OpenSign/src/pages/Opensigndrive.jsx | 2 +- 8 files changed, 14 insertions(+), 7 deletions(-) diff --git a/apps/OpenSign/public/locales/de/translation.json b/apps/OpenSign/public/locales/de/translation.json index 7c6f8164b2..c5b7e341e2 100644 --- a/apps/OpenSign/public/locales/de/translation.json +++ b/apps/OpenSign/public/locales/de/translation.json @@ -37,6 +37,7 @@ "action": "Aktion", "add": "Hinzufügen", "add-new-folder": "Neuen Ordner hinzufügen", + "folder-name": "Ordnername", "disable-documentId": "DocumentId deaktivieren", "edit": "Bearbeiten", "change-password": "Passwort ändern", @@ -852,7 +853,7 @@ "l3": "Laden Sie eine vorhandene digitale Version Ihrer Signatur hoch.", "l4": "Verwenden Sie einen voreingestellten Signaturstil, der unter 'Meine Signatur' in Ihren Einstellungen gespeichert ist." }, - "allowed-signature-types-types":{ + "allowed-signature-types-types": { "draw": "Zeichnen", "type": "Tippen", "upload": "Hochladen", diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index 2f19245181..7366892706 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -37,6 +37,7 @@ "action": "Action", "add": "Add", "add-new-folder": "Add a new folder", + "folder-name": "Folder name", "disable-documentId": "Disable documentId", "edit": "Edit", "change-password": "Change password", diff --git a/apps/OpenSign/public/locales/es/translation.json b/apps/OpenSign/public/locales/es/translation.json index e10656f5ac..644abb6a5b 100644 --- a/apps/OpenSign/public/locales/es/translation.json +++ b/apps/OpenSign/public/locales/es/translation.json @@ -37,6 +37,7 @@ "action": "Acción", "add": "Agregar", "add-new-folder": "Agregar nueva carpeta", + "folder-name": "Nombre de la carpeta", "disable-documentId": "Desactivar ID de documento", "edit": "Editar", "change-password": "Cambiar contraseña", @@ -852,7 +853,7 @@ "l3": "Cargue una versión digital existente de su firma.", "l4": "Utilice un estilo de firma preestablecido guardado en 'Mi firma' en su configuración." }, - "allowed-signature-types-types":{ + "allowed-signature-types-types": { "draw": "Dibujar", "type": "Escribir", "upload": "Subir", diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index 4c914b3088..96c1b8109f 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -37,6 +37,7 @@ "action": "Action", "add": "Ajouter", "add-new-folder": "Ajouter un nouveau dossier", + "folder-name": "Nom du dossier", "disable-documentId": "Désactiver l'ID du document", "edit": "Modifier", "change-password": "Changer votre mot de passe", @@ -850,7 +851,7 @@ "l3": "Téléchargez une version numérique existante de votre signature.", "l4": "Utilisez un style de signature prédéfini enregistré sous 'Ma signature' ​​dans vos paramètres." }, - "allowed-signature-types-types":{ + "allowed-signature-types-types": { "draw": "Dessiner", "type": "Taper", "upload": "Télécharger", diff --git a/apps/OpenSign/public/locales/hi/translation.json b/apps/OpenSign/public/locales/hi/translation.json index b3c565c1de..8e6a997b68 100644 --- a/apps/OpenSign/public/locales/hi/translation.json +++ b/apps/OpenSign/public/locales/hi/translation.json @@ -37,6 +37,7 @@ "action": "कार्रवाई", "add": "जोड़ें", "add-new-folder": "नया फ़ोल्डर जोड़ें", + "folder-name": "फ़ोल्डर का नाम", "disable-documentId": "दस्तावेज़ आईडी अक्षम करें", "edit": "संपादित करें", "change-password": "पासवर्ड बदलें", @@ -852,7 +853,7 @@ "l3": "अपने हस्ताक्षर का मौजूदा डिजिटल संस्करण अपलोड करें।", "l4": "अपनी सेटिंग्स में 'मेरा हस्ताक्षर' के अंतर्गत सहेजी गई एक पूर्व-निर्धारित हस्ताक्षर शैली का उपयोग करें।" }, - "allowed-signature-types-types":{ + "allowed-signature-types-types": { "draw": "ड्रा करें", "type": "टाइप करें", "upload": "अपलोड करें", diff --git a/apps/OpenSign/public/locales/it/translation.json b/apps/OpenSign/public/locales/it/translation.json index a2740b2a51..415223e573 100644 --- a/apps/OpenSign/public/locales/it/translation.json +++ b/apps/OpenSign/public/locales/it/translation.json @@ -37,6 +37,7 @@ "action": "Azione", "add": "Aggiungi", "add-new-folder": "Aggiungi una nuova cartella", + "folder-name": "Nome della cartella", "disable-documentId": "Disabilita DocumentId", "edit": "Modifica", "change-password": "Cambia Password", @@ -852,7 +853,7 @@ "l3": "Carica una versione digitale esistente della tua firma.", "l4": "Usa uno stile di firma preimpostato salvato sotto 'La mia firma' nelle tue impostazioni." }, - "allowed-signature-types-types":{ + "allowed-signature-types-types": { "draw": "Disegna", "type": "Digita", "upload": "Carica", diff --git a/apps/OpenSign/public/locales/kr/translation.json b/apps/OpenSign/public/locales/kr/translation.json index 68abb6c8f7..199fdfa66f 100644 --- a/apps/OpenSign/public/locales/kr/translation.json +++ b/apps/OpenSign/public/locales/kr/translation.json @@ -37,6 +37,7 @@ "action": "실행", "add": "추가", "add-new-folder": "새 폴더 추가", + "folder-name": "폴더 이름", "disable-documentId": "문서 ID 비활성화", "edit": "편집", "change-password": "비밀번호 변경", @@ -852,7 +853,7 @@ "l3": "기존 디지털 버전의 서명을 업로드합니다.", "l4": "설정의 '내 서명' 아래에 저장된 미리 설정된 서명 스타일을 사용합니다." }, - "allowed-signature-types-types":{ + "allowed-signature-types-types": { "draw": "그리기", "type": "입력", "upload": "업로드", diff --git a/apps/OpenSign/src/pages/Opensigndrive.jsx b/apps/OpenSign/src/pages/Opensigndrive.jsx index ea4ce526df..c18268911b 100644 --- a/apps/OpenSign/src/pages/Opensigndrive.jsx +++ b/apps/OpenSign/src/pages/Opensigndrive.jsx @@ -616,7 +616,7 @@ function Opensigndrive() { className="flex flex-col text-base-content" > Date: Thu, 13 Aug 2026 11:38:50 -0400 Subject: [PATCH 5/6] Add Translations for Notes and Select placeholder --- apps/OpenSign/public/locales/de/translation.json | 7 ++++++- apps/OpenSign/public/locales/en/translation.json | 7 ++++++- apps/OpenSign/public/locales/es/translation.json | 7 ++++++- apps/OpenSign/public/locales/fr/translation.json | 7 ++++++- apps/OpenSign/public/locales/hi/translation.json | 7 ++++++- apps/OpenSign/public/locales/it/translation.json | 7 ++++++- apps/OpenSign/public/locales/kr/translation.json | 7 ++++++- apps/OpenSign/src/components/pdf/PrefillWidgetsModal.jsx | 1 + .../src/components/shared/fields/SelectSigners.jsx | 1 + .../src/components/shared/fields/SignersInput.jsx | 1 + apps/OpenSign/src/pages/Form.jsx | 8 ++++---- 11 files changed, 49 insertions(+), 11 deletions(-) diff --git a/apps/OpenSign/public/locales/de/translation.json b/apps/OpenSign/public/locales/de/translation.json index c5b7e341e2..6e145cee84 100644 --- a/apps/OpenSign/public/locales/de/translation.json +++ b/apps/OpenSign/public/locales/de/translation.json @@ -1632,5 +1632,10 @@ "viewed": "Angesehen", "awaited": "Ausstehend", "created": "Erstellt" - } + }, + "notes": { + "sign-yourself": "Notiz an mich selbst", + "request-signatures": "Bitte überprüfen und unterschreiben Sie dieses Dokument" + }, + "select-placeholder": "Auswählen..." } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index 7366892706..c6db52a9ce 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -1633,5 +1633,10 @@ "viewed": "Viewed", "awaited": "Awaited", "created": "Created" - } + }, + "notes":{ + "sign-yourself": "Note to myself", + "request-signatures": "Please review and sign this document" + }, + "select-placeholder": "Select..." } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/es/translation.json b/apps/OpenSign/public/locales/es/translation.json index 644abb6a5b..2478edf2bf 100644 --- a/apps/OpenSign/public/locales/es/translation.json +++ b/apps/OpenSign/public/locales/es/translation.json @@ -1633,5 +1633,10 @@ "viewed": "Visto", "awaited": "Pendiente", "created": "Creado" - } + }, + "notes": { + "sign-yourself": "Nota para mí mismo", + "request-signatures": "Por favor, revise y firme este documento" + }, + "select-placeholder": "Seleccionar..." } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index 96c1b8109f..1e2480e487 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -1634,5 +1634,10 @@ "viewed": "Consulté", "awaited": "En attente", "created": "Créé" - } + }, + "notes": { + "sign-yourself": "Note à moi-même", + "request-signatures": "Veuillez examiner et signer ce document" + }, + "select-placeholder": "Sélectionner..." } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/hi/translation.json b/apps/OpenSign/public/locales/hi/translation.json index 8e6a997b68..3bf915e916 100644 --- a/apps/OpenSign/public/locales/hi/translation.json +++ b/apps/OpenSign/public/locales/hi/translation.json @@ -1633,5 +1633,10 @@ "viewed": "देखा गया", "awaited": "प्रतीक्षित", "created": "बनाया गया" - } + }, + "notes": { + "sign-yourself": "अपने लिए नोट", + "request-signatures": "कृपया इस दस्तावेज़ की समीक्षा करें और हस्ताक्षर करें" + }, + "select-placeholder": "चुनें..." } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/it/translation.json b/apps/OpenSign/public/locales/it/translation.json index 415223e573..3a7cb7052e 100644 --- a/apps/OpenSign/public/locales/it/translation.json +++ b/apps/OpenSign/public/locales/it/translation.json @@ -1633,5 +1633,10 @@ "viewed": "Visualizzato", "awaited": "In attesa", "created": "Creato" - } + }, + "notes": { + "sign-yourself": "Nota personale", + "request-signatures": "Si prega di esaminare e firmare questo documento" + }, + "select-placeholder": "Seleziona..." } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/kr/translation.json b/apps/OpenSign/public/locales/kr/translation.json index 199fdfa66f..4b6a856ac9 100644 --- a/apps/OpenSign/public/locales/kr/translation.json +++ b/apps/OpenSign/public/locales/kr/translation.json @@ -1633,5 +1633,10 @@ "viewed": "조회됨", "awaited": "대기 중", "created": "생성됨" - } + }, + "notes": { + "sign-yourself": "나에게 보내는 메모", + "request-signatures": "이 문서를 검토하고 서명해 주세요" + }, + "select-placeholder": "선택..." } \ No newline at end of file diff --git a/apps/OpenSign/src/components/pdf/PrefillWidgetsModal.jsx b/apps/OpenSign/src/components/pdf/PrefillWidgetsModal.jsx index 54854048b6..f09e2f1e67 100644 --- a/apps/OpenSign/src/components/pdf/PrefillWidgetsModal.jsx +++ b/apps/OpenSign/src/components/pdf/PrefillWidgetsModal.jsx @@ -831,6 +831,7 @@ function PrefillWidgetModal(props) { cacheOptions defaultOptions value={field} + placeholder = {t("select-placeholder")} loadingMessage={() => t("loading")} noOptionsMessage={() => t("contact-not-found")} loadOptions={loadOptions} diff --git a/apps/OpenSign/src/components/shared/fields/SelectSigners.jsx b/apps/OpenSign/src/components/shared/fields/SelectSigners.jsx index 42dc0fe02d..7e5b3e175c 100644 --- a/apps/OpenSign/src/components/shared/fields/SelectSigners.jsx +++ b/apps/OpenSign/src/components/shared/fields/SelectSigners.jsx @@ -137,6 +137,7 @@ const SelectSigners = (props) => { cacheOptions defaultOptions value={selected} + placeholder = {t("select-placeholder")} loadingMessage={() => t("loading")} noOptionsMessage={() => t("contact-not-found")} loadOptions={loadOptions} diff --git a/apps/OpenSign/src/components/shared/fields/SignersInput.jsx b/apps/OpenSign/src/components/shared/fields/SignersInput.jsx index 9a284ac9b4..ab92bb1dce 100644 --- a/apps/OpenSign/src/components/shared/fields/SignersInput.jsx +++ b/apps/OpenSign/src/components/shared/fields/SignersInput.jsx @@ -177,6 +177,7 @@ const SignersInput = (props) => { onChange={onChange} closeMenuOnSelect={false} required={props.required} + placeholder = {t("select-placeholder")} loadingMessage={() => t("loading")} noOptionsMessage={() => t("contact-not-found")} loadOptions={loadOptions} diff --git a/apps/OpenSign/src/pages/Form.jsx b/apps/OpenSign/src/pages/Form.jsx index ba1734f959..b6096c78fa 100644 --- a/apps/OpenSign/src/pages/Form.jsx +++ b/apps/OpenSign/src/pages/Form.jsx @@ -514,8 +514,8 @@ const Forms = (props) => { Description: "", Note: props.title === "Sign Yourself" - ? "Note to myself" - : "Please review and sign this document", + ? t("notes.sign-yourself") + : t("notes.request-signatures"), TimeToCompleteDays: 15, SendinOrder: sendinorder, password: "", @@ -608,8 +608,8 @@ const Forms = (props) => { Description: "", Note: props.title === "Sign Yourself" - ? "Note to myself" - : "Please review and sign this document", + ? t("notes.sign-yourself") + : t("notes.request-signatures"), TimeToCompleteDays: 15, SendinOrder: sendinorder, password: "", From dbd1e185363bc4e088801816428953ffb68d5e99 Mon Sep 17 00:00:00 2001 From: Chris Mathevet Date: Thu, 13 Aug 2026 11:44:37 -0400 Subject: [PATCH 6/6] Add translations for share options and use translated share button label --- .../public/locales/de/translation.json | 11 +++++++++- .../public/locales/en/translation.json | 11 +++++++++- .../public/locales/es/translation.json | 11 +++++++++- .../public/locales/fr/translation.json | 11 +++++++++- .../public/locales/hi/translation.json | 11 +++++++++- .../public/locales/it/translation.json | 11 +++++++++- .../public/locales/kr/translation.json | 11 +++++++++- apps/OpenSign/src/primitives/ShareButton.jsx | 22 +++++++++---------- 8 files changed, 80 insertions(+), 19 deletions(-) diff --git a/apps/OpenSign/public/locales/de/translation.json b/apps/OpenSign/public/locales/de/translation.json index 6e145cee84..55bbbeccff 100644 --- a/apps/OpenSign/public/locales/de/translation.json +++ b/apps/OpenSign/public/locales/de/translation.json @@ -172,7 +172,16 @@ "Reset password": "Passwort zurücksetzen", "View formdata": "Formulardaten ansehen", "Download all formdata": "Alle Formulardaten herunterladen", - "API credits": "API-Credits" + "API credits": "API-Credits", + "share-options": { + "clipboard": "In die Zwischenablage kopieren", + "twitter": "Auf Twitter teilen", + "facebook": "Auf Facebook teilen", + "whatsapp": "Auf WhatsApp teilen", + "gmail": "Über Gmail teilen", + "teams": "Über Teams teilen", + "outlook" : "Über Outlook teilen" + } }, "report-heading": { "Sr.No": "Nr.", diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index c6db52a9ce..5a56a79490 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -172,7 +172,16 @@ "Reset password": "Reset password", "View formdata": "View formdata", "Download all formdata": "Download all formdata", - "API credits": "API credits" + "API credits": "API credits", + "share-options": { + "clipboard" : "Copy to clipboard", + "twitter" : "Share on Twitter", + "facebook" : "Share on Facebook", + "whatsapp" : "Share on Whatsapp", + "gmail" : "Share via Gmail", + "teams" : "Share on Teams", + "outlook" : "Share via Outlook" + } }, "report-heading": { "Sr.No": "Sr.No", diff --git a/apps/OpenSign/public/locales/es/translation.json b/apps/OpenSign/public/locales/es/translation.json index 2478edf2bf..68f0ffd516 100644 --- a/apps/OpenSign/public/locales/es/translation.json +++ b/apps/OpenSign/public/locales/es/translation.json @@ -172,7 +172,16 @@ "Reset password": "Restablecer contraseña", "View formdata": "Ver datos del formulario", "Download all formdata": "Descargar todos los datos del formulario", - "API credits": "Créditos de API" + "API credits": "Créditos de API", + "share-options": { + "clipboard": "Copiar al portapapeles", + "twitter": "Compartir en Twitter", + "facebook": "Compartir en Facebook", + "whatsapp": "Compartir en WhatsApp", + "gmail": "Compartir con Gmail", + "teams": "Compartir en Teams", + "outlook" : "Compartir con Outlook" + } }, "report-heading": { "Sr.No": "Nº", diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index 1e2480e487..414694ecb3 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -208,7 +208,16 @@ "Reset password": "Réinitialiser le mot de passe", "View formdata": "Voir les données du formulaire", "Download all formdata": "Télécharger toutes les données du formulaire", - "API credits": "Crédits API" + "API credits": "Crédits API", + "share-options": { + "clipboard": "Copier dans le presse-papiers", + "twitter": "Partager sur Twitter", + "facebook": "Partager sur Facebook", + "whatsapp": "Partager sur WhatsApp", + "gmail": "Partager avec Gmail", + "teams": "Partager sur Teams", + "outlook" : "Partager avec Outlook" + } }, "report-help": { "Draft Documents": "Il s'agit de documents que vous avez commencés mais que vous n'avez pas finalisés pour envoi.", diff --git a/apps/OpenSign/public/locales/hi/translation.json b/apps/OpenSign/public/locales/hi/translation.json index 3bf915e916..cac1f0e858 100644 --- a/apps/OpenSign/public/locales/hi/translation.json +++ b/apps/OpenSign/public/locales/hi/translation.json @@ -172,7 +172,16 @@ "Reset password": "पासवर्ड रीसेट करें", "View formdata": "फॉर्म डेटा देखें", "Download all formdata": "सभी फॉर्म डेटा डाउनलोड करें", - "API credits": "API क्रेडिट्स" + "API credits": "API क्रेडिट्स", + "share-options": { + "clipboard": "क्लिपबोर्ड पर कॉपी करें", + "twitter": "Twitter पर साझा करें", + "facebook": "Facebook पर साझा करें", + "whatsapp": "WhatsApp पर साझा करें", + "gmail": "Gmail पर साझा करें", + "teams": "Teams पर साझा करें", + "outlook" : "Outlook पर साझा करें" + } }, "report-heading": { "Sr.No": "क्रमांक", diff --git a/apps/OpenSign/public/locales/it/translation.json b/apps/OpenSign/public/locales/it/translation.json index 3a7cb7052e..98c4b78802 100644 --- a/apps/OpenSign/public/locales/it/translation.json +++ b/apps/OpenSign/public/locales/it/translation.json @@ -172,7 +172,16 @@ "Reset password": "Reimposta password", "View formdata": "Visualizza i dati del modulo", "Download all formdata": "Scarica tutti i dati del modulo", - "API credits": "Crediti API" + "API credits": "Crediti API", + "share-options": { + "clipboard": "Copia negli appunti", + "twitter": "Condividi su Twitter", + "facebook": "Condividi su Facebook", + "whatsapp": "Condividi su WhatsApp", + "gmail": "Condividi su Gmail", + "teams": "Condividi su Teams", + "outlook" : "Condividi su Outlook" + } }, "report-heading": { "Sr.No": "Nr.", diff --git a/apps/OpenSign/public/locales/kr/translation.json b/apps/OpenSign/public/locales/kr/translation.json index 4b6a856ac9..f049b59d46 100644 --- a/apps/OpenSign/public/locales/kr/translation.json +++ b/apps/OpenSign/public/locales/kr/translation.json @@ -172,7 +172,16 @@ "Reset password": "비밀번호 재설정", "View formdata": "양식 데이터 보기", "Download all formdata": "모든 양식 데이터 다운로드", - "API credits": "API 크레딧" + "API credits": "API 크레딧", + "share-options": { + "clipboard": "클립보드에 복사", + "twitter": "Twitter에서 공유", + "facebook": "Facebook에서 공유", + "whatsapp": "WhatsApp에서 공유", + "gmail": "Gmail에서 공유", + "teams": "Teams에서 공유", + "outlook" : "Outlook에서 공유" + } }, "report-heading": { "Sr.No": "일련 번호", diff --git a/apps/OpenSign/src/primitives/ShareButton.jsx b/apps/OpenSign/src/primitives/ShareButton.jsx index bcc2d9225f..60b1192157 100644 --- a/apps/OpenSign/src/primitives/ShareButton.jsx +++ b/apps/OpenSign/src/primitives/ShareButton.jsx @@ -1,4 +1,5 @@ import { useCallback, useState } from "react"; +import { useTranslation } from "react-i18next"; import ModalUi from "./ModalUi"; function useShare({ title, text, url }) { @@ -34,6 +35,7 @@ function useShare({ title, text, url }) { * @param {React.ReactNode} [props.children] - Custom trigger element */ export default function ShareButton({ title, text, url, className, children }) { + const { t } = useTranslation(); const { share, isSupported, error } = useShare({ title, text, url }); const [isPopupOpen, setPopupOpen] = useState(false); @@ -69,7 +71,7 @@ export default function ShareButton({ title, text, url, className, children }) { isOpen title={ <> - Share + {t("btnLabel.Share")} } handleClose={() => setPopupOpen(false)} @@ -81,7 +83,7 @@ export default function ShareButton({ title, text, url, className, children }) { onClick={() => navigator.clipboard.writeText(url)} className="m-2 op-btn op-btn-primary op-btn-outline op-btn-xs md:op-btn-sm w-[190px]" > - Copy to clipboard + {t("btnLabel.share-options.clipboard")} {/* Twitter */} {/* Facebook */} @@ -109,8 +110,7 @@ export default function ShareButton({ title, text, url, className, children }) { } className="m-2 op-btn op-btn-primary op-btn-outline op-btn-xs md:op-btn-sm w-[190px]" > - Share on - Facebook + {t("btnLabel.share-options.facebook")} {/* WhatsApp */} @@ -124,8 +124,7 @@ export default function ShareButton({ title, text, url, className, children }) { } className="m-2 op-btn op-btn-primary op-btn-outline op-btn-xs md:op-btn-sm w-[190px]" > - Share on - WhatsApp + {t("btnLabel.share-options.whatsapp")} {/* Gmail (Web) */} @@ -139,7 +138,7 @@ export default function ShareButton({ title, text, url, className, children }) { } className="m-2 op-btn op-btn-primary op-btn-outline op-btn-xs md:op-btn-sm w-[190px]" > - Share via Gmail + {t("btnLabel.share-options.gmail")} {/* Microsoft Teams */} @@ -153,7 +152,7 @@ export default function ShareButton({ title, text, url, className, children }) { } className="m-2 op-btn op-btn-primary op-btn-outline op-btn-xs md:op-btn-sm w-[190px]" > - Share on Teams + {t("btnLabel.share-options.teams")} {/* Outlook Web */} @@ -167,8 +166,7 @@ export default function ShareButton({ title, text, url, className, children }) { } className="m-2 op-btn op-btn-primary op-btn-outline op-btn-xs md:op-btn-sm w-[190px]" > - Share via - Outlook + {t("btnLabel.share-options.outlook")}