diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index 0ec717b36..5511ae483 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -95,8 +95,17 @@ "Note": "Note", "Folder": "Folder", "Reason": "Reason" - - }, + }, + "report-help":{ + "Draft Documents": "These are documents you have started but have not finalized for sending.", + "Need your sign":"This is a list of documents that are waiting for your signature", + "In-progress documents": "This is a list of documents you've sent to other parties for signature.", + "Completed Documents":"This is a list of documents that have been signed by all parties.", + "Declined Documents": "This is a list of documents that have been declined by one of the signers.", + "Expired Documents":"This is a list of documents that have reached their expiration date.", + "Contactbook":"This is a list of contacts/signers added by you. These will appear as suggestions when you try to add signers to a new document.", + "Templates" :"This is a list of templates that are available to you for creating documents. You can click the 'use' button to create a new document using a template, modify the document & add signers in the next step." + }, "form-name":{ "Sign Yourself":"Sign Yourself", "Request Signatures":"Request Signatures", @@ -119,7 +128,63 @@ "no":"No", "auto-reminder":"Auto reminder", "remind-once":" Remind once in every (Days)", - "next":"Next" + "next":"Next", + "select-folder":"Select Folder", + "OpenSign-drive":"OpenSign™ Drive", + "select-folder-help" :"If you do not select a folder, your signed document will be saved in the Main OpenSign drive folder.", + "no-data":"No data found", + "save-here":"Save Here", + "back":"Back", + "add-folder":"Add folder", + "create-folder":"Create Folder", + "parent-folder":"Parent Folder", + "create":"Create", + "Signers":"Signers", + "signers-help":"Begin typing a contact's name to see suggested signers from your saved contacts or add new ones. Arrange the signing order by adding signers in the desired sequence. Use the '+' button to include signers and the 'x' to remove them. Each signer will receive an email prompt to sign the document in the order listed.", + "add-signer":"Add Signer", + "contact-not-found":"Contact not found", + "add-yourself":"Add Yourself", + "submit":"Submit", + "reset":"Reset", + "my-signature":"My Signature", + "signature":"Signature", + "upload-image":" Upload image", + "clear":"Clear", + "upload-signature/Image":"Please upload signature/Image", + "initials":"Initials", + "API" :"API", + "api-token":"API Token", + "regenerate-token":"Regenerate Token", + "generate-token":"Generate Token", + "view-docs":"View Docs", + "generate-token-alert" :"Are you sure you want to regenerate token it will expire old token?", + "yes":"Yes", + "copied":"Copied", + "wrong-mssg":"Something went wrong.", + "token-generated":"Token generated successfully.", + "webhook":"Webhook", + "update-webhook":"Update Webhook", + "add-webhook":"Add Webhook", + "webhook-added" :"Webhook added successfully.", + "document-signature":{ + "loader":" This might take some time", + "pages":"Pages", + "document-signed":"Document signed", + "close":"Close", + "validation-alert":"Validation alert", + "validate-alert-mssg" :" The input does not meet the criteria set by the regular expression.", + "otp-verification":"OTP verification", + "enter-otp":"Enter OTP", + "verify":"Verify", + "resend":"Resend", + "verify-email":"Please verify your email !", + "send-otp":" Send OTP", + "otp-placeholder":"Enter OTP received over email", + "loading-doc":"Loading Document.." + } + + + diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index c97910054..a71bca04d 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -1,4 +1,4 @@ -{ + { "create-account": "Créer un compte", "login": "se connecter", "language":"Langue", @@ -96,6 +96,16 @@ "Folder":"Dossier", "Reason": "Raison" }, + "report-help":{ + "Draft Documents": "Il s'agit de documents que vous avez commencés mais que vous n'avez pas finalisés pour envoi.", + "Need your sign": "Voici une liste de documents qui attendent votre signature", + "In-progress documents": "Il s'agit d'une liste de documents que vous avez envoyés à d'autres parties pour signature.", + "Completed Documents": "Il s'agit d'une liste de documents signés par toutes les parties.", + "Declined Documents": "Il s'agit d'une liste de documents qui ont été refusés par l'un des signataires.", + "Expired Documents": "Il s'agit d'une liste de documents qui ont atteint leur date d'expiration.", + "Contactbook": "Il s'agit d'une liste de contacts/signataires que vous avez ajoutés. Ceux-ci apparaîtront sous forme de suggestions lorsque vous tenterez d'ajouter des signataires à un nouveau document.", + "Templates" : "Il s'agit d'une liste de modèles à votre disposition pour créer des documents. Vous pouvez cliquer sur le bouton 'Utiliser' pour créer un nouveau document à l'aide d'un modèle, modifier le document et ajouter des signataires à l'étape suivante." + }, "form-name":{ "Sign Yourself":"Signez-vous", "Request Signatures":"Demander des signatures", @@ -118,8 +128,62 @@ "no":"Non", "auto-reminder":"Rappel automatique", "remind-once":"Rappeler une fois tous les (jours)", - "next":"suivant" + "next":"Suivant", + "select-folder" :"Sélectionner le dossier", + "OpenSign-drive":"Lecteur OpenSign™", + "select-folder-help" :"Si vous ne sélectionnez pas de dossier, votre document signé sera enregistré dans le dossier du lecteur principal OpenSign.", + "no-data" :"Aucune donnée disponible", + "save-here":"Enregistrer ici", + "back" :"Dos", + "add-folder" :"Ajouter le dossier", + "create-folder":"Créer le dossier", + "parent-folder" :"Dossier parent", + "create":"Créer", + "Signers" :"Signataires", + "signers-help" :"Commencez à saisir le nom d'un contact pour voir les signataires suggérés par vos contacts enregistrés ou en ajouter de nouveaux. Organisez l'ordre de signature en ajoutant des signataires dans l'ordre souhaité. Utilisez le bouton « + » pour inclure les signataires et le « x » pour les supprimer. Chaque signataire recevra un e-mail invité à signer le document dans l'ordre indiqué.", + "add-signer":"Ajouter un signataire", + "contact-not-found" :"Contact introuvable", + "add-yourself" :"Ajoutez-vous", + "submit" :"Soumettre", + "reset" :"Réinitialiser", + "my-signature" :"Ma signature", + "signature":"Signature", + "upload-image" :"Télécharger une image", + "clear" :"clair", + "upload-signature/Image" :"Veuillez télécharger la signature/l'image", + "initials" :"Initiales", + "API" :"API", + "api-token":"Jeton API", + "regenerate-token":"Régénérer le jeton", + "generate-token" :"Générer un jeton", + "view-docs" :"Afficher les documents" , + "generate-token-alert" :"Êtes-vous sûr de vouloir régénérer le jeton, il expirera à l'ancienne jeton?", + "yes" :"Oui", + "copied" :"Copié", + "wrong-mssg" :"Quelque chose s'est mal passé.", + "token-generated" :"Jeton généré avec succès.", + "webhook":"Webhook", + "update-webhook" :"Mettre à jour le webhook", + "add-webhook" :"Ajouter un webhook", + "webhook-added" :"Webhook ajouté avec succès.", + "document-signature":{ + "loader":"Cela pourrait prendre un certain temps", + "pages":"Pages", + "document-signed":"Document signé", + "close":"Close", + "validation-alert":"Alerte de validation", + "validate-alert-mssg" :"L'entrée ne répond pas aux critères définis par l'expression régulière.", + "otp-verification":"Vérification OTP", + "enter-otp":"Entrez OTP", + "verify":"Vérifier", + "resend":"Renvoyer", + "verify-email":"Veuillez vérifier votre email!", + "send-otp":"Envoyer OTP", + "otp-placeholder":"Saisissez l'OTP reçu par e-mail", + "loading-doc":"Chargement du document.." + } + } \ No newline at end of file diff --git a/apps/OpenSign/src/components/AddSigner.js b/apps/OpenSign/src/components/AddSigner.js index 3a3a8cf3b..9b85ebb13 100644 --- a/apps/OpenSign/src/components/AddSigner.js +++ b/apps/OpenSign/src/components/AddSigner.js @@ -1,8 +1,10 @@ import React, { useState, useEffect } from "react"; import Parse from "parse"; import Loader from "../primitives/Loader"; +import { useTranslation } from "react-i18next"; const AddSigner = (props) => { + const { t } = useTranslation(); const [name, setName] = useState(""); const [phone, setPhone] = useState(""); const [email, setEmail] = useState(""); @@ -214,14 +216,14 @@ const AddSigner = (props) => { className="op-checkbox op-checkbox-sm" /> )}
{
{
{
diff --git a/apps/OpenSign/src/components/pdf/RenderAllPdfPage.js b/apps/OpenSign/src/components/pdf/RenderAllPdfPage.js index f8b76adcc..68ac073ed 100644 --- a/apps/OpenSign/src/components/pdf/RenderAllPdfPage.js +++ b/apps/OpenSign/src/components/pdf/RenderAllPdfPage.js @@ -1,4 +1,5 @@ import React, { useEffect, useRef, useState } from "react"; +import { useTranslation } from "react-i18next"; import { Document, Page } from "react-pdf"; import { useSelector } from "react-redux"; @@ -13,6 +14,7 @@ function RenderAllPdfPage({ signerObjectId, containerWH }) { + const { t } = useTranslation(); const [signPageNumber, setSignPageNumber] = useState([]); const [bookmarkColor, setBookmarkColor] = useState(""); //set all number of pages after load pdf @@ -67,14 +69,14 @@ function RenderAllPdfPage({ return (
- Pages + {t("document-signature.pages")}
diff --git a/apps/OpenSign/src/components/pdf/VerifyEmail.js b/apps/OpenSign/src/components/pdf/VerifyEmail.js index 59607f844..b001dfa67 100644 --- a/apps/OpenSign/src/components/pdf/VerifyEmail.js +++ b/apps/OpenSign/src/components/pdf/VerifyEmail.js @@ -1,12 +1,14 @@ import React from "react"; import Loader from "../../primitives/Loader"; +import { useTranslation } from "react-i18next"; function VerifyEmail(props) { + const { t } = useTranslation(); return (

- OTP verification + {t("document-signature.otp-verification")}

{props.isVerifyModal ? (
- + props.setOtp(e.target.value)} />
@@ -45,7 +47,7 @@ function VerifyEmail(props) {
) : (
-

Please verify your email !

+

{t("verify-email")}

diff --git a/apps/OpenSign/src/components/shared/fields/CreateFolder.js b/apps/OpenSign/src/components/shared/fields/CreateFolder.js index f9ffcc9b1..20c253996 100644 --- a/apps/OpenSign/src/components/shared/fields/CreateFolder.js +++ b/apps/OpenSign/src/components/shared/fields/CreateFolder.js @@ -2,6 +2,7 @@ import React, { useEffect, useState } from "react"; import Parse from "parse"; import Alert from "../../../primitives/Alert"; import Loader from "../../../primitives/Loader"; +import { useTranslation } from "react-i18next"; const CreateFolder = ({ parentFolderId, onSuccess, folderCls }) => { const folderPtr = { @@ -9,6 +10,7 @@ const CreateFolder = ({ parentFolderId, onSuccess, folderCls }) => { className: folderCls, objectId: parentFolderId }; + const { t } = useTranslation(); const [name, setName] = useState(""); const [folderList, setFolderList] = useState([]); const [isAlert, setIsAlert] = useState(false); @@ -120,10 +122,13 @@ const CreateFolder = ({ parentFolderId, onSuccess, folderCls }) => {
)} -

Create Folder

+

+ {t("create-folder")} +

{ />
- + { className="op-link" onClick={() => handleUploadBtn()} > - Upload image + {t("upload-image")}
handleClear()} > - Clear + {t("clear")}
@@ -345,14 +347,14 @@ const ManageSign = () => { {warning && ( - Please upload signature/Image + {t("upload-signature/Image")} )}
- Initials + {t("initials")}
{isInitials ? ( @@ -425,7 +427,7 @@ const ManageSign = () => { className="op-link text-sm md:text-base mr-1" onClick={() => handleClearInitials()} > - Clear + {t("clear")}
@@ -437,7 +439,7 @@ const ManageSign = () => { className="op-btn op-btn-primary" onClick={(e) => handleSubmit(e)} > - save + {t("save")} diff --git a/apps/OpenSign/src/pages/SignyourselfPdf.js b/apps/OpenSign/src/pages/SignyourselfPdf.js index d52286f31..a91188bbd 100644 --- a/apps/OpenSign/src/pages/SignyourselfPdf.js +++ b/apps/OpenSign/src/pages/SignyourselfPdf.js @@ -51,8 +51,10 @@ import TextFontSetting from "../components/pdf/TextFontSetting"; import VerifyEmail from "../components/pdf/VerifyEmail"; import PdfZoom from "../components/pdf/PdfZoom"; import Loader from "../primitives/Loader"; +import { useTranslation } from "react-i18next"; //For signYourself inProgress section signer can add sign and complete doc sign. function SignYourSelf() { + const { t } = useTranslation(); const [pdfDetails, setPdfDetails] = useState([]); const [isSignPad, setIsSignPad] = useState(false); const [allPages, setAllPages] = useState(null); @@ -1175,7 +1177,7 @@ function SignYourSelf() {
- This might take some time + {t("document-signature.loader")}
)} @@ -1249,7 +1251,7 @@ function SignYourSelf() { {/* this modal is used show this document is already sign */} { setShowAlreadySignDoc({ status: false }); }} @@ -1262,7 +1264,7 @@ function SignYourSelf() { className="op-btn op-btn-ghost shadow-md" onClick={() => setShowAlreadySignDoc({ status: false })} > - Close + {t("close")} @@ -1417,15 +1419,13 @@ function SignYourSelf() { )} { setValidateAlert(false); }} >
-

- The input does not meet the criteria set by the regular expression. -

+

{t("document-signature.validate-alert-mssg")}

diff --git a/apps/OpenSign/src/pages/UserProfile.js b/apps/OpenSign/src/pages/UserProfile.js index 0781094af..8accaa439 100644 --- a/apps/OpenSign/src/pages/UserProfile.js +++ b/apps/OpenSign/src/pages/UserProfile.js @@ -406,7 +406,10 @@ function UserProfile() { onChange={(e) => SetName(e.target.value)} /> ) : ( - {localStorage.getItem("username")} + + {/* {localStorage.getItem("username")} */} +

{t("greeting", { name })}

+
)}
  • - OpenSign™ Webhook{" "} + OpenSign™ {t("webhook")}{" "}
  • - Webhook:{" "} + {t("webhook")}:{" "} {webhook ? webhook : "_____"} @@ -126,7 +128,7 @@ function Webhook() { onClick={handleModal} className="op-btn op-btn-primary" > - {webhook ? "Update Webhook" : "Add Webhook"} + {webhook ? t("update-webhook") : t("add-webhook")}
  • @@ -140,7 +142,7 @@ function Webhook() { } className="op-btn op-btn-secondary mt-2 mb-3 px-7" > - View Docs + {t("view-docs")}

    {error}}
    - + setWebhook(e.target.value)} @@ -165,13 +167,13 @@ function Webhook() { onClick={handleSubmit} className="op-btn op-btn-primary ml-[2px]" > - Yes + {t("yes")}
    diff --git a/apps/OpenSign/src/primitives/GetReportDisplay.js b/apps/OpenSign/src/primitives/GetReportDisplay.js index fea0e0f82..dde156ee3 100644 --- a/apps/OpenSign/src/primitives/GetReportDisplay.js +++ b/apps/OpenSign/src/primitives/GetReportDisplay.js @@ -1076,7 +1076,7 @@ const ReportTable = (props) => { {t(`report-name.${props.ReportName}`)} {props.report_help && ( - + )}