From 905fb0093afaeadd54d3e9bf171bf980975a5097 Mon Sep 17 00:00:00 2001 From: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> Date: Mon, 2 Mar 2026 15:50:02 -0300 Subject: [PATCH 1/5] i18n: add TRANSLATORS comments to ModalVerificationCode Add context comments for translators on strings that may be ambiguous or contain placeholders: - 'Identity verification': clarify that "identity" refers to confirming who the signer is via a messaging channel (SMS, WhatsApp, Telegram, Signal, XMPP), not a reference to any specific document; instruct to use a generic compound noun without a definite article - '{contact}': disambiguate as email address or phone/messaging channel depending on the mode - '{method}': clarify as the name of a messaging service Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> --- src/views/SignPDF/_partials/ModalVerificationCode.vue | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/views/SignPDF/_partials/ModalVerificationCode.vue b/src/views/SignPDF/_partials/ModalVerificationCode.vue index a5c1fc81d6..a0a0a4f683 100644 --- a/src/views/SignPDF/_partials/ModalVerificationCode.vue +++ b/src/views/SignPDF/_partials/ModalVerificationCode.vue @@ -215,6 +215,7 @@ export default { if (this.step1Active) { return this.mode === 'email' ? t('libresign', 'Email verification') + // TRANSLATORS Title for step 1 where the signer proves they are the owner of a registered contact channel by receiving a code via SMS, WhatsApp, Telegram, Signal, or XMPP. "Identity" here means confirming who the signer is, not a reference to any specific document. Translate as a generic compound noun without a definite article. : t('libresign', 'Identity verification') } if (!this.identityVerified) { @@ -226,6 +227,7 @@ export default { if (this.step1Active) { return this.mode === 'email' ? t('libresign', 'Step 1 of 3 - Email verification') + // TRANSLATORS Progress text for step 1 where the signer proves they are the owner of a registered contact channel by receiving a code via SMS, WhatsApp, Telegram, Signal, or XMPP. "Identity" here means confirming who the signer is, not a reference to any specific document. Translate as a generic compound noun without a definite article. : t('libresign', 'Step 1 of 3 - Identity verification') } if (!this.identityVerified) { @@ -236,8 +238,10 @@ export default { codeExplanationText() { const contact = this.displayContact if (this.mode === 'email') { + // TRANSLATORS {contact} is the email address where the verification code was sent. return t('libresign', 'A verification code has been sent to: {contact}. Check your email and enter the 6-digit verification code.', { contact }) } + // TRANSLATORS {contact} is the phone number or messaging channel (SMS, WhatsApp, Telegram, Signal, XMPP) where the verification code was sent. return t('libresign', 'A verification code has been sent to: {contact}. Please enter the code to continue.', { contact }) }, displayContact() { @@ -367,6 +371,7 @@ export default { const msg = err.response?.data?.ocs?.data?.message || err.response?.data?.message || err.message if (this.mode === 'token' && msg?.includes('Invalid configuration')) { const method = this.activeTokenMethod.charAt(0).toUpperCase() + this.activeTokenMethod.slice(1) + // TRANSLATORS {method} is the name of a messaging service (e.g. SmsToken, WhatsappToken, TelegramToken, SignalToken, XmppToken). showError(t('libresign', '{method} is not configured. Please contact your administrator.', { method })) } else { showError(msg) From 6a39e10c210b305e2fef59e6d842790f77b5e912 Mon Sep 17 00:00:00 2001 From: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> Date: Mon, 2 Mar 2026 15:51:23 -0300 Subject: [PATCH 2/5] i18n: add TRANSLATORS comments for 'Code validation' string Clarify that "Code" in 'Code validation' and 'Step 2 of 3 - Code validation' refers to a short numeric one-time password (OTP), not source code or any other kind of code, to avoid ambiguous translations. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> --- src/views/SignPDF/_partials/ModalVerificationCode.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/SignPDF/_partials/ModalVerificationCode.vue b/src/views/SignPDF/_partials/ModalVerificationCode.vue index a0a0a4f683..9545bb8d34 100644 --- a/src/views/SignPDF/_partials/ModalVerificationCode.vue +++ b/src/views/SignPDF/_partials/ModalVerificationCode.vue @@ -219,6 +219,7 @@ export default { : t('libresign', 'Identity verification') } if (!this.identityVerified) { + // TRANSLATORS Dialog title for step 2 where the signer enters the numeric verification code (OTP) received by email or messaging channel. "Code" here means a short numeric one-time password, not source code or any other kind of code. return t('libresign', 'Code validation') } return t('libresign', 'Signature confirmation') @@ -231,6 +232,7 @@ export default { : t('libresign', 'Step 1 of 3 - Identity verification') } if (!this.identityVerified) { + // TRANSLATORS Progress text for step 2 where the signer enters the numeric verification code (OTP) received by email or messaging channel. "Code" here means a short numeric one-time password, not source code or any other kind of code. return t('libresign', 'Step 2 of 3 - Code validation') } return t('libresign', 'Step 3 of 3 - Signature confirmation') From 7bbf0461732adf85e4e0c3a2ccf73bc092ed0095 Mon Sep 17 00:00:00 2001 From: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> Date: Mon, 2 Mar 2026 15:52:08 -0300 Subject: [PATCH 3/5] i18n: add TRANSLATORS comments for 'Signature confirmation' string Clarify that 'Signature confirmation' refers to the final step where the signer reviews and confirms their intent to sign the document by clicking a button \u2014 not a receipt or acknowledgment, but the user action that triggers the signing process. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> --- src/views/SignPDF/_partials/ModalVerificationCode.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/SignPDF/_partials/ModalVerificationCode.vue b/src/views/SignPDF/_partials/ModalVerificationCode.vue index 9545bb8d34..e0fabfce60 100644 --- a/src/views/SignPDF/_partials/ModalVerificationCode.vue +++ b/src/views/SignPDF/_partials/ModalVerificationCode.vue @@ -222,6 +222,7 @@ export default { // TRANSLATORS Dialog title for step 2 where the signer enters the numeric verification code (OTP) received by email or messaging channel. "Code" here means a short numeric one-time password, not source code or any other kind of code. return t('libresign', 'Code validation') } + // TRANSLATORS Dialog title for step 3 where the signer reviews and confirms their intent to sign the document by clicking a button. This is not a receipt or acknowledgment — it is the final user action that triggers the signing process. return t('libresign', 'Signature confirmation') }, progressText() { @@ -235,6 +236,7 @@ export default { // TRANSLATORS Progress text for step 2 where the signer enters the numeric verification code (OTP) received by email or messaging channel. "Code" here means a short numeric one-time password, not source code or any other kind of code. return t('libresign', 'Step 2 of 3 - Code validation') } + // TRANSLATORS Progress text for step 3 where the signer reviews and confirms their intent to sign the document by clicking a button. This is not a receipt or acknowledgment — it is the final user action that triggers the signing process. return t('libresign', 'Step 3 of 3 - Signature confirmation') }, codeExplanationText() { From 149eb48700b33e8510b08842c2558a91d98b01f2 Mon Sep 17 00:00:00 2001 From: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> Date: Mon, 2 Mar 2026 15:55:32 -0300 Subject: [PATCH 4/5] i18n: mention delivery channels in TRANSLATORS comments for 'code' strings Improve the three template TRANSLATORS comments that describe OTP 'code' strings to explicitly list the possible delivery channels: email, SMS, WhatsApp, Telegram, Signal, or XMPP. Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> --- src/views/SignPDF/_partials/ModalVerificationCode.vue | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/views/SignPDF/_partials/ModalVerificationCode.vue b/src/views/SignPDF/_partials/ModalVerificationCode.vue index e0fabfce60..25ff89ccea 100644 --- a/src/views/SignPDF/_partials/ModalVerificationCode.vue +++ b/src/views/SignPDF/_partials/ModalVerificationCode.vue @@ -36,8 +36,10 @@
+ {{ t('libresign', 'To sign this document, we must verify your identity. Enter your contact information to receive a verification code.') }}
++ {{ t('libresign', 'You can now sign the document.') }}