From dd9d3d0b47dd5f8706457ed60b1bc1230a728512 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20V=C3=A4nttinen?= Date: Wed, 4 Mar 2026 15:27:34 +0200 Subject: [PATCH] Update to 1.10.0 (#2891) --- CHANGELOG | 28 + dist/manifest_chromium.json | 4 +- dist/manifest_firefox.json | 2 +- keepassxc-browser/_locales/bg/messages.json | 8 + keepassxc-browser/_locales/da/messages.json | 8 + keepassxc-browser/_locales/de/messages.json | 8 + keepassxc-browser/_locales/el/messages.json | 8 + .../_locales/en_GB/messages.json | 8 + keepassxc-browser/_locales/es/messages.json | 8 + keepassxc-browser/_locales/fi/messages.json | 18 +- keepassxc-browser/_locales/fr/messages.json | 8 + keepassxc-browser/_locales/he/messages.json | 8 + keepassxc-browser/_locales/hu/messages.json | 18 +- keepassxc-browser/_locales/id/messages.json | 8 + keepassxc-browser/_locales/it/messages.json | 58 +- keepassxc-browser/_locales/ja/messages.json | 8 + keepassxc-browser/_locales/ko/messages.json | 8 + keepassxc-browser/_locales/lt/messages.json | 8 + keepassxc-browser/_locales/nb/messages.json | 8 + keepassxc-browser/_locales/nl/messages.json | 8 + keepassxc-browser/_locales/pl/messages.json | 10 +- .../_locales/pt_BR/messages.json | 8 + .../_locales/pt_PT/messages.json | 8 + keepassxc-browser/_locales/ro/messages.json | 8 + keepassxc-browser/_locales/ru/messages.json | 8 + keepassxc-browser/_locales/sv/messages.json | 8 + keepassxc-browser/_locales/tr/messages.json | 8 + keepassxc-browser/_locales/uk/messages.json | 42 +- keepassxc-browser/_locales/vi/messages.json | 1465 +++++++++++++++++ .../_locales/zh_CN/messages.json | 8 + .../_locales/zh_TW/messages.json | 8 + keepassxc-browser/manifest.json | 4 +- package-lock.json | 16 +- package.json | 2 +- 34 files changed, 1776 insertions(+), 67 deletions(-) create mode 100644 keepassxc-browser/_locales/vi/messages.json diff --git a/CHANGELOG b/CHANGELOG index 394b31c..a26a6e0 100755 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,31 @@ +1.10.0 (2026-03-04) +========================= +- Add preliminary support for Safari [#2800] +- Add 'mfaCode' to accepted 2FA token fields (thanks hostops) [#2804] +- Add "postcode" to ignored TOTP list (thanks JackDunnCodes) [#2793] +- Add support for Related Origin Requests with passkeys [#2828] +- Add support for features list [#2848] +- Add support for publicKey in passkeys response [#2782] +- Fix hiding form switch animation when options page loads (thanks stefansundin) [#2807] +- Fix TOTP field detection with Microsoft sites [#2832] +- Fix the ability to fake same-orogin with passkeys (thanks a2kolbasov) [#2849] +- Fix detecting transitions [#2855] +- Fix Google password input detection [#2861] +- Fix Epic Games and Paypal password input detection [#2863] +- Fix using invalid parameters with MutationObserver [#2784] +- Fix ignoring partial nodeNames [#2745] +- Fix incorrect error message on keyboard fill [#2814] +- Fix reopen database shortcut (thanks a2kolbasov) [#2767] +- Fix showing notifications always on the top window [#2789] +- Fix missing digits in TOTP fill on some sites (thanks ElementW) [#2794] +- Fix setting default redirect allowance to 3 (thanks SinnySupernova) [#2797] +- Fix createObserver() check [#2873] +- Fix retry on input field detection with Custom Login Fields [#2875] +- Fix detecting new password input on forms [#2878] +- Fix form submit to ignore password related buttons [#2882] +- Refactor icon handling [#2791] +- Update webextension-polyfill library [#2822] + 1.9.11 (2025-11-26) ========================= - Add support for reseting all settings to defaults [#2720] diff --git a/dist/manifest_chromium.json b/dist/manifest_chromium.json index 0a337ee..1c48ba9 100755 --- a/dist/manifest_chromium.json +++ b/dist/manifest_chromium.json @@ -1,8 +1,8 @@ { "manifest_version": 3, "name": "KeePassXC-Browser", - "version": "1.9.11", - "version_name": "1.9.11", + "version": "1.10.0", + "version_name": "1.10.0", "minimum_chrome_version": "124", "description": "__MSG_extensionDescription__", "author": "KeePassXC Team", diff --git a/dist/manifest_firefox.json b/dist/manifest_firefox.json index dd87504..a19ef81 100644 --- a/dist/manifest_firefox.json +++ b/dist/manifest_firefox.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "KeePassXC-Browser", - "version": "1.9.11", + "version": "1.10.0", "description": "__MSG_extensionDescription__", "author": "KeePassXC Team", "icons": { diff --git a/keepassxc-browser/_locales/bg/messages.json b/keepassxc-browser/_locales/bg/messages.json index 07a975a..99d0b30 100644 --- a/keepassxc-browser/_locales/bg/messages.json +++ b/keepassxc-browser/_locales/bg/messages.json @@ -406,6 +406,10 @@ "message": "Изтекъл", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Получаване на регистрации", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Грешка: Не са намерени полета, които да бъдат попълнени.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Изисква KeePassXC издание: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "Разширението изисква KeePassXC издание $1. По-ранни издания могат да доведат до нежелано поведение.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "По подразбиране: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/da/messages.json b/keepassxc-browser/_locales/da/messages.json index c1e7d62..fcc3269 100644 --- a/keepassxc-browser/_locales/da/messages.json +++ b/keepassxc-browser/_locales/da/messages.json @@ -406,6 +406,10 @@ "message": "Udløbet", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Fejl: Kan ikke finde felterne som skal udfyldes.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Kræver KeePassXC-version: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Standard: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/de/messages.json b/keepassxc-browser/_locales/de/messages.json index e3121d3..9444ae1 100644 --- a/keepassxc-browser/_locales/de/messages.json +++ b/keepassxc-browser/_locales/de/messages.json @@ -406,6 +406,10 @@ "message": "Abgelaufen", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Anmeldedaten abrufen", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Fehler:\nAuszufüllende Felder können nicht gefunden werden.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Benötigt KeePassXC-Version: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "Die Erweiterung erfordert die KeePassXC-Version: $1. Frühere Versionen können zu unerwünschtem Verhalten führen.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Standard: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/el/messages.json b/keepassxc-browser/_locales/el/messages.json index 5ab899a..6d9725b 100644 --- a/keepassxc-browser/_locales/el/messages.json +++ b/keepassxc-browser/_locales/el/messages.json @@ -406,6 +406,10 @@ "message": "Έληξε", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Σφάλμα: Δεν είναι δυνατή η εύρεση πεδίων για συμπλήρωση.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Απαιτείται έκδοση KeePassXC: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Προεπιλογή: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/en_GB/messages.json b/keepassxc-browser/_locales/en_GB/messages.json index 5119d39..a1010e4 100644 --- a/keepassxc-browser/_locales/en_GB/messages.json +++ b/keepassxc-browser/_locales/en_GB/messages.json @@ -406,6 +406,10 @@ "message": "Expired", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Error: Cannot find fields to fill in.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Requires KeePassXC version: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behaviour.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Default: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/es/messages.json b/keepassxc-browser/_locales/es/messages.json index b29c9ee..b026e87 100644 --- a/keepassxc-browser/_locales/es/messages.json +++ b/keepassxc-browser/_locales/es/messages.json @@ -406,6 +406,10 @@ "message": "Caducado", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Error: No se pueden encontrar campos para rellenar.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Requiere la versión de KeePassXC: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Por defecto: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/fi/messages.json b/keepassxc-browser/_locales/fi/messages.json index bf335d3..ee2eca2 100644 --- a/keepassxc-browser/_locales/fi/messages.json +++ b/keepassxc-browser/_locales/fi/messages.json @@ -319,11 +319,11 @@ "description": "Clear save data button text when choosing Custom Login Fields." }, "defineStringField": { - "message": "String Field", + "message": "Lisämerkkijonokenttä", "description": "Text for string field." }, "defineSubmitButton": { - "message": "Submit Button", + "message": "Lähetä-nappi", "description": "Text for Submit Button." }, "defineChooseUsername": { @@ -343,11 +343,11 @@ "description": "Choose String Fields a selection text when choosing Custom Login Fields." }, "defineChooseSubmitButton": { - "message": "Choose submit button", + "message": "Valitse lähetä-nappi", "description": "Choose submit button selection text when choosing Custom Login Fields." }, "defineHelpText": { - "message": "Please confirm your selection or choose more fields as String Fields.", + "message": "Vahvista valintasi tai merkitse lisää kenttiä lisämerkkijonokentiksi.", "description": "Confirm a selection text when choosing Custom Login Fields which contains String Fields." }, "defineKeyboardText": { @@ -371,7 +371,7 @@ "description": "General text for a String Fields." }, "submitButton": { - "message": "Submit Button", + "message": "Lähetä-nappi", "description": "Custom Submit Button text." }, "credentialsNoUsername": { @@ -406,6 +406,10 @@ "message": "Vanhentunut", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Hae tietueet", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Virhe:\nTäytön tarvitsemia kenttiä ei löydy.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Vaatii KeePassXC:n version: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "Tämä selainlaajennus vaatii KeePassXC-version: $1. Aiemmat versiot voivat aiheuttaa epätoivottua käytöstä.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Oletus: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/fr/messages.json b/keepassxc-browser/_locales/fr/messages.json index 6382df4..74ccaed 100644 --- a/keepassxc-browser/_locales/fr/messages.json +++ b/keepassxc-browser/_locales/fr/messages.json @@ -406,6 +406,10 @@ "message": "est expiré", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Obtenir les identifiants.", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Erreur : Impossible de trouver des champs à remplir.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Exige KeePassXC version : $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "L’extension nécessite la version KeePassXC : $1. Les versions antérieures peuvent entraîner des comportements indésirables.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Par défaut : $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/he/messages.json b/keepassxc-browser/_locales/he/messages.json index e0678a7..c7d4395 100644 --- a/keepassxc-browser/_locales/he/messages.json +++ b/keepassxc-browser/_locales/he/messages.json @@ -406,6 +406,10 @@ "message": "תפוגה", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "שגיאה: לא ניתן למצוא שדות למילוי.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "נדרשת גרסת KeePassXC: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "ברירת מחדל: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/hu/messages.json b/keepassxc-browser/_locales/hu/messages.json index 3a8911d..6d32f29 100644 --- a/keepassxc-browser/_locales/hu/messages.json +++ b/keepassxc-browser/_locales/hu/messages.json @@ -319,11 +319,11 @@ "description": "Clear save data button text when choosing Custom Login Fields." }, "defineStringField": { - "message": "String Field", + "message": "Karakterláncmező", "description": "Text for string field." }, "defineSubmitButton": { - "message": "Submit Button", + "message": "Beküldés gomb", "description": "Text for Submit Button." }, "defineChooseUsername": { @@ -343,11 +343,11 @@ "description": "Choose String Fields a selection text when choosing Custom Login Fields." }, "defineChooseSubmitButton": { - "message": "Choose submit button", + "message": "Beküldés gomb kijelölése", "description": "Choose submit button selection text when choosing Custom Login Fields." }, "defineHelpText": { - "message": "Please confirm your selection or choose more fields as String Fields.", + "message": "Erősítse meg a választását vagy válasszon több mezőt karakterlánc mezőkként.", "description": "Confirm a selection text when choosing Custom Login Fields which contains String Fields." }, "defineKeyboardText": { @@ -371,7 +371,7 @@ "description": "General text for a String Fields." }, "submitButton": { - "message": "Submit Button", + "message": "Beküldés gomb", "description": "Custom Submit Button text." }, "credentialsNoUsername": { @@ -406,6 +406,10 @@ "message": "Lejárt", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Hitelesítő adatok lekérése", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Hiba:\nNem találhatók kitöltendő mezők.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Szükséges KeePassXC verzió: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "A kiterjesztéshez a KeePassXC ezen verziója szükséges: $1. A korábbi verziók nem kívánt viselkedést okozhatnak.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Alapértelmezett: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/id/messages.json b/keepassxc-browser/_locales/id/messages.json index f2b070d..5838ab1 100644 --- a/keepassxc-browser/_locales/id/messages.json +++ b/keepassxc-browser/_locales/id/messages.json @@ -406,6 +406,10 @@ "message": "Kedaluwarsa", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Error: Tidak dapat menemukan bidang yang harus diisi.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Membutuhkan KeePassXC versi: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Standar: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/it/messages.json b/keepassxc-browser/_locales/it/messages.json index 7c7acd2..833e82d 100644 --- a/keepassxc-browser/_locales/it/messages.json +++ b/keepassxc-browser/_locales/it/messages.json @@ -8,7 +8,7 @@ "description": "Add button title text on Site Preferences tab." }, "editSitePreferenceButtonTitle": { - "message": "Modifica URL per queste Preferenze Sito", + "message": "Modifica URL per queste preferenze sito", "description": "Edit button title text on Site Preferences tab." }, "allowIframeButtonTitle": { @@ -20,7 +20,7 @@ "description": "Connect button title text." }, "copyDebugInfoButtonTitle": { - "message": "Copia informazioni di debug negli appunti", + "message": "Copia informazioni debug negli appunti", "description": "Copy debug info button title text on About tab." }, "dismissHttpAuthButtonTitle": { @@ -244,7 +244,7 @@ "description": "Error notification shown when not connected to KeePassXC." }, "errorCurrentDatabaseNotConnected": { - "message": "Il database corrente non è connesso.", + "message": "Il database attuale non è connesso.", "description": "Error notification shown when current database is not connected during action." }, "passwordGeneratorErrorTooLong": { @@ -319,11 +319,11 @@ "description": "Clear save data button text when choosing Custom Login Fields." }, "defineStringField": { - "message": "String Field", + "message": "Campo stringa", "description": "Text for string field." }, "defineSubmitButton": { - "message": "Submit Button", + "message": "Pulsante Invia", "description": "Text for Submit Button." }, "defineChooseUsername": { @@ -343,11 +343,11 @@ "description": "Choose String Fields a selection text when choosing Custom Login Fields." }, "defineChooseSubmitButton": { - "message": "Choose submit button", + "message": "Scegli pulsante Invia", "description": "Choose submit button selection text when choosing Custom Login Fields." }, "defineHelpText": { - "message": "Please confirm your selection or choose more fields as String Fields.", + "message": "Conferma la selezione o scegli più campi come campi stringa.", "description": "Confirm a selection text when choosing Custom Login Fields which contains String Fields." }, "defineKeyboardText": { @@ -371,7 +371,7 @@ "description": "General text for a String Fields." }, "submitButton": { - "message": "Submit Button", + "message": "Pulsante Invia", "description": "Custom Submit Button text." }, "credentialsNoUsername": { @@ -391,7 +391,7 @@ "description": "Alert message when trying to fill username and/or password when multiple credentials are found." }, "credentialsMultipleFoundSecondLine": { - "message": "Premi l'icona di KeePassXC-Browser per ulteriori opzioni.", + "message": "Per ulteriori opzioni seelziona l'icona di KeePassXC-Browser.", "description": "Alert message when trying to fill username and/or password when multiple credentials are found." }, "credentialsNoUsernameFound": { @@ -406,6 +406,10 @@ "message": "Scaduta", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Recupera credenziali", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Errore: impossibile trovare campi da compilare.", "description": "Alert message when no fields are found to fill in." @@ -499,7 +503,7 @@ "description": "Checking status message in popup." }, "popupNotConfigured": { - "message": "KeePassXC-Browser non è stato configurato. Premi il pulsante connetti per associarlo a KeePassXC.", + "message": "KeePassXC-Browser non è stato configurato. \nPer associarlo a KeePassXC seleziona il pulsante 'Connetti'.", "description": "A popup message shown when the extension has not been connected to KeePassXC." }, "popupNeedReconfigure": { @@ -507,7 +511,7 @@ "description": "A popup message shown when the extension has been disconnected from KeePassXC." }, "popupNeedReconfigureMessage": { - "message": "Premi il pulsante riconnetti per stabilire una nuova connessione.", + "message": "Per stabilire una nuova connessione seleziona il pulsante 'Riconnetti'.", "description": "A popup message shown when reconnect is needed." }, "popupConfiguredNotAssociated": { @@ -547,7 +551,7 @@ "description": "A message shown choosing what credentials user wants to update." }, "rememberChooseGroup": { - "message": "Scegli un gruppo per memorizzare le nuove credenziali.", + "message": "Per memorizzare le nuove credenziali scegli un gruppo.", "description": "A message shown choosing what group user wants to use for new credentials." }, "rememberInfoDefaultGroupNotFound": { @@ -759,7 +763,7 @@ "description": "Default group help text." }, "optionsLabelDefaultPasskeyGroup": { - "message": "Gruppo predefinito per il salvataggio delle nuove passkeys:", + "message": "Gruppo predefinito salvataggio nuove passkey:", "description": "Default passkey group options text." }, "optionsLabelDefaultGroupCheckboxText": { @@ -851,11 +855,11 @@ "description": "Show login notifications checkbox text." }, "optionsDefaultPasswordManager": { - "message": "Imposta come password manager di default", + "message": "Imposta come password manager predefinito", "description": "Default password manager checkbox text." }, "optionsDefaultPasswordManagerHelpText": { - "message": "Imposta KeePassXC-Browser come password manager di default per il browser.", + "message": "Imposta KeePassXC-Browser come password manager predefinito per il browser.", "description": "Default password manager help text." }, "optionsRedirectAllowance": { @@ -955,7 +959,7 @@ "description": "OTP field icon option help text." }, "optionsHideIconsAlertText": { - "message": "Puoi nascondere le icone manualmente quando occorre con Shift+Click", + "message": "Puoi nascondere le icone manualmente quando occorre con Maiusc+Clic", "description": "Hide icons alert text text." }, "optionsAutoRetrieveCredentialsHelpText": { @@ -971,7 +975,7 @@ "description": "Auto-Fill Single Entry option help text." }, "optionsAutoFillRelevantCredentialHelpText": { - "message": "Compila automaticamente le credenziali pertinenti se è necessario un secondo riempimento.", + "message": "Se è necessario un secondo riempimento compila automaticamente le credenziali pertinenti.", "description": "Auto-Fill Relevant Credential option help text." }, "optionsAutoFillSingleEntryWarning": { @@ -1054,6 +1058,10 @@ "message": "Richiede KeePassXC versione: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "L'estensione richiede la versione KeePassXC: $1. Le versioni precedenti possono causare comportamenti indesiderati.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Predefinito: $1", "description": "Default setting text." @@ -1091,7 +1099,7 @@ "description": "Import settings confirmation dialog help text." }, "optionsResetSettingsDialogText": { - "message": "Tutte le impostazioni verranno ripristinate ai valori predefiniti. Sei sicuro?", + "message": "Tutte le impostazioni verranno ripristinate ai valori predefiniti. \nVuoi continuare?", "description": "Reset all settings dialog text." }, "optionsConnectedDatabasesText": { @@ -1107,7 +1115,7 @@ "description": "Confirmation text when removing database from the list." }, "optionsDatabasesRemoveIdentifierConfirmFirst": { - "message": "Vuoi davvero rimuovere l'identificatore $1 dall'elenco del database? ", + "message": "Vuoi rimuovere l'identificatore $1 dall'elenco database? ", "description": "Confirmation text when removing database from the list." }, "optionsDatabasesRemoveIdentifierConfirmSecond": { @@ -1427,23 +1435,23 @@ "description": "Lock database button title text." }, "welcomeText": { - "message": "Benvenuto su KeePassXC-Browser!", + "message": "Benvenuto in KeePassXC-Browser!", "description": "Main title of Getting Started page." }, "documentationGettingStarted": { - "message": "Grazie alla nostra Guida introduttiva sarai subito operativo.", + "message": "Grazie alla nostra 'Guida introduttiva' sarai subito operativo.", "description": "Getting Started document text." }, "documentationUserGuide": { - "message": "Cerchi una documentazione più completa? La nostra Guida per l'utente è qui per aiutarti.", + "message": "Cerchi una documentazione più completa? \nLa nostra 'Guida per l'utente' è qui per aiutarti.", "description": "User Guide text." }, "documentationTroubleshootingGuide": { - "message": "Hai bisogno di aiuto per risolvere i problemi di integrazione del browser? Consulta la Guida alla risoluzione dei problemi.", + "message": "Hai bisogno di aiuto per risolvere i problemi di integrazione del browser? Consulta la 'Guida alla risoluzione dei problemi'.", "description": "Troubleshooting Guide text." }, "gettingStartedWelcomeText": { - "message": "Benvenuti su KeePassXC-Browser, l'estensione ufficiale del browser per KeePassXC.", + "message": "Benvenuti in KeePassXC-Browser, l'estensione ufficiale del browser per KeePassXC.", "description": "Welcome to KeePassXC-Browser, the official browser extension for KeePassXC." }, "gettingStartedSecondWelcomeText": { @@ -1451,7 +1459,7 @@ "description": "Please go through the default settings and check all your preferred options." }, "gettingStartedNewUser": { - "message": "Sei un nuovo utente? Consulta i link alla nostra documentazione.", + "message": "Sei un nuovo utente? \nConsulta i collegamenti alla nostra documentazione.", "description": "Are you a new user? Check links to our documentation." } } diff --git a/keepassxc-browser/_locales/ja/messages.json b/keepassxc-browser/_locales/ja/messages.json index e3c92e3..3eaa3a0 100644 --- a/keepassxc-browser/_locales/ja/messages.json +++ b/keepassxc-browser/_locales/ja/messages.json @@ -406,6 +406,10 @@ "message": "期限切れ", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "エラー: 入力するフィールドを見つけられません。", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "次のバージョン以上の KeePassXC が必要です: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "デフォルト: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/ko/messages.json b/keepassxc-browser/_locales/ko/messages.json index a1d439a..0c6e00a 100644 --- a/keepassxc-browser/_locales/ko/messages.json +++ b/keepassxc-browser/_locales/ko/messages.json @@ -406,6 +406,10 @@ "message": "만료됨", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "오류:\n입력할 필드를 찾을 수 없습니다.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "필요한 KeePassXC 버전: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "기본값: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/lt/messages.json b/keepassxc-browser/_locales/lt/messages.json index 50d72c8..2dc6a00 100644 --- a/keepassxc-browser/_locales/lt/messages.json +++ b/keepassxc-browser/_locales/lt/messages.json @@ -406,6 +406,10 @@ "message": "Nebegalioja", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Klaida: nepavyksta rasti pildomų laukų.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Reikalinga KeePassXC versija: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Numatytoji reikšmė: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/nb/messages.json b/keepassxc-browser/_locales/nb/messages.json index 20901dc..0f76eee 100644 --- a/keepassxc-browser/_locales/nb/messages.json +++ b/keepassxc-browser/_locales/nb/messages.json @@ -406,6 +406,10 @@ "message": "Utløpt", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Feil: Finner ikke felt å fylle ut.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Krever KeePassXC-versjon: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Standard: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/nl/messages.json b/keepassxc-browser/_locales/nl/messages.json index 5086e4a..637929e 100644 --- a/keepassxc-browser/_locales/nl/messages.json +++ b/keepassxc-browser/_locales/nl/messages.json @@ -406,6 +406,10 @@ "message": "Verlopen", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Inloggegevens ophalen", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Fout: geen invulvelden aangetroffen.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Vereiste KeePassXC-versie: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "De extensie vereist KeePassXC-versie: $1. Eerdere versies kunnen ongewenst gedrag veroorzaken.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Standaard: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/pl/messages.json b/keepassxc-browser/_locales/pl/messages.json index c01f963..71d806b 100644 --- a/keepassxc-browser/_locales/pl/messages.json +++ b/keepassxc-browser/_locales/pl/messages.json @@ -406,6 +406,10 @@ "message": "Wygasłe", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Pobierz dane uwierzytelniające", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Błąd:\nNie można znaleźć pól do wypełnienia.", "description": "Alert message when no fields are found to fill in." @@ -959,7 +963,7 @@ "description": "Hide icons alert text text." }, "optionsAutoRetrieveCredentialsHelpText": { - "message": "KeePassXC-Browser natychmiast odbierze dane uwierzytelniające po aktywowaniu karty.", + "message": "KeePassXC-Browser natychmiast pobierze dane uwierzytelniające po aktywowaniu karty.", "description": "Auto-Retrive Credentials option help text." }, "optionsAutomaticReconnectHelpText": { @@ -1054,6 +1058,10 @@ "message": "Wymaga KeePassXC w wersji: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "Rozszerzenie wymaga KeePassXC w wersji $1. Starsze wersje mogą powodować niepożądane zachowania.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Domyślne: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/pt_BR/messages.json b/keepassxc-browser/_locales/pt_BR/messages.json index 8fc3c3a..30079cd 100644 --- a/keepassxc-browser/_locales/pt_BR/messages.json +++ b/keepassxc-browser/_locales/pt_BR/messages.json @@ -406,6 +406,10 @@ "message": "Expirado", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Recuperar credenciais", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Erro: Não foi possível encontrar campos para preencher.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Precisa da versão do KeePassXC: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "A extensão requer a versão KeePassXC: $1. Versões anteriores podem causar comportamentos indesejados.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Padrão: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/pt_PT/messages.json b/keepassxc-browser/_locales/pt_PT/messages.json index fd509ce..3231583 100644 --- a/keepassxc-browser/_locales/pt_PT/messages.json +++ b/keepassxc-browser/_locales/pt_PT/messages.json @@ -406,6 +406,10 @@ "message": "Caducada", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Erro: não foram encontrados campos que possam ser preenchidos", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Necessita de KeePassXC, versão: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Padrão: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/ro/messages.json b/keepassxc-browser/_locales/ro/messages.json index 2cd2be5..21e55dc 100644 --- a/keepassxc-browser/_locales/ro/messages.json +++ b/keepassxc-browser/_locales/ro/messages.json @@ -406,6 +406,10 @@ "message": "Expirat", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Eroare: Imposibil de găsit câmpuri de completat.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Necesită versiunea de KeePassXC: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Implicit: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/ru/messages.json b/keepassxc-browser/_locales/ru/messages.json index 76620a9..6d84f0e 100644 --- a/keepassxc-browser/_locales/ru/messages.json +++ b/keepassxc-browser/_locales/ru/messages.json @@ -406,6 +406,10 @@ "message": "Истекло", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Retrieve credentials", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "ОШИБКА: нет полей для заполнения.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Требуемая версия KeePassXC: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "По умолчанию: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/sv/messages.json b/keepassxc-browser/_locales/sv/messages.json index 764d4ba..373e8df 100644 --- a/keepassxc-browser/_locales/sv/messages.json +++ b/keepassxc-browser/_locales/sv/messages.json @@ -406,6 +406,10 @@ "message": "Förfallen", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Hämta autentiseringsuppgifter", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Fel:\nKan inte hitta fält att fylla i.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "Kräver KeePassXC version: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Förinställt: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/tr/messages.json b/keepassxc-browser/_locales/tr/messages.json index 6bea857..9426b74 100644 --- a/keepassxc-browser/_locales/tr/messages.json +++ b/keepassxc-browser/_locales/tr/messages.json @@ -406,6 +406,10 @@ "message": "Süresi dolmuş", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Kimlik doğrulama bilgilerini al", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Hata: Doldurulacak alanlar bulunamadı.", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "KeePassXC $1 sürümünü gerektirir", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "Bu eklenti için KeePassXC $1 sürümü gereklidir. Önceki sürümler istenmeyen davranışlara yol açabilir.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Varsayılan: $1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/uk/messages.json b/keepassxc-browser/_locales/uk/messages.json index 22be924..c8cc797 100644 --- a/keepassxc-browser/_locales/uk/messages.json +++ b/keepassxc-browser/_locales/uk/messages.json @@ -188,7 +188,7 @@ "description": "Credential is excluded." }, "errorMessagePasskeysRequestCanceled": { - "message": "Запит на Passkeys-ключі скасовано.", + "message": "Запит на використання ключів доступу скасовано.", "description": "Passkeys request canceled." }, "errorMessagePasskeysInvalidUserVerification": { @@ -224,7 +224,7 @@ "description": "Wait for timer to expire." }, "errorMessagePasskeysUnknownError": { - "message": "Невідома помилка паролів.", + "message": "Невідома помилка ключів доступу.", "description": "Unknown passkeys error." }, "errorMessagePasskeysInvalidChallenge": { @@ -319,11 +319,11 @@ "description": "Clear save data button text when choosing Custom Login Fields." }, "defineStringField": { - "message": "String Field", + "message": "Поле рядка", "description": "Text for string field." }, "defineSubmitButton": { - "message": "Submit Button", + "message": "Кнопка «Відправити»", "description": "Text for Submit Button." }, "defineChooseUsername": { @@ -343,11 +343,11 @@ "description": "Choose String Fields a selection text when choosing Custom Login Fields." }, "defineChooseSubmitButton": { - "message": "Choose submit button", + "message": "Виберіть кнопку «Відправити»", "description": "Choose submit button selection text when choosing Custom Login Fields." }, "defineHelpText": { - "message": "Please confirm your selection or choose more fields as String Fields.", + "message": "Підтвердьте свій вибір або виберіть більше полів як рядкові поля.", "description": "Confirm a selection text when choosing Custom Login Fields which contains String Fields." }, "defineKeyboardText": { @@ -371,7 +371,7 @@ "description": "General text for a String Fields." }, "submitButton": { - "message": "Submit Button", + "message": "Кнопка «Відправити»", "description": "Custom Submit Button text." }, "credentialsNoUsername": { @@ -383,7 +383,7 @@ "description": "Shown when no credentials are found for the current page." }, "credentialsBlockedInIframe": { - "message": "Credential fill blocked in untrusted iframe.", + "message": "Заповнення облікових даних заблоковано в ненадійному iframe.", "description": "Alert message when filling credentials is blocked due to iframe restrictions." }, "credentialsMultipleFound": { @@ -406,6 +406,10 @@ "message": "Протерміновано", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "Отримати облікові дані", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "Помилка: Не вдалося знайти поля для заповнення.", "description": "Alert message when no fields are found to fill in." @@ -691,7 +695,7 @@ "description": "Site Preferences page header." }, "optionsSitePreferencesSettings": { - "message": "Settings", + "message": "Налаштування", "description": "Site Preferences settings button text." }, "optionsMenuAbout": { @@ -747,7 +751,7 @@ "description": "Export settings button text." }, "optionsButtonResetSettings": { - "message": "Reset all settings", + "message": "Скинути всі налаштування", "description": "Reset all settings button text." }, "optionsLabelDefaultGroup": { @@ -1054,6 +1058,10 @@ "message": "Потребує версію KeePassXC: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "Для розширення потрібна версія KeePassXC: $1. Більш ранні версії можуть спричинити небажану поведінку.", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "Типово: $1", "description": "Default setting text." @@ -1091,7 +1099,7 @@ "description": "Import settings confirmation dialog help text." }, "optionsResetSettingsDialogText": { - "message": "All settings will be reset to defaults. Are you sure?", + "message": "Всі налаштування будуть скинуті. Ви впевнені?", "description": "Reset all settings dialog text." }, "optionsConnectedDatabasesText": { @@ -1139,7 +1147,7 @@ "description": "Site Preferences list column title." }, "optionsColumnFeatures": { - "message": "Features", + "message": "Особливості", "description": "Site Preferences list column title." }, "optionsColumnUsernameOnly": { @@ -1171,7 +1179,7 @@ "description": "Site Preferences option selection." }, "optionsSelectionPasskeys": { - "message": "Disable passkeys", + "message": "Вимкнути ключі доступу", "description": "Site Preferences option selection." }, "optionsSelectionFull": { @@ -1391,11 +1399,11 @@ "description": "Extension title in settings page" }, "optionsPasskeysTitle": { - "message": "Passkey-ключі", + "message": "Ключі доступу", "description": "Passkeys settings title in settings page." }, "optionsPasskeysEnable": { - "message": "Увімкнути паролі", + "message": "Увімкнути ключі доступу", "description": "Enabled passkeys option text." }, "optionsPasskeysEnableHelpText": { @@ -1403,11 +1411,11 @@ "description": "Passkeys option help text." }, "optionsPasskeysEnableFallback": { - "message": "Увімкнути резервний варіант паролів", + "message": "Увімкнути резервний метод для ключів доступу", "description": "Enabled passkeys fallback option text." }, "optionsPasskeysEnableFallbackHelpText": { - "message": "Коли увімкнено, невдала або скасована спроба запиту до KeePassXC викликатиме запит на паролі через внутрішню систему браузера. Якщо вимкнено, для підключення до KeePassXC буде потрібно, і скасований запит зазнає невдачі. За замовчуванням: увімкнено.", + "message": "Якщо увімкнено, невдалий або скасований запит до KeePassXC спричинить власний внутрішній запит браузера на ключі доступу. Якщо вимкнено, необхідне підключення до KeePassXC, а скасований запит буде невдалим. За замовчуванням: увімкнено.", "description": "Passkeys fallback option help text." }, "openNewTab": { diff --git a/keepassxc-browser/_locales/vi/messages.json b/keepassxc-browser/_locales/vi/messages.json new file mode 100644 index 0000000..409b5ed --- /dev/null +++ b/keepassxc-browser/_locales/vi/messages.json @@ -0,0 +1,1465 @@ +{ + "extensionDescription": { + "message": "Tích hợp KeePassXC cho trình duyệt web hiện đại", + "description": "Name of the extension." + }, + "addSitePreferenceButtonTitle": { + "message": "Thêm tùy chọn trang web cho URL này.", + "description": "Add button title text on Site Preferences tab." + }, + "editSitePreferenceButtonTitle": { + "message": "Chỉnh sửa URL cho tùy chọn trang web này.", + "description": "Edit button title text on Site Preferences tab." + }, + "allowIframeButtonTitle": { + "message": "Cho phép iframe Cross-Origin cho trang hiện tại.", + "description": "Allow Cross-Origin iframes button title text." + }, + "connectButtonTitle": { + "message": "Kết nối cơ sở dữ liệu đang hoạt động với KeePassXC-Browser.", + "description": "Connect button title text." + }, + "copyDebugInfoButtonTitle": { + "message": "Sao chép thông tin gỡ lỗi vào clipboard", + "description": "Copy debug info button title text on About tab." + }, + "dismissHttpAuthButtonTitle": { + "message": "Bỏ qua xác thực HTTP cơ bản.", + "description": "Dismiss HTTP Auth button title text." + }, + "reconnectButtonTitle": { + "message": "Kết nối lại cơ sở dữ liệu đang hoạt động với KeePassXC-Browser.", + "description": "Reconnect button title text." + }, + "redetectButtonTitle": { + "message": "Phát hiện lại tất cả trường nhập liệu trên trang.", + "description": "Redetect login fields button title text." + }, + "reloadButtonTitle": { + "message": "Tải lại tiện ích mở rộng và kết nối lại với KeePassXC.", + "description": "Reload button title text." + }, + "removeConnectedDatabaseButtonTitle": { + "message": "Xóa cơ sở dữ liệu đã kết nối khỏi KeePassXC-Browser.", + "description": "Remove button title on Connected Databases tab." + }, + "removeCustomLoginFieldsButtonTitle": { + "message": "Xóa trường đăng nhập tùy chỉnh cho URL này.", + "description": "Remove button title on Custom Login Fields tab." + }, + "removeSitePreferencesButtonTitle": { + "message": "Xóa tùy chọn trang web cho URL này.", + "description": "Remove button title on Site Preferences tab." + }, + "reopenDatabaseButtonTitle": { + "message": "Mở lại cơ sở dữ liệu đang hoạt động.", + "description": "Reopen database button title text." + }, + "usernameButtonTitle": { + "message": "Thêm phát hiện chỉ tên người dùng cho trang hiện tại.", + "description": "Add Username-only detection button title text." + }, + "contextMenuFillUsernameAndPassword": { + "message": "Điền tên người dùng và mật khẩu", + "description": "Context menu item for filling both username and password." + }, + "contextMenuFillPassword": { + "message": "Chỉ điền mật khẩu", + "description": "Context menu item for filling password." + }, + "contextMenuFillTOTP": { + "message": "Điền TOTP", + "description": "Context menu item for filling Time-based One Time Password." + }, + "contextMenuShowPasswordGeneratorIcons": { + "message": "Hiển thị biểu tượng tạo mật khẩu", + "description": "Show password generator icon on every password input field." + }, + "contextMenuSaveCredentials": { + "message": "Lưu thông tin đăng nhập", + "description": "Save credentials using the credential banner." + }, + "contextMenuShowPasswordGenerator": { + "message": "Hiển thị trình tạo mật khẩu", + "description": "Show password generator text." + }, + "contextMenuFillAttribute": { + "message": "Điền thuộc tính…", + "description": "Context menu parent item for filling a custom attribute." + }, + "contextMenuRequestGlobalAutoType": { + "message": "Yêu cầu Auto-Type toàn cục", + "description": "Global Auto-Type shortcut text." + }, + "multipleCredentialsDetected": { + "message": "Phát hiện xác thực HTTP với nhiều thông tin đăng nhập. Nhấp vào biểu tượng tiện ích mở rộng để chọn đúng.", + "description": "Notification when HTTP Authentication has multiple credentials detected." + }, + "errorMessageUnknown": { + "message": "Lỗi không xác định.", + "description": "Unknown error." + }, + "errorMessageDatabaseNotOpened": { + "message": "Cơ sở dữ liệu chưa được mở.", + "description": "Database not opened." + }, + "errorMessageDatabaseHash": { + "message": "Không nhận được hash cơ sở dữ liệu.", + "description": "Database hash not received." + }, + "errorMessageClientPublicKey": { + "message": "Không nhận được khóa công khai của client.", + "description": "Client public key not received." + }, + "errorMessageDecrypt": { + "message": "Không thể giải mã thông điệp.", + "description": "Cannot decrypt message." + }, + "errorMessageTimeout": { + "message": "Không thể kết nối với KeePassXC. Kiểm tra xem tích hợp trình duyệt đã được bật trong cài đặt KeePassXC chưa.", + "description": "Cannot connect to KeePassXC. Check that browser integration is enabled in KeePassXC settings." + }, + "errorMessageCanceled": { + "message": "Hành động đã bị hủy hoặc từ chối.", + "description": "Action canceled or denied." + }, + "errorMessageEncrypt": { + "message": "Mã hóa thông điệp thất bại. KeePassXC có đang chạy không?", + "description": "Message encryption failed. Is KeePassXC running?" + }, + "errorMessageAssociate": { + "message": "Liên kết KeePassXC thất bại, thử lại.", + "description": "KeePassXC association failed, try again." + }, + "errorMessageKeyExchange": { + "message": "Trao đổi khóa không thành công.", + "description": "Key exchange was not successful." + }, + "errorMessageEncryptionKey": { + "message": "Khóa mã hóa không được nhận dạng.", + "description": "Encryption key is not recognized." + }, + "errorMessageSavedDatabases": { + "message": "Không tìm thấy cơ sở dữ liệu đã lưu.", + "description": "No saved databases found." + }, + "errorMessageIncorrectAction": { + "message": "Hành động không đúng.", + "description": "Incorrect action." + }, + "errorMessageEmptyMessage": { + "message": "Nhận được thông điệp trống.", + "description": "Empty message received." + }, + "errorMessageNoURL": { + "message": "Không có URL được cung cấp.", + "description": "No URL provided." + }, + "errorMessageNoLogins": { + "message": "Không tìm thấy thông tin đăng nhập.", + "description": "No logins found." + }, + "errorMessagePaswordLengthExceeded": { + "message": "Mật khẩu đã điền dài hơn độ dài tối đa cho phép của trường.", + "description": "Error notification text shown when filled password is longer than defined maxLength of the input field." + }, + "errorMessageNoGroupsFound": { + "message": "Không tìm thấy nhóm.", + "description": "No groups found." + }, + "errorMessageCannotCreateNewGroup": { + "message": "Không thể tạo nhóm mới.", + "description": "Cannot create new group." + }, + "errorMessageNoValidUuidProvided": { + "message": "Không có UUID hợp lệ được cung cấp.", + "description": "No valid UUID provided." + }, + "errorMessageAccessToAllEntriesDenied": { + "message": "Truy cập vào tất cả các mục bị từ chối.", + "description": "Access to all entries denied." + }, + "errorMessagePasskeysAttestationNotSupported": { + "message": "Không hỗ trợ attestation.", + "description": "Attestation not supported." + }, + "errorMessagePasskeysCredentialIsExcluded": { + "message": "Thông tin xác thực bị loại trừ.", + "description": "Credential is excluded." + }, + "errorMessagePasskeysRequestCanceled": { + "message": "Yêu cầu passkeys đã bị hủy.", + "description": "Passkeys request canceled." + }, + "errorMessagePasskeysInvalidUserVerification": { + "message": "Xác minh người dùng không hợp lệ.", + "description": "Invalid user verification." + }, + "errorMessagePasskeysEmptyPublicKey": { + "message": "Khóa công khai trống.", + "description": "Empty public key." + }, + "errorMessagePasskeysInvalidUrlProvided": { + "message": "URL được cung cấp không hợp lệ.", + "description": "Invalid URL provided." + }, + "errorMessagePasskeysOriginNotAllowed": { + "message": "Origin trống hoặc không được phép.", + "description": "Origin is empty or not allowed." + }, + "errorMessagePasskeysDomainNotValid": { + "message": "Domain hiệu lực không phải là domain hợp lệ.", + "description": "Effective domain is not a valid domain." + }, + "errorMessagePasskeysDomainRpIdMismatch": { + "message": "Origin và RP ID không khớp.", + "description": "Origin and RP ID do not match." + }, + "errorMessagePasskeysNoSupportedAlgorithms": { + "message": "Không có thuật toán được hỗ trợ nào được cung cấp.", + "description": "No supported algorithms were provided." + }, + "errorMessagePasskeysWaitforLifeTimer": { + "message": "Đợi bộ đếm thời gian hết hạn.", + "description": "Wait for timer to expire." + }, + "errorMessagePasskeysUnknownError": { + "message": "Lỗi passkeys không xác định.", + "description": "Unknown passkeys error." + }, + "errorMessagePasskeysInvalidChallenge": { + "message": "Challenge ngắn hơn độ dài tối thiểu yêu cầu.", + "description": "Challenge is shorter than required minimum length." + }, + "errorMessagePasskeysInvalidUserId": { + "message": "user.id không khớp với độ dài yêu cầu.", + "description": "user.id does not match the required length." + }, + "errorMessagePasskeysContextIsNotSecure": { + "message": "Ngữ cảnh không an toàn.", + "description": "Context is not secure." + }, + "errorNotConnected": { + "message": "Chưa kết nối với KeePassXC.", + "description": "Error notification shown when not connected to KeePassXC." + }, + "errorCurrentDatabaseNotConnected": { + "message": "Cơ sở dữ liệu hiện tại chưa được kết nối.", + "description": "Error notification shown when current database is not connected during action." + }, + "passwordGeneratorErrorTooLong": { + "message": "Lỗi: Mật khẩu được tạo dài hơn độ dài cho phép!", + "description": "A warning text shown in the password generator." + }, + "passwordGeneratorErrorTooLongCut": { + "message": "Nó đã được cắt ngắn để phù hợp với độ dài.", + "description": "A warning text shown in the password generator." + }, + "passwordGeneratorErrorTooLongRemember": { + "message": "Vui lòng nhớ mật khẩu mới!", + "description": "A warning text shown in the password generator." + }, + "passwordGeneratorGenerateText": { + "message": "Tạo mật khẩu.", + "description": "Password icon title text." + }, + "passwordGeneratorNotSupported": { + "message": "Khởi chạy trình tạo mật khẩu không được hỗ trợ trong phiên bản KeePassXC này. Vui lòng cập nhật KeePassXC lên phiên bản mới hơn." + }, + "usernameFieldText": { + "message": "Điền thông tin đăng nhập từ KeePassXC.", + "description": "Username field icon hover text." + }, + "usernameFieldTextNoCredentials": { + "message": "Không có thông tin đăng nhập để điền.", + "description": "Username field icon hover text when no credentials are." + }, + "usernameLockedFieldText": { + "message": "Cơ sở dữ liệu bị khóa.", + "description": "Username field icon hover text when database is locked." + }, + "usernameDisconnectedFieldText": { + "message": "KeePassXC đã ngắt kết nối.", + "description": "Username field icon hover text when KeePassXC is disconnected." + }, + "totp": { + "message": "TOTP", + "description": "TOTP text." + }, + "totpFieldText": { + "message": "Điền TOTP từ KeePassXC", + "description": "OTP field icon hover text." + }, + "defineClose": { + "message": "Đóng", + "description": "Close button text when choosing Custom Login Fields." + }, + "defineSkip": { + "message": "Bỏ qua", + "description": "Skip button text when choosing Custom Login Fields." + }, + "defineMore": { + "message": "Hiển thị thêm", + "description": "More button text when choosing Custom Login Fields." + }, + "defineReset": { + "message": "Đặt lại", + "description": "Reset button text when choosing Custom Login Fields." + }, + "defineConfirm": { + "message": "Xác nhận", + "description": "Confirm button text when choosing Custom Login Fields." + }, + "defineAlreadySelected": { + "message": "Trường đăng nhập cho trang này đã được chọn và sẽ bị ghi đè.", + "description": "A text shown when custom credentials fields are already set for the page." + }, + "defineClearData": { + "message": "Xóa dữ liệu đã lưu", + "description": "Clear save data button text when choosing Custom Login Fields." + }, + "defineStringField": { + "message": "Trường chuỗi", + "description": "Text for string field." + }, + "defineSubmitButton": { + "message": "Nút gửi", + "description": "Text for Submit Button." + }, + "defineChooseUsername": { + "message": "Chọn trường tên người dùng", + "description": "Choosing a username field text when choosing Custom Login Fields." + }, + "defineChoosePassword": { + "message": "Chọn trường mật khẩu", + "description": "Choosing a password field text when choosing Custom Login Fields." + }, + "defineChooseTOTP": { + "message": "Chọn trường TOTP", + "description": "Choosing a TOTP field text when choosing Custom Login Fields." + }, + "defineChooseStringFields": { + "message": "Chọn trường chuỗi", + "description": "Choose String Fields a selection text when choosing Custom Login Fields." + }, + "defineChooseSubmitButton": { + "message": "Chọn nút gửi", + "description": "Choose submit button selection text when choosing Custom Login Fields." + }, + "defineHelpText": { + "message": "Vui lòng xác nhận lựa chọn của bạn hoặc chọn thêm trường làm trường chuỗi.", + "description": "Confirm a selection text when choosing Custom Login Fields which contains String Fields." + }, + "defineKeyboardText": { + "message": "Bạn cũng có thể sử dụng số để chọn trường nhập liệu từ bàn phím.", + "description": "Help text when choosing Custom Login Fields." + }, + "defineChooseCustomLoginFieldText": { + "message": "Chọn trường đăng nhập tùy chỉnh", + "description": "Help text for Custom Login Field banner." + }, + "username": { + "message": "Tên người dùng", + "description": "General text for username." + }, + "password": { + "message": "Mật khẩu", + "description": "General text for password." + }, + "stringFields": { + "message": "Trường chuỗi", + "description": "General text for a String Fields." + }, + "submitButton": { + "message": "Nút gửi", + "description": "Custom Submit Button text." + }, + "credentialsNoUsername": { + "message": "- không có tên người dùng -", + "description": "Shown when no username is set in the credentials." + }, + "credentialsNoLoginsFound": { + "message": "Không tìm thấy thông tin đăng nhập.", + "description": "Shown when no credentials are found for the current page." + }, + "credentialsBlockedInIframe": { + "message": "Điền thông tin đăng nhập bị chặn trong iframe không đáng tin cậy.", + "description": "Alert message when filling credentials is blocked due to iframe restrictions." + }, + "credentialsMultipleFound": { + "message": "Tìm thấy nhiều hơn một thông tin đăng nhập trong KeePassXC!", + "description": "Alert message when trying to fill username and/or password when multiple credentials are found." + }, + "credentialsMultipleFoundSecondLine": { + "message": "Nhấp vào biểu tượng KeePassXC-Browser để có thêm tùy chọn.", + "description": "Alert message when trying to fill username and/or password when multiple credentials are found." + }, + "credentialsNoUsernameFound": { + "message": "Không tìm thấy thông tin đăng nhập cho tên người dùng đã cho.", + "description": "Alert message when no credentials are found for the given username." + }, + "credentialsNoTOTPFound": { + "message": "Không tìm thấy TOTP.", + "description": "Alert message when no TOTP is found." + }, + "credentialExpired": { + "message": "Đã hết hạn", + "description": "If a credential is expired, this is appended to the title label." + }, + "credentialsRetrieveButton": { + "message": "Lấy thông tin đăng nhập", + "description": "Manual retrieve credentials button text." + }, + "fieldsFill": { + "message": "Lỗi: Không thể tìm thấy trường để điền.", + "description": "Alert message when no fields are found to fill in." + }, + "fieldsNoPasswordField": { + "message": "Lỗi: Không thể tìm thấy trường mật khẩu.", + "description": "Message shown when no password fields are found." + }, + "fieldsPasswordFillNotAccepted": { + "message": "Điền mật khẩu vào trường văn bản thuần túy bị ngăn chặn.", + "description": "Message shown when password fill to a plain text field is prevented." + }, + "rememberNothingChanged": { + "message": "Lỗi: Không thể phát hiện thông tin đăng nhập đã thay đổi.", + "description": "Message shown when trying to save credentials that haven't changed." + }, + "popupTitle": { + "message": "KeePassXC - Popup", + "description": "Popup window title." + }, + "popupSettingsText": { + "message": "Cài đặt", + "description": "Popup Settings button text." + }, + "popupChooseCredentialsText": { + "message": "Chọn trường đăng nhập tùy chỉnh", + "description": "Popup credential choosing button text." + }, + "popupConnectButton": { + "message": "Kết nối", + "description": "Popup Connect button text." + }, + "popupReconnectButton": { + "message": "Kết nối lại", + "description": "Popup Reconnect button text." + }, + "popupRedetectButton": { + "message": "Phát hiện lại trường đăng nhập", + "description": "Popup Redetect login fields button text." + }, + "popupReloadButton": { + "message": "Tải lại", + "description": "Popup Reload button text." + }, + "popupReopenButton": { + "message": "Mở lại cơ sở dữ liệu", + "description": "Popup reopen database button text." + }, + "popupUsernameButton": { + "message": "Thêm tùy chọn chỉ tên người dùng cho trang web", + "description": "Button text for adding Username-only option." + }, + "popupAllowIframeButton": { + "message": "Cho phép iframe Cross-Origin cho trang web", + "description": "Button text for allowing Cross-Origin iframes option." + }, + "popupErrorEncountered": { + "message": "KeePassXC-Browser đã gặp lỗi:", + "description": "A text shown above error message in the popup." + }, + "popupUpdateAvailable": { + "message": "Bạn đang sử dụng phiên bản KeePassXC cũ.", + "description": "Popup warning message about old version of KeePassXC." + }, + "popupDownloadNewVersion": { + "message": "Vui lòng tải xuống phiên bản mới nhất từ keepassxc.org", + "description": "Popup warning message link when KeePassXC version is not up-to-date." + }, + "popupGettingStartedText": { + "message": "Bạn là người dùng lần đầu? Vui lòng xem hướng dẫn bắt đầu của chúng tôi.", + "description": "Popup information message about Getting Started Guide." + }, + "popupGettingStartedLinkText": { + "message": "Hướng dẫn bắt đầu - Thiết lập tích hợp trình duyệt", + "description": "Popup Getting Started Guide link text." + }, + "popupAlertHide": { + "message": "Ẩn và không hiển thị lại.", + "description": "Hide alert close button title." + }, + "popupTroubleshootingText": { + "message": "Không thể kết nối với KeePassXC? Có thể trang wiki của chúng tôi có thể giúp.", + "description": "Popup information message about Troubleshooting Guide." + }, + "popupTroubleshootingLinkText": { + "message": "Hướng dẫn khắc phục sự cố", + "description": "Popup Troubleshooting Guide link text." + }, + "popupCheckingStatus": { + "message": "Đang kiểm tra trạng thái...", + "description": "Checking status message in popup." + }, + "popupNotConfigured": { + "message": "KeePassXC-Browser chưa được cấu hình. Nhấp vào nút kết nối để ghép nối với KeePassXC.", + "description": "A popup message shown when the extension has not been connected to KeePassXC." + }, + "popupNeedReconfigure": { + "message": "KeePassXC-Browser đã bị ngắt kết nối khỏi KeePassXC.", + "description": "A popup message shown when the extension has been disconnected from KeePassXC." + }, + "popupNeedReconfigureMessage": { + "message": "Nhấp vào nút kết nối lại để thiết lập kết nối mới.", + "description": "A popup message shown when reconnect is needed." + }, + "popupConfiguredNotAssociated": { + "message": "KeePassXC-Browser chưa kết nối với KeePassXC nhưng đã được cấu hình bằng định danh: $1", + "description": "A popup message shown when KeePassXC is not connected but configured." + }, + "popupConfiguredAndAssociated": { + "message": "KeePassXC-Browser đã kết nối với KeePassXC và đã được cấu hình bằng định danh sau: $1", + "description": "A popup message when a connection to KeePassXC is successful." + }, + "popupUsernameFieldDetected": { + "message": "Chỉ phát hiện một trường tên người dùng duy nhất. Thêm URL vào tùy chọn trang web với tùy chọn chỉ tên người dùng được bật?", + "description": "Text shown when page can be added to Site Preferences with Username-only option enabled." + }, + "popupIframeDetected": { + "message": "Phát hiện iframe Cross-Origin. Thêm URL vào tùy chọn trang web với tùy chọn cho phép iframe Cross-Origin được bật?", + "description": "Text shown when page can be added to Site Preferences with Allow Cross-Origin iframes option enabled." + }, + "rememberInfoText": { + "message": "Tên người dùng hoặc mật khẩu đã thay đổi! Lưu nó?", + "description": "Message when username or password has changed." + }, + "rememberSaving": { + "message": "Thông tin đăng nhập sẽ được lưu trong cơ sở dữ liệu đã kết nối với định danh $1", + "description": "A message when saving or updating credentials." + }, + "rememberNewUsername": { + "message": "Tên người dùng sau hiện chưa được lưu: $1", + "description": "A message shown when a new username is detected when saving credentials." + }, + "rememberUsernameExists": { + "message": "Thông tin đăng nhập với tên người dùng đã sử dụng được đánh dấu đậm: $1", + "description": "A message shown when an existing username is detected when saving credentials." + }, + "rememberChooseCredentials": { + "message": "Vui lòng chọn thông tin đăng nhập bạn muốn cập nhật.", + "description": "A message shown choosing what credentials user wants to update." + }, + "rememberChooseGroup": { + "message": "Vui lòng chọn nhóm để lưu trữ thông tin đăng nhập mới.", + "description": "A message shown choosing what group user wants to use for new credentials." + }, + "rememberInfoDefaultGroupNotFound": { + "message": "Nhóm mặc định đã được tạo trong cơ sở dữ liệu đã kết nối.", + "description": "Info message shown when default group set cannot be found." + }, + "rememberErrorCreatingNewGroup": { + "message": "Không thể tạo nhóm mới.", + "description": "Error message shown when new groups cannot be created." + }, + "rememberErrorPasswordNotChanged": { + "message": "Thông tin đăng nhập không được cập nhật. Mật khẩu chưa được thay đổi.", + "description": "Error message shown when credential password is not changed." + }, + "rememberErrorCannotSaveCredentials": { + "message": "Không thể lưu hoặc cập nhật thông tin đăng nhập.", + "description": "Error message shown when credentials cannot be saved or updated." + }, + "rememberErrorDatabaseClosed": { + "message": "Không thể lưu hoặc cập nhật thông tin đăng nhập vào cơ sở dữ liệu đã đóng.", + "description": "Error message shown when credentials cannot be saved or updated and the database is closed." + }, + "rememberCredentialsNotSaved": { + "message": "Thao tác đã hủy. Thông tin đăng nhập không được cập nhật.", + "description": "Message shown when saving operation was cancelled." + }, + "rememberCredentialsSaved": { + "message": "Thông tin đăng nhập mới với tên người dùng $1 đã được lưu.", + "description": "Message shown when new credentials are saved." + }, + "rememberCredentialsUpdated": { + "message": "Thông tin đăng nhập với tên người dùng $1 đã được cập nhật.", + "description": "Message shown when new credentials are successfully updated." + }, + "rememberCredentialsExists": { + "message": "Thông tin đăng nhập giống hệt đã tồn tại. Không có gì để cập nhật.", + "description": "Message shown when new credentials already found in database." + }, + "rememberEmptyUsername": { + "message": "(trống)", + "description": "Means an empty username." + }, + "rememberNoPassword": { + "message": "Vui lòng điền trường mật khẩu trước khi lưu thông tin đăng nhập.", + "description": "Message shown when no password is set when saving credentials." + }, + "popupLoginText": { + "message": "Chọn thông tin đăng nhập bạn muốn nhập vào trang.", + "description": "A popup message shown when one or multiple credentials are present." + }, + "popupFilterText": { + "message": "Lọc:", + "description": "Text for login credentials quick filter." + }, + "popupAuthText": { + "message": "Chọn thông tin đăng nhập bạn muốn đăng nhập.", + "description": "A popup message shown when doing HTTP Authentication with multiple credentials present." + }, + "popupMultiplePasswordFields": { + "message": "Tìm thấy nhiều hơn một trường mật khẩu trên trang này. Nhấp chuột phải vào một trong các trường mật khẩu và chọn một trong:", + "description": "A popup message shown when web page has multiple password fields." + }, + "popupUsername": { + "message": "Tên người dùng:", + "description": "A username field name shown on credential update." + }, + "popupButtonNew": { + "message": "Mới", + "description": "New button text in popup when updating credentials." + }, + "popupButtonUpdate": { + "message": "Cập nhật", + "description": "Update button text in popup when updating credentials." + }, + "popupButtonCancel": { + "message": "Hủy", + "description": "Cancel button text in popup when updating credentials." + }, + "popupButtonBack": { + "message": "Quay lại", + "description": "Back button text in popup when updating credentials." + }, + "popupButtonIgnore": { + "message": "Không hỏi lại cho trang web này", + "description": "Ignore button text in popup or in notification when updating credentials." + }, + "popupButtonClose": { + "message": "Đóng", + "description": "Close button text in popup or in notification." + }, + "popupButtonDismissHttpAuth": { + "message": "Bỏ qua và hiển thị hộp thoại xác thực mặc định", + "description": "Dismiss button text when in HTTP Authentication popup." + }, + "optionsDefaultSettingsTitle": { + "message": "Cài đặt mặc định", + "description": "Default settings title for Getting Started page." + }, + "optionsWelcomeTitle": { + "message": "KeePassXC-Browser", + "description": "Main card title for Getting Started page." + }, + "optionsTitle": { + "message": "Cài đặt | KeePassXC-Browser", + "description": "Options page title." + }, + "optionsGeneralSettingsTab": { + "message": "Cài đặt chung", + "description": "General Settings tab text." + }, + "optionsConnectedDatabasesTab": { + "message": "Cơ sở dữ liệu đã kết nối", + "description": "Connected Databases tab text." + }, + "optionsCustomFieldsTab": { + "message": "Trường đăng nhập tùy chỉnh", + "description": "Saved Custom Login Fields tab text." + }, + "optionsSitePreferencesTab": { + "message": "Tùy chọn trang web", + "description": "Site Preferences fields tab text." + }, + "optionsAboutTab": { + "message": "Giới thiệu", + "description": "About tab text." + }, + "optionsMenuGeneral": { + "message": "Chung", + "description": "General settings page header." + }, + "optionsMenuConnectedDatabases": { + "message": "Cơ sở dữ liệu đã kết nối", + "description": "Connected Databases page header." + }, + "optionsMenuCustomFields": { + "message": "Trường đăng nhập tùy chỉnh", + "description": "Custom Login Fields page header." + }, + "optionsMenuSitePreferences": { + "message": "Tùy chọn trang web", + "description": "Site Preferences page header." + }, + "optionsSitePreferencesSettings": { + "message": "Cài đặt", + "description": "Site Preferences settings button text." + }, + "optionsMenuAbout": { + "message": "Giới thiệu", + "description": "About page header." + }, + "optionsConfigureShortcuts": { + "message": " Cấu hình phím tắt", + "description": "Keyboard shortcut button and title text." + }, + "optionsButtonSave": { + "message": "Lưu", + "description": "Save button text." + }, + "optionsButtonConnect": { + "message": "Kết nối", + "description": "Connect button text." + }, + "optionsButtonRemove": { + "message": "Xóa", + "description": "Remove button text." + }, + "optionsButtonAdd": { + "message": "Thêm", + "description": "Add button text." + }, + "optionsButtonEdit": { + "message": "Chỉnh sửa", + "description": "Edit button text." + }, + "optionsButtonUpdate": { + "message": "Kiểm tra cập nhật", + "description": "Check for updates button text." + }, + "optionsButtonRemoveNow": { + "message": "Xóa ngay", + "description": "Confirm button text when removing database key or Custom Login Fields." + }, + "optionsButtonCancel": { + "message": "Hủy", + "description": "Cancel button text when removing database key or Custom Login Fields." + }, + "optionsButtonReset": { + "message": "Đặt lại", + "description": "Reset button text for keyboard shortcuts." + }, + "optionsButtonImport": { + "message": "Nhập cài đặt", + "description": "Import settings button text." + }, + "optionsButtonExport": { + "message": "Xuất cài đặt", + "description": "Export settings button text." + }, + "optionsButtonResetSettings": { + "message": "Đặt lại tất cả cài đặt", + "description": "Reset all settings button text." + }, + "optionsLabelDefaultGroup": { + "message": "Nhóm mặc định để lưu thông tin đăng nhập mới:", + "description": "Default group options text." + }, + "optionsDefaultGroupHelpText": { + "message": "Nhóm mặc định được sử dụng khi lưu thông tin đăng nhập mới. Nếu để trống, thông tin đăng nhập sẽ được lưu vào nhóm gốc.", + "description": "Default group help text." + }, + "optionsLabelDefaultPasskeyGroup": { + "message": "Nhóm mặc định để lưu passkeys mới:", + "description": "Default passkey group options text." + }, + "optionsLabelDefaultGroupCheckboxText": { + "message": "Luôn hỏi tôi trước khi lưu thông tin đăng nhập mới", + "description": "Default group checkbox help text." + }, + "optionsLabelDefaultGroupCheckboxHelpText": { + "message": "Nếu được bật, bạn sẽ được hỏi chọn nhóm mỗi khi lưu thông tin đăng nhập mới.", + "description": "Default checkbox explanation help text." + }, + "optionsCheckboxUsePasswordGenerator": { + "message": "Kích hoạt biểu tượng tạo mật khẩu", + "description": "Activate password generator icons checkbox text." + }, + "optionsCheckboxUsernameIcons": { + "message": "Kích hoạt biểu tượng trường tên người dùng", + "description": "Activate username field icons textbox text." + }, + "optionsUseObserver": { + "message": "Sử dụng phát hiện trường nhập liệu động", + "description": "Use dynamic input field detection checkbox text." + }, + "optionsUseObserverHelpText": { + "message": "Phát hiện các trường nhập liệu được thêm động vào trang. Tắt tùy chọn này nếu bạn gặp vấn đề với hiệu suất.", + "description": "Use dynamic input field detection help text." + }, + "optionsCheckboxOTPIcons": { + "message": "Kích hoạt biểu tượng trường OTP", + "description": "Activate OTP field icons textbox text." + }, + "optionsCheckboxAutoRetrieveCredentials": { + "message": "Tự động lấy thông tin đăng nhập", + "description": "Automatically retrieve credentials checkbox text." + }, + "optionsCheckboxAutomaticReconnect": { + "message": "Tự động kết nối lại", + "description": "Auto-reconnect checkbox text." + }, + "optionsAutomaticReconnectWarning": { + "message": "Cảnh báo: Tự động kết nối lại có thể gây ra vấn đề bảo mật. Chỉ bật nếu bạn tin tưởng tất cả các trang web bạn truy cập.", + "description": "Auto-reconnect warning message." + }, + "optionsCheckboxAutoFillSingleEntry": { + "message": "Tự động điền mục thông tin đăng nhập duy nhất", + "description": "Automatically fill-in single credential entry checkbox text." + }, + "optionsCheckboxAutoFillRelevantCredential": { + "message": "Tự động điền mục thông tin đăng nhập liên quan", + "description": "Automatically fill-in relevant credential entry checkbox text." + }, + "optionsCheckboxAutoFillSingleTotp": { + "message": "Tự động điền mục TOTP duy nhất", + "description": "Automatically fill-in single TOTP entries checkbox text." + }, + "optionsCheckboxAutoCompleteUsernames": { + "message": "Kích hoạt tự động hoàn thành cho trường tên người dùng", + "description": "Activate autocomplete for username fields checkbox text." + }, + "optionsCheckboxShowGroupNameInAutocomplete": { + "message": "Hiển thị tên nhóm trong tự động hoàn thành", + "description": "Show group name in autocomplete checkbox text." + }, + "optionsCheckboxAutoSubmit": { + "message": "Tự động gửi", + "description": "Auto-submit checkbox text." + }, + "optionsAutoSubmitHelpText": { + "message": "Tự động gửi biểu mẫu sau khi điền thông tin đăng nhập. Cảnh báo: Điều này có thể gây ra vấn đề với một số trang web.", + "description": "Auto-submit help text." + }, + "optionsCheckboxShowNotifications": { + "message": "Hiển thị thông báo", + "description": "Show notifications checkbox text." + }, + "optionsCheckboxUseMonochromeToolbarIcon": { + "message": "Sử dụng biểu tượng thanh công cụ đơn sắc", + "description": "Use monochrome toolbar icon checkbox text." + }, + "optionsCheckboxUseCompactMode": { + "message": "Sử dụng chế độ nhỏ gọn (dropdown cũ)", + "description": "Whether the compact mode (legacy dropdown) should be enabled." + }, + "optionsSaveDomainOnly": { + "message": "Chỉ lưu domain", + "description": "Save domain only checkbox text." + }, + "optionsCheckboxShowLoginNotifications": { + "message": "Hiển thị thông báo đăng nhập", + "description": "Show login notifications checkbox text." + }, + "optionsDefaultPasswordManager": { + "message": "Đặt làm trình quản lý mật khẩu mặc định", + "description": "Default password manager checkbox text." + }, + "optionsDefaultPasswordManagerHelpText": { + "message": "Đặt KeePassXC-Browser làm trình quản lý mật khẩu mặc định cho trình duyệt của bạn.", + "description": "Default password manager help text." + }, + "optionsRedirectAllowance": { + "message": "Cho phép chuyển hướng:", + "description": "Redirect allowance range input text." + }, + "optionsRedirectAllowanceHelpText": { + "message": "Số lần chuyển hướng tối đa được phép trước khi dừng lấy thông tin đăng nhập.", + "description": "Redirect allowance help text." + }, + "optionsCheckboxAutoFillAndSend": { + "message": "Cho phép điền thông tin xác thực HTTP Basic Auth", + "description": "Allow filling HTTP Basic Auth credentials checkbox text." + }, + "optionsDebugLogging": { + "message": "Ghi log gỡ lỗi", + "description": "Debug logging checkbox text." + }, + "optionsDebugLoggingHelpText": { + "message": "Bật ghi log gỡ lỗi vào console của trình duyệt. Chỉ sử dụng khi khắc phục sự cố.", + "description": "Debug logging help text." + }, + "optionsRadioText": { + "message": "Hiển thị thông báo cập nhật sau:", + "description": "Text above radio buttons in the settings page." + }, + "optionsRadioThreeDays": { + "message": "3 ngày", + "description": "Radio button text." + }, + "optionsRadioWeek": { + "message": "1 tuần", + "description": "Radio button text." + }, + "optionsRadioMonth": { + "message": "1 tháng", + "description": "Radio button text." + }, + "optionsRadioNever": { + "message": "Không bao giờ", + "description": "Radio button text." + }, + "optionsThemeSelectionHeader": { + "message": "Chủ đề", + "description": "Theme selection header text." + }, + "optionsCredentialSortSelectionHeader": { + "message": "Sắp xếp thông tin đăng nhập", + "description": "Credential sort option header text." + }, + "optionsThemeSelection": { + "message": "Chọn chủ đề:", + "description": "Theme selection title text." + }, + "optionsThemeSystem": { + "message": "Hệ thống", + "description": "System theme text." + }, + "optionsThemeDark": { + "message": "Tối", + "description": "Dark theme text." + }, + "optionsThemeLight": { + "message": "Sáng", + "description": "Light theme text." + }, + "optionsKeyboardShortcutsHeader": { + "message": "Phím tắt", + "description": "Keyboard shortcut header text." + }, + "optionsUsePasswordGeneratorHelpText": { + "message": "Hiển thị biểu tượng tạo mật khẩu trên mỗi trường mật khẩu.", + "description": "Password Generator option help text." + }, + "optionsUsePasswordGeneratorHelpTextSecond": { + "message": "Nhấp vào biểu tượng để tạo mật khẩu mới.", + "description": "Password Generator option help text, second part." + }, + "optionsPredefinedSiteList": { + "message": "Danh sách trang web được xác định trước", + "description": "Predefined site list details button text." + }, + "optionsUsePredefinedSites": { + "message": "Sử dụng danh sách trang web được xác định trước", + "description": "Use predefined sites checkbox text." + }, + "optionsUsePredefinedSitesHelpText": { + "message": "Sử dụng danh sách trang web được xác định trước để cải thiện khả năng tương thích với một số trang web.", + "description": "Use predefined sites option help text." + }, + "optionsShowLoginFormIconHelpText": { + "message": "Hiển thị biểu tượng trên trường tên người dùng để điền thông tin đăng nhập.", + "description": "Username field icon option help text." + }, + "optionsShowOTPIconHelpText": { + "message": "Hiển thị biểu tượng trên trường OTP để điền TOTP.", + "description": "OTP field icon option help text." + }, + "optionsHideIconsAlertText": { + "message": "Cảnh báo: Ẩn biểu tượng sẽ làm cho việc điền thông tin đăng nhập khó khăn hơn.", + "description": "Hide icons alert text text." + }, + "optionsAutoRetrieveCredentialsHelpText": { + "message": "Tự động lấy thông tin đăng nhập khi tải trang. Nếu tắt, bạn cần nhấp vào biểu tượng để lấy thông tin đăng nhập.", + "description": "Auto-Retrive Credentials option help text." + }, + "optionsAutomaticReconnectHelpText": { + "message": "Tự động kết nối lại với KeePassXC khi mất kết nối.", + "description": "Auto-reconnect option help text." + }, + "optionsAutoFillSingleEntryHelpText": { + "message": "Tự động điền thông tin đăng nhập nếu chỉ tìm thấy một mục duy nhất.", + "description": "Auto-Fill Single Entry option help text." + }, + "optionsAutoFillRelevantCredentialHelpText": { + "message": "Tự động điền thông tin đăng nhập liên quan nhất dựa trên URL và tiêu đề trang.", + "description": "Auto-Fill Relevant Credential option help text." + }, + "optionsAutoFillSingleEntryWarning": { + "message": "Cảnh báo: Tự động điền có thể gây ra vấn đề bảo mật trên một số trang web.", + "description": "Auto-Fill Single Entry warning text." + }, + "optionsAutoFillSingleTotpHelpText": { + "message": "Tự động điền TOTP nếu chỉ tìm thấy một mục duy nhất.", + "description": "Auto-Fill Single TOTP field option help text." + }, + "optionsAutocompleteUsernamesHelpText": { + "message": "Hiển thị gợi ý tên người dùng khi nhập vào trường tên người dùng.", + "description": "Autocomplete Usernames option help text." + }, + "optionsShowGroupNameInAutocompleteHelpText": { + "message": "Hiển thị tên nhóm cơ sở dữ liệu trong danh sách gợi ý.", + "description": "Show group name in autocomplete help text." + }, + "optionsShowNotificationsHelpText": { + "message": "Hiển thị thông báo khi lưu hoặc cập nhật thông tin đăng nhập.", + "description": "Show notifications option help text." + }, + "optionsUseMonochromeToolbarIconHelpText": { + "message": "Sử dụng biểu tượng đơn sắc trên thanh công cụ thay vì biểu tượng màu.", + "description": "Use monochrome toolbar icon option help text." + }, + "optionsUseCompactModeHelpText": { + "message": "Sử dụng chế độ nhỏ gọn (dropdown cũ) thay vì popup mới.", + "description": "Use compact (legacy) mode help text." + }, + "optionsSaveDomainOnlyHelpText": { + "message": "Chỉ lưu domain thay vì URL đầy đủ khi lưu thông tin đăng nhập mới.", + "description": "Save domain only option help text." + }, + "optionsSaveDomainOnlyCustomLoginHelpText": { + "message": "Áp dụng cho cả trường đăng nhập tùy chỉnh.", + "description": "Save domain only option help text." + }, + "optionsDownloadFaviconAfterSave": { + "message": "Tải xuống favicon sau khi lưu", + "description": "Download favicon after save checkbox label text." + }, + "optionsDownloadFaviconAfterSaveHelpText": { + "message": "Tự động tải xuống favicon của trang web sau khi lưu thông tin đăng nhập mới.", + "description": "Download favicon after save help text." + }, + "optionsAutoFillAndSendHelpText": { + "message": "Tự động điền và gửi thông tin xác thực HTTP Basic Auth.", + "description": "Auto-Fill And Send option help text." + }, + "optionsAutoFillAndSendHelpTextSecond": { + "message": "Cảnh báo: Điều này sẽ tự động gửi thông tin xác thực mà không cần xác nhận.", + "description": "HTTP Basic Auth image help text." + }, + "optionsClearCredentialsTimeout": { + "message": "Xóa thông tin đăng nhập sau (giây):", + "description": "Clear credentials label text." + }, + "optionsClearCredentialsTimeoutHelpText": { + "message": "Tự động xóa thông tin đăng nhập đã điền sau số giây được chỉ định. Đặt 0 để tắt.", + "description": "Clear credentials timeout help text." + }, + "optionsVersionInfoText": { + "message": "Thông tin phiên bản", + "description": "Settings page version info text." + }, + "optionsVersionDownload": { + "message": "Tải xuống", + "description": "Settings page download link." + }, + "optionsVersionRunning": { + "message": "Đang chạy", + "description": "Settings page info text of user's KeePassXC version." + }, + "optionsLatestVersion": { + "message": "Phiên bản mới nhất", + "description": "Settings page info text about the latest KeePassXC version." + }, + "optionsKeePassXCVersionRequired": { + "message": "Yêu cầu KeePassXC phiên bản:", + "description": "KeePassXC version requirement text." + }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "The extension requires KeePassXC version: $1. Earlier versions can cause unwanted behavior.", + "description": "KeePassXC minimum version requirement text." + }, + "optionsDefault": { + "message": "Mặc định", + "description": "Default setting text." + }, + "optionsInfinite": { + "message": "Vô hạn", + "description": "Infinite setting text." + }, + "optionsRecommended": { + "message": "Khuyến nghị", + "description": "Recommended setting text." + }, + "optionsShortcutsSuccess": { + "message": "Phím tắt đã được cập nhật thành công.", + "description": "Message for successful keyboard shortcut change." + }, + "optionsShortcutsInfo": { + "message": "Nhấp vào trường và nhấn tổ hợp phím bạn muốn sử dụng.", + "description": "Info message for changing keyboard shortcuts." + }, + "optionsShortcutsDanger": { + "message": "Cảnh báo: Một số tổ hợp phím có thể xung đột với phím tắt của trình duyệt.", + "description": "Error message for changing keyboard shortcuts." + }, + "optionsImportExportSettings": { + "message": "Nhập/Xuất cài đặt", + "description": "Settings page header text for import/export." + }, + "optionsImportSettingsDialogTitle": { + "message": "Nhập cài đặt", + "description": "Import settings confirmation dialog title text." + }, + "optionsImportSettingsDialogText": { + "message": "Chọn file JSON chứa cài đặt bạn muốn nhập.", + "description": "Import settings confirmation dialog help text." + }, + "optionsResetSettingsDialogText": { + "message": "Điều này sẽ đặt lại tất cả cài đặt về giá trị mặc định. Bạn có chắc chắn muốn tiếp tục không?", + "description": "Reset all settings dialog text." + }, + "optionsConnectedDatabasesText": { + "message": "Danh sách các cơ sở dữ liệu đã kết nối với KeePassXC-Browser.", + "description": "Info text about connected databases." + }, + "optionsConnectedDatabasesNotFound": { + "message": "Không tìm thấy cơ sở dữ liệu đã kết nối.", + "description": "Shown in the connected databases table when there is no connected databases." + }, + "optionsDatabasesRemoveIdentifier": { + "message": "Xóa định danh", + "description": "Confirmation text when removing database from the list." + }, + "optionsDatabasesRemoveIdentifierConfirmFirst": { + "message": "Bạn có chắc chắn muốn xóa định danh này không?", + "description": "Confirmation text when removing database from the list." + }, + "optionsDatabasesRemoveIdentifierConfirmSecond": { + "message": "Hành động này sẽ ngắt kết nối cơ sở dữ liệu khỏi KeePassXC-Browser.", + "description": "Confirmation text when removing database from the list, second part." + }, + "optionsDatabaseIdentifier": { + "message": "Định danh", + "description": "Database list column title." + }, + "optionsDatabaseKey": { + "message": "Khóa", + "description": "Database list column title." + }, + "optionsDatabaseLastUsed": { + "message": "Sử dụng lần cuối", + "description": "Database list column title." + }, + "optionsDatabaseCreated": { + "message": "Đã tạo", + "description": "Database list column title." + }, + "optionsDatabaseDelete": { + "message": "Xóa", + "description": "Database list column title." + }, + "optionsColumnPageURL": { + "message": "URL trang", + "description": "Site Preferences list column title." + }, + "optionsColumnFeatures": { + "message": "Tính năng", + "description": "Site Preferences list column title." + }, + "optionsColumnUsernameOnly": { + "message": "Chỉ tên người dùng", + "description": "Site Preferences list column title." + }, + "optionsColumnImprovedInputFieldDetection": { + "message": "Phát hiện trường nhập liệu cải tiến", + "description": "Improved Input Field Detection column text." + }, + "optionsColumnAllowIframes": { + "message": "Cho phép iframes", + "description": "Allow iframes column text." + }, + "optionsColumnDelete": { + "message": "Xóa", + "description": "Site Preferences list column title." + }, + "optionsSelectionNothing": { + "message": "Không có gì", + "description": "Site Preferences option selection." + }, + "optionsSelectionNormal": { + "message": "Bình thường", + "description": "Site Preferences option selection." + }, + "optionsSelectionAutoSubmit": { + "message": "Tự động gửi", + "description": "Site Preferences option selection." + }, + "optionsSelectionPasskeys": { + "message": "Passkeys", + "description": "Site Preferences option selection." + }, + "optionsSelectionFull": { + "message": "Đầy đủ", + "description": "Site Preferences option selection." + }, + "optionsSortByTitle": { + "message": "Theo tiêu đề", + "description": "Sort matching credentials by title option selection." + }, + "optionsSortByUsername": { + "message": "Theo tên người dùng", + "description": "Sort matching credentials by username option selection." + }, + "optionsSortByGroupAndTitle": { + "message": "Theo nhóm và tiêu đề", + "description": "Sort matching credentials by group and title option selection." + }, + "optionsSortByGroupAndUsername": { + "message": "Theo nhóm và tên người dùng", + "description": "Sort matching credentials by group and username option selection." + }, + "optionsFillSortPriority": { + "message": "Ưu tiên sắp xếp điền:", + "description": "" + }, + "optionsFillSortPriorityHelpText": { + "message": "Thứ tự ưu tiên khi điền thông tin đăng nhập nếu tìm thấy nhiều kết quả.", + "description": "Help text for Sort credentials after fill." + }, + "optionsFillSortPriorityTotp": { + "message": "Ưu tiên sắp xếp TOTP:", + "description": "" + }, + "optionsFillSortPriorityTotpHelpText": { + "message": "Thứ tự ưu tiên khi điền TOTP nếu tìm thấy nhiều kết quả.", + "description": "Help text for Sort credentials after fill for TOTP." + }, + "optionsFillSortByMatchingCredentials": { + "message": "Theo thông tin đăng nhập khớp", + "description": "Default option for Sort after fill. Respects the Matching Credentials sorting setting." + }, + "optionsFillSortByRelevantEntry": { + "message": "Theo mục liên quan", + "description": "Relevant credential first option for Sort after fill." + }, + "optionsCustomFieldsNotFound": { + "message": "Không tìm thấy trường tùy chỉnh.", + "description": "Shown when no saved custom credentials are saved." + }, + "optionsCustomFieldsTableCaption": { + "message": "Trường đăng nhập tùy chỉnh đã lưu", + "description": "Table caption of Custom Login Fields page." + }, + "optionsCustomFieldsTabHelpTextFirst": { + "message": "Trường đăng nhập tùy chỉnh cho phép bạn chỉ định trường nào sẽ được điền trên các trang web có cấu trúc không chuẩn.", + "description": "Saved Custom Login Fields info text, first part." + }, + "optionsCustomFieldsTabHelpTextSecond": { + "message": "Để thêm trường tùy chỉnh, truy cập trang web và nhấp vào biểu tượng KeePassXC-Browser, sau đó chọn 'Chọn trường đăng nhập tùy chỉnh'.", + "description": "Saved Custom Login Fields info text, second part." + }, + "optionsCustomFieldsTabHelpTextThird": { + "message": "Bạn cũng có thể xóa trường tùy chỉnh bằng cách nhấp vào nút xóa trong bảng bên dưới.", + "description": "Saved Custom Login Fields info text, third part." + }, + "optionsCustomFieldsRemove": { + "message": "Xóa trường tùy chỉnh", + "description": "Confirmation text when removing saved Custom Login Fields." + }, + "optionsCustomFieldsConfirmation": { + "message": "Bạn có chắc chắn muốn xóa trường đăng nhập tùy chỉnh cho URL này không?", + "description": "Confirmation text when removing saved Custom Login Fields." + }, + "optionsCustomFieldsConfirmationHelpText": { + "message": "Hành động này không thể hoàn tác.", + "description": "Part of confirmation text when removing saved Custom Login Fields." + }, + "optionsSitePreferencesNotFound": { + "message": "Không tìm thấy tùy chọn trang web.", + "description": "Shown when no Site Preferences are saved." + }, + "optionsSitePreferencesRemove": { + "message": "Bạn có chắc chắn muốn xóa tùy chọn trang web này không?", + "description": "Confirmation text when removing ignored sites from the list." + }, + "optionsSitePreferencesTabHelpTextFirst": { + "message": "Tùy chọn trang web cho phép bạn tùy chỉnh hành vi của KeePassXC-Browser cho từng trang web cụ thể.", + "description": "Site Preferences info text, first part." + }, + "optionsSitePreferencesTabHelpTextSecond": { + "message": "Bạn có thể bật 'Chỉ tên người dùng' cho các trang chỉ có trường tên người dùng.", + "description": "Site Preferences info text, second part." + }, + "optionsSitePreferencesTabHelpTextThird": { + "message": "Bạn có thể bật 'Cho phép iframes' cho các trang sử dụng iframe Cross-Origin.", + "description": "Site Preferences info text, third part." + }, + "optionsSitePreferencesTabHelpTextFourth": { + "message": "Để thêm tùy chọn, nhấp vào nút 'Thêm' bên dưới hoặc sử dụng popup trên trang web.", + "description": "Site Preferences info text, fourth part." + }, + "optionsSitePreferencesImprovedInputFieldDetectionHelpText": { + "message": "Sử dụng phát hiện trường nhập liệu cải tiến cho trang web này.", + "description": "Improved Input Field Detection help text." + }, + "optionsSitePreferencesAllowIframesHelpText": { + "message": "Cho phép điền thông tin đăng nhập vào iframe Cross-Origin trên trang web này.", + "description": "Allow Cross-Origin iframes help text." + }, + "optionsSitePreferencesManualAddText": { + "message": "Thêm tùy chọn trang web thủ công", + "description": "Label for adding site manually on Site Preferences tab." + }, + "optionsSitePreferencesManualAddHelp": { + "message": "Nhập URL của trang web bạn muốn thêm tùy chọn.", + "description": "Help text for adding site manually on Site Preferences tab." + }, + "optionsSitePreferencesConfirmation": { + "message": "Bạn có chắc chắn muốn xóa tùy chọn trang web cho URL này không?", + "description": "Confirmation text when removing site from Site Preferences." + }, + "optionsSitePreferencesConfirmationHelpText": { + "message": "Hành động này không thể hoàn tác.", + "description": "Part of confirmation text when removing Site Preferences." + }, + "optionsSitePreferencesTableCaption": { + "message": "Tùy chọn trang web đã lưu", + "description": "Table caption of Site Preferences page." + }, + "optionsSitePreferencesSelect": { + "message": "Chọn tùy chọn", + "description": "Title text of select element in Site Preferences." + }, + "optionsAboutChrome": { + "message": "Chrome", + "description": "About page link to Chrome Web Store." + }, + "optionsAboutMozilla": { + "message": "Firefox", + "description": "About page link to AMO." + }, + "optionsAboutEdge": { + "message": "Edge", + "description": "About page link to Edge Add-ons page." + }, + "optionsAboutGitHub": { + "message": "GitHub", + "description": "About page link to GitHub." + }, + "optionsAboutExtensionVersion": { + "message": "Phiên bản tiện ích mở rộng:", + "description": "About page text of extension version." + }, + "optionsAboutKeePassXCVersion": { + "message": "Phiên bản KeePassXC:", + "description": "About page text of KeePassXC version." + }, + "optionsAboutContributors": { + "message": "Người đóng góp:", + "description": "About page text of contributors." + }, + "optionsAboutLicenses": { + "message": "Giấy phép", + "description": "About page text of licenses." + }, + "optionsAboutReportBugs": { + "message": "Báo cáo lỗi", + "description": "About page text of reporting bugs." + }, + "optionsAboutCreateNewIssue": { + "message": "Tạo issue mới", + "description": "Link text for creating a new issue." + }, + "optionsAboutDebugInfo": { + "message": "Thông tin gỡ lỗi", + "description": "Debug info text." + }, + "optionsAboutSupporters": { + "message": "Người hỗ trợ", + "description": "Supporters label text." + }, + "optionsErrorInvalidValue": { + "message": "Giá trị không hợp lệ.", + "description": "Error shown when input field has an incorrect value." + }, + "optionsErrorInvalidURL": { + "message": "URL không hợp lệ.", + "description": "Error shown when input field has an incorrect URL." + }, + "optionsErrorValueExists": { + "message": "Giá trị đã tồn tại.", + "description": "Error shown when trying to add a duplicate value to the list." + }, + "optionsUserInterfaceTitle": { + "message": "Giao diện người dùng", + "description": "User interface title in settings page" + }, + "optionsFillingCredentialsTitle": { + "message": "Điền thông tin đăng nhập", + "description": "Filling credentials title in settings page" + }, + "optionsSavingCredentialsTitle": { + "message": "Lưu thông tin đăng nhập", + "description": "Saving credentials title in settings page" + }, + "optionsUpdatesTitle": { + "message": "Cập nhật", + "description": "Updates title in settings page" + }, + "optionsAdvancedSettingsTitle": { + "message": "Cài đặt nâng cao", + "description": "Advanced settings title in settings page" + }, + "optionsExtensionTitle": { + "message": "Tiện ích mở rộng", + "description": "Extension title in settings page" + }, + "optionsPasskeysTitle": { + "message": "Passkeys", + "description": "Passkeys settings title in settings page." + }, + "optionsPasskeysEnable": { + "message": "Bật hỗ trợ Passkeys", + "description": "Enabled passkeys option text." + }, + "optionsPasskeysEnableHelpText": { + "message": "Cho phép KeePassXC-Browser xử lý yêu cầu Passkeys từ các trang web.", + "description": "Passkeys option help text." + }, + "optionsPasskeysEnableFallback": { + "message": "Bật fallback Passkeys", + "description": "Enabled passkeys fallback option text." + }, + "optionsPasskeysEnableFallbackHelpText": { + "message": "Sử dụng phương thức xác thực thay thế nếu Passkeys không khả dụng.", + "description": "Passkeys fallback option help text." + }, + "openNewTab": { + "message": "Mở trong tab mới", + "description": "Title attribute text." + }, + "httpAuthDialog": { + "message": "Xác thực HTTP", + "description": "Options page HTTP Basic Auth dialog text" + }, + "autocompleteSubmitMessage": { + "message": "Nhấn Enter để gửi", + "description": "Message shown at the bottom of autocomplete menu." + }, + "lockDatabase": { + "message": "Khóa cơ sở dữ liệu", + "description": "Lock database button title text." + }, + "welcomeText": { + "message": "Chào mừng đến với KeePassXC-Browser!", + "description": "Main title of Getting Started page." + }, + "documentationGettingStarted": { + "message": "Hướng dẫn bắt đầu", + "description": "Getting Started document text." + }, + "documentationUserGuide": { + "message": "Hướng dẫn sử dụng", + "description": "User Guide text." + }, + "documentationTroubleshootingGuide": { + "message": "Hướng dẫn khắc phục sự cố", + "description": "Troubleshooting Guide text." + }, + "gettingStartedWelcomeText": { + "message": "Cảm ơn bạn đã cài đặt KeePassXC-Browser!", + "description": "Welcome to KeePassXC-Browser, the official browser extension for KeePassXC." + }, + "gettingStartedSecondWelcomeText": { + "message": "Để bắt đầu, vui lòng kết nối tiện ích mở rộng với KeePassXC.", + "description": "Please go through the default settings and check all your preferred options." + }, + "gettingStartedNewUser": { + "message": "Người dùng mới? Xem hướng dẫn bắt đầu của chúng tôi.", + "description": "Are you a new user? Check links to our documentation." + } +} diff --git a/keepassxc-browser/_locales/zh_CN/messages.json b/keepassxc-browser/_locales/zh_CN/messages.json index decda74..e12ebe6 100644 --- a/keepassxc-browser/_locales/zh_CN/messages.json +++ b/keepassxc-browser/_locales/zh_CN/messages.json @@ -406,6 +406,10 @@ "message": "已过期", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "检索凭据", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "错误:无法找到可填写的字段。", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "需要 KeePassXC 版本:$1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "该扩展需要 KeePassXC 版本:$1。早期版本可能会导致意外行为。", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "默认值:$1", "description": "Default setting text." diff --git a/keepassxc-browser/_locales/zh_TW/messages.json b/keepassxc-browser/_locales/zh_TW/messages.json index 7cc8066..7d496da 100644 --- a/keepassxc-browser/_locales/zh_TW/messages.json +++ b/keepassxc-browser/_locales/zh_TW/messages.json @@ -406,6 +406,10 @@ "message": "已過期", "description": "If a credential is expired, this is appended to the title label." }, + "credentialsRetrieveButton": { + "message": "檢索憑證", + "description": "Manual retrieve credentials button text." + }, "fieldsFill": { "message": "錯誤:\n找不到該填入的欄位。", "description": "Alert message when no fields are found to fill in." @@ -1054,6 +1058,10 @@ "message": "需要 KeePassXC 版本: $1", "description": "KeePassXC version requirement text." }, + "optionsMinimumKeePassXCVersionRequired": { + "message": "此擴展需要 KeePassXC 版本:$1。更早的版本可能導致意外行為。", + "description": "KeePassXC minimum version requirement text." + }, "optionsDefault": { "message": "預設值:$1", "description": "Default setting text." diff --git a/keepassxc-browser/manifest.json b/keepassxc-browser/manifest.json index 0a337ee..1c48ba9 100755 --- a/keepassxc-browser/manifest.json +++ b/keepassxc-browser/manifest.json @@ -1,8 +1,8 @@ { "manifest_version": 3, "name": "KeePassXC-Browser", - "version": "1.9.11", - "version_name": "1.9.11", + "version": "1.10.0", + "version_name": "1.10.0", "minimum_chrome_version": "124", "description": "__MSG_extensionDescription__", "author": "KeePassXC Team", diff --git a/package-lock.json b/package-lock.json index b87b58c..d2cfcc2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "keepassxc-browser", - "version": "1.9.11", + "version": "1.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "keepassxc-browser", - "version": "1.9.11", + "version": "1.10.0", "license": "GPL-3.0", "dependencies": { "@npmcli/fs": "^2.1.0" @@ -302,9 +302,9 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", "dependencies": { @@ -1348,9 +1348,9 @@ "requires": {} }, "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", diff --git a/package.json b/package.json index 0835d35..7e12d0d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "keepassxc-browser", - "version": "1.9.11", + "version": "1.10.0", "description": "KeePassXC-Browser", "main": "build.js", "devDependencies": {