diff --git a/apps/browser/src/_locales/ar/messages.json b/apps/browser/src/_locales/ar/messages.json index aa4edc7ae1f..535b5c70b31 100644 --- a/apps/browser/src/_locales/ar/messages.json +++ b/apps/browser/src/_locales/ar/messages.json @@ -556,6 +556,9 @@ "view": { "message": "عرض" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "لا توجد عناصر لعرضها." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/az/messages.json b/apps/browser/src/_locales/az/messages.json index 3f372d36802..8714f871d19 100644 --- a/apps/browser/src/_locales/az/messages.json +++ b/apps/browser/src/_locales/az/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Bax" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Sadalanacaq heç bir element yoxdur." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Riskli parolları dəyişdir" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Seyf seçimləri" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Daha az göstər" }, + "next": { + "message": "Növbəti" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Key Connector domenini təsdiqlə" } } diff --git a/apps/browser/src/_locales/be/messages.json b/apps/browser/src/_locales/be/messages.json index 3ac03ea7ae7..4e70cf42c85 100644 --- a/apps/browser/src/_locales/be/messages.json +++ b/apps/browser/src/_locales/be/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Прагляд" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "У спісе адсутнічаюць элементы." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/bg/messages.json b/apps/browser/src/_locales/bg/messages.json index 0387464b93e..bc47e357faa 100644 --- a/apps/browser/src/_locales/bg/messages.json +++ b/apps/browser/src/_locales/bg/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Преглед" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Няма елементи за показване." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Промяна на парола в риск" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Настройки на трезора" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Показване на по-малко" }, + "next": { + "message": "Следващо" + }, "moreBreadcrumbs": { "message": "Още елементи в пътечката", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Потвърждаване на домейна на конектора за ключове" } } diff --git a/apps/browser/src/_locales/bn/messages.json b/apps/browser/src/_locales/bn/messages.json index fd8478ee672..74c4d328ed7 100644 --- a/apps/browser/src/_locales/bn/messages.json +++ b/apps/browser/src/_locales/bn/messages.json @@ -556,6 +556,9 @@ "view": { "message": "দেখুন" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "তালিকার জন্য কোনও বস্তু নেই।" }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/bs/messages.json b/apps/browser/src/_locales/bs/messages.json index ca6916a7545..e58d490a2f3 100644 --- a/apps/browser/src/_locales/bs/messages.json +++ b/apps/browser/src/_locales/bs/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/ca/messages.json b/apps/browser/src/_locales/ca/messages.json index 688eb84ff81..37f23759598 100644 --- a/apps/browser/src/_locales/ca/messages.json +++ b/apps/browser/src/_locales/ca/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Visualitza" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "No hi ha cap element a llistar." }, @@ -1124,7 +1127,7 @@ "description": "Button text for updating an existing login entry." }, "unlockToSave": { - "message": "Unlock to save this login", + "message": "Desbloqueja per guardar aquest inici de sessió", "description": "User prompt to take action in order to save the login they just entered." }, "saveLogin": { @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Opcions de la caixa forta" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/cs/messages.json b/apps/browser/src/_locales/cs/messages.json index fa481763f2e..6e41237f2b6 100644 --- a/apps/browser/src/_locales/cs/messages.json +++ b/apps/browser/src/_locales/cs/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Zobrazit" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Žádné položky k zobrazení." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Změnit ohrožené heslo" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Volby trezoru" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Zobrazit méně" }, + "next": { + "message": "Další" + }, "moreBreadcrumbs": { "message": "Více...", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Potvrdit doménu Key Connectoru" } } diff --git a/apps/browser/src/_locales/cy/messages.json b/apps/browser/src/_locales/cy/messages.json index d4ffa408263..8353c1d1422 100644 --- a/apps/browser/src/_locales/cy/messages.json +++ b/apps/browser/src/_locales/cy/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Gweld" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Does dim eitemau i'w rhestru." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Dewisiadau'r gell" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/da/messages.json b/apps/browser/src/_locales/da/messages.json index 9c4b6bf618b..f87ad6712ac 100644 --- a/apps/browser/src/_locales/da/messages.json +++ b/apps/browser/src/_locales/da/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Vis" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Der er ingen elementer at vise." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/de/messages.json b/apps/browser/src/_locales/de/messages.json index 34559785737..5b6b7bbaef8 100644 --- a/apps/browser/src/_locales/de/messages.json +++ b/apps/browser/src/_locales/de/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Anzeigen" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Keine Einträge zum Anzeigen vorhanden." }, @@ -1761,7 +1764,7 @@ "message": "Dieser Browser kann U2F-Anfragen in diesem Popup-Fenster nicht verarbeiten. Möchtest du dieses Popup in einem neuen Fenster öffnen, damit du dich mit U2F anmelden kannst?" }, "showIconsChangePasswordUrls": { - "message": "Show website icons and retrieve change password URLs" + "message": "Website Symbole anzeigen und URLs zum Ändern von Passwörtern abrufen" }, "enableBadgeCounter": { "message": "Badge-Zähler anzeigen" @@ -4126,10 +4129,10 @@ "message": "Sammlung auswählen" }, "importTargetHintCollection": { - "message": "Select this option if you want the imported file contents moved to a collection" + "message": "Wählen Sie diese Option, wenn der importierte Dateiinhalt in eine Sammlung verschoben werden soll" }, "importTargetHintFolder": { - "message": "Select this option if you want the imported file contents moved to a folder" + "message": "Wählen Sie diese Option, wenn der importierte Dateiinhalt in einen Ordner verschoben werden soll" }, "importUnassignedItemsError": { "message": "Die Datei enthält nicht zugewiesene Einträge." @@ -5108,10 +5111,10 @@ "message": "Anzahl der Auto-Ausfüllen-Vorschläge von Zugangsdaten auf dem Erweiterungssymbol anzeigen" }, "accountAccessRequested": { - "message": "Account access requested" + "message": "Kontozugriff angefordert" }, "confirmAccessAttempt": { - "message": "Confirm access attempt for $EMAIL$", + "message": "Zugriffsversuch für $EMAIL$ bestätigen", "placeholders": { "email": { "content": "$1", @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Gefährdetes Passwort ändern" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Tresoroptionen" }, @@ -5570,10 +5579,10 @@ "description": "Aria label for the body content of the generator nudge" }, "aboutThisSetting": { - "message": "About this setting" + "message": "Über diese Einstellung" }, "permitCipherDetailsDescription": { - "message": "Bitwarden will use saved login URIs to identify which icon or change password URL should be used to improve your experience. No information is collected or saved when you use this service." + "message": "Bitwarden wird gespeicherte Login-URIs verwenden, um zu ermitteln, welches Symbol oder welche URL zum Ändern des Passworts verwendet werden soll, um Ihr Erlebnus zu verbessern. Bei der Nutzung dieses Dienstes werden keine Informationen erfasst oder gespeichert." }, "noPermissionsViewPage": { "message": "Du hast keine Berechtigung, diese Seite anzuzeigen. Versuche dich mit einem anderen Konto anzumelden." @@ -5588,8 +5597,14 @@ "showLess": { "message": "Weniger anzeigen" }, + "next": { + "message": "Weiter" + }, "moreBreadcrumbs": { - "message": "More breadcrumbs", + "message": "Mehr Breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/el/messages.json b/apps/browser/src/_locales/el/messages.json index 815630150b2..f62a8e6099e 100644 --- a/apps/browser/src/_locales/el/messages.json +++ b/apps/browser/src/_locales/el/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Προβολή" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Δεν υπάρχουν στοιχεία στη λίστα." }, @@ -665,7 +668,7 @@ "message": "Δεν αναγνωρίζουμε αυτή τη συσκευή. Εισάγετε τον κωδικό που στάλθηκε στο email σας για να επαληθεύσετε την ταυτότητά σας." }, "continueLoggingIn": { - "message": "Continue logging in" + "message": "Συνέχεια σύνδεσης" }, "yourVaultIsLocked": { "message": "Το vault σας είναι κλειδωμένο. Επαληθεύστε τον κύριο κωδικό πρόσβασης για να συνεχίσετε." @@ -1028,7 +1031,7 @@ "message": "Ζητήστε να προσθέσετε ένα αντικείμενο αν δε βρεθεί στο θησαυ/κιό σας. Ισχύει για όλους τους συνδεδεμένους λογαριασμούς." }, "showCardsInVaultViewV2": { - "message": "Always show cards as Autofill suggestions on Vault view" + "message": "Εμφάνιση καρτών ως προτάσεις αυτόματης συμπλήρωσης στην προβολή Θησαυ/κίου" }, "showCardsCurrentTab": { "message": "Εμφάνιση καρτών στη σελίδα Καρτέλας" @@ -1037,7 +1040,7 @@ "message": "Εμφάνισε τα αντικείμενα κάρτες στη σελίδα Καρτέλα για εύκολη αυτόματη συμπλήρωση." }, "showIdentitiesInVaultViewV2": { - "message": "Always show identities as Autofill suggestions on Vault view" + "message": "Εμφάνιση ταυτοτήτων ως προτάσεις αυτόματης συμπλήρωσης στην προβολή Θησαυ/κίου" }, "showIdentitiesCurrentTab": { "message": "Εμφάνιση ταυτοτήτων στη σελίδα καρτέλας" @@ -1049,7 +1052,7 @@ "message": "Κάντε κλικ στα αντικείμενα για αυτόματη συμπλήρωση στην προβολή Θησαυ/κίου" }, "clickToAutofill": { - "message": "Click items in autofill suggestion to fill" + "message": "Κάντε κλικ στα αντικείμενα της πρότασης αυτόματης συμπλήρωσης για εισαγωγή" }, "clearClipboard": { "message": "Εκκαθάριση Πρόχειρου", @@ -1066,7 +1069,7 @@ "message": "Ναι, Αποθήκευση Τώρα" }, "notificationViewAria": { - "message": "View $ITEMNAME$, opens in new window", + "message": "Προβολή $ITEMNAME$, ανοίγει σε νέο παράθυρο", "placeholders": { "itemName": { "content": "$1" @@ -1075,18 +1078,18 @@ "description": "Aria label for the view button in notification bar confirmation message" }, "notificationNewItemAria": { - "message": "New Item, opens in new window", + "message": "Νέο στοιχείο, ανοίγει σε νέο παράθυρο", "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" }, "notificationEditTooltip": { - "message": "Edit before saving", + "message": "Επεξεργασία πριν την αποθήκευση", "description": "Tooltip and Aria label for edit button on cipher item" }, "newNotification": { - "message": "New notification" + "message": "Νέα ειδοποίηση" }, "labelWithNotification": { - "message": "$LABEL$: New notification", + "message": "$LABEL$: Νέα ειδοποίηση", "description": "Label for the notification with a new login suggestion.", "placeholders": { "label": { @@ -1096,11 +1099,11 @@ } }, "notificationLoginSaveConfirmation": { - "message": "saved to Bitwarden.", + "message": "αποθηκεύτηκε στο Bitwarden.", "description": "Shown to user after item is saved." }, "notificationLoginUpdatedConfirmation": { - "message": "updated in Bitwarden.", + "message": "ενημερώθηκε στο Bitwarden.", "description": "Shown to user after item is updated." }, "selectItemAriaLabel": { @@ -1116,31 +1119,31 @@ } }, "saveAsNewLoginAction": { - "message": "Save as new login", + "message": "Αποθήκευση ως νέα σύνδεση", "description": "Button text for saving login details as a new entry." }, "updateLoginAction": { - "message": "Update login", + "message": "Ενημέρωση σύνδεσης", "description": "Button text for updating an existing login entry." }, "unlockToSave": { - "message": "Unlock to save this login", + "message": "Ξεκλειδώστε για να αποθηκεύσετε αυτή τη σύνδεση", "description": "User prompt to take action in order to save the login they just entered." }, "saveLogin": { - "message": "Save login", + "message": "Αποθήκευση σύνδεσης", "description": "Prompt asking the user if they want to save their login details." }, "updateLogin": { - "message": "Update existing login", + "message": "Ενημέρωση υπάρχουσας σύνδεσης", "description": "Prompt asking the user if they want to update an existing login entry." }, "loginSaveSuccess": { - "message": "Login saved", + "message": "Σύνδεση αποθηκεύτηκε", "description": "Message displayed when login details are successfully saved." }, "loginUpdateSuccess": { - "message": "Login updated", + "message": "Σύνδεση ενημερώθηκε", "description": "Message displayed when login details are successfully updated." }, "loginUpdateTaskSuccess": { @@ -1165,7 +1168,7 @@ "description": "Shown to user after login is updated." }, "nextSecurityTaskAction": { - "message": "Change next password", + "message": "Αλλαγή επόμενου κωδικού πρόσβασης", "description": "Message prompting user to undertake completion of another security task." }, "saveFailure": { @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/en/messages.json b/apps/browser/src/_locales/en/messages.json index ca8e7da5f7b..b09b0b7b67b 100644 --- a/apps/browser/src/_locales/en/messages.json +++ b/apps/browser/src/_locales/en/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, diff --git a/apps/browser/src/_locales/en_GB/messages.json b/apps/browser/src/_locales/en_GB/messages.json index c52538f52f7..86dfdfd07b8 100644 --- a/apps/browser/src/_locales/en_GB/messages.json +++ b/apps/browser/src/_locales/en_GB/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/en_IN/messages.json b/apps/browser/src/_locales/en_IN/messages.json index 718b992d6aa..929150f2b81 100644 --- a/apps/browser/src/_locales/en_IN/messages.json +++ b/apps/browser/src/_locales/en_IN/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/es/messages.json b/apps/browser/src/_locales/es/messages.json index ed6c826bd81..b5fe43940c4 100644 --- a/apps/browser/src/_locales/es/messages.json +++ b/apps/browser/src/_locales/es/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Ver" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "No hay elementos que listar." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Cambiar contraseña de riesgo" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Opciones de la caja fuerte" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/et/messages.json b/apps/browser/src/_locales/et/messages.json index d738a3f286b..12352dc1945 100644 --- a/apps/browser/src/_locales/et/messages.json +++ b/apps/browser/src/_locales/et/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Vaata" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Puuduvad kirjed, mida kuvada." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/eu/messages.json b/apps/browser/src/_locales/eu/messages.json index be6ef085ef0..2f0256d6b1c 100644 --- a/apps/browser/src/_locales/eu/messages.json +++ b/apps/browser/src/_locales/eu/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Erakutsi" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Ez dago erakusteko elementurik." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/fa/messages.json b/apps/browser/src/_locales/fa/messages.json index 99f386041fb..380b4240c25 100644 --- a/apps/browser/src/_locales/fa/messages.json +++ b/apps/browser/src/_locales/fa/messages.json @@ -556,6 +556,9 @@ "view": { "message": "مشاهده" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "هیچ موردی برای نمایش وجود ندارد." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "تغییر کلمه عبور در معرض خطر" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "گزینه‌های گاوصندوق" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/fi/messages.json b/apps/browser/src/_locales/fi/messages.json index 6c2e819c588..74e54268725 100644 --- a/apps/browser/src/_locales/fi/messages.json +++ b/apps/browser/src/_locales/fi/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Näytä" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Näytettäviä kohteita ei ole." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Vaihda vaarantunut salasana" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Holvin asetukset" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/fil/messages.json b/apps/browser/src/_locales/fil/messages.json index 6098c7d298f..6c206386a60 100644 --- a/apps/browser/src/_locales/fil/messages.json +++ b/apps/browser/src/_locales/fil/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Tanaw" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Walang mga bagay na maipapakita." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/fr/messages.json b/apps/browser/src/_locales/fr/messages.json index fdbc74bdb2c..4266ac6d6f9 100644 --- a/apps/browser/src/_locales/fr/messages.json +++ b/apps/browser/src/_locales/fr/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Afficher" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Aucun identifiant à afficher." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Changer le mot de passe à risque" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Options du coffre" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/gl/messages.json b/apps/browser/src/_locales/gl/messages.json index 2bc1494632c..ba7d6982962 100644 --- a/apps/browser/src/_locales/gl/messages.json +++ b/apps/browser/src/_locales/gl/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Ver" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Non hai entradas que listar." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/he/messages.json b/apps/browser/src/_locales/he/messages.json index bbcc9f83f91..4525a3c4b49 100644 --- a/apps/browser/src/_locales/he/messages.json +++ b/apps/browser/src/_locales/he/messages.json @@ -556,6 +556,9 @@ "view": { "message": "הצג" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "אין פריטים להצגה." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "שנה סיסמה בסיכון" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "אפשרויות כספת" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "הצג פחות" }, + "next": { + "message": "הבא" + }, "moreBreadcrumbs": { "message": "עוד סימני דרך", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "אשר דומיין של Key Connector" } } diff --git a/apps/browser/src/_locales/hi/messages.json b/apps/browser/src/_locales/hi/messages.json index c2d645f0806..b6b23dd3f43 100644 --- a/apps/browser/src/_locales/hi/messages.json +++ b/apps/browser/src/_locales/hi/messages.json @@ -556,6 +556,9 @@ "view": { "message": "देखें" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "सूचीबद्ध करने के लिए कोई आइटम नहीं हैं।" }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/hr/messages.json b/apps/browser/src/_locales/hr/messages.json index 231fbec4b34..34726b895af 100644 --- a/apps/browser/src/_locales/hr/messages.json +++ b/apps/browser/src/_locales/hr/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Prikaz" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Nema stavki za prikaz." }, @@ -1761,7 +1764,7 @@ "message": "Ovaj preglednik ne može obraditi U2F zahtjeve u ovom iskočnom prozoru. Želiš li otvoriti ovaj iskočni prozor u novom prozoru za prijavu putem U2F?" }, "showIconsChangePasswordUrls": { - "message": "Show website icons and retrieve change password URLs" + "message": "Prikaži ikonu web mjesta i dohvati URL za promjenu lozinke" }, "enableBadgeCounter": { "message": "Prikaži značku brojača" @@ -4126,10 +4129,10 @@ "message": "Odaberi zbirku" }, "importTargetHintCollection": { - "message": "Select this option if you want the imported file contents moved to a collection" + "message": "Odaberi ovu opciju ako sadržaj uvezene datoteke želiš premjestiti u zbirku" }, "importTargetHintFolder": { - "message": "Select this option if you want the imported file contents moved to a folder" + "message": "Odaberi ovu opciju ako sadržaj uvezene datoteke želiš premjestiti u mapu" }, "importUnassignedItemsError": { "message": "Datoteka sadrži nedodijeljene stavke." @@ -5108,10 +5111,10 @@ "message": "Prikaži broj prijedloga auto-ispune na ikoni proširenja" }, "accountAccessRequested": { - "message": "Account access requested" + "message": "Zatražen je pristup računu" }, "confirmAccessAttempt": { - "message": "Confirm access attempt for $EMAIL$", + "message": "Potvrdi pokušaj prijave za $EMAIL$", "placeholders": { "email": { "content": "$1", @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Promijeni rizičnu lozinku" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Mogućnosti trezora" }, @@ -5570,10 +5579,10 @@ "description": "Aria label for the body content of the generator nudge" }, "aboutThisSetting": { - "message": "About this setting" + "message": "O ovoj postavci" }, "permitCipherDetailsDescription": { - "message": "Bitwarden will use saved login URIs to identify which icon or change password URL should be used to improve your experience. No information is collected or saved when you use this service." + "message": "Bitwarden će koristiti spremljene URI-je za prijavu kako bi identificirao ikonu ili URL za promjenu lozinke koji treba koristiti za poboljšanje tvojeg iskustva. Nikakvi podaci se ne prikupljaju, niti spremaju kada koristiš ovu uslugu." }, "noPermissionsViewPage": { "message": "Nemaš dozvolu za pregled ove stranice. Pokušaj se prijaviti s drugim računom." @@ -5588,8 +5597,14 @@ "showLess": { "message": "Pokaži manje" }, + "next": { + "message": "Sljedeće" + }, "moreBreadcrumbs": { - "message": "More breadcrumbs", + "message": "Više mrvica", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Potvrdi domenu kontektora ključa" } } diff --git a/apps/browser/src/_locales/hu/messages.json b/apps/browser/src/_locales/hu/messages.json index adb1d17e984..9d31e94b6a5 100644 --- a/apps/browser/src/_locales/hu/messages.json +++ b/apps/browser/src/_locales/hu/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Nézet" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Nincsenek megjeleníthető tételek." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Kockázatos jelszó megváltoztatása" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Széf opciók" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Kevesebb megjelenítése" }, + "next": { + "message": "Következő" + }, "moreBreadcrumbs": { "message": "További morzsamenük", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "A Key Connector tartomány megerősítése" } } diff --git a/apps/browser/src/_locales/id/messages.json b/apps/browser/src/_locales/id/messages.json index ce45810e04d..a1fe7c3d75b 100644 --- a/apps/browser/src/_locales/id/messages.json +++ b/apps/browser/src/_locales/id/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Tampilan" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Tidak ada item yang dapat dicantumkan." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Ubah kata sandi yang berrisiko" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Pilihan brankas" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Tampilkan lebih sedikit" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/it/messages.json b/apps/browser/src/_locales/it/messages.json index 03c8d47e485..9ee3f4f4744 100644 --- a/apps/browser/src/_locales/it/messages.json +++ b/apps/browser/src/_locales/it/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Visualizza" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Non ci sono elementi da mostrare." }, @@ -1761,7 +1764,7 @@ "message": "Questo browser non può elaborare richieste U2F in questo pop-up. Aprire questo pop-up in una nuova finestra per accedere usando U2F?" }, "showIconsChangePasswordUrls": { - "message": "Show website icons and retrieve change password URLs" + "message": "Mostra le icone dei siti e recupera gli URL di cambio password" }, "enableBadgeCounter": { "message": "Mostra badge contatore" @@ -5108,10 +5111,10 @@ "message": "Mostra il numero di suggerimenti di riempimento automatico sull'icona dell'estensione" }, "accountAccessRequested": { - "message": "Account access requested" + "message": "Accesso all'account richiesto" }, "confirmAccessAttempt": { - "message": "Confirm access attempt for $EMAIL$", + "message": "Conferma il tentativo di accesso per $EMAIL$", "placeholders": { "email": { "content": "$1", @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Cambia parola d'accesso a rischio" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Opzioni cassaforte" }, @@ -5570,10 +5579,10 @@ "description": "Aria label for the body content of the generator nudge" }, "aboutThisSetting": { - "message": "About this setting" + "message": "Informazioni su questa opzione" }, "permitCipherDetailsDescription": { - "message": "Bitwarden will use saved login URIs to identify which icon or change password URL should be used to improve your experience. No information is collected or saved when you use this service." + "message": "Bitwarden userà gli URL memorizzati in ogni login per mostrare, se possibile, l'icona del sito Web e l'URL di modifica password per facilitare la modifica delle credenziali. Nessuna informazione è raccolta o archiviata per il funzionamento di questo servizio." }, "noPermissionsViewPage": { "message": "Non hai i permessi per visualizzare questa pagina. Prova ad accedere con un altro account." @@ -5588,8 +5597,14 @@ "showLess": { "message": "Mostra di meno" }, + "next": { + "message": "Avanti" + }, "moreBreadcrumbs": { "message": "Ulteriori segmenti", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Conferma dominio Key Connector" } } diff --git a/apps/browser/src/_locales/ja/messages.json b/apps/browser/src/_locales/ja/messages.json index 1a7276c38fd..cc49bfdb929 100644 --- a/apps/browser/src/_locales/ja/messages.json +++ b/apps/browser/src/_locales/ja/messages.json @@ -556,6 +556,9 @@ "view": { "message": "表示" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "表示するアイテムがありません" }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "危険なパスワードの変更" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "保管庫オプション" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/ka/messages.json b/apps/browser/src/_locales/ka/messages.json index 5ff5644a75a..81cdf158813 100644 --- a/apps/browser/src/_locales/ka/messages.json +++ b/apps/browser/src/_locales/ka/messages.json @@ -556,6 +556,9 @@ "view": { "message": "ხედი" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/km/messages.json b/apps/browser/src/_locales/km/messages.json index ee92d4c27fb..0406e6e13cd 100644 --- a/apps/browser/src/_locales/km/messages.json +++ b/apps/browser/src/_locales/km/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/kn/messages.json b/apps/browser/src/_locales/kn/messages.json index 63ac0e48ab6..af1e43d65be 100644 --- a/apps/browser/src/_locales/kn/messages.json +++ b/apps/browser/src/_locales/kn/messages.json @@ -556,6 +556,9 @@ "view": { "message": "ವೀಕ್ಷಣೆ" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "ಪಟ್ಟಿ ಮಾಡಲು ಯಾವುದೇ ಐಟಂಗಳಿಲ್ಲ." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/ko/messages.json b/apps/browser/src/_locales/ko/messages.json index d312ab5f377..dc56f9606e0 100644 --- a/apps/browser/src/_locales/ko/messages.json +++ b/apps/browser/src/_locales/ko/messages.json @@ -556,6 +556,9 @@ "view": { "message": "보기" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "항목이 없습니다." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/lt/messages.json b/apps/browser/src/_locales/lt/messages.json index 8bf7720ffe0..78cac846009 100644 --- a/apps/browser/src/_locales/lt/messages.json +++ b/apps/browser/src/_locales/lt/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Peržiūrėti" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Nėra rodytinų elementų." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/lv/messages.json b/apps/browser/src/_locales/lv/messages.json index bb2b680d56c..78f1568dd27 100644 --- a/apps/browser/src/_locales/lv/messages.json +++ b/apps/browser/src/_locales/lv/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Skatīt" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Nav vienumu, ko parādīt." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Mainīt riskam pakļautu paroli" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Glabātavas iespējas" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Rādīt mazāk" }, + "next": { + "message": "Nākamais" + }, "moreBreadcrumbs": { "message": "Vairāk norāžu", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Apstiprināt Key Connector domēnu" } } diff --git a/apps/browser/src/_locales/ml/messages.json b/apps/browser/src/_locales/ml/messages.json index eeb4dbdf0e6..21a816a9354 100644 --- a/apps/browser/src/_locales/ml/messages.json +++ b/apps/browser/src/_locales/ml/messages.json @@ -556,6 +556,9 @@ "view": { "message": "കാണുക" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "പ്രദർശിപ്പിക്കാൻ ഇനങ്ങളൊന്നുമില്ല." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/mr/messages.json b/apps/browser/src/_locales/mr/messages.json index ee16836b19e..a0a78170bba 100644 --- a/apps/browser/src/_locales/mr/messages.json +++ b/apps/browser/src/_locales/mr/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/my/messages.json b/apps/browser/src/_locales/my/messages.json index ee92d4c27fb..0406e6e13cd 100644 --- a/apps/browser/src/_locales/my/messages.json +++ b/apps/browser/src/_locales/my/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/nb/messages.json b/apps/browser/src/_locales/nb/messages.json index 15120aba2a9..dffe6eae114 100644 --- a/apps/browser/src/_locales/nb/messages.json +++ b/apps/browser/src/_locales/nb/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Vis" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Det er ingen elementer å vise." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Hvelvinnstillinger" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/ne/messages.json b/apps/browser/src/_locales/ne/messages.json index ee92d4c27fb..0406e6e13cd 100644 --- a/apps/browser/src/_locales/ne/messages.json +++ b/apps/browser/src/_locales/ne/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/nl/messages.json b/apps/browser/src/_locales/nl/messages.json index d19564bda8e..576f8214e9e 100644 --- a/apps/browser/src/_locales/nl/messages.json +++ b/apps/browser/src/_locales/nl/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Weergeven" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Er zijn geen items om weer te geven." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Risicovol wachtwoord wijzigen" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Kluis-instellingen" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Minder weergeven" }, + "next": { + "message": "Volgende" + }, "moreBreadcrumbs": { "message": "Meer broodkruimels", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Key Connector-domein bevestigen" } } diff --git a/apps/browser/src/_locales/nn/messages.json b/apps/browser/src/_locales/nn/messages.json index ee92d4c27fb..0406e6e13cd 100644 --- a/apps/browser/src/_locales/nn/messages.json +++ b/apps/browser/src/_locales/nn/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/or/messages.json b/apps/browser/src/_locales/or/messages.json index ee92d4c27fb..0406e6e13cd 100644 --- a/apps/browser/src/_locales/or/messages.json +++ b/apps/browser/src/_locales/or/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/pl/messages.json b/apps/browser/src/_locales/pl/messages.json index 39b78cc1d6e..9803c44ab69 100644 --- a/apps/browser/src/_locales/pl/messages.json +++ b/apps/browser/src/_locales/pl/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Pokaż" }, + "viewLogin": { + "message": "Pokaż dane logowania" + }, "noItemsInList": { "message": "Brak elementów do wyświetlenia." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Zmień zagrożone hasło" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Dane logowania są zagrożone i nie zawierają strony internetowej. Dodaj stronę internetową i zmień hasło." + }, + "missingWebsite": { + "message": "Brak strony internetowej" + }, "settingsVaultOptions": { "message": "Opcje sejfu" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Pokaż mniej" }, + "next": { + "message": "Dalej" + }, "moreBreadcrumbs": { "message": "Więcej nawigacji", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Potwierdź domenę Key Connector" } } diff --git a/apps/browser/src/_locales/pt_BR/messages.json b/apps/browser/src/_locales/pt_BR/messages.json index ba6da6ee58f..6911afc8ef0 100644 --- a/apps/browser/src/_locales/pt_BR/messages.json +++ b/apps/browser/src/_locales/pt_BR/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Ver" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Não há itens para listar." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Alterar senhas vulneráveis" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Opções do cofre" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/pt_PT/messages.json b/apps/browser/src/_locales/pt_PT/messages.json index dd0098b863a..c5b59100b6a 100644 --- a/apps/browser/src/_locales/pt_PT/messages.json +++ b/apps/browser/src/_locales/pt_PT/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Ver" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Não existem itens para listar." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Alterar palavra-passe em risco" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Opções do cofre" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Mostrar menos" }, + "next": { + "message": "Seguinte" + }, "moreBreadcrumbs": { "message": "Mais da navegação estrutural", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirmar o domínio do Key Connector" } } diff --git a/apps/browser/src/_locales/ro/messages.json b/apps/browser/src/_locales/ro/messages.json index f2b00e4b90e..aa5418245b1 100644 --- a/apps/browser/src/_locales/ro/messages.json +++ b/apps/browser/src/_locales/ro/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Afișare" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Nu există niciun articol de afișat." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/ru/messages.json b/apps/browser/src/_locales/ru/messages.json index d064d0bef41..d9967cc517b 100644 --- a/apps/browser/src/_locales/ru/messages.json +++ b/apps/browser/src/_locales/ru/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Просмотр" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Нет элементов для отображения." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Изменить пароль, подверженный риску" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Настройки хранилища" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Меньше" }, + "next": { + "message": "Далее" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Подтвердите домен соединителя ключей" } } diff --git a/apps/browser/src/_locales/si/messages.json b/apps/browser/src/_locales/si/messages.json index c7098495a36..80468ba048b 100644 --- a/apps/browser/src/_locales/si/messages.json +++ b/apps/browser/src/_locales/si/messages.json @@ -556,6 +556,9 @@ "view": { "message": "දකින්න" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "ලැයිස්තු ගත කිරීමට අයිතම නොමැත." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/sk/messages.json b/apps/browser/src/_locales/sk/messages.json index a354b1f28aa..67e61e4ecce 100644 --- a/apps/browser/src/_locales/sk/messages.json +++ b/apps/browser/src/_locales/sk/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Zobraziť" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Neexistujú žiadne položky na zobrazenie." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Zmeniť rizikové heslá" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Možnosti trezoru" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Zobraziť menej" }, + "next": { + "message": "Ďalej" + }, "moreBreadcrumbs": { "message": "Viac", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Potvrdiť doménu Key Connectora" } } diff --git a/apps/browser/src/_locales/sl/messages.json b/apps/browser/src/_locales/sl/messages.json index 418dc7b6285..440bc93c512 100644 --- a/apps/browser/src/_locales/sl/messages.json +++ b/apps/browser/src/_locales/sl/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Pogled" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Tukaj ni ničesar." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/sr/messages.json b/apps/browser/src/_locales/sr/messages.json index b7821bae95e..9f7f0aa4bb4 100644 --- a/apps/browser/src/_locales/sr/messages.json +++ b/apps/browser/src/_locales/sr/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Приказ" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Нема ставке у листи." }, @@ -1615,7 +1618,7 @@ "message": "Искључите подешавања ауто-пуњења прегледача, тако да се не сукобљавај са Bitwarden." }, "turnOffBrowserAutofill": { - "message": "Turn off $BROWSER$ autofill", + "message": "Угасити ауто-пуњење $BROWSER$-а", "placeholders": { "browser": { "content": "$1", @@ -1624,7 +1627,7 @@ } }, "turnOffAutofill": { - "message": "Turn off autofill" + "message": "Угасити ауто-пуњење" }, "showInlineMenuLabel": { "message": "Прикажи предлоге за ауто-попуњавање у пољима обрасца" @@ -1761,7 +1764,7 @@ "message": "Овај прегледач не може да обрађује U2F захтеве у овом искачућем прозору. Да ли желите да отворите овај искачући прозор у новом прозору како бисте могли да се пријавите користећи U2F?" }, "showIconsChangePasswordUrls": { - "message": "Show website icons and retrieve change password URLs" + "message": "Прикажи иконе веб локација и преузмите линкове промене лозинке" }, "enableBadgeCounter": { "message": "Прикажи бедж са бројачем" @@ -4126,10 +4129,10 @@ "message": "Изабери колекцију" }, "importTargetHintCollection": { - "message": "Select this option if you want the imported file contents moved to a collection" + "message": "Изаберите ову опцију ако желите да се садржај увезене датотеке пребацио у колекцију" }, "importTargetHintFolder": { - "message": "Select this option if you want the imported file contents moved to a folder" + "message": "Изаберите ову опцију ако желите да се садржај увезене датотеке пребацио у фасцикли" }, "importUnassignedItemsError": { "message": "Датотека садржи недодељене ставке." @@ -5108,10 +5111,10 @@ "message": "Прикажи број предлога за ауто-попуњавање пријаве на икони додатка" }, "accountAccessRequested": { - "message": "Account access requested" + "message": "Приступ рачуна је затражен" }, "confirmAccessAttempt": { - "message": "Confirm access attempt for $EMAIL$", + "message": "Потврдити приступ за $EMAIL$", "placeholders": { "email": { "content": "$1", @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Променити ризичну лозинку" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Опције сефа" }, @@ -5522,7 +5531,7 @@ "example": "Include a Website so this login appears as an autofill suggestion." }, "newCardNudgeTitle": { - "message": "Seamless online checkout" + "message": "Лако онлајн плачање" }, "newCardNudgeBody": { "message": "Са картицама, лако и сигурносно попуните формуларе за плаћање." @@ -5570,7 +5579,7 @@ "description": "Aria label for the body content of the generator nudge" }, "aboutThisSetting": { - "message": "About this setting" + "message": "О овом подешавању" }, "permitCipherDetailsDescription": { "message": "Bitwarden will use saved login URIs to identify which icon or change password URL should be used to improve your experience. No information is collected or saved when you use this service." @@ -5583,13 +5592,19 @@ "description": "'WebAssembly' is a technical term and should not be translated." }, "showMore": { - "message": "Show more" + "message": "Прикажи више" }, "showLess": { - "message": "Show less" + "message": "Прикажи мање" + }, + "next": { + "message": "Следеће" }, "moreBreadcrumbs": { - "message": "More breadcrumbs", + "message": "Више мрвица", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Потврдите домен конектора кључа" } } diff --git a/apps/browser/src/_locales/sv/messages.json b/apps/browser/src/_locales/sv/messages.json index e68af96508d..b8b38e3d07a 100644 --- a/apps/browser/src/_locales/sv/messages.json +++ b/apps/browser/src/_locales/sv/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Visa" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Det finns inga objekt att visa." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Ändra lösenord för riskgrupper" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Alternativ för valv" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Visa mindre" }, + "next": { + "message": "Nästa" + }, "moreBreadcrumbs": { "message": "Fler länkstigar", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Bekräfta Key Connector-domän" } } diff --git a/apps/browser/src/_locales/ta/messages.json b/apps/browser/src/_locales/ta/messages.json index ee92d4c27fb..f04f3b03109 100644 --- a/apps/browser/src/_locales/ta/messages.json +++ b/apps/browser/src/_locales/ta/messages.json @@ -3,10 +3,10 @@ "message": "Bitwarden" }, "appLogoLabel": { - "message": "Bitwarden logo" + "message": "Bitwarden லோகோ" }, "extName": { - "message": "Bitwarden Password Manager", + "message": "Bitwarden கடவுச்சொல் மேலாளர்", "description": "Extension name, MUST be less than 40 characters (Safari restriction)" }, "extDesc": { @@ -14,58 +14,58 @@ "description": "Extension description, MUST be less than 112 characters (Safari restriction)" }, "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." + "message": "உங்கள் பாதுகாப்பான வால்ட்டை அணுக, உள்நுழையவும் அல்லது புதிய கணக்கை உருவாக்கவும்." }, "inviteAccepted": { - "message": "Invitation accepted" + "message": "அழைப்பு ஏற்கப்பட்டது" }, "createAccount": { - "message": "Create account" + "message": "கணக்கை உருவாக்கவும்" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Bitwarden-க்கு புதியவரா?" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "பாஸ்கீயுடன் உள்நுழையவும்" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "ஒற்றை உள்நுழைவைப் பயன்படுத்தவும்" }, "welcomeBack": { - "message": "Welcome back" + "message": "மீண்டும் வருக" }, "setAStrongPassword": { - "message": "Set a strong password" + "message": "ஒரு வலிமையான கடவுச்சொல்லை அமைக்கவும்" }, "finishCreatingYourAccountBySettingAPassword": { - "message": "Finish creating your account by setting a password" + "message": "கடவுச்சொல்லை அமைப்பதன் மூலம் உங்கள் கணக்கை உருவாக்குவதை முடிக்கவும்" }, "enterpriseSingleSignOn": { - "message": "Enterprise single sign-on" + "message": "என்டர்பிரைஸ் ஒற்றை உள்நுழைவு" }, "cancel": { - "message": "Cancel" + "message": "ரத்துசெய்" }, "close": { - "message": "Close" + "message": "மூடு" }, "submit": { - "message": "Submit" + "message": "சமர்ப்பி" }, "emailAddress": { - "message": "Email address" + "message": "மின்னஞ்சல் முகவரி" }, "masterPass": { - "message": "Master password" + "message": "முதன்மை கடவுச்சொல்" }, "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." + "message": "முதன்மை கடவுச்சொல் என்பது உங்கள் வால்ட்டை அணுக நீங்கள் பயன்படுத்தும் கடவுச்சொல் ஆகும். உங்கள் முதன்மை கடவுச்சொல்லை மறக்காமல் இருப்பது மிகவும் முக்கியம். அதை நீங்கள் மறந்துவிட்டால், அதை மீட்டெடுக்க வழி இல்லை." }, "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." + "message": "உங்கள் முதன்மை கடவுச்சொல்லை மறந்துவிட்டால், அதை நினைவில் வைத்துக்கொள்ள முதன்மை கடவுச்சொல் குறிப்பு உதவும்." }, "masterPassHintText": { - "message": "If you forget your password, the password hint can be sent to your email. $CURRENT$/$MAXIMUM$ character maximum.", + "message": "உங்கள் கடவுச்சொல்லை மறந்துவிட்டால், கடவுச்சொல் குறிப்பு உங்கள் மின்னஞ்சலுக்கு அனுப்பப்படலாம். $CURRENT$/$MAXIMUM$ எழுத்து அதிகபட்சம்.", "placeholders": { "current": { "content": "$1", @@ -78,13 +78,13 @@ } }, "reTypeMasterPass": { - "message": "Re-type master password" + "message": "முதன்மை கடவுச்சொல்லை மீண்டும் தட்டச்சு செய்யவும்" }, "masterPassHint": { - "message": "Master password hint (optional)" + "message": "முதன்மை கடவுச்சொல் குறிப்பு (விரும்பினால்)" }, "passwordStrengthScore": { - "message": "Password strength score $SCORE$", + "message": "கடவுச்சொல் வலிமை மதிப்பெண் $SCORE$", "placeholders": { "score": { "content": "$1", @@ -93,10 +93,10 @@ } }, "joinOrganization": { - "message": "Join organization" + "message": "நிறுவனத்தில் சேர்" }, "joinOrganizationName": { - "message": "Join $ORGANIZATIONNAME$", + "message": "$ORGANIZATIONNAME$ இல் சேரவும்", "placeholders": { "organizationName": { "content": "$1", @@ -105,73 +105,73 @@ } }, "finishJoiningThisOrganizationBySettingAMasterPassword": { - "message": "Finish joining this organization by setting a master password." + "message": "ஒரு முதன்மை கடவுச்சொல்லை அமைப்பதன் மூலம் இந்த நிறுவனத்தில் இணைவதை முடிக்கவும்." }, "tab": { - "message": "Tab" + "message": "தாவல்" }, "vault": { - "message": "Vault" + "message": "வால்ட்" }, "myVault": { - "message": "My vault" + "message": "எனது வால்ட்" }, "allVaults": { - "message": "All vaults" + "message": "அனைத்து வால்ட்களும்" }, "tools": { - "message": "Tools" + "message": "கருவிகள்" }, "settings": { - "message": "Settings" + "message": "அமைப்புகள்" }, "currentTab": { - "message": "Current tab" + "message": "தற்போதைய தாவல்" }, "copyPassword": { - "message": "Copy password" + "message": "கடவுச்சொல்லை நகலெடு" }, "copyPassphrase": { - "message": "Copy passphrase" + "message": "கடவுச்சொல் சொற்றொடரை நகலெடு" }, "copyNote": { - "message": "Copy note" + "message": "குறிப்பை நகலெடு" }, "copyUri": { - "message": "Copy URI" + "message": "URI-ஐ நகலெடு" }, "copyUsername": { - "message": "Copy username" + "message": "பயனர்பெயரை நகலெடு" }, "copyNumber": { - "message": "Copy number" + "message": "எண்ணை நகலெடு" }, "copySecurityCode": { - "message": "Copy security code" + "message": "பாதுகாப்பு குறியீட்டை நகலெடு" }, "copyName": { - "message": "Copy name" + "message": "பெயரை நகலெடு" }, "copyCompany": { - "message": "Copy company" + "message": "நிறுவனத்தை நகலெடு" }, "copySSN": { - "message": "Copy Social Security number" + "message": "சமூகப் பாதுகாப்பு எண்ணை நகலெடு" }, "copyPassportNumber": { - "message": "Copy passport number" + "message": "பாஸ்போர்ட் எண்ணை நகலெடு" }, "copyLicenseNumber": { - "message": "Copy license number" + "message": "உரிமம் எண்ணை நகலெடு" }, "copyPrivateKey": { - "message": "Copy private key" + "message": "தனிப்பட்ட விசையை நகலெடு" }, "copyPublicKey": { - "message": "Copy public key" + "message": "பொது விசையை நகலெடு" }, "copyFingerprint": { - "message": "Copy fingerprint" + "message": "கைரேகையை நகலெடு" }, "copyCustomField": { "message": "Copy $FIELD$", @@ -183,207 +183,207 @@ } }, "copyWebsite": { - "message": "Copy website" + "message": "வலைத்தளத்தை நகலெடு" }, "copyNotes": { - "message": "Copy notes" + "message": "குறிப்புகளை நகலெடு" }, "copy": { - "message": "Copy", + "message": "நகலெடு", "description": "Copy to clipboard" }, "fill": { - "message": "Fill", + "message": "நிரப்பு", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." }, "autoFill": { - "message": "Autofill" + "message": "தானாக நிரப்பு" }, "autoFillLogin": { - "message": "Autofill login" + "message": "உள்நுழைவை தானாக நிரப்பு" }, "autoFillCard": { - "message": "Autofill card" + "message": "அட்டையைத் தானாக நிரப்பு" }, "autoFillIdentity": { - "message": "Autofill identity" + "message": "அடையாளத்தைத் தானாக நிரப்பு" }, "fillVerificationCode": { - "message": "Fill verification code" + "message": "சரிபார்ப்புக் குறியீட்டை நிரப்பு" }, "fillVerificationCodeAria": { - "message": "Fill Verification Code", + "message": "சரிபார்ப்புக் குறியீட்டை நிரப்பு", "description": "Aria label for the heading displayed the inline menu for totp code autofill" }, "generatePasswordCopied": { - "message": "Generate password (copied)" + "message": "கடவுச்சொல்லை உருவாக்கு (நகலெடுக்கப்பட்டது)" }, "copyElementIdentifier": { - "message": "Copy custom field name" + "message": "விருப்பப்பட்ட புல பெயரை நகலெடு" }, "noMatchingLogins": { - "message": "No matching logins" + "message": "பொருந்தும் உள்நுழைவுகள் இல்லை" }, "noCards": { - "message": "No cards" + "message": "அட்டைகள் இல்லை" }, "noIdentities": { - "message": "No identities" + "message": "அடையாளங்கள் இல்லை" }, "addLoginMenu": { - "message": "Add login" + "message": "உள்நுழைவைச் சேர்" }, "addCardMenu": { - "message": "Add card" + "message": "அட்டையைச் சேர்" }, "addIdentityMenu": { - "message": "Add identity" + "message": "அடையாளத்தைச் சேர்" }, "unlockVaultMenu": { - "message": "Unlock your vault" + "message": "உங்கள் வால்ட்டைத் திறக்கவும்" }, "loginToVaultMenu": { - "message": "Log in to your vault" + "message": "உங்கள் வால்ட்டில் உள்நுழையவும்" }, "autoFillInfo": { - "message": "There are no logins available to autofill for the current browser tab." + "message": "தற்போதைய உலாவியில் தானாக நிரப்புவதற்கு உள்நுழைவுகள் எதுவும் இல்லை." }, "addLogin": { - "message": "Add a login" + "message": "ஒரு உள்நுழைவைச் சேர்" }, "addItem": { - "message": "Add item" + "message": "உருப்படியைச் சேர்" }, "accountEmail": { - "message": "Account email" + "message": "கணக்கு மின்னஞ்சல்" }, "requestHint": { - "message": "Request hint" + "message": "குறிப்பைக் கோரு" }, "requestPasswordHint": { - "message": "Request password hint" + "message": "கடவுச்சொல் குறிப்பைக் கோரு" }, "enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": { - "message": "Enter your account email address and your password hint will be sent to you" + "message": "உங்கள் கணக்கு மின்னஞ்சல் முகவரியை உள்ளிடவும், உங்கள் கடவுச்சொல் குறிப்பு உங்களுக்கு அனுப்பப்படும்" }, "getMasterPasswordHint": { - "message": "Get master password hint" + "message": "முதன்மை கடவுச்சொல் குறிப்பைப் பெறு" }, "continue": { - "message": "Continue" + "message": "தொடர்" }, "sendVerificationCode": { - "message": "Send a verification code to your email" + "message": "உங்கள் மின்னஞ்சலுக்கு ஒரு சரிபார்ப்புக் குறியீட்டை அனுப்பவும்" }, "sendCode": { - "message": "Send code" + "message": "குறியீட்டை அனுப்பு" }, "codeSent": { - "message": "Code sent" + "message": "குறியீடு அனுப்பப்பட்டது" }, "verificationCode": { - "message": "Verification code" + "message": "சரிபார்ப்புக் குறியீடு" }, "confirmIdentity": { - "message": "Confirm your identity to continue." + "message": "தொடர உங்கள் அடையாளத்தை உறுதிப்படுத்தவும்." }, "changeMasterPassword": { - "message": "Change master password" + "message": "முதன்மை கடவுச்சொல்லை மாற்றவும்" }, "continueToWebApp": { - "message": "Continue to web app?" + "message": "வலை பயன்பாட்டிற்கு தொடரவா?" }, "continueToWebAppDesc": { - "message": "Explore more features of your Bitwarden account on the web app." + "message": "வலை பயன்பாட்டில் உங்கள் Bitwarden கணக்கின் கூடுதல் அம்சங்களை ஆராயுங்கள்." }, "continueToHelpCenter": { - "message": "Continue to Help Center?" + "message": "உதவி மையத்திற்கு தொடரவா?" }, "continueToHelpCenterDesc": { - "message": "Learn more about how to use Bitwarden on the Help Center." + "message": "உதவி மையத்தில் Bitwarden-ஐ எவ்வாறு பயன்படுத்துவது என்பது பற்றி மேலும் அறிக." }, "continueToBrowserExtensionStore": { - "message": "Continue to browser extension store?" + "message": "உலாவி நீட்டிப்பு ஸ்டோரைத் தொடரவா?" }, "continueToBrowserExtensionStoreDesc": { - "message": "Help others find out if Bitwarden is right for them. Visit your browser's extension store and leave a rating now." + "message": "Bitwarden அவர்களுக்கு சரியானதா என்பதை மற்றவர்கள் கண்டறிய உதவுங்கள். உங்கள் உலாவியின் நீட்டிப்பு ஸ்டோருக்குச் சென்று இப்போது ஒரு மதிப்பீட்டை விடுங்கள்." }, "changeMasterPasswordOnWebConfirmation": { - "message": "You can change your master password on the Bitwarden web app." + "message": "Bitwarden வலை பயன்பாட்டில் உங்கள் முதன்மை கடவுச்சொல்லை மாற்றலாம்." }, "fingerprintPhrase": { - "message": "Fingerprint phrase", + "message": "கைரேகை சொற்றொடர்", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "yourAccountsFingerprint": { - "message": "Your account's fingerprint phrase", + "message": "உங்கள் கணக்கின் கைரேகை சொற்றொடர்", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "twoStepLogin": { - "message": "Two-step login" + "message": "இரண்டு-படி உள்நுழைவு" }, "logOut": { - "message": "Log out" + "message": "வெளியேறு" }, "aboutBitwarden": { - "message": "About Bitwarden" + "message": "Bitwarden பற்றி" }, "about": { - "message": "About" + "message": "பற்றி" }, "moreFromBitwarden": { - "message": "More from Bitwarden" + "message": "Bitwarden-இலிருந்து மேலும்" }, "continueToBitwardenDotCom": { - "message": "Continue to bitwarden.com?" + "message": "bitwarden.com தளத்திற்கு செல்லவா?" }, "bitwardenForBusiness": { - "message": "Bitwarden for Business" + "message": "வணிகத்திற்கான Bitwarden" }, "bitwardenAuthenticator": { "message": "Bitwarden Authenticator" }, "continueToAuthenticatorPageDesc": { - "message": "Bitwarden Authenticator allows you to store authenticator keys and generate TOTP codes for 2-step verification flows. Learn more on the bitwarden.com website" + "message": "Bitwarden Authenticator ஆனது அங்கீகரிப்பு விசைகளைச் சேமிக்கவும், 2-படி சரிபார்ப்பு ஓட்டங்களுக்கு TOTP குறியீடுகளை உருவாக்கவும் உங்களை அனுமதிக்கிறது. bitwarden.com வலைத்தளத்தில் மேலும் அறிக" }, "bitwardenSecretsManager": { - "message": "Bitwarden Secrets Manager" + "message": "Bitwarden ரகசியங்கள் மேலாளர்" }, "continueToSecretsManagerPageDesc": { - "message": "Securely store, manage, and share developer secrets with Bitwarden Secrets Manager. Learn more on the bitwarden.com website." + "message": "Bitwarden Secrets Manager-ஐப் பயன்படுத்தி டெவலப்பர் ரகசியங்களை பாதுகாப்பாக சேமித்து, நிர்வகித்து, பகிருங்கள். bitwarden.com வலைத்தளத்தில் மேலும் அறிக." }, "passwordlessDotDev": { "message": "Passwordless.dev" }, "continueToPasswordlessDotDevPageDesc": { - "message": "Create smooth and secure login experiences free from traditional passwords with Passwordless.dev. Learn more on the bitwarden.com website." + "message": "Passwordless.dev-ஐப் பயன்படுத்தி பாரம்பரிய கடவுச்சொற்கள் இல்லாத, எளிதான மற்றும் பாதுகாப்பான உள்நுழைவு அனுபவங்களை உருவாக்குங்கள். bitwarden.com வலைத்தளத்தில் மேலும் அறிக." }, "freeBitwardenFamilies": { - "message": "Free Bitwarden Families" + "message": "இலவச Bitwarden Families" }, "freeBitwardenFamiliesPageDesc": { - "message": "You are eligible for Free Bitwarden Families. Redeem this offer today in the web app." + "message": "நீங்கள் இலவச Bitwarden Families-க்கு தகுதியுடையவர். இந்தச் சலுகையை இன்று வலை பயன்பாட்டில் மீட்டெடுக்கவும்." }, "version": { - "message": "Version" + "message": "பதிப்பு" }, "save": { - "message": "Save" + "message": "சேமி" }, "move": { - "message": "Move" + "message": "நகர்த்து" }, "addFolder": { - "message": "Add folder" + "message": "கோப்புறையைச் சேர்" }, "name": { - "message": "Name" + "message": "பெயர்" }, "editFolder": { - "message": "Edit folder" + "message": "கோப்புறையைத் திருத்து" }, "editFolderWithName": { - "message": "Edit folder: $FOLDERNAME$", + "message": "கோப்புறையைத் திருத்து: $FOLDERNAME$", "placeholders": { "foldername": { "content": "$1", @@ -392,105 +392,105 @@ } }, "newFolder": { - "message": "New folder" + "message": "புதிய கோப்புறை" }, "folderName": { - "message": "Folder name" + "message": "கோப்புறை பெயர்" }, "folderHintText": { - "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" + "message": "ஒரு கோப்புறையின் பெயரைச் சேர்த்து, அதைத் தொடர்ந்து ஒரு “/” ஐச் சேர்ப்பதன் மூலம் ஒரு கோப்புறையை உருவாக்கலாம். எடுத்துக்காட்டு: Social/Forums" }, "noFoldersAdded": { - "message": "No folders added" + "message": "கோப்புறைகள் சேர்க்கப்படவில்லை" }, "createFoldersToOrganize": { - "message": "Create folders to organize your vault items" + "message": "உங்கள் வால்ட் உருப்படிகளை ஒழுங்கமைக்க கோப்புறைகளை உருவாக்கவும்" }, "deleteFolderPermanently": { - "message": "Are you sure you want to permanently delete this folder?" + "message": "இந்த கோப்புறையை நிரந்தரமாக நீக்க விரும்புகிறீர்களா?" }, "deleteFolder": { - "message": "Delete folder" + "message": "கோப்புறையை நீக்கு" }, "folders": { - "message": "Folders" + "message": "கோப்புறைகள்" }, "noFolders": { - "message": "There are no folders to list." + "message": "பட்டியலிட கோப்புறைகள் எதுவும் இல்லை." }, "helpFeedback": { - "message": "Help & feedback" + "message": "உதவி மற்றும் பின்னூட்டம்" }, "helpCenter": { - "message": "Bitwarden Help center" + "message": "Bitwarden உதவி மையம்" }, "communityForums": { - "message": "Explore Bitwarden community forums" + "message": "Bitwarden சமூக மன்றங்களை ஆராயுங்கள்" }, "contactSupport": { - "message": "Contact Bitwarden support" + "message": "Bitwarden ஆதரவைத் தொடர்பு கொள்ளுங்கள்" }, "sync": { - "message": "Sync" + "message": "ஒத்திசை" }, "syncVaultNow": { - "message": "Sync vault now" + "message": "இப்போது வால்ட்டை ஒத்திசை" }, "lastSync": { - "message": "Last sync:" + "message": "கடைசி ஒத்திசைவு:" }, "passGen": { - "message": "Password generator" + "message": "கடவுச்சொல் உருவாக்கி" }, "generator": { - "message": "Generator", + "message": "உருவாக்கி", "description": "Short for 'credential generator'." }, "passGenInfo": { - "message": "Automatically generate strong, unique passwords for your logins." + "message": "உங்கள் உள்நுழைவுகளுக்கு தானாகவே வலிமையான, தனித்துவமான கடவுச்சொற்களை உருவாக்குங்கள்." }, "bitWebVaultApp": { - "message": "Bitwarden web app" + "message": "Bitwarden வலை பயன்பாடு" }, "importItems": { - "message": "Import items" + "message": "உருப்படிகளை இறக்குமதிசெய்" }, "select": { - "message": "Select" + "message": "தேர்ந்தெடு" }, "generatePassword": { - "message": "Generate password" + "message": "கடவுச்சொல்லை உருவாக்கு" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "கடவுச்சொல் சொற்றொடரை உருவாக்கு" }, "passwordGenerated": { - "message": "Password generated" + "message": "கடவுச்சொல் உருவாக்கப்பட்டது" }, "passphraseGenerated": { - "message": "Passphrase generated" + "message": "கடவுச்சொல் சொற்றொடர் உருவாக்கப்பட்டது" }, "usernameGenerated": { - "message": "Username generated" + "message": "பயனர்பெயர் உருவாக்கப்பட்டது" }, "emailGenerated": { - "message": "Email generated" + "message": "மின்னஞ்சல் உருவாக்கப்பட்டது" }, "regeneratePassword": { - "message": "Regenerate password" + "message": "கடவுச்சொல்லை மீண்டும் உருவாக்கு" }, "options": { - "message": "Options" + "message": "விருப்பத்தேர்வுகள்" }, "length": { - "message": "Length" + "message": "நீளம்" }, "include": { - "message": "Include", + "message": "சேர்த்துக்கொள்", "description": "Card header for password generator include block" }, "uppercaseDescription": { - "message": "Include uppercase characters", + "message": "பெரிய எழுத்துக்களை சேர்த்துக்கொள்", "description": "Tooltip for the password generator uppercase character checkbox" }, "uppercaseLabel": { @@ -498,7 +498,7 @@ "description": "Label for the password generator uppercase character checkbox" }, "lowercaseDescription": { - "message": "Include lowercase characters", + "message": "சிறிய எழுத்துக்களை சேர்த்துக்கொள்", "description": "Full description for the password generator lowercase character checkbox" }, "lowercaseLabel": { @@ -506,7 +506,7 @@ "description": "Label for the password generator lowercase character checkbox" }, "numbersDescription": { - "message": "Include numbers", + "message": "எண்களை சேர்த்துக்கொள்", "description": "Full description for the password generator numbers checkbox" }, "numbersLabel": { @@ -514,104 +514,107 @@ "description": "Label for the password generator numbers checkbox" }, "specialCharactersDescription": { - "message": "Include special characters", + "message": "சிறப்பு எழுத்துக்களை சேர்த்துக்கொள்", "description": "Full description for the password generator special characters checkbox" }, "numWords": { - "message": "Number of words" + "message": "வார்த்தைகளின் எண்ணிக்கை" }, "wordSeparator": { - "message": "Word separator" + "message": "வார்த்தை பிரிப்பான்" }, "capitalize": { - "message": "Capitalize", + "message": "பெரிய எழுத்தாக்கு", "description": "Make the first letter of a work uppercase." }, "includeNumber": { - "message": "Include number" + "message": "எண்ணைச் சேர்த்துக்கொள்" }, "minNumbers": { - "message": "Minimum numbers" + "message": "குறைந்தபட்ச எண்கள்" }, "minSpecial": { - "message": "Minimum special" + "message": "குறைந்தபட்ச சிறப்பு" }, "avoidAmbiguous": { - "message": "Avoid ambiguous characters", + "message": "தெளிவற்ற எழுத்துக்களை தவிர்க்கவும்", "description": "Label for the avoid ambiguous characters checkbox." }, "generatorPolicyInEffect": { - "message": "Enterprise policy requirements have been applied to your generator options.", + "message": "உங்கள் உருவாக்கி விருப்பத்தேர்வுகளுக்கு என்டர்பிரைஸ் கொள்கை தேவைகள் பயன்படுத்தப்பட்டுள்ளன.", "description": "Indicates that a policy limits the credential generator screen." }, "searchVault": { - "message": "Search vault" + "message": "வால்ட்டைத் தேடு" }, "resetSearch": { - "message": "Reset search" + "message": "தேடலை மீட்டமை" }, "edit": { - "message": "Edit" + "message": "திருத்து" }, "view": { - "message": "View" + "message": "காண்" + }, + "viewLogin": { + "message": "View login" }, "noItemsInList": { - "message": "There are no items to list." + "message": "பட்டியலிட உருப்படிகள் எதுவும் இல்லை." }, "itemInformation": { - "message": "Item information" + "message": "உருப்படி தகவல்" }, "username": { - "message": "Username" + "message": "பயனர்பெயர்" }, "password": { - "message": "Password" + "message": "கடவுச்சொல்" }, "totp": { - "message": "Authenticator secret" + "message": "அங்கீகரிப்பு இரகசியம்" }, "passphrase": { - "message": "Passphrase" + "message": "கடவுச்சொல் சொற்றொடர்" }, "favorite": { - "message": "Favorite" + "message": "விருப்பமானது" }, "unfavorite": { - "message": "Unfavorite" + "message": "விருப்பமற்றது" }, "itemAddedToFavorites": { - "message": "Item added to favorites" + "message": "உருப்படி விருப்பமானதில் சேர்க்கப்பட்டது" }, "itemRemovedFromFavorites": { - "message": "Item removed from favorites" + "message": "உருப்படி விருப்பமானதிலிருந்து நீக்கப்பட்டது" }, "notes": { - "message": "Notes" + "message": "குறிப்புகள்" }, "privateNote": { - "message": "Private note" + "message": "தனிப்பட்ட குறிப்பு" }, "note": { - "message": "Note" + "message": "குறிப்பு" }, "editItem": { - "message": "Edit item" + "message": "உருப்படியைத் திருத்து" }, "folder": { - "message": "Folder" + "message": "கோப்புறை" }, "deleteItem": { - "message": "Delete item" + "message": "உருப்படியை நீக்கு" }, "viewItem": { - "message": "View item" + "message": "உருப்படியைக் காண்" }, "launch": { - "message": "Launch" + "message": "தொடங்கு" }, "launchWebsite": { - "message": "Launch website" + "message": "வலைத்தளத்தைத் தொடங்கு" }, "launchWebsiteName": { "message": "Launch website $ITEMNAME$", @@ -623,64 +626,64 @@ } }, "website": { - "message": "Website" + "message": "வலைத்தளம்" }, "toggleVisibility": { - "message": "Toggle visibility" + "message": "காண்பிக்கும் நிலையை மாற்று" }, "manage": { - "message": "Manage" + "message": "நிர்வகி" }, "other": { - "message": "Other" + "message": "மற்றவை" }, "unlockMethods": { - "message": "Unlock options" + "message": "திறக்கும் விருப்பத்தேர்வுகள்" }, "unlockMethodNeededToChangeTimeoutActionDesc": { - "message": "Set up an unlock method to change your vault timeout action." + "message": "உங்கள் வால்ட் காலக்கெடு செயலை மாற்ற ஒரு திறக்கும் முறையை அமைக்கவும்." }, "unlockMethodNeeded": { - "message": "Set up an unlock method in Settings" + "message": "அமைப்புகளில் ஒரு திறக்கும் முறையை அமைக்கவும்" }, "sessionTimeoutHeader": { - "message": "Session timeout" + "message": "அமர்வு காலக்கெடு" }, "vaultTimeoutHeader": { - "message": "Vault timeout" + "message": "வால்ட் காலக்கெடு" }, "otherOptions": { - "message": "Other options" + "message": "பிற விருப்பத்தேர்வுகள்" }, "rateExtension": { - "message": "Rate the extension" + "message": "நீட்டிப்புக்கு மதிப்பிடு" }, "browserNotSupportClipboard": { - "message": "Your web browser does not support easy clipboard copying. Copy it manually instead." + "message": "உங்கள் உலாவி எளிதான நகலெடுப்பதை ஆதரிக்கவில்லை. அதற்குப் பதிலாக கைமுறையாக நகலெடுக்கவும்." }, "verifyYourIdentity": { - "message": "Verify your identity" + "message": "உங்கள் அடையாளத்தைச் சரிபார்க்கவும்" }, "weDontRecognizeThisDevice": { - "message": "We don't recognize this device. Enter the code sent to your email to verify your identity." + "message": "இந்த சாதனத்தை நாங்கள் அடையாளம் காணவில்லை. உங்கள் அடையாளத்தைச் சரிபார்க்க உங்கள் மின்னஞ்சலுக்கு அனுப்பப்பட்ட குறியீட்டை உள்ளிடவும்." }, "continueLoggingIn": { - "message": "Continue logging in" + "message": "உள்நுழைவைத் தொடரவும்" }, "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your identity to continue." + "message": "உங்கள் வால்ட் பூட்டப்பட்டுள்ளது. தொடர உங்கள் அடையாளத்தைச் சரிபார்க்கவும்." }, "yourVaultIsLockedV2": { - "message": "Your vault is locked" + "message": "உங்கள் வால்ட் பூட்டப்பட்டுள்ளது" }, "yourAccountIsLocked": { - "message": "Your account is locked" + "message": "உங்கள் கணக்கு பூட்டப்பட்டுள்ளது" }, "or": { - "message": "or" + "message": "அல்லது" }, "unlock": { - "message": "Unlock" + "message": "திற" }, "loggedInAsOn": { "message": "Logged in as $EMAIL$ on $HOSTNAME$.", @@ -696,94 +699,94 @@ } }, "invalidMasterPassword": { - "message": "Invalid master password" + "message": "தவறான முதன்மை கடவுச்சொல்" }, "vaultTimeout": { - "message": "Vault timeout" + "message": "வால்ட் காலக்கெடு" }, "vaultTimeout1": { - "message": "Timeout" + "message": "காலக்கெடு" }, "lockNow": { - "message": "Lock now" + "message": "இப்போது பூட்டு" }, "lockAll": { - "message": "Lock all" + "message": "அனைத்தையும் பூட்டு" }, "immediately": { - "message": "Immediately" + "message": "உடனடியாக" }, "tenSeconds": { - "message": "10 seconds" + "message": "10 வினாடிகள்" }, "twentySeconds": { - "message": "20 seconds" + "message": "20 வினாடிகள்" }, "thirtySeconds": { - "message": "30 seconds" + "message": "30 வினாடிகள்" }, "oneMinute": { - "message": "1 minute" + "message": "1 நிமிடம்" }, "twoMinutes": { - "message": "2 minutes" + "message": "2 நிமிடங்கள்" }, "fiveMinutes": { - "message": "5 minutes" + "message": "5 நிமிடங்கள்" }, "fifteenMinutes": { - "message": "15 minutes" + "message": "15 நிமிடங்கள்" }, "thirtyMinutes": { - "message": "30 minutes" + "message": "30 நிமிடங்கள்" }, "oneHour": { - "message": "1 hour" + "message": "1 மணிநேரம்" }, "fourHours": { - "message": "4 hours" + "message": "4 மணிநேரங்கள்" }, "onLocked": { - "message": "On system lock" + "message": "சிஸ்டம் பூட்டப்பட்டவுடன்" }, "onRestart": { - "message": "On browser restart" + "message": "உலாவி மறுதொடக்கம் செய்யப்பட்டவுடன்" }, "never": { - "message": "Never" + "message": "ஒருபோதும் இல்லை" }, "security": { - "message": "Security" + "message": "பாதுகாப்பு" }, "confirmMasterPassword": { - "message": "Confirm master password" + "message": "முதன்மை கடவுச்சொல்லை உறுதிப்படுத்து" }, "masterPassword": { - "message": "Master password" + "message": "முதன்மை கடவுச்சொல்" }, "masterPassImportant": { - "message": "Your master password cannot be recovered if you forget it!" + "message": "உங்கள் முதன்மை கடவுச்சொல்லை மறந்துவிட்டால் அதை மீட்டெடுக்க முடியாது!" }, "masterPassHintLabel": { - "message": "Master password hint" + "message": "முதன்மை கடவுச்சொல் குறிப்பு" }, "errorOccurred": { - "message": "An error has occurred" + "message": "ஒரு பிழை ஏற்பட்டது" }, "emailRequired": { - "message": "Email address is required." + "message": "மின்னஞ்சல் முகவரி அவசியம்." }, "invalidEmail": { - "message": "Invalid email address." + "message": "தவறான மின்னஞ்சல் முகவரி." }, "masterPasswordRequired": { - "message": "Master password is required." + "message": "முதன்மை கடவுச்சொல் அவசியம்." }, "confirmMasterPasswordRequired": { - "message": "Master password retype is required." + "message": "முதன்மை கடவுச்சொல்லை மீண்டும் தட்டச்சு செய்வது அவசியம்." }, "masterPasswordMinlength": { - "message": "Master password must be at least $VALUE$ characters long.", + "message": "முதன்மை கடவுச்சொல் குறைந்தது $VALUE$ எழுத்து நீளம் இருக்க வேண்டும்.", "description": "The Master Password must be at least a specific number of characters long.", "placeholders": { "value": { @@ -793,37 +796,37 @@ } }, "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." + "message": "முதன்மை கடவுச்சொல் உறுதிப்படுத்தல் பொருந்தவில்லை." }, "newAccountCreated": { - "message": "Your new account has been created! You may now log in." + "message": "உங்கள் புதிய கணக்கு உருவாக்கப்பட்டது! இப்போது நீங்கள் உள்நுழையலாம்." }, "newAccountCreated2": { - "message": "Your new account has been created!" + "message": "உங்கள் புதிய கணக்கு உருவாக்கப்பட்டது!" }, "youHaveBeenLoggedIn": { - "message": "You have been logged in!" + "message": "நீங்கள் உள்நுழைந்துள்ளீர்கள்!" }, "youSuccessfullyLoggedIn": { - "message": "You successfully logged in" + "message": "நீங்கள் வெற்றிகரமாக உள்நுழைந்துள்ளீர்கள்" }, "youMayCloseThisWindow": { - "message": "You may close this window" + "message": "நீங்கள் இந்த சாளரத்தை மூடலாம்" }, "masterPassSent": { - "message": "We've sent you an email with your master password hint." + "message": "உங்கள் முதன்மை கடவுச்சொல் குறிப்புடன் ஒரு மின்னஞ்சலை நாங்கள் உங்களுக்கு அனுப்பி உள்ளோம்." }, "verificationCodeRequired": { - "message": "Verification code is required." + "message": "சரிபார்ப்புக் குறியீடு அவசியம்." }, "webauthnCancelOrTimeout": { - "message": "The authentication was cancelled or took too long. Please try again." + "message": "அங்கீகாரம் ரத்து செய்யப்பட்டது அல்லது அதிக நேரம் எடுத்தது. மீண்டும் முயற்சிக்கவும்." }, "invalidVerificationCode": { - "message": "Invalid verification code" + "message": "தவறான சரிபார்ப்புக் குறியீடு" }, "valueCopied": { - "message": "$VALUE$ copied", + "message": "$VALUE$ நகலெடுக்கப்பட்டது", "description": "Value has been copied to the clipboard.", "placeholders": { "value": { @@ -833,130 +836,130 @@ } }, "autofillError": { - "message": "Unable to autofill the selected item on this page. Copy and paste the information instead." + "message": "இந்த பக்கத்தில் தேர்ந்தெடுக்கப்பட்ட உருப்படியை தானாக நிரப்ப முடியவில்லை. அதற்குப் பதிலாக தகவலை நகலெடுத்து ஒட்டவும்." }, "totpCaptureError": { - "message": "Unable to scan QR code from the current webpage" + "message": "தற்போதைய வலைப்பக்கத்திலிருந்து QR குறியீட்டை ஸ்கேன் செய்ய முடியவில்லை" }, "totpCaptureSuccess": { - "message": "Authenticator key added" + "message": "அங்கீகரிப்பு விசை சேர்க்கப்பட்டது" }, "totpCapture": { - "message": "Scan authenticator QR code from current webpage" + "message": "தற்போதைய வலைப்பக்கத்திலிருந்து அங்கீகரிப்பு QR குறியீட்டை ஸ்கேன் செய்யவும்" }, "totpHelperTitle": { - "message": "Make 2-step verification seamless" + "message": "2-படி சரிபார்ப்பை தடையற்றதாக்கு" }, "totpHelper": { - "message": "Bitwarden can store and fill 2-step verification codes. Copy and paste the key into this field." + "message": "Bitwarden 2-படி சரிபார்ப்புக் குறியீடுகளை சேமித்து நிரப்ப முடியும். விசையை இந்த புலத்தில் நகலெடுத்து ஒட்டவும்." }, "totpHelperWithCapture": { - "message": "Bitwarden can store and fill 2-step verification codes. Select the camera icon to take a screenshot of this website's authenticator QR code, or copy and paste the key into this field." + "message": "Bitwarden 2-படி சரிபார்ப்புக் குறியீடுகளை சேமித்து நிரப்ப முடியும். இந்த வலைத்தளத்தின் அங்கீகரிப்பு QR குறியீட்டின் ஸ்கிரீன்ஷாட்டை எடுக்க கேமரா ஐகானைத் தேர்ந்தெடுக்கவும், அல்லது விசையை இந்த புலத்தில் நகலெடுத்து ஒட்டவும்." }, "learnMoreAboutAuthenticators": { - "message": "Learn more about authenticators" + "message": "அங்கீகரிப்பாளர்கள் பற்றி மேலும் அறிக" }, "copyTOTP": { - "message": "Copy Authenticator key (TOTP)" + "message": "அங்கீகரிப்பு விசையை நகலெடு (TOTP)" }, "loggedOut": { - "message": "Logged out" + "message": "வெளியேறிவிட்டது" }, "loggedOutDesc": { - "message": "You have been logged out of your account." + "message": "உங்கள் கணக்கிலிருந்து நீங்கள் வெளியேறிவிட்டீர்கள்." }, "loginExpired": { - "message": "Your login session has expired." + "message": "உங்கள் உள்நுழைவு அமர்வு காலாவதியாகிவிட்டது." }, "logIn": { - "message": "Log in" + "message": "உள்நுழை" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "Bitwarden-இல் உள்நுழை" }, "enterTheCodeSentToYourEmail": { - "message": "Enter the code sent to your email" + "message": "உங்கள் மின்னஞ்சலுக்கு அனுப்பப்பட்ட குறியீட்டை உள்ளிடவும்" }, "enterTheCodeFromYourAuthenticatorApp": { - "message": "Enter the code from your authenticator app" + "message": "உங்கள் அங்கீகரிப்பு பயன்பாட்டிலிருந்து குறியீட்டை உள்ளிடவும்" }, "pressYourYubiKeyToAuthenticate": { - "message": "Press your YubiKey to authenticate" + "message": "அங்கீகரிக்க உங்கள் YubiKey-ஐ அழுத்தவும்" }, "duoTwoFactorRequiredPageSubtitle": { - "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in." + "message": "உங்கள் கணக்கிற்கு Duo இரண்டு-படி உள்நுழைவு அவசியம். உள்நுழைவதை முடிக்க கீழே உள்ள படிகளைப் பின்பற்றவும்." }, "followTheStepsBelowToFinishLoggingIn": { - "message": "Follow the steps below to finish logging in." + "message": "உள்நுழைவதை முடிக்க கீழே உள்ள படிகளைப் பின்பற்றவும்." }, "followTheStepsBelowToFinishLoggingInWithSecurityKey": { - "message": "Follow the steps below to finish logging in with your security key." + "message": "உங்கள் பாதுகாப்பு விசையுடன் உள்நுழைவதை முடிக்க கீழே உள்ள படிகளைப் பின்பற்றவும்." }, "restartRegistration": { - "message": "Restart registration" + "message": "பதிவை மறுதொடக்கம் செய்" }, "expiredLink": { - "message": "Expired link" + "message": "காலாவதியான இணைப்பு" }, "pleaseRestartRegistrationOrTryLoggingIn": { - "message": "Please restart registration or try logging in." + "message": "தயவுசெய்து பதிவை மறுதொடக்கம் செய்யவும் அல்லது உள்நுழைய முயற்சிக்கவும்." }, "youMayAlreadyHaveAnAccount": { - "message": "You may already have an account" + "message": "உங்களுக்கு ஏற்கனவே ஒரு கணக்கு இருக்கலாம்" }, "logOutConfirmation": { - "message": "Are you sure you want to log out?" + "message": "நீங்கள் வெளியேற விரும்புகிறீர்களா?" }, "yes": { - "message": "Yes" + "message": "ஆம்" }, "no": { - "message": "No" + "message": "இல்லை" }, "location": { - "message": "Location" + "message": "இருப்பிடம்" }, "unexpectedError": { - "message": "An unexpected error has occurred." + "message": "எதிர்பாராத பிழை ஏற்பட்டது." }, "nameRequired": { - "message": "Name is required." + "message": "பெயர் அவசியம்." }, "addedFolder": { - "message": "Folder added" + "message": "கோப்புறை சேர்க்கப்பட்டது" }, "twoStepLoginConfirmation": { - "message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?" + "message": "இரண்டு-படி உள்நுழைவு உங்கள் உள்நுழைவை ஒரு பாதுகாப்பு விசை, அங்கீகரிப்பு பயன்பாடு, SMS, தொலைபேசி அழைப்பு அல்லது மின்னஞ்சல் போன்ற மற்றொரு சாதனத்துடன் சரிபார்க்கும்படி செய்வதன் மூலம் உங்கள் கணக்கை மேலும் பாதுகாப்பானதாக்குகிறது. இரண்டு-படி உள்நுழைவை bitwarden.com வலை வால்ட்டில் அமைக்கலாம். இப்போது வலைத்தளத்தைப் பார்வையிட விரும்புகிறீர்களா?" }, "twoStepLoginConfirmationContent": { - "message": "Make your account more secure by setting up two-step login in the Bitwarden web app." + "message": "Bitwarden வலை பயன்பாட்டில் இரண்டு-படி உள்நுழைவை அமைப்பதன் மூலம் உங்கள் கணக்கை மேலும் பாதுகாப்பானதாக்குங்கள்." }, "twoStepLoginConfirmationTitle": { - "message": "Continue to web app?" + "message": "வலை பயன்பாட்டிற்கு தொடரவா?" }, "editedFolder": { - "message": "Folder saved" + "message": "கோப்புறை சேமிக்கப்பட்டது" }, "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" + "message": "இந்த கோப்புறையை நீக்க விரும்புகிறீர்களா?" }, "deletedFolder": { - "message": "Folder deleted" + "message": "கோப்புறை நீக்கப்பட்டது" }, "gettingStartedTutorial": { - "message": "Getting started tutorial" + "message": "தொடங்குவதற்கான வழிகாட்டி" }, "gettingStartedTutorialVideo": { - "message": "Watch our getting started tutorial to learn how to get the most out of the browser extension." + "message": "உலாவி நீட்டிப்பிலிருந்து அதிகபட்ச பயனை எவ்வாறு பெறுவது என்பதை அறிய, எங்கள் தொடங்குவதற்கான வழிகாட்டியைப் பார்க்கவும்." }, "syncingComplete": { - "message": "Syncing complete" + "message": "ஒத்திசைவு முடிந்தது" }, "syncingFailed": { - "message": "Syncing failed" + "message": "ஒத்திசைவு தோல்வியடைந்தது" }, "passwordCopied": { - "message": "Password copied" + "message": "கடவுச்சொல் நகலெடுக்கப்பட்டது" }, "uri": { "message": "URI" @@ -972,101 +975,101 @@ } }, "newUri": { - "message": "New URI" + "message": "புதிய URI" }, "addDomain": { - "message": "Add domain", + "message": "டொமைனைச் சேர்", "description": "'Domain' here refers to an internet domain name (e.g. 'bitwarden.com') and the message in whole described the act of putting a domain value into the context." }, "addedItem": { - "message": "Item added" + "message": "உருப்படி சேர்க்கப்பட்டது" }, "editedItem": { - "message": "Item saved" + "message": "உருப்படி சேமிக்கப்பட்டது" }, "deleteItemConfirmation": { - "message": "Do you really want to send to the trash?" + "message": "நீங்கள் உண்மையிலேயே குப்பைக்கு அனுப்ப விரும்புகிறீர்களா?" }, "deletedItem": { - "message": "Item sent to trash" + "message": "உருப்படி குப்பைக்கு அனுப்பப்பட்டது" }, "overwritePassword": { - "message": "Overwrite password" + "message": "கடவுச்சொல்லை மேலெழுது" }, "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" + "message": "தற்போதைய கடவுச்சொல்லை மேலெழுத விரும்புகிறீர்களா?" }, "overwriteUsername": { - "message": "Overwrite username" + "message": "பயனர்பெயரை மேலெழுது" }, "overwriteUsernameConfirmation": { - "message": "Are you sure you want to overwrite the current username?" + "message": "தற்போதைய பயனர்பெயரை மேலெழுது விரும்புகிறீர்களா?" }, "searchFolder": { - "message": "Search folder" + "message": "கோப்புறையைத் தேடு" }, "searchCollection": { - "message": "Search collection" + "message": "சேகரிப்பைத் தேடு" }, "searchType": { - "message": "Search type" + "message": "தேடல் வகை" }, "noneFolder": { - "message": "No folder", + "message": "கோப்புறை இல்லை", "description": "This is the folder for uncategorized items" }, "enableAddLoginNotification": { - "message": "Ask to add login" + "message": "உள்நுழைவைச் சேர்க்க கேட்கவும்" }, "vaultSaveOptionsTitle": { - "message": "Save to vault options" + "message": "வால்ட்டில் சேமிக்கும் விருப்பத்தேர்வுகள்" }, "addLoginNotificationDesc": { - "message": "Ask to add an item if one isn't found in your vault." + "message": "உங்கள் வால்ட்டில் ஒரு உருப்படி காணப்படவில்லை என்றால், அதைச் சேர்க்க கேட்கவும்." }, "addLoginNotificationDescAlt": { - "message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts." + "message": "உங்கள் வால்ட்டில் ஒரு உருப்படி காணப்படவில்லை என்றால், அதைச் சேர்க்க கேட்கவும். அனைத்து உள்நுழைந்த கணக்குகளுக்கும் பொருந்தும்." }, "showCardsInVaultViewV2": { - "message": "Always show cards as Autofill suggestions on Vault view" + "message": "வால்ட் பார்வையில் தானாக நிரப்பும் பரிந்துரைகளாக எப்போதும் அட்டைகளைக் காட்டு" }, "showCardsCurrentTab": { - "message": "Show cards on Tab page" + "message": "தாவல் பக்கத்தில் அட்டைகளைக் காட்டு" }, "showCardsCurrentTabDesc": { - "message": "List card items on the Tab page for easy autofill." + "message": "எளிதான தானாக நிரப்புதலுக்காக தாவல் பக்கத்தில் அட்டை உருப்படிகளைப் பட்டியலிடு." }, "showIdentitiesInVaultViewV2": { - "message": "Always show identities as Autofill suggestions on Vault view" + "message": "வால்ட் பார்வையில் தானாக நிரப்பும் பரிந்துரைகளாக எப்போதும் அடையாளங்களைக் காட்டு" }, "showIdentitiesCurrentTab": { - "message": "Show identities on Tab page" + "message": "தாவல் பக்கத்தில் அடையாளங்களைக் காட்டு" }, "showIdentitiesCurrentTabDesc": { - "message": "List identity items on the Tab page for easy autofill." + "message": "எளிதான தானாக நிரப்புதலுக்காக தாவல் பக்கத்தில் அடையாள உருப்படிகளைப் பட்டியலிடு." }, "clickToAutofillOnVault": { - "message": "Click items to autofill on Vault view" + "message": "வால்ட் பார்வையில் உருப்படிகளை தானாக நிரப்ப கிளிக் செய்யவும்" }, "clickToAutofill": { - "message": "Click items in autofill suggestion to fill" + "message": "தானாக நிரப்பும் பரிந்துரையில் உருப்படிகளை நிரப்ப கிளிக் செய்யவும்" }, "clearClipboard": { - "message": "Clear clipboard", + "message": "கிளிப்போர்டை அழி", "description": "Clipboard is the operating system thing where you copy/paste data to on your device." }, "clearClipboardDesc": { - "message": "Automatically clear copied values from your clipboard.", + "message": "உங்கள் கிளிப்போர்டிலிருந்து நகலெடுக்கப்பட்ட மதிப்புகளை தானாகவே அழிக்கவும்.", "description": "Clipboard is the operating system thing where you copy/paste data to on your device." }, "notificationAddDesc": { - "message": "Should Bitwarden remember this password for you?" + "message": "இந்த கடவுச்சொல்லை Bitwarden உங்களுக்காக நினைவில் வைத்திருக்க வேண்டுமா?" }, "notificationAddSave": { - "message": "Save" + "message": "சேமி" }, "notificationViewAria": { - "message": "View $ITEMNAME$, opens in new window", + "message": "$ITEMNAME$ ஐப் பார்க்கவும், புதிய சாளரத்தில் திறக்கும்", "placeholders": { "itemName": { "content": "$1" @@ -1075,18 +1078,18 @@ "description": "Aria label for the view button in notification bar confirmation message" }, "notificationNewItemAria": { - "message": "New Item, opens in new window", + "message": "புதிய உருப்படி, புதிய சாளரத்தில் திறக்கும்", "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" }, "notificationEditTooltip": { - "message": "Edit before saving", + "message": "சேமிக்கும் முன் திருத்து", "description": "Tooltip and Aria label for edit button on cipher item" }, "newNotification": { - "message": "New notification" + "message": "புதிய அறிவிப்பு" }, "labelWithNotification": { - "message": "$LABEL$: New notification", + "message": "$LABEL$: புதிய அறிவிப்பு", "description": "Label for the notification with a new login suggestion.", "placeholders": { "label": { @@ -1096,7 +1099,7 @@ } }, "notificationLoginSaveConfirmation": { - "message": "saved to Bitwarden.", + "message": "Bitwarden இல் சேமிக்கப்பட்டது.", "description": "Shown to user after item is saved." }, "notificationLoginUpdatedConfirmation": { @@ -1116,35 +1119,35 @@ } }, "saveAsNewLoginAction": { - "message": "Save as new login", + "message": "புதிய உள்நுழைவாக சேமி", "description": "Button text for saving login details as a new entry." }, "updateLoginAction": { - "message": "Update login", + "message": "உள்நுழைவை புதுப்பி", "description": "Button text for updating an existing login entry." }, "unlockToSave": { - "message": "Unlock to save this login", + "message": "இந்த உள்நுழைவை சேமிக்க திறக்கவும்", "description": "User prompt to take action in order to save the login they just entered." }, "saveLogin": { - "message": "Save login", + "message": "உள்நுழைவை சேமி", "description": "Prompt asking the user if they want to save their login details." }, "updateLogin": { - "message": "Update existing login", + "message": "தற்போதுள்ள உள்நுழைவை புதுப்பி", "description": "Prompt asking the user if they want to update an existing login entry." }, "loginSaveSuccess": { - "message": "Login saved", + "message": "உள்நுழைவு சேமிக்கப்பட்டது", "description": "Message displayed when login details are successfully saved." }, "loginUpdateSuccess": { - "message": "Login updated", + "message": "உள்நுழைவு புதுப்பிக்கப்பட்டது", "description": "Message displayed when login details are successfully updated." }, "loginUpdateTaskSuccess": { - "message": "Great job! You took the steps to make you and $ORGANIZATION$ more secure.", + "message": "சிறப்பான வேலை! உங்களையும் $ORGANIZATION$-ஐயும் மேலும் பாதுகாப்பானதாக்க நீங்கள் நடவடிக்கைகளை எடுத்துள்ளீர்கள்.", "placeholders": { "organization": { "content": "$1" @@ -1153,7 +1156,7 @@ "description": "Shown to user after login is updated." }, "loginUpdateTaskSuccessAdditional": { - "message": "Thank you for making $ORGANIZATION$ more secure. You have $TASK_COUNT$ more passwords to update.", + "message": "$ORGANIZATION$-ஐ மேலும் பாதுகாப்பானதாக்கியதற்கு நன்றி. புதுப்பிக்க உங்களுக்கு இன்னும் $TASK_COUNT$ கடவுச்சொற்கள் உள்ளன.", "placeholders": { "organization": { "content": "$1" @@ -1165,94 +1168,94 @@ "description": "Shown to user after login is updated." }, "nextSecurityTaskAction": { - "message": "Change next password", + "message": "அடுத்த கடவுச்சொல்லை மாற்றவும்", "description": "Message prompting user to undertake completion of another security task." }, "saveFailure": { - "message": "Error saving", + "message": "சேமிப்பதில் பிழை", "description": "Error message shown when the system fails to save login details." }, "saveFailureDetails": { - "message": "Oh no! We couldn't save this. Try entering the details manually.", + "message": "ஐயோ! இதை எங்களால் சேமிக்க முடியவில்லை. விவரங்களை கைமுறையாக உள்ளிட முயற்சிக்கவும்.", "description": "Detailed error message shown when saving login details fails." }, "changePasswordWarning": { - "message": "After changing your password, you will need to log in with your new password. Active sessions on other devices will be logged out within one hour." + "message": "உங்கள் கடவுச்சொல்லை மாற்றிய பிறகு, உங்கள் புதிய கடவுச்சொல்லுடன் உள்நுழைய வேண்டும். மற்ற சாதனங்களில் உள்ள செயலில் உள்ள அமர்வுகள் ஒரு மணி நேரத்திற்குள் வெளியேறிவிடும்." }, "accountRecoveryUpdateMasterPasswordSubtitle": { - "message": "Change your master password to complete account recovery." + "message": "கணக்கு மீட்டெடுப்பை முடிக்க உங்கள் முதன்மை கடவுச்சொல்லை மாற்றவும்." }, "enableChangedPasswordNotification": { - "message": "Ask to update existing login" + "message": "தற்போதுள்ள உள்நுழைவை புதுப்பிக்க கேட்கவும்" }, "changedPasswordNotificationDesc": { - "message": "Ask to update a login's password when a change is detected on a website." + "message": "ஒரு வலைத்தளத்தில் ஒரு மாற்றம் கண்டறியப்படும்போது ஒரு உள்நுழைவின் கடவுச்சொல்லை புதுப்பிக்க கேட்கவும்." }, "changedPasswordNotificationDescAlt": { - "message": "Ask to update a login's password when a change is detected on a website. Applies to all logged in accounts." + "message": "ஒரு வலைத்தளத்தில் ஒரு மாற்றம் கண்டறியப்படும்போது ஒரு உள்நுழைவின் கடவுச்சொல்லை புதுப்பிக்க கேட்கவும். அனைத்து உள்நுழைந்த கணக்குகளுக்கும் பொருந்தும்." }, "enableUsePasskeys": { - "message": "Ask to save and use passkeys" + "message": "பாஸ்கீகளை சேமிக்கவும் பயன்படுத்தவும் கேட்கவும்" }, "usePasskeysDesc": { - "message": "Ask to save new passkeys or log in with passkeys stored in your vault. Applies to all logged in accounts." + "message": "புதிய பாஸ்கீகளை சேமிக்க அல்லது உங்கள் வால்ட்டில் சேமிக்கப்பட்ட பாஸ்கீகளைப் பயன்படுத்தி உள்நுழைய கேட்கவும். அனைத்து உள்நுழைந்த கணக்குகளுக்கும் பொருந்தும்." }, "notificationChangeDesc": { - "message": "Do you want to update this password in Bitwarden?" + "message": "இந்த கடவுச்சொல்லை Bitwarden-இல் புதுப்பிக்க விரும்புகிறீர்களா?" }, "notificationChangeSave": { - "message": "Update" + "message": "புதுப்பி" }, "notificationUnlockDesc": { - "message": "Unlock your Bitwarden vault to complete the autofill request." + "message": "தானாக நிரப்பும் கோரிக்கையை முடிக்க உங்கள் Bitwarden வால்ட்டைத் திறக்கவும்." }, "notificationUnlock": { - "message": "Unlock" + "message": "திற" }, "additionalOptions": { - "message": "Additional options" + "message": "கூடுதல் விருப்பத்தேர்வுகள்" }, "enableContextMenuItem": { - "message": "Show context menu options" + "message": "சூழல் மெனு விருப்பத்தேர்வுகளைக் காட்டு" }, "contextMenuItemDesc": { - "message": "Use a secondary click to access password generation and matching logins for the website." + "message": "வலைத்தளத்திற்கான கடவுச்சொல் உருவாக்கம் மற்றும் பொருந்தும் உள்நுழைவுகளை அணுக ஒரு இரண்டாம் கிளிக் பயன்படுத்தவும்." }, "contextMenuItemDescAlt": { - "message": "Use a secondary click to access password generation and matching logins for the website. Applies to all logged in accounts." + "message": "வலைத்தளத்திற்கான கடவுச்சொல் உருவாக்கம் மற்றும் பொருந்தும் உள்நுழைவுகளை அணுக ஒரு இரண்டாம் கிளிக் பயன்படுத்தவும். அனைத்து உள்நுழைந்த கணக்குகளுக்கும் பொருந்தும்." }, "defaultUriMatchDetection": { - "message": "Default URI match detection", + "message": "இயல்புநிலை URI பொருத்தம் கண்டறிதல்", "description": "Default URI match detection for autofill." }, "defaultUriMatchDetectionDesc": { - "message": "Choose the default way that URI match detection is handled for logins when performing actions such as autofill." + "message": "தானாக நிரப்புதல் போன்ற செயல்களைச் செய்யும்போது உள்நுழைவுகளுக்கான URI பொருத்தம் கண்டறிதல் கையாளப்படும் இயல்புநிலை வழியைத் தேர்ந்தெடுக்கவும்." }, "theme": { - "message": "Theme" + "message": "தீம்" }, "themeDesc": { - "message": "Change the application's color theme." + "message": "பயன்பாட்டின் வண்ண தீமை மாற்றவும்." }, "themeDescAlt": { - "message": "Change the application's color theme. Applies to all logged in accounts." + "message": "பயன்பாட்டின் வண்ண தீமை மாற்றவும். அனைத்து உள்நுழைந்த கணக்குகளுக்கும் பொருந்தும்." }, "dark": { - "message": "Dark", + "message": "டார்க்", "description": "Dark color" }, "light": { - "message": "Light", + "message": "லைட்", "description": "Light color" }, "exportFrom": { - "message": "Export from" + "message": "இதிலிருந்து ஏற்றுமதிசெய்" }, "exportVault": { - "message": "Export vault" + "message": "வால்ட்டை ஏற்றுமதிசெய்" }, "fileFormat": { - "message": "File format" + "message": "கோப்பு வடிவம்" }, "fileEncryptedExportWarningDesc": { "message": "This file export will be password protected and require the file password to decrypt." @@ -1732,207 +1735,207 @@ "message": "Drag to sort" }, "dragToReorder": { - "message": "Drag to reorder" + "message": "மீண்டும் வரிசைப்படுத்த இழுக்கவும்" }, "cfTypeText": { - "message": "Text" + "message": "உரை" }, "cfTypeHidden": { - "message": "Hidden" + "message": "மறைக்கப்பட்டது" }, "cfTypeBoolean": { - "message": "Boolean" + "message": "பூலியன்" }, "cfTypeCheckbox": { - "message": "Checkbox" + "message": "பெட்டி" }, "cfTypeLinked": { - "message": "Linked", + "message": "இணைக்கப்பட்டது", "description": "This describes a field that is 'linked' (tied) to another field." }, "linkedValue": { - "message": "Linked value", + "message": "இணைக்கப்பட்ட மதிப்பு", "description": "This describes a value that is 'linked' (tied) to another value." }, "popup2faCloseMessage": { - "message": "Clicking outside the popup window to check your email for your verification code will cause this popup to close. Do you want to open this popup in a new window so that it does not close?" + "message": "உங்கள் சரிபார்ப்புக் குறியீட்டிற்கான உங்கள் மின்னஞ்சலைச் சரிபார்க்க, பாப்அப் சாளரத்திற்கு வெளியே கிளிக் செய்வதால், இந்த பாப்அப் மூடப்படும். இந்த பாப்அப் மூடாமல் இருக்க, புதிய சாளரத்தில் திறக்க விரும்புகிறீர்களா?" }, "popupU2fCloseMessage": { - "message": "This browser cannot process U2F requests in this popup window. Do you want to open this popup in a new window so that you can log in using U2F?" + "message": "இந்த உலாவி இந்தப் பாப்அப் சாளரத்தில் U2F கோரிக்கைகளை செயலாக்க முடியாது. U2F ஐப் பயன்படுத்தி உள்நுழைய, இந்த பாப்அப்பை புதிய சாளரத்தில் திறக்க விரும்புகிறீர்களா?" }, "showIconsChangePasswordUrls": { - "message": "Show website icons and retrieve change password URLs" + "message": "இணையதள ஐகான்களைக் காண்பி மற்றும் கடவுச்சொல் மாற்றுவதற்கான URLகளைப் பெறு" }, "enableBadgeCounter": { - "message": "Show badge counter" + "message": "பேட்ஜ் கவுண்டரைக் காட்டு" }, "badgeCounterDesc": { - "message": "Indicate how many logins you have for the current web page." + "message": "தற்போதைய இணையப் பக்கத்தில் உங்களிடம் உள்ள உள்நுழைவுகளின் எண்ணிக்கையைக் குறிக்கவும்." }, "cardholderName": { - "message": "Cardholder name" + "message": "அட்டைதாரர் பெயர்" }, "number": { - "message": "Number" + "message": "எண்" }, "brand": { - "message": "Brand" + "message": "பிராண்ட்" }, "expirationMonth": { - "message": "Expiration month" + "message": "காலாவதி மாதம்" }, "expirationYear": { - "message": "Expiration year" + "message": "காலாவதி ஆண்டு" }, "expiration": { - "message": "Expiration" + "message": "காலாவதி" }, "january": { - "message": "January" + "message": "ஜனவரி" }, "february": { - "message": "February" + "message": "பிப்ரவரி" }, "march": { - "message": "March" + "message": "மார்ச்" }, "april": { - "message": "April" + "message": "ஏப்ரல்" }, "may": { - "message": "May" + "message": "மே" }, "june": { - "message": "June" + "message": "ஜூன்" }, "july": { - "message": "July" + "message": "ஜூலை" }, "august": { - "message": "August" + "message": "ஆகஸ்ட்" }, "september": { - "message": "September" + "message": "செப்டம்பர்" }, "october": { - "message": "October" + "message": "அக்டோபர்" }, "november": { - "message": "November" + "message": "நவம்பர்" }, "december": { - "message": "December" + "message": "டிசம்பர்" }, "securityCode": { - "message": "Security code" + "message": "பாதுகாப்புக் குறியீடு" }, "cardNumber": { - "message": "card number" + "message": "அட்டை எண்" }, "ex": { "message": "ex." }, "title": { - "message": "Title" + "message": "பதவி" }, "mr": { - "message": "Mr" + "message": "திரு" }, "mrs": { - "message": "Mrs" + "message": "திருமதி" }, "ms": { "message": "Ms" }, "dr": { - "message": "Dr" + "message": "டாக்டர்" }, "mx": { "message": "Mx" }, "firstName": { - "message": "First name" + "message": "முதல் பெயர்" }, "middleName": { - "message": "Middle name" + "message": "நடுப் பெயர்" }, "lastName": { - "message": "Last name" + "message": "கடைசி பெயர்" }, "fullName": { - "message": "Full name" + "message": "முழுப் பெயர்" }, "identityName": { - "message": "Identity name" + "message": "அடையாளப் பெயர்" }, "company": { - "message": "Company" + "message": "நிறுவனம்" }, "ssn": { - "message": "Social Security number" + "message": "சமூக பாதுகாப்பு எண்" }, "passportNumber": { - "message": "Passport number" + "message": "கடவுச்சீட்டு எண்" }, "licenseNumber": { - "message": "License number" + "message": "உரிமம் எண்" }, "email": { - "message": "Email" + "message": "மின்னஞ்சல்" }, "phone": { - "message": "Phone" + "message": "தொலைபேசி" }, "address": { - "message": "Address" + "message": "முகவரி" }, "address1": { - "message": "Address 1" + "message": "முகவரி 1" }, "address2": { - "message": "Address 2" + "message": "முகவரி 2" }, "address3": { - "message": "Address 3" + "message": "முகவரி 3" }, "cityTown": { - "message": "City / Town" + "message": "நகரம் / ஊர்" }, "stateProvince": { - "message": "State / Province" + "message": "மாநிலம் / மாகாணம்" }, "zipPostalCode": { - "message": "Zip / Postal code" + "message": "ஜிப் / அஞ்சல் குறியீடு" }, "country": { - "message": "Country" + "message": "நாடு" }, "type": { - "message": "Type" + "message": "வகை" }, "typeLogin": { - "message": "Login" + "message": "உள்நுழை" }, "typeLogins": { - "message": "Logins" + "message": "உள்நுழைவுகள்" }, "typeSecureNote": { - "message": "Secure note" + "message": "பாதுகாப்பான குறிப்பு" }, "typeCard": { - "message": "Card" + "message": "அட்டை" }, "typeIdentity": { - "message": "Identity" + "message": "அடையாளம்" }, "typeSshKey": { - "message": "SSH key" + "message": "SSH விசை" }, "typeNote": { - "message": "Note" + "message": "குறிப்பு" }, "newItemHeader": { - "message": "New $TYPE$", + "message": "புதிய $TYPE$", "placeholders": { "type": { "content": "$1", @@ -1941,7 +1944,7 @@ } }, "editItemHeader": { - "message": "Edit $TYPE$", + "message": "திருத்து $TYPE$", "placeholders": { "type": { "content": "$1", @@ -1950,7 +1953,7 @@ } }, "viewItemHeader": { - "message": "View $TYPE$", + "message": "பார்வை $TYPE$", "placeholders": { "type": { "content": "$1", @@ -1959,25 +1962,25 @@ } }, "passwordHistory": { - "message": "Password history" + "message": "கடவுச்சொல் வரலாறு" }, "generatorHistory": { - "message": "Generator history" + "message": "ஜெனரேட்டர் வரலாறு" }, "clearGeneratorHistoryTitle": { - "message": "Clear generator history" + "message": "ஜெனரேட்டர் வரலாற்றை அழி" }, "cleargGeneratorHistoryDescription": { - "message": "If you continue, all entries will be permanently deleted from generator's history. Are you sure you want to continue?" + "message": "நீங்கள் தொடர்ந்தால், ஜெனரேட்டரின் வரலாற்றிலிருந்து அனைத்து உள்ளீடுகளும் நிரந்தரமாக நீக்கப்படும். நீங்கள் தொடர விரும்புகிறீர்களா?" }, "back": { - "message": "Back" + "message": "பின்" }, "collections": { - "message": "Collections" + "message": "சேகரிப்புகள்" }, "nCollections": { - "message": "$COUNT$ collections", + "message": "$COUNT$ சேகரிப்புகள்", "placeholders": { "count": { "content": "$1", @@ -1986,38 +1989,38 @@ } }, "favorites": { - "message": "Favorites" + "message": "பிடித்தவை" }, "popOutNewWindow": { - "message": "Pop out to a new window" + "message": "புதிய சாளரத்தில் பாப்அப்" }, "refresh": { - "message": "Refresh" + "message": "மீட்டமை" }, "cards": { - "message": "Cards" + "message": "அட்டைகள்" }, "identities": { - "message": "Identities" + "message": "அடையாளங்கள்" }, "logins": { - "message": "Logins" + "message": "உள்நுழைவுகள்" }, "secureNotes": { - "message": "Secure notes" + "message": "பாதுகாப்பான குறிப்புகள்" }, "sshKeys": { - "message": "SSH Keys" + "message": "SSH விசைகள்" }, "clear": { - "message": "Clear", + "message": "அழி", "description": "To clear something out. example: To clear browser history." }, "checkPassword": { - "message": "Check if password has been exposed." + "message": "கடவுச்சொல் வெளிப்பட்டதா எனச் சரிபார்க்கவும்." }, "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", + "message": "இந்த கடவுச்சொல் தரவு மீறல்களில் $VALUE$ முறை வெளிப்படுத்தப்பட்டுள்ளது. இதை நீங்கள் மாற்ற வேண்டும்.", "placeholders": { "value": { "content": "$1", @@ -2026,277 +2029,277 @@ } }, "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." + "message": "இந்த கடவுச்சொல் அறியப்பட்ட எந்த தரவு மீறல்களிலும் காணப்படவில்லை. அதைப் பயன்படுத்துவது பாதுகாப்பானது." }, "baseDomain": { - "message": "Base domain", + "message": "அடிப்படை டொமைன்", "description": "Domain name. Ex. website.com" }, "baseDomainOptionRecommended": { - "message": "Base domain (recommended)", + "message": "அடிப்படை டொமைன் (பரிந்துரைக்கப்பட்டது)", "description": "Domain name. Ex. website.com" }, "domainName": { - "message": "Domain name", + "message": "டொமைன் பெயர்", "description": "Domain name. Ex. website.com" }, "host": { - "message": "Host", + "message": "ஹோஸ்ட்", "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." }, "exact": { - "message": "Exact" + "message": "சரியானது" }, "startsWith": { - "message": "Starts with" + "message": "இதனுடன் தொடங்கும்" }, "regEx": { - "message": "Regular expression", + "message": "ஒழுங்குமுறை வெளிப்பாடு", "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Match detection", + "message": "பொருந்தும் கண்டறிதல்", "description": "URI match detection for autofill." }, "defaultMatchDetection": { - "message": "Default match detection", + "message": "இயல்புநிலை பொருத்தம் கண்டறிதல்", "description": "Default URI match detection for autofill." }, "toggleOptions": { - "message": "Toggle options" + "message": "விருப்பங்களை மாற்று" }, "toggleCurrentUris": { - "message": "Toggle current URIs", + "message": "தற்போதைய URLகளை மாற்று", "description": "Toggle the display of the URIs of the currently open tabs in the browser." }, "currentUri": { - "message": "Current URI", + "message": "தற்போதைய URI", "description": "The URI of one of the current open tabs in the browser." }, "organization": { - "message": "Organization", + "message": "அமைப்பு", "description": "An entity of multiple related people (ex. a team or business organization)." }, "types": { - "message": "Types" + "message": "வகைகள்" }, "allItems": { - "message": "All items" + "message": "அனைத்து பொருட்கள்" }, "noPasswordsInList": { - "message": "There are no passwords to list." + "message": "பட்டியலிட கடவுச்சொற்கள் இல்லை." }, "clearHistory": { - "message": "Clear history" + "message": "வரலாற்றை அழி" }, "nothingToShow": { - "message": "Nothing to show" + "message": "காட்ட எதுவும் இல்லை" }, "nothingGeneratedRecently": { - "message": "You haven't generated anything recently" + "message": "சமீபத்தில் நீங்கள் எதையும் உருவாக்கவில்லை" }, "remove": { - "message": "Remove" + "message": "அகற்று" }, "default": { - "message": "Default" + "message": "இயல்புநிலை" }, "dateUpdated": { - "message": "Updated", + "message": "புதுப்பிக்கப்பட்டது", "description": "ex. Date this item was updated" }, "dateCreated": { - "message": "Created", + "message": "உருவாக்கப்பட்டது", "description": "ex. Date this item was created" }, "datePasswordUpdated": { - "message": "Password updated", + "message": "கடவுச்சொல் புதுப்பிக்கப்பட்டது", "description": "ex. Date this password was updated" }, "neverLockWarning": { - "message": "Are you sure you want to use the \"Never\" option? Setting your lock options to \"Never\" stores your vault's encryption key on your device. If you use this option you should ensure that you keep your device properly protected." + "message": "\"ஒருபோதும் இல்லை\" விருப்பத்தைப் பயன்படுத்த விரும்புகிறீர்களா? உங்கள் பூட்டு விருப்பங்களை \"ஒருபோதும் இல்லை\" என அமைப்பது உங்கள் பெட்டகத்தின் என்கிரிப்ஷன் விசையை உங்கள் சாதனத்தில் சேமிக்கிறது. இந்த விருப்பத்தைப் பயன்படுத்தினால், உங்கள் சாதனத்தை நீங்கள் சரியாகப் பாதுகாத்து வைத்திருப்பதை உறுதி செய்ய வேண்டும்." }, "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." + "message": "நீங்கள் எந்த அமைப்புகளையும் சேர்ந்தவர் அல்ல. அமைப்புகள் மற்ற பயனர்களுடன் பொருட்களைப் பாதுகாப்பாகப் பகிர உங்களை அனுமதிக்கின்றன." }, "noCollectionsInList": { - "message": "There are no collections to list." + "message": "பட்டியலிட சேகரிப்புகள் இல்லை." }, "ownership": { - "message": "Ownership" + "message": "உரிமை" }, "whoOwnsThisItem": { - "message": "Who owns this item?" + "message": "இந்த பொருளுக்கு யார் உரிமையாளர்?" }, "strong": { - "message": "Strong", + "message": "வலுவான", "description": "ex. A strong password. Scale: Weak -> Good -> Strong" }, "good": { - "message": "Good", + "message": "நல்ல", "description": "ex. A good password. Scale: Weak -> Good -> Strong" }, "weak": { - "message": "Weak", + "message": "பலவீனமான", "description": "ex. A weak password. Scale: Weak -> Good -> Strong" }, "weakMasterPassword": { - "message": "Weak master password" + "message": "பலவீனமான முதன்மை கடவுச்சொல்" }, "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" + "message": "நீங்கள் தேர்ந்தெடுத்த முதன்மை கடவுச்சொல் பலவீனமானது. உங்கள் Bitwarden கணக்கைப் பாதுகாக்க, நீங்கள் ஒரு வலுவான முதன்மை கடவுச்சொல்லை (அல்லது ஒரு கடவுச்சொல் சொற்றொடரை) பயன்படுத்த வேண்டும். இந்த முதன்மை கடவுச்சொல்லைப் பயன்படுத்த நீங்கள் உறுதியாக இருக்கிறீர்களா?" }, "pin": { "message": "PIN", "description": "PIN code. Ex. The short code (often numeric) that you use to unlock a device." }, "unlockWithPin": { - "message": "Unlock with PIN" + "message": "PIN உடன் திற" }, "setYourPinTitle": { - "message": "Set PIN" + "message": "PIN ஐ அமை" }, "setYourPinButton": { - "message": "Set PIN" + "message": "PIN ஐ அமை" }, "setYourPinCode": { - "message": "Set your PIN code for unlocking Bitwarden. Your PIN settings will be reset if you ever fully log out of the application." + "message": "Bitwarden ஐத் திறக்க உங்கள் PIN குறியீட்டை அமை. பயன்பாட்டிலிருந்து நீங்கள் முழுமையாக வெளியேறினால், உங்கள் PIN அமைப்புகள் மீட்டமைக்கப்படும்." }, "setPinCode": { - "message": "You can use this PIN to unlock Bitwarden. Your PIN will be reset if you ever fully log out of the application." + "message": "Bitwarden ஐத் திறக்க இந்த PIN ஐ நீங்கள் பயன்படுத்தலாம். பயன்பாட்டிலிருந்து நீங்கள் முழுமையாக வெளியேறினால், உங்கள் PIN மீட்டமைக்கப்படும்." }, "pinRequired": { - "message": "PIN code is required." + "message": "PIN குறியீடு தேவை." }, "invalidPin": { - "message": "Invalid PIN code." + "message": "தவறான PIN குறியீடு." }, "tooManyInvalidPinEntryAttemptsLoggingOut": { - "message": "Too many invalid PIN entry attempts. Logging out." + "message": "அதிகமான தவறான PIN உள்ளீட்டு முயற்சிகள். வெளியேறுகிறது." }, "unlockWithBiometrics": { - "message": "Unlock with biometrics" + "message": "பயோமெட்ரிக்ஸ் உடன் திற" }, "unlockWithMasterPassword": { - "message": "Unlock with master password" + "message": "முதன்மை கடவுச்சொல்லுடன் திற" }, "awaitDesktop": { - "message": "Awaiting confirmation from desktop" + "message": "டெஸ்க்டாப்பிலிருந்து உறுதிப்படுத்தலுக்காக காத்திருக்கிறது" }, "awaitDesktopDesc": { - "message": "Please confirm using biometrics in the Bitwarden desktop application to set up biometrics for browser." + "message": "உலாவிக்கான பயோமெட்ரிக்ஸை அமைக்க, Bitwarden டெஸ்க்டாப் பயன்பாட்டில் பயோமெட்ரிக்ஸைப் பயன்படுத்தி உறுதிப்படுத்தவும்." }, "lockWithMasterPassOnRestart": { - "message": "Lock with master password on browser restart" + "message": "உலாவி மீண்டும் தொடங்கும் போது முதன்மை கடவுச்சொல்லுடன் பூட்டு" }, "lockWithMasterPassOnRestart1": { - "message": "Require master password on browser restart" + "message": "உலாவி மீண்டும் தொடங்கும் போது முதன்மை கடவுச்சொல் தேவை" }, "selectOneCollection": { - "message": "You must select at least one collection." + "message": "நீங்கள் குறைந்தது ஒரு சேகரிப்பைத் தேர்ந்தெடுக்க வேண்டும்." }, "cloneItem": { - "message": "Clone item" + "message": "பொருளை நகலெடு" }, "clone": { - "message": "Clone" + "message": "நகலெடு" }, "passwordGenerator": { - "message": "Password generator" + "message": "கடவுச்சொல் ஜெனரேட்டர்" }, "usernameGenerator": { - "message": "Username generator" + "message": "பயனர் பெயர் ஜெனரேட்டர்" }, "useThisEmail": { - "message": "Use this email" + "message": "இந்த மின்னஞ்சலைப் பயன்படுத்து" }, "useThisPassword": { - "message": "Use this password" + "message": "இந்த கடவுச்சொல்லைப் பயன்படுத்து" }, "useThisPassphrase": { - "message": "Use this passphrase" + "message": "இந்த கடவுச்சொல் சொற்றொடரைப் பயன்படுத்து" }, "useThisUsername": { - "message": "Use this username" + "message": "இந்த பயனர் பெயரைப் பயன்படுத்து" }, "securePasswordGenerated": { - "message": "Secure password generated! Don't forget to also update your password on the website." + "message": "பாதுகாப்பான கடவுச்சொல் உருவாக்கப்பட்டது! இணையதளத்திலும் உங்கள் கடவுச்சொல்லைப் புதுப்பிக்க மறக்காதீர்கள்." }, "useGeneratorHelpTextPartOne": { - "message": "Use the generator", + "message": "ஜெனரேட்டரைப் பயன்படுத்து", "description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'" }, "useGeneratorHelpTextPartTwo": { - "message": "to create a strong unique password", + "message": "ஒரு வலுவான தனிப்பட்ட கடவுச்சொல்லை உருவாக்க", "description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'" }, "vaultCustomization": { - "message": "Vault customization" + "message": "பெட்டக தனிப்பயனாக்கம்" }, "vaultTimeoutAction": { - "message": "Vault timeout action" + "message": "பெட்டக காலக்கெடு நடவடிக்கை" }, "vaultTimeoutAction1": { - "message": "Timeout action" + "message": "காலக்கெடு நடவடிக்கை" }, "lock": { - "message": "Lock", + "message": "பூட்டு", "description": "Verb form: to make secure or inaccessible by" }, "trash": { - "message": "Trash", + "message": "குப்பை", "description": "Noun: a special folder to hold deleted items" }, "searchTrash": { - "message": "Search trash" + "message": "குப்பையில் தேடு" }, "permanentlyDeleteItem": { - "message": "Permanently delete item" + "message": "பொருளை நிரந்தரமாக நீக்கு" }, "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" + "message": "இந்த பொருளை நிரந்தரமாக நீக்க விரும்புகிறீர்களா?" }, "permanentlyDeletedItem": { - "message": "Item permanently deleted" + "message": "பொருள் நிரந்தரமாக நீக்கப்பட்டது" }, "restoreItem": { - "message": "Restore item" + "message": "பொருளை மீட்டமை" }, "restoredItem": { - "message": "Item restored" + "message": "பொருள் மீட்டமைக்கப்பட்டது" }, "alreadyHaveAccount": { - "message": "Already have an account?" + "message": "ஏற்கனவே ஒரு கணக்கு உள்ளதா?" }, "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" + "message": "வெளியேறுவது உங்கள் பெட்டகத்திற்கான அனைத்து அணுகலையும் அகற்றும் மற்றும் காலக்கெடு காலத்திற்குப் பிறகு ஆன்லைன் அங்கீகாரத்தை கோருகிறது. இந்த அமைப்பைப் பயன்படுத்த நீங்கள் உறுதியாக இருக்கிறீர்களா?" }, "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout action confirmation" + "message": "காலக்கெடு நடவடிக்கை உறுதிப்படுத்தல்" }, "autoFillAndSave": { - "message": "Autofill and save" + "message": "தானாக நிரப்பு மற்றும் சேமி" }, "fillAndSave": { - "message": "Fill and save" + "message": "நிரப்பு மற்றும் சேமி" }, "autoFillSuccessAndSavedUri": { - "message": "Item autofilled and URI saved" + "message": "பொருள் தானாக நிரப்பப்பட்டது மற்றும் URI சேமிக்கப்பட்டது" }, "autoFillSuccess": { - "message": "Item autofilled " + "message": "பொருள் தானாக நிரப்பப்பட்டது " }, "insecurePageWarning": { - "message": "Warning: This is an unsecured HTTP page, and any information you submit can potentially be seen and changed by others. This Login was originally saved on a secure (HTTPS) page." + "message": "எச்சரிக்கை: இது ஒரு பாதுகாப்பற்ற HTTP பக்கம், நீங்கள் சமர்ப்பிக்கும் எந்த தகவலும் மற்றவர்களால் காணப்படலாம் மற்றும் மாற்றப்படலாம். இந்த உள்நுழைவு முதலில் பாதுகாப்பான (HTTPS) பக்கத்தில் சேமிக்கப்பட்டது." }, "insecurePageWarningFillPrompt": { - "message": "Do you still wish to fill this login?" + "message": "இந்த உள்நுழைவை இன்னும் நிரப்ப விரும்புகிறீர்களா?" }, "autofillIframeWarning": { - "message": "The form is hosted by a different domain than the URI of your saved login. Choose OK to autofill anyway, or Cancel to stop." + "message": "படிவம் உங்கள் சேமிக்கப்பட்ட உள்நுழைவின் URI ஐ விட வேறு டொமைனால் ஹோஸ்ட் செய்யப்பட்டுள்ளது. எப்படியும் தானாக நிரப்ப சரி என்பதைத் தேர்ந்தெடு, அல்லது நிறுத்த ரத்துசெய் என்பதைத் தேர்ந்தெடு." }, "autofillIframeWarningTip": { - "message": "To prevent this warning in the future, save this URI, $HOSTNAME$, to your Bitwarden login item for this site.", + "message": "எதிர்காலத்தில் இந்த எச்சரிக்கையைத் தடுக்க, இந்த URI, $HOSTNAME$, இந்த தளத்திற்கான உங்கள் Bitwarden உள்நுழைவு பொருளில் சேமிக்கவும்.", "placeholders": { "hostname": { "content": "$1", @@ -2305,22 +2308,22 @@ } }, "setMasterPassword": { - "message": "Set master password" + "message": "முதன்மை கடவுச்சொல்லை அமை" }, "currentMasterPass": { - "message": "Current master password" + "message": "தற்போதைய முதன்மை கடவுச்சொல்" }, "newMasterPass": { - "message": "New master password" + "message": "புதிய முதன்மை கடவுச்சொல்" }, "confirmNewMasterPass": { - "message": "Confirm new master password" + "message": "புதிய முதன்மை கடவுச்சொல்லை உறுதிப்படுத்து" }, "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" + "message": "ஒன்று அல்லது அதற்கு மேற்பட்ட அமைப்பு கொள்கைகள் உங்கள் முதன்மை கடவுச்சொல் பின்வரும் தேவைகளைப் பூர்த்தி செய்ய வேண்டும்:" }, "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", + "message": "குறைந்தபட்ச சிக்கலான மதிப்பெண் $SCORE$", "placeholders": { "score": { "content": "$1", @@ -2329,7 +2332,7 @@ } }, "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", + "message": "குறைந்தபட்ச நீளம் $LENGTH$", "placeholders": { "length": { "content": "$1", @@ -2338,16 +2341,16 @@ } }, "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" + "message": "ஒன்று அல்லது அதற்கு மேற்பட்ட பெரிய எழுத்துக்களைக் கொண்டிரு" }, "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" + "message": "ஒன்று அல்லது அதற்கு மேற்பட்ட சிறிய எழுத்துக்களைக் கொண்டிரு" }, "policyInEffectNumbers": { - "message": "Contain one or more numbers" + "message": "ஒன்று அல்லது அதற்கு மேற்பட்ட எண்களைக் கொண்டிரு" }, "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", + "message": "பின்வரும் சிறப்பு எழுத்துகளில் ஒன்று அல்லது அதற்கு மேற்பட்டவற்றை கொண்டிரு $CHARS$", "placeholders": { "chars": { "content": "$1", @@ -2356,186 +2359,186 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." + "message": "உங்கள் புதிய முதன்மை கடவுச்சொல் கொள்கை தேவைகளைப் பூர்த்தி செய்யவில்லை." }, "receiveMarketingEmailsV2": { - "message": "Get advice, announcements, and research opportunities from Bitwarden in your inbox." + "message": "உங்கள் இன்பாக்ஸில் Bitwarden இலிருந்து ஆலோசனை, அறிவிப்புகள் மற்றும் ஆராய்ச்சி வாய்ப்புகளைப் பெறுங்கள்." }, "unsubscribe": { - "message": "Unsubscribe" + "message": "தவிர்க்கவும்" }, "atAnyTime": { - "message": "at any time." + "message": "எந்த நேரத்திலும்." }, "byContinuingYouAgreeToThe": { - "message": "By continuing, you agree to the" + "message": "தொடர்வதன் மூலம், நீங்கள் இதற்கு ஒப்புக்கொள்கிறீர்கள்" }, "and": { - "message": "and" + "message": "மற்றும்" }, "acceptPolicies": { - "message": "By checking this box you agree to the following:" + "message": "இந்த பெட்டியைத் தேர்ந்தெடுப்பதன் மூலம் பின்வருவனவற்றை நீங்கள் ஒப்புக்கொள்கிறீர்கள்:" }, "acceptPoliciesRequired": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "message": "சேவை விதிமுறைகள் மற்றும் தனியுரிமைக் கொள்கை ஒப்புக்கொள்ளப்படவில்லை." }, "termsOfService": { - "message": "Terms of Service" + "message": "சேவை விதிமுறைகள்" }, "privacyPolicy": { - "message": "Privacy Policy" + "message": "தனியுரிமைக் கொள்கை" }, "yourNewPasswordCannotBeTheSameAsYourCurrentPassword": { - "message": "Your new password cannot be the same as your current password." + "message": "உங்கள் புதிய கடவுச்சொல் உங்கள் தற்போதைய கடவுச்சொல்லாக இருக்க முடியாது." }, "hintEqualsPassword": { - "message": "Your password hint cannot be the same as your password." + "message": "உங்கள் கடவுச்சொல் குறிப்பு உங்கள் கடவுச்சொல்லாக இருக்க முடியாது." }, "ok": { - "message": "Ok" + "message": "சரி" }, "errorRefreshingAccessToken": { - "message": "Access Token Refresh Error" + "message": "அணுகல் டோக்கன் மீட்டமைப்பு பிழை" }, "errorRefreshingAccessTokenDesc": { - "message": "No refresh token or API keys found. Please try logging out and logging back in." + "message": "மீட்டமைப்பு டோக்கன் அல்லது API விசைகள் காணப்படவில்லை. வெளியேறி மீண்டும் உள்நுழைய முயற்சிக்கவும்." }, "desktopSyncVerificationTitle": { - "message": "Desktop sync verification" + "message": "டெஸ்க்டாப் ஒத்திசைவு சரிபார்ப்பு" }, "desktopIntegrationVerificationText": { - "message": "Please verify that the desktop application shows this fingerprint: " + "message": "டெஸ்க்டாப் பயன்பாட்டில் இந்த கைரேகையைக் காட்டுகிறதா என சரிபார்க்கவும்: " }, "desktopIntegrationDisabledTitle": { - "message": "Browser integration is not set up" + "message": "உலாவி ஒருங்கிணைப்பு அமைக்கப்படவில்லை" }, "desktopIntegrationDisabledDesc": { - "message": "Browser integration is not set up in the Bitwarden desktop application. Please set it up in the settings within the desktop application." + "message": "Bitwarden டெஸ்க்டாப் பயன்பாட்டில் உலாவி ஒருங்கிணைப்பு அமைக்கப்படவில்லை. டெஸ்க்டாப் பயன்பாட்டில் உள்ள அமைப்புகளில் அதை அமைக்கவும்." }, "startDesktopTitle": { - "message": "Start the Bitwarden desktop application" + "message": "Bitwarden டெஸ்க்டாப் பயன்பாட்டைத் தொடங்கு" }, "startDesktopDesc": { - "message": "The Bitwarden desktop application needs to be started before unlock with biometrics can be used." + "message": "பயோமெட்ரிக்ஸ் உடன் திறப்பதைப் பயன்படுத்துவதற்கு முன் Bitwarden டெஸ்க்டாப் பயன்பாடு தொடங்கப்பட வேண்டும்." }, "errorEnableBiometricTitle": { - "message": "Unable to set up biometrics" + "message": "பயோமெட்ரிக்ஸை அமைக்க முடியவில்லை" }, "errorEnableBiometricDesc": { - "message": "Action was canceled by the desktop application" + "message": "டெஸ்க்டாப் பயன்பாட்டால் நடவடிக்கை ரத்து செய்யப்பட்டது" }, "nativeMessagingInvalidEncryptionDesc": { - "message": "Desktop application invalidated the secure communication channel. Please retry this operation" + "message": "டெஸ்க்டாப் பயன்பாடு பாதுகாப்பான தகவல்தொடர்பு சேனலை செல்லாததாக்கியது. இந்த செயல்பாட்டை மீண்டும் முயற்சிக்கவும்" }, "nativeMessagingInvalidEncryptionTitle": { - "message": "Desktop communication interrupted" + "message": "டெஸ்க்டாப் தொடர்பு தடைபட்டது" }, "nativeMessagingWrongUserDesc": { - "message": "The desktop application is logged into a different account. Please ensure both applications are logged into the same account." + "message": "டெஸ்க்டாப் பயன்பாடு வேறு கணக்கில் உள்நுழைந்துள்ளது. இரண்டு பயன்பாடுகளும் ஒரே கணக்கில் உள்நுழைந்துள்ளன என்பதை உறுதிப்படுத்தவும்." }, "nativeMessagingWrongUserTitle": { - "message": "Account missmatch" + "message": "கணக்கு பொருந்தவில்லை" }, "nativeMessagingWrongUserKeyTitle": { - "message": "Biometric key missmatch" + "message": "பயோமெட்ரிக் விசை பொருந்தவில்லை" }, "nativeMessagingWrongUserKeyDesc": { - "message": "Biometric unlock failed. The biometric secret key failed to unlock the vault. Please try to set up biometrics again." + "message": "பயோமெட்ரிக் திறத்தல் தோல்வியடைந்தது. பயோமெட்ரிக் ரகசிய விசை பெட்டகத்தைத் திறக்கத் தவறிவிட்டது. பயோமெட்ரிக்ஸை மீண்டும் அமைக்க முயற்சிக்கவும்." }, "biometricsNotEnabledTitle": { - "message": "Biometrics not set up" + "message": "பயோமெட்ரிக்ஸ் அமைக்கப்படவில்லை" }, "biometricsNotEnabledDesc": { - "message": "Browser biometrics requires desktop biometric to be set up in the settings first." + "message": "உலாவி பயோமெட்ரிக்ஸ் டெஸ்க்டாப் பயோமெட்ரிக்கை முதலில் அமைப்புகளில் அமைக்க வேண்டும்." }, "biometricsNotSupportedTitle": { - "message": "Biometrics not supported" + "message": "பயோமெட்ரிக்ஸ் ஆதரிக்கப்படவில்லை" }, "biometricsNotSupportedDesc": { - "message": "Browser biometrics is not supported on this device." + "message": "இந்த சாதனத்தில் உலாவி பயோமெட்ரிக்ஸ் ஆதரிக்கப்படவில்லை." }, "biometricsNotUnlockedTitle": { - "message": "User locked or logged out" + "message": "பயனர் பூட்டப்பட்டார் அல்லது வெளியேறினார்" }, "biometricsNotUnlockedDesc": { - "message": "Please unlock this user in the desktop application and try again." + "message": "டெஸ்க்டாப் பயன்பாட்டில் இந்த பயனரைத் திறந்து மீண்டும் முயற்சிக்கவும்." }, "biometricsNotAvailableTitle": { - "message": "Biometric unlock unavailable" + "message": "பயோமெட்ரிக் திறத்தல் கிடைக்கவில்லை" }, "biometricsNotAvailableDesc": { - "message": "Biometric unlock is currently unavailable. Please try again later." + "message": "பயோமெட்ரிக் திறத்தல் தற்போது கிடைக்கவில்லை. பிறகு மீண்டும் முயற்சிக்கவும்." }, "biometricsFailedTitle": { - "message": "Biometrics failed" + "message": "பயோமெட்ரிக்ஸ் தோல்வியடைந்தது" }, "biometricsFailedDesc": { - "message": "Biometrics cannot be completed, consider using a master password or logging out. If this persists, please contact Bitwarden support." + "message": "பயோமெட்ரிக்ஸ் முடிக்க முடியாது, ஒரு முதன்மை கடவுச்சொல்லைப் பயன்படுத்த அல்லது வெளியேற பரிசீலிக்கவும். இது தொடர்ந்தால், Bitwarden ஆதரவை தொடர்பு கொள்ளவும்." }, "nativeMessaginPermissionErrorTitle": { - "message": "Permission not provided" + "message": "அனுமதி வழங்கப்படவில்லை" }, "nativeMessaginPermissionErrorDesc": { - "message": "Without permission to communicate with the Bitwarden Desktop Application we cannot provide biometrics in the browser extension. Please try again." + "message": "Bitwarden டெஸ்க்டாப் பயன்பாட்டுடன் தொடர்பு கொள்ள அனுமதி இல்லாமல், உலாவி நீட்டிப்பில் நாங்கள் பயோமெட்ரிக்ஸை வழங்க முடியாது. மீண்டும் முயற்சிக்கவும்." }, "nativeMessaginPermissionSidebarTitle": { - "message": "Permission request error" + "message": "அனுமதி கோரிக்கை பிழை" }, "nativeMessaginPermissionSidebarDesc": { - "message": "This action cannot be done in the sidebar, please retry the action in the popup or popout." + "message": "இந்த நடவடிக்கை பக்கவாட்டில் செய்ய முடியாது, பாப்அப் அல்லது பாப்அவுட்டில் மீண்டும் நடவடிக்கை எடுக்கவும்." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available collections." + "message": "ஒரு என்டர்பிரைஸ் கொள்கை காரணமாக, உங்கள் தனிப்பட்ட பெட்டகத்தில் பொருட்களைச் சேமிப்பதிலிருந்து நீங்கள் தடை செய்யப்பட்டுள்ளீர்கள். உரிமை விருப்பத்தை ஒரு அமைப்புக்கு மாற்றி, கிடைக்கக்கூடிய சேகரிப்புகளில் இருந்து தேர்ந்தெடுக்கவும்." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "ஒரு அமைப்பு கொள்கை உங்கள் உரிமை விருப்பங்களை பாதிக்கிறது." }, "personalOwnershipPolicyInEffectImports": { - "message": "An organization policy has blocked importing items into your individual vault." + "message": "ஒரு அமைப்பு கொள்கை உங்கள் தனிப்பட்ட பெட்டகத்திற்கு பொருட்களை இறக்குமதி செய்வதைத் தடுத்துள்ளது." }, "restrictCardTypeImport": { - "message": "Cannot import card item types" + "message": "அட்டை பொருள் வகைகளை இறக்குமதி செய்ய முடியாது" }, "restrictCardTypeImportDesc": { - "message": "A policy set by 1 or more organizations prevents you from importing cards to your vaults." + "message": "1 அல்லது அதற்கு மேற்பட்ட அமைப்புகளால் அமைக்கப்பட்டுள்ள ஒரு கொள்கை உங்கள் பெட்டகங்களுக்கு அட்டைகளை இறக்குமதி செய்வதிலிருந்து உங்களைத் தடுக்கிறது." }, "domainsTitle": { - "message": "Domains", + "message": "டொமைன்கள்", "description": "A category title describing the concept of web domains" }, "blockedDomains": { - "message": "Blocked domains" + "message": "தடைசெய்யப்பட்ட டொமைன்கள்" }, "learnMoreAboutBlockedDomains": { - "message": "Learn more about blocked domains" + "message": "தடைசெய்யப்பட்ட டொமைன்கள் பற்றி மேலும் அறிய" }, "excludedDomains": { - "message": "Excluded domains" + "message": "விலக்கப்பட்ட டொமைன்கள்" }, "excludedDomainsDesc": { - "message": "Bitwarden will not ask to save login details for these domains. You must refresh the page for changes to take effect." + "message": "இந்த டொமைன்களுக்கான உள்நுழைவு விவரங்களைச் சேமிக்க Bitwarden கேட்காது. மாற்றங்கள் நடைமுறைக்கு வர பக்கத்தை மீண்டும் மீட்டமைக்க வேண்டும்." }, "excludedDomainsDescAlt": { - "message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect." + "message": "உள்நுழைந்த அனைத்து கணக்குகளுக்கும் இந்த டொமைன்களுக்கான உள்நுழைவு விவரங்களைச் சேமிக்க Bitwarden கேட்காது. மாற்றங்கள் நடைமுறைக்கு வர பக்கத்தை மீண்டும் மீட்டமைக்க வேண்டும்." }, "blockedDomainsDesc": { - "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect." + "message": "இந்த இணையதளங்களுக்கு தானாக நிரப்புதல் மற்றும் பிற தொடர்புடைய அம்சங்கள் வழங்கப்படாது. மாற்றங்கள் நடைமுறைக்கு வர பக்கத்தை மீண்டும் மீட்டமைக்க வேண்டும்." }, "autofillBlockedNoticeV2": { - "message": "Autofill is blocked for this website." + "message": "இந்த இணையதளத்திற்கு தானாக நிரப்புதல் தடைசெய்யப்பட்டுள்ளது." }, "autofillBlockedNoticeGuidance": { - "message": "Change this in settings" + "message": "அமைப்புகளில் இதை மாற்று" }, "change": { - "message": "Change" + "message": "மாற்று" }, "changePassword": { - "message": "Change password", + "message": "கடவுச்சொல்லை மாற்று", "description": "Change password button for browser at risk notification on login." }, "changeButtonTitle": { - "message": "Change password - $ITEMNAME$", + "message": "கடவுச்சொல்லை மாற்று - $ITEMNAME$", "placeholders": { "itemname": { "content": "$1", @@ -2544,13 +2547,13 @@ } }, "atRiskPassword": { - "message": "At-risk password" + "message": "ஆபத்தில் உள்ள கடவுச்சொல்" }, "atRiskPasswords": { - "message": "At-risk passwords" + "message": "ஆபத்தில் உள்ள கடவுச்சொற்கள்" }, "atRiskPasswordDescSingleOrg": { - "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.", + "message": "$ORGANIZATION$ ஒரு கடவுச்சொல்லை மாற்றும்படி கோருகிறது, ஏனெனில் அது ஆபத்தில் உள்ளது.", "placeholders": { "organization": { "content": "$1", @@ -2559,7 +2562,7 @@ } }, "atRiskPasswordsDescSingleOrgPlural": { - "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.", + "message": "$ORGANIZATION$ $COUNT$ கடவுச்சொற்களை மாற்றும்படி கோருகிறது, ஏனெனில் அவை ஆபத்தில் உள்ளன.", "placeholders": { "organization": { "content": "$1", @@ -2572,7 +2575,7 @@ } }, "atRiskPasswordsDescMultiOrgPlural": { - "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.", + "message": "உங்கள் நிறுவனங்கள் $COUNT$ கடவுச்சொற்களை மாற்றும்படி கோருகின்றன, ஏனெனில் அவை ஆபத்தில் உள்ளன.", "placeholders": { "count": { "content": "$1", @@ -2581,7 +2584,7 @@ } }, "atRiskChangePrompt": { - "message": "Your password for this site is at-risk. $ORGANIZATION$ has requested that you change it.", + "message": "இந்த தளத்திற்கான உங்கள் கடவுச்சொல் ஆபத்தில் உள்ளது. $ORGANIZATION$ அதை மாற்றும்படி கோரியுள்ளது.", "placeholders": { "organization": { "content": "$1", @@ -2591,7 +2594,7 @@ "description": "Notification body when a login triggers an at-risk password change request and the change password domain is known." }, "atRiskNavigatePrompt": { - "message": "$ORGANIZATION$ wants you to change this password because it is at-risk. Navigate to your account settings to change the password.", + "message": "$ORGANIZATION$ இந்த கடவுச்சொல் ஆபத்தில் இருப்பதால் அதை மாற்ற விரும்புகிறது. கடவுச்சொல்லை மாற்ற உங்கள் கணக்கு அமைப்புகளுக்குச் செல்லவும்.", "placeholders": { "organization": { "content": "$1", @@ -2601,10 +2604,10 @@ "description": "Notification body when a login triggers an at-risk password change request and no change password domain is provided." }, "reviewAndChangeAtRiskPassword": { - "message": "Review and change one at-risk password" + "message": "ஒரு ஆபத்தில் உள்ள கடவுச்சொல்லை மதிப்பாய்வு செய்து மாற்று" }, "reviewAndChangeAtRiskPasswordsPlural": { - "message": "Review and change $COUNT$ at-risk passwords", + "message": "$COUNT$ ஆபத்தில் உள்ள கடவுச்சொற்களை மதிப்பாய்வு செய்து மாற்று", "placeholders": { "count": { "content": "$1", @@ -2613,52 +2616,52 @@ } }, "changeAtRiskPasswordsFaster": { - "message": "Change at-risk passwords faster" + "message": "ஆபத்தில் உள்ள கடவுச்சொற்களை வேகமாக மாற்று" }, "changeAtRiskPasswordsFasterDesc": { - "message": "Update your settings so you can quickly autofill your passwords and generate new ones" + "message": "உங்கள் அமைப்புகளைப் புதுப்பித்து, உங்கள் கடவுச்சொற்களை விரைவாக தானாக நிரப்பலாம் மற்றும் புதியவற்றை உருவாக்கலாம்" }, "reviewAtRiskLogins": { - "message": "Review at-risk logins" + "message": "ஆபத்தில் உள்ள உள்நுழைவுகளை மதிப்பாய்வு செய்" }, "reviewAtRiskPasswords": { - "message": "Review at-risk passwords" + "message": "ஆபத்தில் உள்ள கடவுச்சொற்களை மதிப்பாய்வு செய்" }, "reviewAtRiskLoginsSlideDesc": { - "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.", + "message": "உங்கள் நிறுவன கடவுச்சொற்கள் பலவீனமாக, மீண்டும் பயன்படுத்தப்பட்டு, மற்றும்/அல்லது வெளிப்படுத்தப்பட்டதால் ஆபத்தில் உள்ளன.", "description": "Description of the review at-risk login slide on the at-risk password page carousel" }, "reviewAtRiskLoginSlideImgAltPeriod": { - "message": "Illustration of a list of logins that are at-risk." + "message": "ஆபத்தில் உள்ள உள்நுழைவுகளின் பட்டியலின் விளக்கம்." }, "generatePasswordSlideDesc": { - "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.", + "message": "ஆபத்தில் உள்ள தளத்தில் உள்ள Bitwarden தானாக நிரப்பு மெனுவுடன் ஒரு வலுவான, தனிப்பட்ட கடவுச்சொல்லை விரைவாக உருவாக்குங்கள்.", "description": "Description of the generate password slide on the at-risk password page carousel" }, "generatePasswordSlideImgAltPeriod": { - "message": "Illustration of the Bitwarden autofill menu displaying a generated password." + "message": "உருவாக்கப்பட்ட கடவுச்சொல்லைக் காட்டும் Bitwarden தானாக நிரப்பு மெனுவின் விளக்கம்." }, "updateInBitwarden": { - "message": "Update in Bitwarden" + "message": "Bitwarden இல் புதுப்பி" }, "updateInBitwardenSlideDesc": { - "message": "Bitwarden will then prompt you to update the password in the password manager.", + "message": "Bitwarden பின்னர் கடவுச்சொல் நிர்வாகியில் கடவுச்சொல்லைப் புதுப்பிக்க உங்களைத் தூண்டும்.", "description": "Description of the update in Bitwarden slide on the at-risk password page carousel" }, "updateInBitwardenSlideImgAltPeriod": { - "message": "Illustration of a Bitwarden’s notification prompting the user to update the login." + "message": "பயனரை உள்நுழைவைப் புதுப்பிக்கும்படி தூண்டும் Bitwarden இன் அறிவிப்பின் விளக்கம்." }, "turnOnAutofill": { - "message": "Turn on autofill" + "message": "தானாக நிரப்புதலை இயக்கு" }, "turnedOnAutofill": { - "message": "Turned on autofill" + "message": "தானாக நிரப்புதல் இயக்கப்பட்டது" }, "dismiss": { - "message": "Dismiss" + "message": "நீக்கு" }, "websiteItemLabel": { - "message": "Website $number$ (URI)", + "message": "இணையதளம் $number$ (URI)", "placeholders": { "number": { "content": "$1", @@ -2667,7 +2670,7 @@ } }, "excludedDomainsInvalidDomain": { - "message": "$DOMAIN$ is not a valid domain", + "message": "$DOMAIN$ ஒரு செல்லுபடியாகும் டொமைன் அல்ல", "placeholders": { "domain": { "content": "$1", @@ -2676,20 +2679,20 @@ } }, "blockedDomainsSavedSuccess": { - "message": "Blocked domain changes saved" + "message": "தடைசெய்யப்பட்ட டொமைன் மாற்றங்கள் சேமிக்கப்பட்டன" }, "excludedDomainsSavedSuccess": { - "message": "Excluded domain changes saved" + "message": "விலக்கப்பட்ட டொமைன் மாற்றங்கள் சேமிக்கப்பட்டன" }, "limitSendViews": { - "message": "Limit views" + "message": "பார்வைகளை வரம்புபடுத்து" }, "limitSendViewsHint": { - "message": "No one can view this Send after the limit is reached.", + "message": "வரம்பு எட்டிய பிறகு யாரும் இந்த அனுப்புதலைப் பார்க்க முடியாது.", "description": "Displayed under the limit views field on Send" }, "limitSendViewsCount": { - "message": "$ACCESSCOUNT$ views left", + "message": "$ACCESSCOUNT$ காட்சிகள் மீதமுள்ளன", "description": "Displayed under the limit views field on Send", "placeholders": { "accessCount": { @@ -2699,100 +2702,100 @@ } }, "send": { - "message": "Send", + "message": "அனுப்பு", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendDetails": { - "message": "Send details", + "message": "அனுப்பு விவரங்கள்", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendTypeText": { - "message": "Text" + "message": "உரை" }, "sendTypeTextToShare": { - "message": "Text to share" + "message": "பகிர்வதற்கான உரை" }, "sendTypeFile": { - "message": "File" + "message": "கோப்பு" }, "allSends": { - "message": "All Sends", + "message": "அனைத்து அனுப்புகளும்", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCountReached": { - "message": "Max access count reached", + "message": "அதிகபட்ச அணுகல் எண்ணிக்கை எட்டப்பட்டது", "description": "This text will be displayed after a Send has been accessed the maximum amount of times." }, "hideTextByDefault": { - "message": "Hide text by default" + "message": "இயல்புநிலையாக உரையை மறை" }, "expired": { - "message": "Expired" + "message": "காலாவதியானது" }, "passwordProtected": { - "message": "Password protected" + "message": "கடவுச்சொல் பாதுகாக்கப்பட்டது" }, "copyLink": { - "message": "Copy link" + "message": "இணைப்பை நகலெடு" }, "copySendLink": { - "message": "Copy Send link", + "message": "அனுப்பு இணைப்பை நகலெடு", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Remove Password" + "message": "கடவுச்சொல்லை அகற்று" }, "delete": { - "message": "Delete" + "message": "நீக்கு" }, "removedPassword": { - "message": "Password removed" + "message": "கடவுச்சொல் அகற்றப்பட்டது" }, "deletedSend": { - "message": "Send deleted", + "message": "அனுப்பு நீக்கப்பட்டது", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendLink": { - "message": "Send link", + "message": "அனுப்பு இணைப்பு", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "முடக்கப்பட்டது" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "கடவுச்சொல்லை அகற்ற விரும்புகிறீர்களா?" }, "deleteSend": { - "message": "Delete Send", + "message": "அனுப்பு நீக்கு", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "இந்த அனுப்புதலை நீக்க விரும்புகிறீர்களா?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendPermanentConfirmation": { - "message": "Are you sure you want to permanently delete this Send?", + "message": "இந்த அனுப்புதலை நிரந்தரமாக நீக்க விரும்புகிறீர்களா?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "அனுப்பு திருத்து", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Deletion date" + "message": "நீக்கப்பட்ட தேதி" }, "deletionDateDescV2": { - "message": "The Send will be permanently deleted on this date.", + "message": "இந்த தேதியில் அனுப்புதல் நிரந்தரமாக நீக்கப்படும்.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Expiration date" + "message": "காலாவதி தேதி" }, "oneDay": { - "message": "1 day" + "message": "1 நாள்" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$ நாட்கள்", "placeholders": { "days": { "content": "$1", @@ -2801,41 +2804,41 @@ } }, "custom": { - "message": "Custom" + "message": "தனிப்பயன்" }, "sendPasswordDescV3": { - "message": "Add an optional password for recipients to access this Send.", + "message": "பெறுநர்கள் இந்த அனுப்புதலை அணுக ஒரு விருப்ப கடவுச்சொல்லைச் சேர்க்கவும்.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createSend": { - "message": "New Send", + "message": "புதிய அனுப்பு", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "newPassword": { - "message": "New password" + "message": "புதிய கடவுச்சொல்" }, "sendDisabled": { - "message": "Send removed", + "message": "அனுப்பு அகற்றப்பட்டது", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendDisabledWarning": { - "message": "Due to an enterprise policy, you are only able to delete an existing Send.", + "message": "ஒரு நிறுவன கொள்கை காரணமாக, நீங்கள் ஏற்கனவே உள்ள அனுப்புதலை மட்டுமே நீக்க முடியும்.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Send created", + "message": "அனுப்பு உருவாக்கப்பட்டது", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSendSuccessfully": { - "message": "Send created successfully!", + "message": "அனுப்புதல் வெற்றிகரமாக உருவாக்கப்பட்டது!", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendExpiresInHoursSingle": { - "message": "The Send will be available to anyone with the link for the next 1 hour.", + "message": "அடுத்த 1 மணிநேரத்திற்கு இணைப்பைக் கொண்ட எவரும் அனுப்புதலை அணுகலாம்.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendExpiresInHours": { - "message": "The Send will be available to anyone with the link for the next $HOURS$ hours.", + "message": "அடுத்த $HOURS$ மணிநேரத்திற்கு இணைப்பைக் கொண்ட எவரும் அனுப்புதலை அணுகலாம்.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.", "placeholders": { "hours": { @@ -2845,11 +2848,11 @@ } }, "sendExpiresInDaysSingle": { - "message": "The Send will be available to anyone with the link for the next 1 day.", + "message": "அடுத்த 1 நாளுக்கு இணைப்பைக் கொண்ட எவரும் அனுப்புதலை அணுகலாம்.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendExpiresInDays": { - "message": "The Send will be available to anyone with the link for the next $DAYS$ days.", + "message": "அடுத்த $DAYS$ நாட்களுக்கு இணைப்பைக் கொண்ட எவரும் அனுப்புதலை அணுகலாம்.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.", "placeholders": { "days": { @@ -2859,113 +2862,113 @@ } }, "sendLinkCopied": { - "message": "Send link copied", + "message": "அனுப்பு இணைப்பு நகலெடுக்கப்பட்டது", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Send saved", + "message": "அனுப்பு சேமிக்கப்பட்டது", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendFilePopoutDialogText": { - "message": "Pop out extension?", + "message": "நீட்டிப்பை வெளியேற்றவா?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendFilePopoutDialogDesc": { - "message": "To create a file Send, you need to pop out the extension to a new window.", + "message": "ஒரு கோப்பு அனுப்புதலை உருவாக்க, நீங்கள் நீட்டிப்பை ஒரு புதிய சாளரத்திற்கு வெளியேற்ற வேண்டும்.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendLinuxChromiumFileWarning": { - "message": "In order to choose a file, open the extension in the sidebar (if possible) or pop out to a new window by clicking this banner." + "message": "ஒரு கோப்பைத் தேர்வு செய்ய, நீட்டிப்பை பக்கவாட்டில் (முடிந்தால்) திறக்கவும் அல்லது இந்த பதாகையைக் கிளிக் செய்வதன் மூலம் புதிய சாளரத்திற்கு வெளியேற்றவும்." }, "sendFirefoxFileWarning": { - "message": "In order to choose a file using Firefox, open the extension in the sidebar or pop out to a new window by clicking this banner." + "message": "Firefox ஐப் பயன்படுத்தி ஒரு கோப்பைத் தேர்வு செய்ய, நீட்டிப்பை பக்கவாட்டில் திறக்கவும் அல்லது இந்த பதாகையைக் கிளிக் செய்வதன் மூலம் புதிய சாளரத்திற்கு வெளியேற்றவும்." }, "sendSafariFileWarning": { - "message": "In order to choose a file using Safari, pop out to a new window by clicking this banner." + "message": "Safari ஐப் பயன்படுத்தி ஒரு கோப்பைத் தேர்வு செய்ய, இந்த பதாகையைக் கிளிக் செய்வதன் மூலம் புதிய சாளரத்திற்கு வெளியேற்றவும்." }, "popOut": { - "message": "Pop out" + "message": "வெளியேற்றவும்" }, "sendFileCalloutHeader": { - "message": "Before you start" + "message": "நீங்கள் தொடங்குவதற்கு முன்" }, "expirationDateIsInvalid": { - "message": "The expiration date provided is not valid." + "message": "வழங்கப்பட்ட காலாவதி தேதி செல்லாது." }, "deletionDateIsInvalid": { - "message": "The deletion date provided is not valid." + "message": "வழங்கப்பட்ட நீக்கப்பட்ட தேதி செல்லாது." }, "expirationDateAndTimeRequired": { - "message": "An expiration date and time are required." + "message": "ஒரு காலாவதி தேதி மற்றும் நேரம் தேவை." }, "deletionDateAndTimeRequired": { - "message": "A deletion date and time are required." + "message": "ஒரு நீக்கப்பட்ட தேதி மற்றும் நேரம் தேவை." }, "dateParsingError": { - "message": "There was an error saving your deletion and expiration dates." + "message": "உங்கள் நீக்கப்பட்ட மற்றும் காலாவதி தேதிகளைச் சேமிப்பதில் ஒரு பிழை இருந்தது." }, "hideYourEmail": { - "message": "Hide your email address from viewers." + "message": "பார்வையாளர்களிடமிருந்து உங்கள் மின்னஞ்சல் முகவரியை மறைக்கவும்." }, "passwordPrompt": { - "message": "Master password re-prompt" + "message": "முதன்மை கடவுச்சொல் மீண்டும் கேட்கவும்" }, "passwordConfirmation": { - "message": "Master password confirmation" + "message": "முதன்மை கடவுச்சொல் உறுதிப்படுத்தல்" }, "passwordConfirmationDesc": { - "message": "This action is protected. To continue, please re-enter your master password to verify your identity." + "message": "இந்த நடவடிக்கை பாதுகாக்கப்பட்டது. தொடர, உங்கள் அடையாளத்தைச் சரிபார்க்க உங்கள் முதன்மை கடவுச்சொல்லை மீண்டும் உள்ளிடவும்." }, "emailVerificationRequired": { - "message": "Email verification required" + "message": "மின்னஞ்சல் சரிபார்ப்பு தேவை" }, "emailVerifiedV2": { - "message": "Email verified" + "message": "மின்னஞ்சல் சரிபார்க்கப்பட்டது" }, "emailVerificationRequiredDesc": { - "message": "You must verify your email to use this feature. You can verify your email in the web vault." + "message": "இந்த அம்சத்தைப் பயன்படுத்த நீங்கள் உங்கள் மின்னஞ்சலைச் சரிபார்க்க வேண்டும். நீங்கள் வலை பெட்டகத்தில் உங்கள் மின்னஞ்சலைச் சரிபார்க்கலாம்." }, "masterPasswordSuccessfullySet": { - "message": "Master password successfully set" + "message": "முதன்மை கடவுச்சொல் வெற்றிகரமாக அமைக்கப்பட்டது" }, "updatedMasterPassword": { - "message": "Updated master password" + "message": "புதுப்பிக்கப்பட்ட முதன்மை கடவுச்சொல்" }, "updateMasterPassword": { - "message": "Update master password" + "message": "முதன்மை கடவுச்சொல்லைப் புதுப்பி" }, "updateMasterPasswordWarning": { - "message": "Your master password was recently changed by an administrator in your organization. In order to access the vault, you must update it now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." + "message": "உங்கள் முதன்மை கடவுச்சொல் சமீபத்தில் உங்கள் நிறுவனத்தில் ஒரு நிர்வாகியால் மாற்றப்பட்டது. பெட்டகத்தை அணுக, நீங்கள் அதை இப்போது புதுப்பிக்க வேண்டும். தொடர்வது உங்கள் தற்போதைய அமர்விலிருந்து உங்களை வெளியேற்றும், மீண்டும் உள்நுழைய வேண்டும். மற்ற சாதனங்களில் உள்ள செயலில் உள்ள அமர்வுகள் ஒரு மணிநேரம் வரை செயலில் இருக்கலாம்." }, "updateWeakMasterPasswordWarning": { - "message": "Your master password does not meet one or more of your organization policies. In order to access the vault, you must update your master password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." + "message": "உங்கள் முதன்மை கடவுச்சொல் உங்கள் நிறுவன கொள்கைகளில் ஒன்று அல்லது அதற்கு மேற்பட்டவற்றை பூர்த்தி செய்யவில்லை. பெட்டகத்தை அணுக, நீங்கள் உங்கள் முதன்மை கடவுச்சொல்லை இப்போது புதுப்பிக்க வேண்டும். தொடர்வது உங்கள் தற்போதைய அமர்விலிருந்து உங்களை வெளியேற்றும், மீண்டும் உள்நுழைய வேண்டும். மற்ற சாதனங்களில் உள்ள செயலில் உள்ள அமர்வுகள் ஒரு மணிநேரம் வரை செயலில் இருக்கலாம்." }, "tdeDisabledMasterPasswordRequired": { - "message": "Your organization has disabled trusted device encryption. Please set a master password to access your vault." + "message": "உங்கள் நிறுவனம் நம்பகமான சாதன குறியாக்கத்தை முடக்கியுள்ளது. உங்கள் பெட்டகத்தை அணுக ஒரு முதன்மை கடவுச்சொல்லை அமைக்கவும்." }, "resetPasswordPolicyAutoEnroll": { - "message": "Automatic enrollment" + "message": "தானியங்கி பதிவு" }, "resetPasswordAutoEnrollInviteWarning": { - "message": "This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password." + "message": "இந்த நிறுவனத்தில் ஒரு நிறுவன கொள்கை உள்ளது, அது கடவுச்சொல் மீட்டமைப்பில் உங்களை தானாகவே பதிவு செய்யும். பதிவு செய்வது நிறுவன நிர்வாகிகளை உங்கள் முதன்மை கடவுச்சொல்லை மாற்ற அனுமதிக்கும்." }, "selectFolder": { - "message": "Select folder..." + "message": "கோப்புறையைத் தேர்ந்தெடு..." }, "noFoldersFound": { - "message": "No folders found", + "message": "கோப்புறைகள் எதுவும் இல்லை", "description": "Used as a message within the notification bar when no folders are found" }, "orgPermissionsUpdatedMustSetPassword": { - "message": "Your organization permissions were updated, requiring you to set a master password.", + "message": "உங்கள் நிறுவன அனுமதிகள் புதுப்பிக்கப்பட்டன, உங்கள் முதன்மை கடவுச்சொல்லை அமைக்க வேண்டும்.", "description": "Used as a card title description on the set password page to explain why the user is there" }, "orgRequiresYouToSetPassword": { - "message": "Your organization requires you to set a master password.", + "message": "உங்கள் நிறுவனம் ஒரு முதன்மை கடவுச்சொல்லை அமைக்க உங்களைக் கோருகிறது.", "description": "Used as a card title description on the set password page to explain why the user is there" }, "cardMetrics": { - "message": "out of $TOTAL$", + "message": "$TOTAL$ இல்", "placeholders": { "total": { "content": "$1", @@ -2974,20 +2977,20 @@ } }, "verificationRequired": { - "message": "Verification required", + "message": "சரிபார்ப்பு தேவை", "description": "Default title for the user verification dialog." }, "hours": { - "message": "Hours" + "message": "மணிநேரம்" }, "minutes": { - "message": "Minutes" + "message": "நிமிடங்கள்" }, "vaultTimeoutPolicyAffectingOptions": { - "message": "Enterprise policy requirements have been applied to your timeout options" + "message": "நிறுவன கொள்கை தேவைகள் உங்கள் காலக்கெடு விருப்பங்களுக்குப் பயன்படுத்தப்பட்டுள்ளன" }, "vaultTimeoutPolicyInEffect": { - "message": "Your organization policies have set your maximum allowed vault timeout to $HOURS$ hour(s) and $MINUTES$ minute(s).", + "message": "உங்கள் நிறுவன கொள்கைகள் உங்கள் அதிகபட்ச அனுமதிக்கப்பட்ட பெட்டக காலக்கெடுவை $HOURS$ மணிநேரம் மற்றும் $MINUTES$ நிமிடங்களாக அமைத்துள்ளன.", "placeholders": { "hours": { "content": "$1", @@ -3000,7 +3003,7 @@ } }, "vaultTimeoutPolicyInEffect1": { - "message": "$HOURS$ hour(s) and $MINUTES$ minute(s) maximum.", + "message": "$HOURS$ மணிநேரம் மற்றும் $MINUTES$ நிமிடங்கள் அதிகபட்சம்.", "placeholders": { "hours": { "content": "$1", @@ -3013,7 +3016,7 @@ } }, "vaultTimeoutPolicyMaximumError": { - "message": "Timeout exceeds the restriction set by your organization: $HOURS$ hour(s) and $MINUTES$ minute(s) maximum", + "message": "காலக்கெடு உங்கள் நிறுவனத்தால் அமைக்கப்பட்ட கட்டுப்பாட்டை மீறுகிறது: $HOURS$ மணிநேரம் மற்றும் $MINUTES$ நிமிடங்கள் அதிகபட்சம்", "placeholders": { "hours": { "content": "$1", @@ -3026,7 +3029,7 @@ } }, "vaultTimeoutPolicyWithActionInEffect": { - "message": "Your organization policies are affecting your vault timeout. Maximum allowed vault timeout is $HOURS$ hour(s) and $MINUTES$ minute(s). Your vault timeout action is set to $ACTION$.", + "message": "உங்கள் நிறுவன கொள்கைகள் உங்கள் பெட்டக காலக்கெடுவைப் பாதிக்கின்றன. அதிகபட்ச அனுமதிக்கப்பட்ட பெட்டக காலக்கெடு $HOURS$ மணிநேரம் மற்றும் $MINUTES$ நிமிடங்கள். உங்கள் பெட்டக காலக்கெடு நடவடிக்கை $ACTION$ ஆக அமைக்கப்பட்டுள்ளது.", "placeholders": { "hours": { "content": "$1", @@ -3043,7 +3046,7 @@ } }, "vaultTimeoutActionPolicyInEffect": { - "message": "Your organization policies have set your vault timeout action to $ACTION$.", + "message": "உங்கள் நிறுவன கொள்கைகள் உங்கள் பெட்டக காலக்கெடு நடவடிக்கையை $ACTION$ ஆக அமைத்துள்ளன.", "placeholders": { "action": { "content": "$1", @@ -3052,55 +3055,55 @@ } }, "vaultTimeoutTooLarge": { - "message": "Your vault timeout exceeds the restrictions set by your organization." + "message": "உங்கள் பெட்டக காலக்கெடு உங்கள் நிறுவனத்தால் அமைக்கப்பட்ட கட்டுப்பாடுகளை மீறுகிறது." }, "vaultExportDisabled": { - "message": "Vault export unavailable" + "message": "பெட்டக ஏற்றுமதி கிடைக்கவில்லை" }, "personalVaultExportPolicyInEffect": { - "message": "One or more organization policies prevents you from exporting your individual vault." + "message": "ஒன்று அல்லது அதற்கு மேற்பட்ட நிறுவன கொள்கைகள் உங்கள் தனிப்பட்ட பெட்டகத்தை ஏற்றுமதி செய்வதிலிருந்து உங்களைத் தடுக்கின்றன." }, "copyCustomFieldNameInvalidElement": { - "message": "Unable to identify a valid form element. Try inspecting the HTML instead." + "message": "செல்லுபடியாகும் படிவ உறுப்பை அடையாளம் காண முடியவில்லை. அதற்கு பதிலாக HTML ஐ ஆய்வு செய்ய முயற்சிக்கவும்." }, "copyCustomFieldNameNotUnique": { - "message": "No unique identifier found." + "message": "தனிப்பட்ட அடையாளங்காட்டி எதுவும் இல்லை." }, "removeMasterPasswordForOrganizationUserKeyConnector": { - "message": "A master password is no longer required for members of the following organization. Please confirm the domain below with your organization administrator." + "message": "பின்வரும் நிறுவனத்தின் உறுப்பினர்களுக்கு இனி ஒரு முதன்மை கடவுச்சொல் தேவையில்லை. உங்கள் நிறுவன நிர்வாகியுடன் கீழே உள்ள டொமைனை உறுதிப்படுத்தவும்." }, "organizationName": { - "message": "Organization name" + "message": "நிறுவன பெயர்" }, "keyConnectorDomain": { - "message": "Key Connector domain" + "message": "விசை இணைப்பான் டொமைன்" }, "leaveOrganization": { - "message": "Leave organization" + "message": "நிறுவனத்திலிருந்து விலகு" }, "removeMasterPassword": { - "message": "Remove master password" + "message": "முதன்மை கடவுச்சொல்லை அகற்று" }, "removedMasterPassword": { - "message": "Master password removed" + "message": "முதன்மை கடவுச்சொல் அகற்றப்பட்டது" }, "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" + "message": "நீங்கள் இந்த நிறுவனத்திலிருந்து விலக விரும்புகிறீர்களா?" }, "leftOrganization": { - "message": "You have left the organization." + "message": "நீங்கள் நிறுவனத்திலிருந்து விலகிவிட்டீர்கள்." }, "toggleCharacterCount": { - "message": "Toggle character count" + "message": "எழுத்து எண்ணிக்கையை மாற்று" }, "sessionTimeout": { - "message": "Your session has timed out. Please go back and try logging in again." + "message": "உங்கள் அமர்வு காலாவதியாகிவிட்டது. தயவுசெய்து திரும்பிச் சென்று மீண்டும் உள்நுழைய முயற்சிக்கவும்." }, "exportingPersonalVaultTitle": { - "message": "Exporting individual vault" + "message": "தனிப்பட்ட பெட்டகத்தை ஏற்றுமதி செய்கிறது" }, "exportingIndividualVaultDescription": { - "message": "Only the individual vault items associated with $EMAIL$ will be exported. Organization vault items will not be included. Only vault item information will be exported and will not include associated attachments.", + "message": "$EMAIL$ உடன் தொடர்புடைய தனிப்பட்ட பெட்டக பொருட்கள் மட்டுமே ஏற்றுமதி செய்யப்படும். நிறுவன பெட்டக பொருட்கள் சேர்க்கப்படாது. பெட்டக பொருள் தகவல்கள் மட்டுமே ஏற்றுமதி செய்யப்படும் மற்றும் அதனுடன் தொடர்புடைய இணைப்புகள் சேர்க்கப்படாது.", "placeholders": { "email": { "content": "$1", @@ -3109,7 +3112,7 @@ } }, "exportingIndividualVaultWithAttachmentsDescription": { - "message": "Only the individual vault items including attachments associated with $EMAIL$ will be exported. Organization vault items will not be included", + "message": "$EMAIL$ உடன் தொடர்புடைய இணைப்புகள் உட்பட தனிப்பட்ட பெட்டக பொருட்கள் மட்டுமே ஏற்றுமதி செய்யப்படும். நிறுவன பெட்டக பொருட்கள் சேர்க்கப்படாது", "placeholders": { "email": { "content": "$1", @@ -3118,10 +3121,10 @@ } }, "exportingOrganizationVaultTitle": { - "message": "Exporting organization vault" + "message": "நிறுவன பெட்டகத்தை ஏற்றுமதி செய்கிறது" }, "exportingOrganizationVaultDesc": { - "message": "Only the organization vault associated with $ORGANIZATION$ will be exported. Items in individual vaults or other organizations will not be included.", + "message": "$ORGANIZATION$ உடன் தொடர்புடைய நிறுவன பெட்டகம் மட்டுமே ஏற்றுமதி செய்யப்படும். தனிப்பட்ட பெட்டகங்கள் அல்லது பிற நிறுவனங்களில் உள்ள பொருட்கள் சேர்க்கப்படாது.", "placeholders": { "organization": { "content": "$1", @@ -3130,30 +3133,30 @@ } }, "error": { - "message": "Error" + "message": "பிழை" }, "decryptionError": { - "message": "Decryption error" + "message": "குறியாக்கம் நீக்கப் பிழை" }, "couldNotDecryptVaultItemsBelow": { - "message": "Bitwarden could not decrypt the vault item(s) listed below." + "message": "Bitwarden கீழே பட்டியலிடப்பட்ட பெட்டக பொருளை குறியாக்கம் நீக்க முடியவில்லை." }, "contactCSToAvoidDataLossPart1": { - "message": "Contact customer success", + "message": "கூடுதல் தரவு இழப்பைத் தவிர்க்க", "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'" }, "contactCSToAvoidDataLossPart2": { - "message": "to avoid additional data loss.", + "message": "வாடிக்கையாளர் ஆதரவைத் தொடர்பு கொள்ளவும்.", "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'" }, "generateUsername": { - "message": "Generate username" + "message": "பயனர் பெயரை உருவாக்கு" }, "generateEmail": { - "message": "Generate email" + "message": "மின்னஞ்சலை உருவாக்கு" }, "spinboxBoundariesHint": { - "message": "Value must be between $MIN$ and $MAX$.", + "message": "மதிப்பு $MIN$ மற்றும் $MAX$ க்கு இடையில் இருக்க வேண்டும்.", "description": "Explains spin box minimum and maximum values to the user", "placeholders": { "min": { @@ -3167,7 +3170,7 @@ } }, "passwordLengthRecommendationHint": { - "message": " Use $RECOMMENDED$ characters or more to generate a strong password.", + "message": " ஒரு வலுவான கடவுச்சொல்லை உருவாக்க $RECOMMENDED$ எழுத்துகள் அல்லது அதற்கு மேற்பட்டவற்றைப் பயன்படுத்தவும்.", "description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).", "placeholders": { "recommended": { @@ -3177,7 +3180,7 @@ } }, "passphraseNumWordsRecommendationHint": { - "message": " Use $RECOMMENDED$ words or more to generate a strong passphrase.", + "message": " ஒரு வலுவான கடவுச்சொல் சொற்றொடரை உருவாக்க $RECOMMENDED$ சொற்கள் அல்லது அதற்கு மேற்பட்டவற்றைப் பயன்படுத்தவும்.", "description": "Appended to `spinboxBoundariesHint` to recommend a number of words to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).", "placeholders": { "recommended": { @@ -3187,46 +3190,46 @@ } }, "plusAddressedEmail": { - "message": "Plus addressed email", + "message": "பிளஸ் முகவரியிடப்பட்ட மின்னஞ்சல்", "description": "Username generator option that appends a random sub-address to the username. For example: address+subaddress@email.com" }, "plusAddressedEmailDesc": { - "message": "Use your email provider's sub-addressing capabilities." + "message": "உங்கள் மின்னஞ்சல் வழங்குநரின் துணை-முகவரி திறன்களைப் பயன்படுத்தவும்." }, "catchallEmail": { - "message": "Catch-all email" + "message": "அனைத்தையும் ஏற்றுக்கொள்ளும் மின்னஞ்சல்" }, "catchallEmailDesc": { - "message": "Use your domain's configured catch-all inbox." + "message": "உங்கள் டொமைனின் கட்டமைக்கப்பட்ட அனைத்தையும் ஏற்றுக்கொள்ளும் இன்பாக்ஸைப் பயன்படுத்தவும்." }, "random": { - "message": "Random" + "message": "சீரற்ற" }, "randomWord": { - "message": "Random word" + "message": "சீரற்ற சொல்" }, "websiteName": { - "message": "Website name" + "message": "இணையதள பெயர்" }, "service": { - "message": "Service" + "message": "சேவை" }, "forwardedEmail": { - "message": "Forwarded email alias" + "message": "முன்னனுப்பப்பட்ட மின்னஞ்சல் புனைப்பெயர்" }, "forwardedEmailDesc": { - "message": "Generate an email alias with an external forwarding service." + "message": "ஒரு வெளிப்புற அனுப்புதல் சேவையுடன் ஒரு மின்னஞ்சல் புனைப்பெயரை உருவாக்கு." }, "forwarderDomainName": { - "message": "Email domain", + "message": "மின்னஞ்சல் டொமைன்", "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "Choose a domain that is supported by the selected service", + "message": "தேர்ந்தெடுக்கப்பட்ட சேவையால் ஆதரிக்கப்படும் ஒரு டொமைனைத் தேர்ந்தெடு", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { - "message": "$SERVICENAME$ error: $ERRORMESSAGE$", + "message": "$SERVICENAME$ பிழை: $ERRORMESSAGE$", "description": "Reports an error returned by a forwarding service to the user.", "placeholders": { "servicename": { @@ -3240,11 +3243,11 @@ } }, "forwarderGeneratedBy": { - "message": "Generated by Bitwarden.", + "message": "Bitwarden மூலம் உருவாக்கப்பட்டது.", "description": "Displayed with the address on the forwarding service's configuration screen." }, "forwarderGeneratedByWithWebsite": { - "message": "Website: $WEBSITE$. Generated by Bitwarden.", + "message": "இணையதளம்: $WEBSITE$. Bitwarden மூலம் உருவாக்கப்பட்டது.", "description": "Displayed with the address on the forwarding service's configuration screen.", "placeholders": { "WEBSITE": { @@ -3254,7 +3257,7 @@ } }, "forwaderInvalidToken": { - "message": "Invalid $SERVICENAME$ API token", + "message": "செல்லாத $SERVICENAME$ API டோக்கன்", "description": "Displayed when the user's API token is empty or rejected by the forwarding service.", "placeholders": { "servicename": { @@ -3264,7 +3267,7 @@ } }, "forwaderInvalidTokenWithMessage": { - "message": "Invalid $SERVICENAME$ API token: $ERRORMESSAGE$", + "message": "செல்லாத $SERVICENAME$ API டோக்கன்: $ERRORMESSAGE$", "description": "Displayed when the user's API token is rejected by the forwarding service with an error message.", "placeholders": { "servicename": { @@ -3278,7 +3281,7 @@ } }, "forwaderInvalidOperation": { - "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "message": "$SERVICENAME$ உங்கள் கோரிக்கையை நிராகரித்தது. உதவிக்கு உங்கள் சேவை வழங்குநரைத் தொடர்பு கொள்ளவும்.", "description": "Displayed when the user is forbidden from using the API by the forwarding service.", "placeholders": { "servicename": { @@ -3288,7 +3291,7 @@ } }, "forwaderInvalidOperationWithMessage": { - "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "message": "$SERVICENAME$ உங்கள் கோரிக்கையை நிராகரித்தது: $ERRORMESSAGE$", "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", "placeholders": { "servicename": { @@ -3302,7 +3305,7 @@ } }, "forwarderNoAccountId": { - "message": "Unable to obtain $SERVICENAME$ masked email account ID.", + "message": "$SERVICENAME$ மறைக்கப்பட்ட மின்னஞ்சல் கணக்கு ID ஐப் பெற முடியவில்லை.", "description": "Displayed when the forwarding service fails to return an account ID.", "placeholders": { "servicename": { @@ -3312,7 +3315,7 @@ } }, "forwarderNoDomain": { - "message": "Invalid $SERVICENAME$ domain.", + "message": "செல்லாத $SERVICENAME$ டொமைன்.", "description": "Displayed when the domain is empty or domain authorization failed at the forwarding service.", "placeholders": { "servicename": { @@ -3322,7 +3325,7 @@ } }, "forwarderNoUrl": { - "message": "Invalid $SERVICENAME$ url.", + "message": "செல்லாத $SERVICENAME$ URL.", "description": "Displayed when the url of the forwarding service wasn't supplied.", "placeholders": { "servicename": { @@ -3332,7 +3335,7 @@ } }, "forwarderUnknownError": { - "message": "Unknown $SERVICENAME$ error occurred.", + "message": "தெரியாத $SERVICENAME$ பிழை ஏற்பட்டது.", "description": "Displayed when the forwarding service failed due to an unknown error.", "placeholders": { "servicename": { @@ -3342,7 +3345,7 @@ } }, "forwarderUnknownForwarder": { - "message": "Unknown forwarder: '$SERVICENAME$'.", + "message": "தெரியாத ஃபார்வர்டர்: '$SERVICENAME$'.", "description": "Displayed when the forwarding service is not supported.", "placeholders": { "servicename": { @@ -3352,29 +3355,29 @@ } }, "hostname": { - "message": "Hostname", + "message": "ஹோஸ்ட் பெயர்", "description": "Part of a URL." }, "apiAccessToken": { - "message": "API Access Token" + "message": "API அணுகல் டோக்கன்" }, "apiKey": { - "message": "API Key" + "message": "API சாவி" }, "ssoKeyConnectorError": { - "message": "Key connector error: make sure key connector is available and working correctly." + "message": "சாவி இணைப்பி பிழை: சாவி இணைப்பி கிடைப்பதை மற்றும் சரியாக வேலை செய்வதை உறுதிப்படுத்தவும்." }, "premiumSubcriptionRequired": { - "message": "Premium subscription required" + "message": "பிரீமியம் சந்தா தேவை" }, "organizationIsDisabled": { - "message": "Organization suspended." + "message": "நிறுவனம் இடைநிறுத்தப்பட்டது." }, "disabledOrganizationFilterError": { - "message": "Items in suspended Organizations cannot be accessed. Contact your Organization owner for assistance." + "message": "இடைநிறுத்தப்பட்ட நிறுவனங்களில் உள்ள உருப்படிகளை அணுக முடியாது. உதவிக்கு உங்கள் நிறுவன உரிமையாளரைத் தொடர்பு கொள்ளுங்கள்." }, "loggingInTo": { - "message": "Logging in to $DOMAIN$", + "message": "$DOMAIN$-க்குள் உள்நுழைகிறது", "placeholders": { "domain": { "content": "$1", @@ -3383,16 +3386,16 @@ } }, "serverVersion": { - "message": "Server version" + "message": "சர்வர் பதிப்பு" }, "selfHostedServer": { - "message": "self-hosted" + "message": "சுயமாக ஹோஸ்ட் செய்யப்பட்டது" }, "thirdParty": { - "message": "Third-party" + "message": "மூன்றாம் தரப்பு" }, "thirdPartyServerMessage": { - "message": "Connected to third-party server implementation, $SERVERNAME$. Please verify bugs using the official server, or report them to the third-party server.", + "message": "மூன்றாம் தரப்பு சர்வர் செயல்படுத்தலுடன் இணைக்கப்பட்டுள்ளது, $SERVERNAME$. அதிகாரப்பூர்வ சேவையகத்தைப் பயன்படுத்தி பிழைகளைச் சரிபார்க்கவும், அல்லது மூன்றாம் தரப்பு சேவையகத்திற்கு புகாரளிக்கவும்.", "placeholders": { "servername": { "content": "$1", @@ -3401,7 +3404,7 @@ } }, "lastSeenOn": { - "message": "last seen on: $DATE$", + "message": "கடைசியாக பார்த்தது: $DATE$", "placeholders": { "date": { "content": "$1", @@ -3410,58 +3413,58 @@ } }, "loginWithMasterPassword": { - "message": "Log in with master password" + "message": "மாஸ்டர் கடவுச்சொல்லுடன் உள்நுழைக" }, "newAroundHere": { - "message": "New around here?" + "message": "இங்கே புதியவரா?" }, "rememberEmail": { - "message": "Remember email" + "message": "மின்னஞ்சலை நினைவில் கொள்க" }, "loginWithDevice": { - "message": "Log in with device" + "message": "சாதனத்துடன் உள்நுழைக" }, "fingerprintPhraseHeader": { - "message": "Fingerprint phrase" + "message": "கைரேகை சொற்றொடர்" }, "fingerprintMatchInfo": { - "message": "Please make sure your vault is unlocked and the Fingerprint phrase matches on the other device." + "message": "உங்கள் வால்ட் திறக்கப்பட்டிருப்பதையும் கைரேகை சொற்றொடர் மற்ற சாதனத்தில் பொருந்துவதையும் உறுதிப்படுத்தவும்." }, "resendNotification": { - "message": "Resend notification" + "message": "அறிவிப்பை மீண்டும் அனுப்பவும்" }, "viewAllLogInOptions": { - "message": "View all log in options" + "message": "அனைத்து உள்நுழைவு விருப்பங்களையும் காண்க" }, "notificationSentDevice": { - "message": "A notification has been sent to your device." + "message": "உங்கள் சாதனத்திற்கு அறிவிப்பு அனுப்பப்பட்டுள்ளது." }, "notificationSentDevicePart1": { - "message": "Unlock Bitwarden on your device or on the" + "message": "உங்கள் சாதனத்தில் அல்லது" }, "notificationSentDeviceAnchor": { - "message": "web app" + "message": "வலை செயலியில்" }, "notificationSentDevicePart2": { - "message": "Make sure the Fingerprint phrase matches the one below before approving." + "message": "Bitwarden-ஐ திறக்கவும். ஒப்புதல் அளிப்பதற்கு முன், கைரேகை சொற்றொடர் கீழே உள்ளவற்றுடன் பொருந்துவதை உறுதிப்படுத்தவும்." }, "aNotificationWasSentToYourDevice": { - "message": "A notification was sent to your device" + "message": "உங்கள் சாதனத்திற்கு ஒரு அறிவிப்பு அனுப்பப்பட்டது" }, "youWillBeNotifiedOnceTheRequestIsApproved": { - "message": "You will be notified once the request is approved" + "message": "கோரிக்கை அங்கீகரிக்கப்பட்டதும் உங்களுக்கு அறிவிக்கப்படும்" }, "needAnotherOptionV1": { - "message": "Need another option?" + "message": "வேறொரு விருப்பம் தேவையா?" }, "loginInitiated": { - "message": "Login initiated" + "message": "உள்நுழைவு தொடங்கப்பட்டது" }, "logInRequestSent": { - "message": "Request sent" + "message": "கோரிக்கை அனுப்பப்பட்டது" }, "loginRequestApprovedForEmailOnDevice": { - "message": "Login request approved for $EMAIL$ on $DEVICE$", + "message": "$DEVICE$-இல் உள்ள $EMAIL$-க்கான உள்நுழைவு கோரிக்கை அங்கீகரிக்கப்பட்டது", "placeholders": { "email": { "content": "$1", @@ -3474,40 +3477,40 @@ } }, "youDeniedLoginAttemptFromAnotherDevice": { - "message": "You denied a login attempt from another device. If this was you, try to log in with the device again." + "message": "மற்றொரு சாதனத்திலிருந்து உள்நுழைய நீங்கள் மேற்கொண்ட முயற்சியை மறுத்துவிட்டீர்கள். இது நீங்களாக இருந்தால், மீண்டும் அந்தச் சாதனத்துடன் உள்நுழைய முயற்சிக்கவும்." }, "device": { - "message": "Device" + "message": "சாதனம்" }, "loginStatus": { - "message": "Login status" + "message": "உள்நுழைவு நிலை" }, "masterPasswordChanged": { - "message": "Master password saved" + "message": "மாஸ்டர் கடவுச்சொல் சேமிக்கப்பட்டது" }, "exposedMasterPassword": { - "message": "Exposed Master Password" + "message": "வெளியான மாஸ்டர் கடவுச்சொல்" }, "exposedMasterPasswordDesc": { - "message": "Password found in a data breach. Use a unique password to protect your account. Are you sure you want to use an exposed password?" + "message": "தரவு மீறலில் கடவுச்சொல் கண்டறியப்பட்டது. உங்கள் கணக்கைப் பாதுகாக்க ஒரு தனிப்பட்ட கடவுச்சொல்லைப் பயன்படுத்தவும். வெளியான கடவுச்சொல்லைப் பயன்படுத்த நீங்கள் உறுதியாக இருக்கிறீர்களா?" }, "weakAndExposedMasterPassword": { - "message": "Weak and Exposed Master Password" + "message": "பலவீனமான மற்றும் வெளியான மாஸ்டர் கடவுச்சொல்" }, "weakAndBreachedMasterPasswordDesc": { - "message": "Weak password identified and found in a data breach. Use a strong and unique password to protect your account. Are you sure you want to use this password?" + "message": "பலவீனமான கடவுச்சொல் அடையாளம் காணப்பட்டு, தரவு மீறலில் கண்டறியப்பட்டது. உங்கள் கணக்கைப் பாதுகாக்க வலுவான மற்றும் தனிப்பட்ட கடவுச்சொல்லைப் பயன்படுத்தவும். இந்தக் கடவுச்சொல்லைப் பயன்படுத்த நீங்கள் உறுதியாக இருக்கிறீர்களா?" }, "checkForBreaches": { - "message": "Check known data breaches for this password" + "message": "இந்தக் கடவுச்சொல்லுக்கான அறியப்பட்ட தரவு மீறல்களைச் சரிபார்க்கவும்" }, "important": { - "message": "Important:" + "message": "முக்கியமானது:" }, "masterPasswordHint": { - "message": "Your master password cannot be recovered if you forget it!" + "message": "உங்கள் மாஸ்டர் கடவுச்சொல்லை மறந்துவிட்டால் அதை மீண்டும் பெற முடியாது!" }, "characterMinimum": { - "message": "$LENGTH$ character minimum", + "message": "$LENGTH$ எழுத்துக்கள் குறைந்தது", "placeholders": { "length": { "content": "$1", @@ -3516,13 +3519,13 @@ } }, "autofillPageLoadPolicyActivated": { - "message": "Your organization policies have turned on autofill on page load." + "message": "பக்கம் ஏற்றப்படும்போது தானியங்கு நிரப்புதலை உங்கள் நிறுவனக் கொள்கைகள் செயல்படுத்தியுள்ளன." }, "howToAutofill": { - "message": "How to autofill" + "message": "தானியங்கு நிரப்புவது எப்படி" }, "autofillSelectInfoWithCommand": { - "message": "Select an item from this screen, use the shortcut $COMMAND$, or explore other options in settings.", + "message": "இந்தத் திரையில் இருந்து ஒரு உருப்படியைத் தேர்ந்தெடுக்கவும், $COMMAND$ என்ற குறுக்குவழியைப் பயன்படுத்தவும் அல்லது அமைப்புகளில் பிற விருப்பங்களை ஆராயவும்.", "placeholders": { "command": { "content": "$1", @@ -3531,31 +3534,31 @@ } }, "autofillSelectInfoWithoutCommand": { - "message": "Select an item from this screen, or explore other options in settings." + "message": "இந்தத் திரையில் இருந்து ஒரு உருப்படியைத் தேர்ந்தெடுக்கவும், அல்லது அமைப்புகளில் பிற விருப்பங்களை ஆராயவும்." }, "gotIt": { - "message": "Got it" + "message": "புரிந்துகொண்டேன்" }, "autofillSettings": { - "message": "Autofill settings" + "message": "தானியங்கு நிரப்புதல் அமைப்புகள்" }, "autofillKeyboardShortcutSectionTitle": { - "message": "Autofill shortcut" + "message": "தானியங்கு நிரப்புதல் குறுக்குவழி" }, "autofillKeyboardShortcutUpdateLabel": { - "message": "Change shortcut" + "message": "குறுக்குவழியை மாற்று" }, "autofillKeyboardManagerShortcutsLabel": { - "message": "Manage shortcuts" + "message": "குறுக்குவழிகளை நிர்வகி" }, "autofillShortcut": { - "message": "Autofill keyboard shortcut" + "message": "தானியங்கு நிரப்புதல் விசைப்பலகை குறுக்குவழி" }, "autofillLoginShortcutNotSet": { - "message": "The autofill login shortcut is not set. Change this in the browser's settings." + "message": "தானியங்கு நிரப்புதல் உள்நுழைவு குறுக்குவழி அமைக்கப்படவில்லை. இதை உலாவியின் அமைப்புகளில் மாற்றவும்." }, "autofillLoginShortcutText": { - "message": "The autofill login shortcut is $COMMAND$. Manage all shortcuts in the browser's settings.", + "message": "தானியங்கு நிரப்புதல் உள்நுழைவு குறுக்குவழி $COMMAND$ ஆகும். உலாவியின் அமைப்புகளில் அனைத்து குறுக்குவழிகளையும் நிர்வகிக்கவும்.", "placeholders": { "command": { "content": "$1", @@ -3564,7 +3567,7 @@ } }, "autofillShortcutTextSafari": { - "message": "Default autofill shortcut: $COMMAND$.", + "message": "இயல்புநிலை தானியங்கு நிரப்புதல் குறுக்குவழி: $COMMAND$.", "placeholders": { "command": { "content": "$1", @@ -3573,34 +3576,34 @@ } }, "opensInANewWindow": { - "message": "Opens in a new window" + "message": "புதிய சாளரத்தில் திறக்கும்" }, "rememberThisDeviceToMakeFutureLoginsSeamless": { - "message": "Remember this device to make future logins seamless" + "message": "எதிர்கால உள்நுழைவுகளை தடையற்றதாக மாற்ற இந்தச் சாதனத்தை நினைவில் கொள்க" }, "manageDevices": { - "message": "Manage devices" + "message": "சாதனங்களை நிர்வகி" }, "currentSession": { - "message": "Current session" + "message": "தற்போதைய அமர்வு" }, "mobile": { - "message": "Mobile", + "message": "மொபைல்", "description": "Mobile app" }, "extension": { - "message": "Extension", + "message": "விரிவாக்கம்", "description": "Browser extension/addon" }, "desktop": { - "message": "Desktop", + "message": "டெஸ்க்டாப்", "description": "Desktop app" }, "webVault": { - "message": "Web vault" + "message": "வலை வால்ட்" }, "webApp": { - "message": "Web app" + "message": "வலை செயலி" }, "cli": { "message": "CLI" @@ -3610,22 +3613,22 @@ "description": "Software Development Kit" }, "requestPending": { - "message": "Request pending" + "message": "கோரிக்கை நிலுவையில் உள்ளது" }, "firstLogin": { - "message": "First login" + "message": "முதல் உள்நுழைவு" }, "trusted": { - "message": "Trusted" + "message": "நம்பகமானது" }, "needsApproval": { - "message": "Needs approval" + "message": "அங்கீகாரம் தேவை" }, "devices": { - "message": "Devices" + "message": "சாதனங்கள்" }, "accessAttemptBy": { - "message": "Access attempt by $EMAIL$", + "message": "$EMAIL$ மூலம் அணுகல் முயற்சி", "placeholders": { "email": { "content": "$1", @@ -3634,31 +3637,31 @@ } }, "confirmAccess": { - "message": "Confirm access" + "message": "அணுகலை உறுதிப்படுத்து" }, "denyAccess": { - "message": "Deny access" + "message": "அணுகலை மறு" }, "time": { - "message": "Time" + "message": "நேரம்" }, "deviceType": { - "message": "Device Type" + "message": "சாதன வகை" }, "loginRequest": { - "message": "Login request" + "message": "உள்நுழைவு கோரிக்கை" }, "thisRequestIsNoLongerValid": { - "message": "This request is no longer valid." + "message": "இந்தக் கோரிக்கை இனி செல்லாது." }, "loginRequestHasAlreadyExpired": { - "message": "Login request has already expired." + "message": "உள்நுழைவு கோரிக்கை ஏற்கனவே காலாவதியாகிவிட்டது." }, "justNow": { - "message": "Just now" + "message": "இப்போதுதான்" }, "requestedXMinutesAgo": { - "message": "Requested $MINUTES$ minutes ago", + "message": "$MINUTES$ நிமிடங்களுக்கு முன் கோரப்பட்டது", "placeholders": { "minutes": { "content": "$1", @@ -3667,136 +3670,136 @@ } }, "deviceApprovalRequired": { - "message": "Device approval required. Select an approval option below:" + "message": "சாதன அங்கீகாரம் தேவை. கீழே உள்ள அங்கீகரிப்பு விருப்பங்களில் ஒன்றைத் தேர்ந்தெடுக்கவும்:" }, "deviceApprovalRequiredV2": { - "message": "Device approval required" + "message": "சாதன அங்கீகாரம் தேவை" }, "selectAnApprovalOptionBelow": { - "message": "Select an approval option below" + "message": "கீழே உள்ள அங்கீகரிப்பு விருப்பங்களில் ஒன்றைத் தேர்ந்தெடுக்கவும்" }, "rememberThisDevice": { - "message": "Remember this device" + "message": "இந்தச் சாதனத்தை நினைவில் கொள்க" }, "uncheckIfPublicDevice": { - "message": "Uncheck if using a public device" + "message": "பொது சாதனத்தைப் பயன்படுத்தினால் தேர்வு செய்யாதே" }, "approveFromYourOtherDevice": { - "message": "Approve from your other device" + "message": "உங்கள் மற்ற சாதனத்திலிருந்து அங்கீகரி" }, "requestAdminApproval": { - "message": "Request admin approval" + "message": "நிர்வாகி அங்கீகாரத்தைக் கோரு" }, "unableToCompleteLogin": { - "message": "Unable to complete login" + "message": "உள்நுழைவை முடிக்க முடியவில்லை" }, "loginOnTrustedDeviceOrAskAdminToAssignPassword": { - "message": "You need to log in on a trusted device or ask your administrator to assign you a password." + "message": "நீங்கள் ஒரு நம்பகமான சாதனத்தில் உள்நுழைய வேண்டும் அல்லது உங்கள் நிர்வாகியிடம் கடவுச்சொல்லை ஒதுக்குமாறு கேட்க வேண்டும்." }, "ssoIdentifierRequired": { - "message": "Organization SSO identifier is required." + "message": "நிறுவன SSO அடையாளங்காட்டி தேவை." }, "creatingAccountOn": { - "message": "Creating account on" + "message": "கணக்கை உருவாக்குகிறது" }, "checkYourEmail": { - "message": "Check your email" + "message": "உங்கள் மின்னஞ்சலைச் சரிபார்க்கவும்" }, "followTheLinkInTheEmailSentTo": { - "message": "Follow the link in the email sent to" + "message": "அனுப்பப்பட்ட மின்னஞ்சலில் உள்ள இணைப்பைப் பின்பற்றவும்" }, "andContinueCreatingYourAccount": { - "message": "and continue creating your account." + "message": "மேலும் உங்கள் கணக்கை உருவாக்கத் தொடரவும்." }, "noEmail": { - "message": "No email?" + "message": "மின்னஞ்சல் இல்லையா?" }, "goBack": { - "message": "Go back" + "message": "திரும்பிச் செல்" }, "toEditYourEmailAddress": { - "message": "to edit your email address." + "message": "உங்கள் மின்னஞ்சல் முகவரியைத் திருத்த." }, "eu": { "message": "EU", "description": "European Union" }, "accessDenied": { - "message": "Access denied. You do not have permission to view this page." + "message": "அணுகல் மறுக்கப்பட்டது. இந்த பக்கத்தை பார்க்க உங்களுக்கு அனுமதி இல்லை." }, "general": { - "message": "General" + "message": "பொது" }, "display": { - "message": "Display" + "message": "காட்சி" }, "accountSuccessfullyCreated": { - "message": "Account successfully created!" + "message": "கணக்கு வெற்றிகரமாக உருவாக்கப்பட்டது!" }, "adminApprovalRequested": { - "message": "Admin approval requested" + "message": "நிர்வாகி அங்கீகாரம் கோரப்பட்டது" }, "adminApprovalRequestSentToAdmins": { - "message": "Your request has been sent to your admin." + "message": "உங்கள் கோரிக்கை உங்கள் நிர்வாகிக்கு அனுப்பப்பட்டுள்ளது." }, "troubleLoggingIn": { - "message": "Trouble logging in?" + "message": "உள்நுழைவதில் சிக்கலா?" }, "loginApproved": { - "message": "Login approved" + "message": "உள்நுழைவு அங்கீகரிக்கப்பட்டது" }, "userEmailMissing": { - "message": "User email missing" + "message": "பயனர் மின்னஞ்சல் இல்லை" }, "activeUserEmailNotFoundLoggingYouOut": { - "message": "Active user email not found. Logging you out." + "message": "செயலில் உள்ள பயனர் மின்னஞ்சல் கண்டறியப்படவில்லை. நீங்கள் வெளியேற்றப்படுகிறீர்கள்." }, "deviceTrusted": { - "message": "Device trusted" + "message": "சாதனம் நம்பகமானது" }, "trustOrganization": { - "message": "Trust organization" + "message": "நிறுவனத்தை நம்பு" }, "trust": { - "message": "Trust" + "message": "நம்பு" }, "doNotTrust": { - "message": "Do not trust" + "message": "நம்பாதே" }, "organizationNotTrusted": { - "message": "Organization is not trusted" + "message": "நிறுவனம் நம்பகமானது அல்ல" }, "emergencyAccessTrustWarning": { - "message": "For the security of your account, only confirm if you have granted emergency access to this user and their fingerprint matches what is displayed in their account" + "message": "உங்கள் கணக்கின் பாதுகாப்பிற்காக, நீங்கள் இந்த பயனருக்கு அவசர அணுகலை வழங்கியிருந்தால் மட்டுமே உறுதிப்படுத்தவும், மேலும் அவர்களின் கைரேகை அவர்களின் கணக்கில் காட்டப்படும்வற்றுடன் பொருந்துவதை உறுதிப்படுத்தவும்" }, "orgTrustWarning": { - "message": "For the security of your account, only proceed if you are a member of this organization, have account recovery enabled, and the fingerprint displayed below matches the organization's fingerprint." + "message": "உங்கள் கணக்கின் பாதுகாப்பிற்காக, நீங்கள் இந்த நிறுவனத்தின் உறுப்பினராக இருந்தால், கணக்கு மீட்டெடுப்பு இயக்கப்பட்டு இருந்தால், மற்றும் கீழே காட்டப்படும் கைரேகை நிறுவனத்தின் கைரேகையுடன் பொருந்தினால் மட்டுமே தொடரவும்." }, "orgTrustWarning1": { - "message": "This organization has an Enterprise policy that will enroll you in account recovery. Enrollment will allow organization administrators to change your password. Only proceed if you recognize this organization and the fingerprint phrase displayed below matches the organization's fingerprint." + "message": "இந்த நிறுவனத்திற்கு ஒரு என்டர்பிரைஸ் கொள்கை உள்ளது, அது உங்களை கணக்கு மீட்டெடுப்பில் பதிவு செய்யும். பதிவு, நிறுவனத்தின் நிர்வாகிகளை உங்கள் கடவுச்சொல்லை மாற்ற அனுமதிக்கும். இந்த நிறுவனத்தை நீங்கள் அடையாளம் கண்டால், மற்றும் கீழே காட்டப்படும் கைரேகை சொற்றொடர் நிறுவனத்தின் கைரேகையுடன் பொருந்தினால் மட்டுமே தொடரவும்." }, "trustUser": { - "message": "Trust user" + "message": "பயனரை நம்பு" }, "sendsTitleNoItems": { - "message": "Send sensitive information safely", + "message": "உணர்திறன் வாய்ந்த தகவல்களைப் பாதுகாப்பாக அனுப்பவும்", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendsBodyNoItems": { - "message": "Share files and data securely with anyone, on any platform. Your information will remain end-to-end encrypted while limiting exposure.", + "message": "கோப்புகள் மற்றும் தரவை யாருடனும், எந்த தளத்திலும் பாதுகாப்பாகப் பகிரவும். உங்கள் தகவல் எண்ட்-டு-எண்ட் என்க்ரிப்ட் செய்யப்பட்டிருக்கும், அதே நேரத்தில் வெளிப்பாட்டைக் கட்டுப்படுத்தும்.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "inputRequired": { - "message": "Input is required." + "message": "உள்ளீடு தேவை." }, "required": { - "message": "required" + "message": "தேவை" }, "search": { - "message": "Search" + "message": "தேடல்" }, "inputMinLength": { - "message": "Input must be at least $COUNT$ characters long.", + "message": "உள்ளீடு குறைந்தது $COUNT$ எழுத்து நீளம் இருக்க வேண்டும்.", "placeholders": { "count": { "content": "$1", @@ -3805,7 +3808,7 @@ } }, "inputMaxLength": { - "message": "Input must not exceed $COUNT$ characters in length.", + "message": "உள்ளீடு $COUNT$ எழுத்து நீளத்தை தாண்டக்கூடாது.", "placeholders": { "count": { "content": "$1", @@ -3814,7 +3817,7 @@ } }, "inputForbiddenCharacters": { - "message": "The following characters are not allowed: $CHARACTERS$", + "message": "பின்வரும் எழுத்துக்கள் அனுமதிக்கப்படவில்லை: $CHARACTERS$", "placeholders": { "characters": { "content": "$1", @@ -3823,7 +3826,7 @@ } }, "inputMinValue": { - "message": "Input value must be at least $MIN$.", + "message": "உள்ளீட்டு மதிப்பு குறைந்தது $MIN$ ஆக இருக்க வேண்டும்.", "placeholders": { "min": { "content": "$1", @@ -3832,7 +3835,7 @@ } }, "inputMaxValue": { - "message": "Input value must not exceed $MAX$.", + "message": "உள்ளீட்டு மதிப்பு $MAX$-ஐ தாண்டக்கூடாது.", "placeholders": { "max": { "content": "$1", @@ -3841,17 +3844,17 @@ } }, "multipleInputEmails": { - "message": "1 or more emails are invalid" + "message": "1 அல்லது அதற்கு மேற்பட்ட மின்னஞ்சல்கள் தவறானவை" }, "inputTrimValidator": { - "message": "Input must not contain only whitespace.", + "message": "உள்ளீடு வெற்று இடங்களை மட்டுமே கொண்டிருக்கக்கூடாது.", "description": "Notification to inform the user that a form's input can't contain only whitespace." }, "inputEmail": { - "message": "Input is not an email address." + "message": "உள்ளீடு ஒரு மின்னஞ்சல் முகவரி அல்ல." }, "fieldsNeedAttention": { - "message": "$COUNT$ field(s) above need your attention.", + "message": "மேலே உள்ள $COUNT$ புலங்களுக்கு உங்கள் கவனம் தேவை.", "placeholders": { "count": { "content": "$1", @@ -3860,10 +3863,10 @@ } }, "singleFieldNeedsAttention": { - "message": "1 field needs your attention." + "message": "1 புலம் உங்கள் கவனத்தை கோருகிறது." }, "multipleFieldsNeedAttention": { - "message": "$COUNT$ fields need your attention.", + "message": "$COUNT$ புலங்களுக்கு உங்கள் கவனம் தேவை.", "placeholders": { "count": { "content": "$1", @@ -3872,22 +3875,22 @@ } }, "selectPlaceholder": { - "message": "-- Select --" + "message": "-- தேர்ந்தெடு --" }, "multiSelectPlaceholder": { - "message": "-- Type to filter --" + "message": "-- வடிகட்ட தட்டச்சு செய்க --" }, "multiSelectLoading": { - "message": "Retrieving options..." + "message": "விருப்பங்கள் மீட்டெடுக்கப்படுகின்றன..." }, "multiSelectNotFound": { - "message": "No items found" + "message": "உருப்படிகள் எதுவும் கண்டறியப்படவில்லை" }, "multiSelectClearAll": { - "message": "Clear all" + "message": "அனைத்தையும் அழி" }, "plusNMore": { - "message": "+ $QUANTITY$ more", + "message": "+ $QUANTITY$ மேலும்", "placeholders": { "quantity": { "content": "$1", @@ -3896,144 +3899,144 @@ } }, "submenu": { - "message": "Submenu" + "message": "துணைமெனு" }, "toggleCollapse": { - "message": "Toggle collapse", + "message": "சுருக்குவதைத் மாற்று", "description": "Toggling an expand/collapse state." }, "aliasDomain": { - "message": "Alias domain" + "message": "புனைப்பெயர் டொமைன்" }, "passwordRepromptDisabledAutofillOnPageLoad": { - "message": "Items with master password re-prompt cannot be autofilled on page load. Autofill on page load turned off.", + "message": "மாஸ்டர் கடவுச்சொல் மீண்டும் கோரப்பட்ட உருப்படிகளைப் பக்க ஏற்றத்தில் தானாக நிரப்ப முடியாது. பக்க ஏற்றத்தில் தானியங்கு நிரப்புதல் அணைக்கப்பட்டது.", "description": "Toast message for describing that master password re-prompt cannot be autofilled on page load." }, "autofillOnPageLoadSetToDefault": { - "message": "Autofill on page load set to use default setting.", + "message": "பக்க ஏற்றத்தில் தானியங்கு நிரப்புதல் இயல்புநிலை அமைப்பைப் பயன்படுத்த அமைக்கப்பட்டுள்ளது.", "description": "Toast message for informing the user that autofill on page load has been set to the default setting." }, "turnOffMasterPasswordPromptToEditField": { - "message": "Turn off master password re-prompt to edit this field", + "message": "இந்தப் புலத்தைத் திருத்த மாஸ்டர் கடவுச்சொல் மீண்டும் கோருதலை அணைக்கவும்", "description": "Message appearing below the autofill on load message when master password reprompt is set for a vault item." }, "toggleSideNavigation": { - "message": "Toggle side navigation" + "message": "பக்க வழிசெலுத்தலை மாற்று" }, "skipToContent": { - "message": "Skip to content" + "message": "உள்ளடக்கத்திற்கு செல்க" }, "bitwardenOverlayButton": { - "message": "Bitwarden autofill menu button", + "message": "Bitwarden தானியங்கு நிரப்புதல் மெனு பொத்தான்", "description": "Page title for the iframe containing the overlay button" }, "toggleBitwardenVaultOverlay": { - "message": "Toggle Bitwarden autofill menu", + "message": "Bitwarden தானியங்கு நிரப்புதல் மெனுவைத் மாற்று", "description": "Screen reader and tool tip label for the overlay button" }, "bitwardenVault": { - "message": "Bitwarden autofill menu", + "message": "Bitwarden தானியங்கு நிரப்புதல் மெனு", "description": "Page title in overlay" }, "unlockYourAccountToViewMatchingLogins": { - "message": "Unlock your account to view matching logins", + "message": "பொருந்தும் உள்நுழைவுகளைக் காண உங்கள் கணக்கைத் திறக்கவும்", "description": "Text to display in overlay when the account is locked." }, "unlockYourAccountToViewAutofillSuggestions": { - "message": "Unlock your account to view autofill suggestions", + "message": "தானியங்கு நிரப்புதல் பரிந்துரைகளைக் காண உங்கள் கணக்கைத் திறக்கவும்", "description": "Text to display in overlay when the account is locked." }, "unlockAccount": { - "message": "Unlock account", + "message": "கணக்கைத் திற", "description": "Button text to display in overlay when the account is locked." }, "unlockAccountAria": { - "message": "Unlock your account, opens in a new window", + "message": "உங்கள் கணக்கைத் திறக்கவும், புதிய சாளரத்தில் திறக்கும்", "description": "Screen reader text (aria-label) for unlock account button in overlay" }, "totpCodeAria": { - "message": "Time-based One-Time Password Verification Code", + "message": "நேர அடிப்படையிலான ஒரு முறை கடவுச்சொல் சரிபார்ப்புக் குறியீடு", "description": "Aria label for the totp code displayed in the inline menu for autofill" }, "totpSecondsSpanAria": { - "message": "Time remaining before current TOTP expires", + "message": "தற்போதைய TOTP காலாவதியாவதற்கு முன் மீதமுள்ள நேரம்", "description": "Aria label for the totp seconds displayed in the inline menu for autofill" }, "fillCredentialsFor": { - "message": "Fill credentials for", + "message": "இதற்கான அங்கீகார சான்றுகளை நிரப்பு", "description": "Screen reader text for when overlay item is in focused" }, "partialUsername": { - "message": "Partial username", + "message": "பகுதி பயனர் பெயர்", "description": "Screen reader text for when a login item is focused where a partial username is displayed. SR will announce this phrase before reading the text of the partial username" }, "noItemsToShow": { - "message": "No items to show", + "message": "காட்ட உருப்படிகள் இல்லை", "description": "Text to show in overlay if there are no matching items" }, "newItem": { - "message": "New item", + "message": "புதிய உருப்படி", "description": "Button text to display in overlay when there are no matching items" }, "addNewVaultItem": { - "message": "Add new vault item", + "message": "புதிய வால்ட் உருப்படியைச் சேர்", "description": "Screen reader text (aria-label) for new item button in overlay" }, "newLogin": { - "message": "New login", + "message": "புதிய உள்நுழைவு", "description": "Button text to display within inline menu when there are no matching items on a login field" }, "addNewLoginItemAria": { - "message": "Add new vault login item, opens in a new window", + "message": "புதிய வால்ட் உள்நுழைவு உருப்படியைச் சேர், புதிய சாளரத்தில் திறக்கும்", "description": "Screen reader text (aria-label) for new login button within inline menu" }, "newCard": { - "message": "New card", + "message": "புதிய அட்டை", "description": "Button text to display within inline menu when there are no matching items on a credit card field" }, "addNewCardItemAria": { - "message": "Add new vault card item, opens in a new window", + "message": "புதிய வால்ட் அட்டை உருப்படியைச் சேர், புதிய சாளரத்தில் திறக்கும்", "description": "Screen reader text (aria-label) for new card button within inline menu" }, "newIdentity": { - "message": "New identity", + "message": "புதிய அடையாளம்", "description": "Button text to display within inline menu when there are no matching items on an identity field" }, "addNewIdentityItemAria": { - "message": "Add new vault identity item, opens in a new window", + "message": "புதிய வால்ட் அடையாள உருப்படியைச் சேர், புதிய சாளரத்தில் திறக்கும்", "description": "Screen reader text (aria-label) for new identity button within inline menu" }, "bitwardenOverlayMenuAvailable": { - "message": "Bitwarden autofill menu available. Press the down arrow key to select.", + "message": "Bitwarden தானியங்கு நிரப்புதல் மெனு கிடைக்கிறது. தேர்ந்தெடுக்க கீழ் அம்புக்குறி விசையை அழுத்தவும்.", "description": "Screen reader text for announcing when the overlay opens on the page" }, "turnOn": { - "message": "Turn on" + "message": "இயக்கு" }, "ignore": { - "message": "Ignore" + "message": "புறக்கணி" }, "importData": { - "message": "Import data", + "message": "தரவை இறக்குமதி செய்", "description": "Used for the header of the import dialog, the import button and within the file-password-prompt" }, "importError": { - "message": "Import error" + "message": "இறக்குமதி பிழை" }, "importErrorDesc": { - "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + "message": "நீங்கள் இறக்குமதி செய்ய முயன்ற தரவில் சிக்கல் இருந்தது. உங்கள் மூலக் கோப்பில் கீழே பட்டியலிடப்பட்ட பிழைகளைத் தீர்த்துவிட்டு மீண்டும் முயற்சிக்கவும்." }, "resolveTheErrorsBelowAndTryAgain": { - "message": "Resolve the errors below and try again." + "message": "கீழே உள்ள பிழைகளைத் தீர்த்துவிட்டு மீண்டும் முயற்சிக்கவும்." }, "description": { - "message": "Description" + "message": "விளக்கம்" }, "importSuccess": { - "message": "Data successfully imported" + "message": "தரவு வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது" }, "importSuccessNumberOfItems": { - "message": "A total of $AMOUNT$ items were imported.", + "message": "மொத்தம் $AMOUNT$ உருப்படிகள் இறக்குமதி செய்யப்பட்டன.", "placeholders": { "amount": { "content": "$1", @@ -4042,46 +4045,46 @@ } }, "tryAgain": { - "message": "Try again" + "message": "மீண்டும் முயற்சி செய்" }, "verificationRequiredForActionSetPinToContinue": { - "message": "Verification required for this action. Set a PIN to continue." + "message": "இந்த செயலுக்கு சரிபார்ப்பு தேவை. தொடர ஒரு PIN-ஐ அமைக்கவும்." }, "setPin": { - "message": "Set PIN" + "message": "PIN-ஐ அமை" }, "verifyWithBiometrics": { - "message": "Verify with biometrics" + "message": "பயோமெட்ரிக்ஸ் மூலம் சரிபார்" }, "awaitingConfirmation": { - "message": "Awaiting confirmation" + "message": "உறுதிப்படுத்தலுக்காக காத்திருக்கிறது" }, "couldNotCompleteBiometrics": { - "message": "Could not complete biometrics." + "message": "பயோமெட்ரிக்ஸை முடிக்க முடியவில்லை." }, "needADifferentMethod": { - "message": "Need a different method?" + "message": "வேறு முறை தேவையா?" }, "useMasterPassword": { - "message": "Use master password" + "message": "மாஸ்டர் கடவுச்சொல்லைப் பயன்படுத்து" }, "usePin": { - "message": "Use PIN" + "message": "PIN-ஐப் பயன்படுத்து" }, "useBiometrics": { - "message": "Use biometrics" + "message": "பயோமெட்ரிக்ஸைப் பயன்படுத்து" }, "enterVerificationCodeSentToEmail": { - "message": "Enter the verification code that was sent to your email." + "message": "உங்கள் மின்னஞ்சலுக்கு அனுப்பப்பட்ட சரிபார்ப்புக் குறியீட்டை உள்ளிடவும்." }, "resendCode": { - "message": "Resend code" + "message": "குறியீட்டை மீண்டும் அனுப்பு" }, "total": { - "message": "Total" + "message": "மொத்தம்" }, "importWarning": { - "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "message": "நீங்கள் $ORGANIZATION$-க்கு தரவை இறக்குமதி செய்கிறீர்கள். உங்கள் தரவு இந்த நிறுவனத்தின் உறுப்பினர்களுடன் பகிரப்படலாம். தொடர விரும்புகிறீர்களா?", "placeholders": { "organization": { "content": "$1", @@ -4090,67 +4093,67 @@ } }, "duoHealthCheckResultsInNullAuthUrlError": { - "message": "Error connecting with the Duo service. Use a different two-step login method or contact Duo for assistance." + "message": "Duo சேவையுடன் இணைப்பதில் பிழை. வேறு இரு-படி உள்நுழைவு முறையைப் பயன்படுத்தவும் அல்லது உதவிக்கு Duo-வைத் தொடர்பு கொள்ளவும்." }, "duoRequiredForAccount": { - "message": "Duo two-step login is required for your account." + "message": "உங்கள் கணக்கிற்கு Duo இரு-படி உள்நுழைவு தேவை." }, "popoutExtension": { - "message": "Popout extension" + "message": "விரிவாக்கத்தை வெளியே எடு" }, "launchDuo": { - "message": "Launch Duo" + "message": "Duo-வை தொடங்கு" }, "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." + "message": "தரவு சரியாக வடிவமைக்கப்படவில்லை. உங்கள் இறக்குமதி கோப்பைச் சரிபார்த்து மீண்டும் முயற்சிக்கவும்." }, "importNothingError": { - "message": "Nothing was imported." + "message": "எதுவும் இறக்குமதி செய்யப்படவில்லை." }, "importEncKeyError": { - "message": "Error decrypting the exported file. Your encryption key does not match the encryption key used export the data." + "message": "ஏற்றுமதி செய்யப்பட்ட கோப்பை குறியாக்கம் நீக்குவதில் பிழை. உங்கள் என்க்ரிப்ஷன் சாவி, தரவை ஏற்றுமதி செய்யப் பயன்படுத்தப்பட்ட என்க்ரிப்ஷன் சாவுடன் பொருந்தவில்லை." }, "invalidFilePassword": { - "message": "Invalid file password, please use the password you entered when you created the export file." + "message": "தவறான கோப்பு கடவுச்சொல், ஏற்றுமதி கோப்பை உருவாக்கும்போது நீங்கள் உள்ளிட்ட கடவுச்சொல்லைப் பயன்படுத்தவும்." }, "destination": { - "message": "Destination" + "message": "சேருமிடம்" }, "learnAboutImportOptions": { - "message": "Learn about your import options" + "message": "உங்கள் இறக்குமதி விருப்பங்களைப் பற்றி அறிக" }, "selectImportFolder": { - "message": "Select a folder" + "message": "ஒரு கோப்புறையைத் தேர்ந்தெடு" }, "selectImportCollection": { - "message": "Select a collection" + "message": "ஒரு சேகரிப்பைத் தேர்ந்தெடு" }, "importTargetHintCollection": { - "message": "Select this option if you want the imported file contents moved to a collection" + "message": "இறக்குமதி செய்யப்பட்ட கோப்பு உள்ளடக்கங்கள் ஒரு சேகரிப்புக்கு நகர்த்தப்பட விரும்பினால் இந்த விருப்பத்தைத் தேர்ந்தெடுக்கவும்" }, "importTargetHintFolder": { - "message": "Select this option if you want the imported file contents moved to a folder" + "message": "இறக்குமதி செய்யப்பட்ட கோப்பு உள்ளடக்கங்கள் ஒரு கோப்புறைக்கு நகர்த்தப்பட விரும்பினால் இந்த விருப்பத்தைத் தேர்ந்தெடுக்கவும்" }, "importUnassignedItemsError": { - "message": "File contains unassigned items." + "message": "கோப்பில் ஒதுக்கப்படாத உருப்படிகள் உள்ளன." }, "selectFormat": { - "message": "Select the format of the import file" + "message": "இறக்குமதி கோப்பின் வடிவத்தைத் தேர்ந்தெடுக்கவும்" }, "selectImportFile": { - "message": "Select the import file" + "message": "இறக்குமதி கோப்பைத் தேர்ந்தெடுக்கவும்" }, "chooseFile": { - "message": "Choose File" + "message": "கோப்பைத் தேர்ந்தெடு" }, "noFileChosen": { - "message": "No file chosen" + "message": "கோப்பு எதுவும் தேர்ந்தெடுக்கப்படவில்லை" }, "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" + "message": "அல்லது இறக்குமதி கோப்பின் உள்ளடக்கத்தை நகலெடுத்து ஒட்டவும்" }, "instructionsFor": { - "message": "$NAME$ Instructions", + "message": "$NAME$ வழிமுறைகள்", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -4160,203 +4163,203 @@ } }, "confirmVaultImport": { - "message": "Confirm vault import" + "message": "வால்ட் இறக்குமதியை உறுதிப்படுத்தவும்" }, "confirmVaultImportDesc": { - "message": "This file is password-protected. Please enter the file password to import data." + "message": "இந்தக் கோப்பு கடவுச்சொல் பாதுகாக்கப்பட்டது. தரவை இறக்குமதி செய்ய, கோப்பின் கடவுச்சொல்லை உள்ளிடவும்." }, "confirmFilePassword": { - "message": "Confirm file password" + "message": "கோப்பு கடவுச்சொல்லை உறுதிப்படுத்தவும்" }, "exportSuccess": { - "message": "Vault data exported" + "message": "வால்ட் தரவு ஏற்றுமதி செய்யப்பட்டது" }, "typePasskey": { - "message": "Passkey" + "message": "பாஸ்கி" }, "accessing": { - "message": "Accessing" + "message": "அணுகுகிறது" }, "loggedInExclamation": { - "message": "Logged in!" + "message": "உள்நுழைந்துவிட்டது!" }, "passkeyNotCopied": { - "message": "Passkey will not be copied" + "message": "பாஸ்கி நகலெடுக்கப்படாது" }, "passkeyNotCopiedAlert": { - "message": "The passkey will not be copied to the cloned item. Do you want to continue cloning this item?" + "message": "பாஸ்கி குளோன் செய்யப்பட்ட உருப்படிக்கு நகலெடுக்கப்படாது. இந்த உருப்படியைக் குளோன் செய்வதைத் தொடர விரும்புகிறீர்களா?" }, "passkeyFeatureIsNotImplementedForAccountsWithoutMasterPassword": { - "message": "Verification required by the initiating site. This feature is not yet implemented for accounts without master password." + "message": "தொடங்கும் தளம் சரிபார்க்கக் கோருகிறது. மாஸ்டர் கடவுச்சொல் இல்லாத கணக்குகளுக்கு இந்த அம்சம் இன்னும் செயல்படுத்தப்படவில்லை." }, "logInWithPasskeyQuestion": { - "message": "Log in with passkey?" + "message": "பாஸ்கியுடன் உள்நுழைய வேண்டுமா?" }, "passkeyAlreadyExists": { - "message": "A passkey already exists for this application." + "message": "இந்த அப்ளிகேஷனுக்கு ஒரு பாஸ்கி ஏற்கனவே உள்ளது." }, "noPasskeysFoundForThisApplication": { - "message": "No passkeys found for this application." + "message": "இந்த அப்ளிகேஷனுக்கு பாஸ்கிகள் எதுவும் கண்டறியப்படவில்லை." }, "noMatchingPasskeyLogin": { - "message": "You do not have a matching login for this site." + "message": "இந்த தளத்திற்கான பொருத்தமான உள்நுழைவு உங்களிடம் இல்லை." }, "noMatchingLoginsForSite": { - "message": "No matching logins for this site" + "message": "இந்த தளத்திற்குப் பொருத்தமான உள்நுழைவுகள் எதுவும் இல்லை" }, "searchSavePasskeyNewLogin": { - "message": "Search or save passkey as new login" + "message": "தேடவும் அல்லது பாஸ்கியை புதிய உள்நுழைவாகச் சேமிக்கவும்" }, "confirm": { - "message": "Confirm" + "message": "உறுதிப்படுத்து" }, "savePasskey": { - "message": "Save passkey" + "message": "பாஸ்கியைச் சேமி" }, "savePasskeyNewLogin": { - "message": "Save passkey as new login" + "message": "புதிய உள்நுழைவாகப் பாஸ்கியைச் சேமி" }, "chooseCipherForPasskeySave": { - "message": "Choose a login to save this passkey to" + "message": "இந்த பாஸ்கியைச் சேமிக்க ஒரு உள்நுழைவைத் தேர்ந்தெடுக்கவும்" }, "chooseCipherForPasskeyAuth": { - "message": "Choose a passkey to log in with" + "message": "உள்நுழைய ஒரு பாஸ்கியைத் தேர்ந்தெடுக்கவும்" }, "passkeyItem": { - "message": "Passkey Item" + "message": "பாஸ்கி உருப்படி" }, "overwritePasskey": { - "message": "Overwrite passkey?" + "message": "பாஸ்கியை மேலெழுத வேண்டுமா?" }, "overwritePasskeyAlert": { - "message": "This item already contains a passkey. Are you sure you want to overwrite the current passkey?" + "message": "இந்த உருப்படியில் ஏற்கனவே ஒரு பாஸ்கி உள்ளது. தற்போதைய பாஸ்கியை மேலெழுத விரும்புகிறீர்களா?" }, "featureNotSupported": { - "message": "Feature not yet supported" + "message": "இந்த அம்சம் இன்னும் ஆதரிக்கப்படவில்லை" }, "yourPasskeyIsLocked": { - "message": "Authentication required to use passkey. Verify your identity to continue." + "message": "பாஸ்கியைப் பயன்படுத்த அங்கீகாரம் தேவை. தொடர உங்கள் அடையாளத்தைச் சரிபார்க்கவும்." }, "multifactorAuthenticationCancelled": { - "message": "Multifactor authentication cancelled" + "message": "பல காரணி அங்கீகாரம் ரத்து செய்யப்பட்டது" }, "noLastPassDataFound": { - "message": "No LastPass data found" + "message": "LastPass தரவு எதுவும் கண்டறியப்படவில்லை" }, "incorrectUsernameOrPassword": { - "message": "Incorrect username or password" + "message": "தவறான பயனர்பெயர் அல்லது கடவுச்சொல்" }, "incorrectPassword": { - "message": "Incorrect password" + "message": "தவறான கடவுச்சொல்" }, "incorrectCode": { - "message": "Incorrect code" + "message": "தவறான குறியீடு" }, "incorrectPin": { - "message": "Incorrect PIN" + "message": "தவறான PIN" }, "multifactorAuthenticationFailed": { - "message": "Multifactor authentication failed" + "message": "பல காரணி அங்கீகாரம் தோல்வியடைந்தது" }, "includeSharedFolders": { - "message": "Include shared folders" + "message": "பகிரப்பட்ட கோப்புறைகளைச் சேர்" }, "lastPassEmail": { - "message": "LastPass Email" + "message": "LastPass மின்னஞ்சல்" }, "importingYourAccount": { - "message": "Importing your account..." + "message": "உங்கள் கணக்கைப் புதுப்பிக்கிறது..." }, "lastPassMFARequired": { - "message": "LastPass multifactor authentication required" + "message": "LastPass பல காரணி அங்கீகாரம் தேவை" }, "lastPassMFADesc": { - "message": "Enter your one-time passcode from your authentication app" + "message": "உங்கள் அங்கீகரிப்பு அப்ளிகேஷனில் இருந்து ஒரு முறை கடவுச்சொல்லை உள்ளிடவும்" }, "lastPassOOBDesc": { - "message": "Approve the login request in your authentication app or enter a one-time passcode." + "message": "உங்கள் அங்கீகரிப்பு அப்ளிகேஷனில் உள்நுழைவு கோரிக்கையை அங்கீகரிக்கவும் அல்லது ஒரு முறை கடவுச்சொல்லை உள்ளிடவும்." }, "passcode": { - "message": "Passcode" + "message": "கடவுச்சொல்" }, "lastPassMasterPassword": { - "message": "LastPass master password" + "message": "LastPass மாஸ்டர் கடவுச்சொல்" }, "lastPassAuthRequired": { - "message": "LastPass authentication required" + "message": "LastPass அங்கீகாரம் தேவை" }, "awaitingSSO": { - "message": "Awaiting SSO authentication" + "message": "SSO அங்கீகாரத்திற்காகக் காத்திருக்கிறது" }, "awaitingSSODesc": { - "message": "Please continue to log in using your company credentials." + "message": "உங்கள் நிறுவனத்தின் சான்றுகளைப் பயன்படுத்தி உள்நுழைவைத் தொடரவும்." }, "seeDetailedInstructions": { - "message": "See detailed instructions on our help site at", + "message": "எங்கள் உதவி தளத்தில் விரிவான வழிமுறைகளைப் பார்க்கவும்", "description": "This is followed a by a hyperlink to the help website." }, "importDirectlyFromLastPass": { - "message": "Import directly from LastPass" + "message": "LastPass-லிருந்து நேரடியாக இறக்குமதி செய்" }, "importFromCSV": { - "message": "Import from CSV" + "message": "CSV-லிருந்து இறக்குமதி செய்" }, "lastPassTryAgainCheckEmail": { - "message": "Try again or look for an email from LastPass to verify it's you." + "message": "மீண்டும் முயற்சிக்கவும் அல்லது அது நீங்கள் தானா என்பதைச் சரிபார்க்க LastPass-லிருந்து வந்த மின்னஞ்சலைத் தேடவும்." }, "collection": { - "message": "Collection" + "message": "சேகரிப்பு" }, "lastPassYubikeyDesc": { - "message": "Insert the YubiKey associated with your LastPass account into your computer's USB port, then touch its button." + "message": "உங்கள் LastPass கணக்குடன் தொடர்புடைய YubiKey-யை உங்கள் கம்ப்யூட்டரின் USB போர்ட்டில் செருகவும், பின்னர் அதன் பட்டனைத் தொடவும்." }, "switchAccount": { - "message": "Switch account" + "message": "கணக்கை மாற்று" }, "switchAccounts": { - "message": "Switch accounts" + "message": "கணக்குகளை மாற்று" }, "switchToAccount": { - "message": "Switch to account" + "message": "கணக்கிற்கு மாறு" }, "activeAccount": { - "message": "Active account" + "message": "செயலில் உள்ள கணக்கு" }, "bitwardenAccount": { - "message": "Bitwarden account" + "message": "Bitwarden கணக்கு" }, "availableAccounts": { - "message": "Available accounts" + "message": "கிடைக்கும் கணக்குகள்" }, "accountLimitReached": { - "message": "Account limit reached. Log out of an account to add another." + "message": "கணக்கு வரம்பு எட்டப்பட்டது. மற்றொரு கணக்கைச் சேர்க்க, ஒரு கணக்கிலிருந்து வெளியேறவும்." }, "active": { - "message": "active" + "message": "செயலில் உள்ளது" }, "locked": { - "message": "locked" + "message": "பூட்டப்பட்டது" }, "unlocked": { - "message": "unlocked" + "message": "திறக்கப்பட்டது" }, "server": { - "message": "server" + "message": "சர்வர்" }, "hostedAt": { - "message": "hosted at" + "message": "இதில் ஹோஸ்ட் செய்யப்பட்டுள்ளது" }, "useDeviceOrHardwareKey": { - "message": "Use your device or hardware key" + "message": "உங்கள் சாதனம் அல்லது ஹார்டுவேர் கீயைப் பயன்படுத்தவும்" }, "justOnce": { - "message": "Just once" + "message": "ஒரு முறை மட்டும்" }, "alwaysForThisSite": { - "message": "Always for this site" + "message": "இந்தத் தளத்திற்கு எப்போதும்" }, "domainAddedToExcludedDomains": { - "message": "$DOMAIN$ added to excluded domains.", + "message": "$DOMAIN$ விலக்கப்பட்ட டொமைன்களில் சேர்க்கப்பட்டது.", "placeholders": { "domain": { "content": "$1", @@ -4365,126 +4368,126 @@ } }, "commonImportFormats": { - "message": "Common formats", + "message": "பொதுவான வடிவங்கள்", "description": "Label indicating the most common import formats" }, "uriMatchDefaultStrategyHint": { - "message": "URI match detection is how Bitwarden identifies autofill suggestions.", + "message": "URI மேட்ச் டிடெக்‌ஷன் என்பது Bitwarden தன்னியக்க நிரப்புதல் பரிந்துரைகளை எப்படி அடையாளம் காண்கிறது என்பதைக் குறிக்கிறது.", "description": "Explains to the user that URI match detection determines how Bitwarden suggests autofill options, and clarifies that this default strategy applies when no specific match detection is set for a login item." }, "regExAdvancedOptionWarning": { - "message": "\"Regular expression\" is an advanced option with increased risk of exposing credentials.", + "message": "\"Regular expression\" என்பது ஒரு மேம்பட்ட விருப்பத்தேர்வு, இதில் சான்றுகள் அம்பலப்படுத்தப்படும் ஆபத்து அதிகம் உள்ளது.", "description": "Content for dialog which warns a user when selecting 'regular expression' matching strategy as a cipher match strategy" }, "startsWithAdvancedOptionWarning": { - "message": "\"Starts with\" is an advanced option with increased risk of exposing credentials.", + "message": "\"Starts with\" என்பது ஒரு மேம்பட்ட விருப்பத்தேர்வு, இதில் சான்றுகள் அம்பலப்படுத்தப்படும் ஆபத்து அதிகம் உள்ளது.", "description": "Content for dialog which warns a user when selecting 'starts with' matching strategy as a cipher match strategy" }, "uriMatchWarningDialogLink": { - "message": "More about match detection", + "message": "பொருத்தமான கண்டறிதல் பற்றி மேலும் அறிக", "description": "Link to match detection docs on warning dialog for advance match strategy" }, "uriAdvancedOption": { - "message": "Advanced options", + "message": "மேம்பட்ட விருப்பத்தேர்வுகள்", "description": "Advanced option placeholder for uri option component" }, "confirmContinueToBrowserSettingsTitle": { - "message": "Continue to browser settings?", + "message": "உலாவி அமைப்புகளுக்குத் தொடர வேண்டுமா?", "description": "Title for dialog which asks if the user wants to proceed to a relevant browser settings page" }, "confirmContinueToHelpCenter": { - "message": "Continue to Help Center?", + "message": "உதவி மையத்திற்குத் தொடர வேண்டுமா?", "description": "Title for dialog which asks if the user wants to proceed to a relevant Help Center page" }, "confirmContinueToHelpCenterPasswordManagementContent": { - "message": "Change your browser's autofill and password management settings.", + "message": "உங்கள் உலாவியின் தன்னியக்க நிரப்புதல் மற்றும் கடவுச்சொல் மேலாண்மை அமைப்புகளை மாற்றவும்.", "description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser password management settings" }, "confirmContinueToHelpCenterKeyboardShortcutsContent": { - "message": "You can view and set extension shortcuts in your browser's settings.", + "message": "உங்கள் உலாவியின் அமைப்புகளில் நீட்டிப்பு ஷார்ட்கட்களைப் பார்க்கலாம் மற்றும் அமைக்கலாம்.", "description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser keyboard shortcut settings" }, "confirmContinueToBrowserPasswordManagementSettingsContent": { - "message": "Change your browser's autofill and password management settings.", + "message": "உங்கள் உலாவியின் தன்னியக்க நிரப்புதல் மற்றும் கடவுச்சொல் மேலாண்மை அமைப்புகளை மாற்றவும்.", "description": "Body content for dialog which asks if the user wants to proceed to the browser's password management settings page" }, "confirmContinueToBrowserKeyboardShortcutSettingsContent": { - "message": "You can view and set extension shortcuts in your browser's settings.", + "message": "உங்கள் உலாவியின் அமைப்புகளில் நீட்டிப்பு ஷார்ட்கட்களைப் பார்க்கலாம் மற்றும் அமைக்கலாம்.", "description": "Body content for dialog which asks if the user wants to proceed to the browser's keyboard shortcut settings page" }, "overrideDefaultBrowserAutofillTitle": { - "message": "Make Bitwarden your default password manager?", + "message": "Bitwarden-ஐ உங்கள் இயல்புநிலை கடவுச்சொல் நிர்வாகியாக மாற்ற வேண்டுமா?", "description": "Dialog title facilitating the ability to override a chrome browser's default autofill behavior" }, "overrideDefaultBrowserAutofillDescription": { - "message": "Ignoring this option may cause conflicts between Bitwarden autofill suggestions and your browser's.", + "message": "இந்த விருப்பத்தேர்வைப் புறக்கணிப்பது, Bitwarden தன்னியக்க நிரப்புதல் பரிந்துரைகளுக்கும் உங்கள் உலாவியின் பரிந்துரைகளுக்கும் இடையில் முரண்பாடுகளை ஏற்படுத்தலாம்.", "description": "Dialog message facilitating the ability to override a chrome browser's default autofill behavior" }, "overrideDefaultBrowserAutoFillSettings": { - "message": "Make Bitwarden your default password manager", + "message": "Bitwarden-ஐ உங்கள் இயல்புநிலை கடவுச்சொல் நிர்வாகியாக மாற்று", "description": "Label for the setting that allows overriding the default browser autofill settings" }, "privacyPermissionAdditionNotGrantedTitle": { - "message": "Unable to set Bitwarden as the default password manager", + "message": "Bitwarden-ஐ இயல்புநிலை கடவுச்சொல் நிர்வாகியாக அமைக்க முடியவில்லை", "description": "Title for the dialog that appears when the user has not granted the extension permission to set privacy settings" }, "privacyPermissionAdditionNotGrantedDescription": { - "message": "You must grant browser privacy permissions to Bitwarden to set it as the default password manager.", + "message": "Bitwarden-ஐ இயல்புநிலை கடவுச்சொல் நிர்வாகியாக அமைக்க, நீங்கள் உலாவியின் தனியுரிமை அனுமதிகளை வழங்க வேண்டும்.", "description": "Description for the dialog that appears when the user has not granted the extension permission to set privacy settings" }, "makeDefault": { - "message": "Make default", + "message": "இயல்புநிலையாக அமை", "description": "Button text for the setting that allows overriding the default browser autofill settings" }, "saveCipherAttemptSuccess": { - "message": "Credentials saved successfully!", + "message": "சான்றுகள் வெற்றிகரமாகச் சேமிக்கப்பட்டன!", "description": "Notification message for when saving credentials has succeeded." }, "passwordSaved": { - "message": "Password saved!", + "message": "கடவுச்சொல் சேமிக்கப்பட்டது!", "description": "Notification message for when saving credentials has succeeded." }, "updateCipherAttemptSuccess": { - "message": "Credentials updated successfully!", + "message": "சான்றுகள் வெற்றிகரமாகப் புதுப்பிக்கப்பட்டன!", "description": "Notification message for when updating credentials has succeeded." }, "passwordUpdated": { - "message": "Password updated!", + "message": "கடவுச்சொல் புதுப்பிக்கப்பட்டது!", "description": "Notification message for when updating credentials has succeeded." }, "saveCipherAttemptFailed": { - "message": "Error saving credentials. Check console for details.", + "message": "சான்றுகளைச் சேமிப்பதில் பிழை ஏற்பட்டது. விவரங்களுக்குக் கன்சோலைச் சரிபார்க்கவும்.", "description": "Notification message for when saving credentials has failed." }, "success": { - "message": "Success" + "message": "வெற்றி" }, "removePasskey": { - "message": "Remove passkey" + "message": "பாஸ்கியை அகற்று" }, "passkeyRemoved": { - "message": "Passkey removed" + "message": "பாஸ்கி அகற்றப்பட்டது" }, "autofillSuggestions": { - "message": "Autofill suggestions" + "message": "தன்னியக்க நிரப்புதல் பரிந்துரைகள்" }, "itemSuggestions": { - "message": "Suggested items" + "message": "பரிந்துரைக்கப்பட்ட உருப்படிகள்" }, "autofillSuggestionsTip": { - "message": "Save a login item for this site to autofill" + "message": "தன்னியக்கமாக நிரப்புவதற்கு இந்தத் தளத்திற்கான உள்நுழைவு உருப்படியைச் சேமிக்கவும்" }, "yourVaultIsEmpty": { - "message": "Your vault is empty" + "message": "உங்கள் வால்ட் காலியாக உள்ளது" }, "noItemsMatchSearch": { - "message": "No items match your search" + "message": "உங்கள் தேடலுடன் பொருந்தக்கூடிய உருப்படிகள் எதுவும் இல்லை" }, "clearFiltersOrTryAnother": { - "message": "Clear filters or try another search term" + "message": "ஃபில்ட்டர்களை அகற்றுங்கள் அல்லது வேறு தேடல் சொல்லை முயற்சிக்கவும்" }, "copyInfoTitle": { - "message": "Copy info - $ITEMNAME$", + "message": "தகவலை நகலெடு - $ITEMNAME$", "description": "Title for a button that opens a menu with options to copy information from an item.", "placeholders": { "itemname": { @@ -4494,7 +4497,7 @@ } }, "copyNoteTitle": { - "message": "Copy Note - $ITEMNAME$", + "message": "குறிப்பை நகலெடு - $ITEMNAME$", "description": "Title for a button copies a note to the clipboard.", "placeholders": { "itemname": { @@ -4504,7 +4507,7 @@ } }, "moreOptionsLabel": { - "message": "More options, $ITEMNAME$", + "message": "மேலும் விருப்பத்தேர்வுகள், $ITEMNAME$", "description": "Aria label for a button that opens a menu with more options for an item.", "placeholders": { "itemname": { @@ -4514,7 +4517,7 @@ } }, "moreOptionsTitle": { - "message": "More options - $ITEMNAME$", + "message": "மேலும் விருப்பத்தேர்வுகள் - $ITEMNAME$", "description": "Title for a button that opens a menu with more options for an item.", "placeholders": { "itemname": { @@ -4524,7 +4527,7 @@ } }, "viewItemTitle": { - "message": "View item - $ITEMNAME$", + "message": "உருப்படியைப் பார் - $ITEMNAME$", "description": "Title for a link that opens a view for an item.", "placeholders": { "itemname": { @@ -4534,7 +4537,7 @@ } }, "viewItemTitleWithField": { - "message": "View item - $ITEMNAME$ - $FIELD$", + "message": "உருப்படியைப் பார் - $ITEMNAME$ - $FIELD$", "description": "Title for a link that opens a view for an item.", "placeholders": { "itemname": { @@ -4548,7 +4551,7 @@ } }, "autofillTitle": { - "message": "Autofill - $ITEMNAME$", + "message": "தன்னியக்கமாக நிரப்பு - $ITEMNAME$", "description": "Title for a button that autofills a login item.", "placeholders": { "itemname": { @@ -4558,7 +4561,7 @@ } }, "autofillTitleWithField": { - "message": "Autofill - $ITEMNAME$ - $FIELD$", + "message": "தன்னியக்கமாக நிரப்பு - $ITEMNAME$ - $FIELD$", "description": "Title for a button that autofills a login item.", "placeholders": { "itemname": { @@ -4572,7 +4575,7 @@ } }, "copyFieldCipherName": { - "message": "Copy $FIELD$, $CIPHERNAME$", + "message": "நகலெடு $FIELD$, $CIPHERNAME$", "description": "Title for a button that copies a field value to the clipboard.", "placeholders": { "field": { @@ -4586,40 +4589,40 @@ } }, "noValuesToCopy": { - "message": "No values to copy" + "message": "நகலெடுக்க மதிப்புகள் எதுவும் இல்லை" }, "assignToCollections": { - "message": "Assign to collections" + "message": "சேகரிப்புகளுக்கு ஒதுக்கு" }, "copyEmail": { - "message": "Copy email" + "message": "மின்னஞ்சலை நகலெடு" }, "copyPhone": { - "message": "Copy phone" + "message": "ஃபோனை நகலெடு" }, "copyAddress": { - "message": "Copy address" + "message": "முகவரியை நகலெடு" }, "adminConsole": { - "message": "Admin Console" + "message": "நிர்வாகக் கன்சோல்" }, "accountSecurity": { - "message": "Account security" + "message": "கணக்கு பாதுகாப்பு" }, "notifications": { - "message": "Notifications" + "message": "அறிவிப்புகள்" }, "appearance": { - "message": "Appearance" + "message": "தோற்றம்" }, "errorAssigningTargetCollection": { - "message": "Error assigning target collection." + "message": "இலக்கு சேகரிப்பை ஒதுக்குவதில் பிழை." }, "errorAssigningTargetFolder": { - "message": "Error assigning target folder." + "message": "இலக்கு கோப்புறையை ஒதுக்குவதில் பிழை." }, "viewItemsIn": { - "message": "View items in $NAME$", + "message": "$NAME$-இல் உள்ள உருப்படிகளைப் பார்", "description": "Button to view the contents of a folder or collection", "placeholders": { "name": { @@ -4629,7 +4632,7 @@ } }, "backTo": { - "message": "Back to $NAME$", + "message": "$NAME$-க்குத் திரும்பு", "description": "Navigate back to a previous folder or collection", "placeholders": { "name": { @@ -4639,10 +4642,10 @@ } }, "new": { - "message": "New" + "message": "புதியது" }, "removeItem": { - "message": "Remove $NAME$", + "message": "$NAME$-ஐ அகற்று", "description": "Remove a selected option, such as a folder or collection", "placeholders": { "name": { @@ -4652,56 +4655,56 @@ } }, "itemsWithNoFolder": { - "message": "Items with no folder" + "message": "கோப்புறை இல்லாத உருப்படிகள்" }, "itemDetails": { - "message": "Item details" + "message": "உருப்படி விவரங்கள்" }, "itemName": { - "message": "Item name" + "message": "உருப்படி பெயர்" }, "organizationIsDeactivated": { - "message": "Organization is deactivated" + "message": "நிறுவனம் செயலிழக்கச் செய்யப்பட்டது" }, "owner": { - "message": "Owner" + "message": "உரிமையாளர்" }, "selfOwnershipLabel": { - "message": "You", + "message": "நீங்கள்", "description": "Used as a label to indicate that the user is the owner of an item." }, "contactYourOrgAdmin": { - "message": "Items in deactivated organizations cannot be accessed. Contact your organization owner for assistance." + "message": "செயலிழக்கச் செய்யப்பட்ட நிறுவனங்களில் உள்ள உருப்படிகளை அணுக முடியாது. உதவிக்கு உங்கள் நிறுவன நிர்வாகியைத் தொடர்பு கொள்ளவும்." }, "additionalInformation": { - "message": "Additional information" + "message": "கூடுதல் தகவல்" }, "itemHistory": { - "message": "Item history" + "message": "உருப்படி வரலாறு" }, "lastEdited": { - "message": "Last edited" + "message": "கடைசியாகத் திருத்தப்பட்டது" }, "ownerYou": { - "message": "Owner: You" + "message": "உரிமையாளர்: நீங்கள்" }, "linked": { - "message": "Linked" + "message": "இணைக்கப்பட்டது" }, "copySuccessful": { - "message": "Copy Successful" + "message": "வெற்றிகரமாக நகலெடுக்கப்பட்டது" }, "upload": { - "message": "Upload" + "message": "பதிவேற்று" }, "addAttachment": { - "message": "Add attachment" + "message": "இணைப்பைச் சேர்" }, "maxFileSizeSansPunctuation": { - "message": "Maximum file size is 500 MB" + "message": "அதிகபட்ச கோப்பு அளவு 500 MB ஆகும்" }, "deleteAttachmentName": { - "message": "Delete attachment $NAME$", + "message": "இணைப்பு $NAME$-ஐ நீக்கு", "placeholders": { "name": { "content": "$1", @@ -4710,7 +4713,7 @@ } }, "downloadAttachmentName": { - "message": "Download $NAME$", + "message": "பதிவிறக்கு $NAME$", "placeholders": { "name": { "content": "$1", @@ -4719,52 +4722,52 @@ } }, "downloadBitwarden": { - "message": "Download Bitwarden" + "message": "Bitwarden-ஐப் பதிவிறக்கு" }, "downloadBitwardenOnAllDevices": { - "message": "Download Bitwarden on all devices" + "message": "அனைத்துச் சாதனங்களிலும் Bitwarden-ஐப் பதிவிறக்கு" }, "getTheMobileApp": { - "message": "Get the mobile app" + "message": "மொபைல் அப்ளிகேஷனைப் பெறு" }, "getTheMobileAppDesc": { - "message": "Access your passwords on the go with the Bitwarden mobile app." + "message": "Bitwarden மொபைல் அப்ளிகேஷன் மூலம் எங்கு சென்றாலும் உங்கள் கடவுச்சொற்களை அணுகவும்." }, "getTheDesktopApp": { - "message": "Get the desktop app" + "message": "டெஸ்க்டாப் அப்ளிகேஷனைப் பெறு" }, "getTheDesktopAppDesc": { - "message": "Access your vault without a browser, then set up unlock with biometrics to expedite unlocking in both the desktop app and browser extension." + "message": "உலாவி இல்லாமலே உங்கள் வால்ட்டை அணுகவும், பின்னர் பயோமெட்ரிக்ஸுடன் திறப்பதைப் பதிவு செய்து, டெஸ்க்டாப் அப்ளிகேஷன் மற்றும் உலாவி நீட்டிப்பு இரண்டிலும் விரைவாகத் திறக்கலாம்." }, "downloadFromBitwardenNow": { - "message": "Download from bitwarden.com now" + "message": "இப்போது bitwarden.com-லிருந்து பதிவிறக்கு" }, "getItOnGooglePlay": { - "message": "Get it on Google Play" + "message": "Google Play-இல் பெறு" }, "downloadOnTheAppStore": { - "message": "Download on the App Store" + "message": "App Store-இல் பதிவிறக்கு" }, "permanentlyDeleteAttachmentConfirmation": { - "message": "Are you sure you want to permanently delete this attachment?" + "message": "இந்த இணைப்பை நிரந்தரமாக நீக்க விரும்புகிறீர்களா?" }, "premium": { - "message": "Premium" + "message": "பிரீமியம்" }, "freeOrgsCannotUseAttachments": { - "message": "Free organizations cannot use attachments" + "message": "இலவச நிறுவனங்கள் இணைப்புகளைப் பயன்படுத்த முடியாது" }, "filters": { - "message": "Filters" + "message": "ஃபில்ட்டர்கள்" }, "filterVault": { - "message": "Filter vault" + "message": "வால்ட்டை ஃபில்ட்டர் செய்" }, "filterApplied": { - "message": "One filter applied" + "message": "ஒரு ஃபில்ட்டர் பயன்படுத்தப்பட்டது" }, "filterAppliedPlural": { - "message": "$COUNT$ filters applied", + "message": "$COUNT$ ஃபில்ட்டர்கள் பயன்படுத்தப்பட்டன", "placeholders": { "count": { "content": "$1", @@ -4773,16 +4776,16 @@ } }, "personalDetails": { - "message": "Personal details" + "message": "தனிப்பட்ட விவரங்கள்" }, "identification": { - "message": "Identification" + "message": "அடையாளம்" }, "contactInfo": { - "message": "Contact info" + "message": "தொடர்பு தகவல்" }, "downloadAttachment": { - "message": "Download - $ITEMNAME$", + "message": "பதிவிறக்கு - $ITEMNAME$", "placeholders": { "itemname": { "content": "$1", @@ -4791,23 +4794,23 @@ } }, "cardNumberEndsWith": { - "message": "card number ends with", + "message": "அட்டை எண் முடிவது", "description": "Used within the inline menu to provide an aria description when users are attempting to fill a card cipher." }, "loginCredentials": { - "message": "Login credentials" + "message": "உள்நுழைவுச் சான்றுகள்" }, "authenticatorKey": { - "message": "Authenticator key" + "message": "அங்கீகரிப்பு விசை" }, "autofillOptions": { - "message": "Autofill options" + "message": "தன்னியக்க நிரப்புதல் விருப்பத்தேர்வுகள்" }, "websiteUri": { - "message": "Website (URI)" + "message": "வலைத்தளம் (URI)" }, "websiteUriCount": { - "message": "Website (URI) $COUNT$", + "message": "வலைத்தளம் (URI) $COUNT$", "description": "Label for an input field that contains a website URI. The input field is part of a list of fields, and the count indicates the position of the field in the list.", "placeholders": { "count": { @@ -4817,16 +4820,16 @@ } }, "websiteAdded": { - "message": "Website added" + "message": "வலைத்தளம் சேர்க்கப்பட்டது" }, "addWebsite": { - "message": "Add website" + "message": "வலைத்தளத்தைச் சேர்" }, "deleteWebsite": { - "message": "Delete website" + "message": "வலைத்தளத்தை நீக்கு" }, "defaultLabel": { - "message": "Default ($VALUE$)", + "message": "இயல்புநிலை ($VALUE$)", "description": "A label that indicates the default value for a field with the current default value in parentheses.", "placeholders": { "value": { @@ -4836,7 +4839,7 @@ } }, "showMatchDetection": { - "message": "Show match detection $WEBSITE$", + "message": "பொருத்தமான கண்டறிதலைக் காட்டு $WEBSITE$", "placeholders": { "website": { "content": "$1", @@ -4845,7 +4848,7 @@ } }, "hideMatchDetection": { - "message": "Hide match detection $WEBSITE$", + "message": "பொருத்தமான கண்டறிதலை மறை $WEBSITE$", "placeholders": { "website": { "content": "$1", @@ -4854,19 +4857,19 @@ } }, "autoFillOnPageLoad": { - "message": "Autofill on page load?" + "message": "பக்கத்தை ஏற்றும்போது தானாக நிரப்ப வேண்டுமா?" }, "cardExpiredTitle": { - "message": "Expired card" + "message": "காலாவதியான அட்டை" }, "cardExpiredMessage": { - "message": "If you've renewed it, update the card's information" + "message": "புதுப்பித்திருந்தால், அட்டையின் தகவலைப் புதுப்பிக்கவும்" }, "cardDetails": { - "message": "Card details" + "message": "அட்டை விவரங்கள்" }, "cardBrandDetails": { - "message": "$BRAND$ details", + "message": "$BRAND$ விவரங்கள்", "placeholders": { "brand": { "content": "$1", @@ -4875,43 +4878,43 @@ } }, "enableAnimations": { - "message": "Enable animations" + "message": "அசைவூட்டங்களை இயக்கு" }, "showAnimations": { - "message": "Show animations" + "message": "அசைவூட்டங்களைக் காட்டு" }, "addAccount": { - "message": "Add account" + "message": "கணக்கைச் சேர்" }, "loading": { - "message": "Loading" + "message": "ஏற்றுகிறது" }, "data": { - "message": "Data" + "message": "தரவு" }, "passkeys": { - "message": "Passkeys", + "message": "பாஸ்கிகள்", "description": "A section header for a list of passkeys." }, "passwords": { - "message": "Passwords", + "message": "கடவுச்சொற்கள்", "description": "A section header for a list of passwords." }, "logInWithPasskeyAriaLabel": { - "message": "Log in with passkey", + "message": "பாஸ்கியுடன் உள்நுழை", "description": "ARIA label for the inline menu button that logs in with a passkey." }, "assign": { - "message": "Assign" + "message": "ஒதுக்கு" }, "bulkCollectionAssignmentDialogDescriptionSingular": { - "message": "Only organization members with access to these collections will be able to see the item." + "message": "இந்தச் சேகரிப்புகளை அணுகும் நிறுவன உறுப்பினர்கள் மட்டுமே இந்த உருப்படியைப் பார்க்க முடியும்." }, "bulkCollectionAssignmentDialogDescriptionPlural": { - "message": "Only organization members with access to these collections will be able to see the items." + "message": "இந்தச் சேகரிப்புகளை அணுகும் நிறுவன உறுப்பினர்கள் மட்டுமே இந்த உருப்படிகளைப் பார்க்க முடியும்." }, "bulkCollectionAssignmentWarning": { - "message": "You have selected $TOTAL_COUNT$ items. You cannot update $READONLY_COUNT$ of the items because you do not have edit permissions.", + "message": "நீங்கள் $TOTAL_COUNT$ உருப்படிகளைத் தேர்ந்தெடுத்துள்ளீர்கள். உங்களால் $READONLY_COUNT$ உருப்படிகளைப் புதுப்பிக்க முடியாது, ஏனெனில் உங்களிடம் திருத்துவதற்கான அனுமதிகள் இல்லை.", "placeholders": { "total_count": { "content": "$1", @@ -4923,37 +4926,37 @@ } }, "addField": { - "message": "Add field" + "message": "ஃபீல்டைச் சேர்" }, "add": { - "message": "Add" + "message": "சேர்" }, "fieldType": { - "message": "Field type" + "message": "ஃபீல்டு வகை" }, "fieldLabel": { - "message": "Field label" + "message": "ஃபீல்டு லேபிள்" }, "textHelpText": { - "message": "Use text fields for data like security questions" + "message": "பாதுகாப்பு கேள்விகள் போன்ற தரவுகளுக்கு உரை புலங்களைப் பயன்படுத்தவும்" }, "hiddenHelpText": { - "message": "Use hidden fields for sensitive data like a password" + "message": "கடவுச்சொல் போன்ற முக்கியமான தரவுகளுக்கு மறைக்கப்பட்ட புலங்களைப் பயன்படுத்தவும்" }, "checkBoxHelpText": { - "message": "Use checkboxes if you'd like to autofill a form's checkbox, like a remember email" + "message": "மின்னஞ்சலை நினைவில் வைப்பது போன்ற படிவத்தின் செக்பாக்ஸை தானாக நிரப்ப விரும்பினால் செக்பாக்ஸ்களைப் பயன்படுத்தவும்" }, "linkedHelpText": { - "message": "Use a linked field when you are experiencing autofill issues for a specific website." + "message": "ஒரு குறிப்பிட்ட இணையதளத்திற்கு தானாக நிரப்புவதில் சிக்கல்கள் இருந்தால் ஒரு இணைக்கப்பட்ட புலத்தைப் பயன்படுத்தவும்." }, "linkedLabelHelpText": { - "message": "Enter the the field's html id, name, aria-label, or placeholder." + "message": "புலத்தின் html id, name, aria-label, அல்லது placeholder ஐ உள்ளிடவும்." }, "editField": { - "message": "Edit field" + "message": "புலத்தை திருத்தவும்" }, "editFieldLabel": { - "message": "Edit $LABEL$", + "message": "$LABEL$ ஐ திருத்தவும்", "placeholders": { "label": { "content": "$1", @@ -4962,7 +4965,7 @@ } }, "deleteCustomField": { - "message": "Delete $LABEL$", + "message": "$LABEL$ ஐ நீக்கவும்", "placeholders": { "label": { "content": "$1", @@ -4971,7 +4974,7 @@ } }, "fieldAdded": { - "message": "$LABEL$ added", + "message": "$LABEL$ சேர்க்கப்பட்டது", "placeholders": { "label": { "content": "$1", @@ -4980,7 +4983,7 @@ } }, "reorderToggleButton": { - "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "message": "$LABEL$ ஐ மறுவரிசைப்படுத்தவும். பொருளை மேலும் கீழும் நகர்த்த அம்புக்குறி விசையைப் பயன்படுத்தவும்.", "placeholders": { "label": { "content": "$1", @@ -4989,10 +4992,10 @@ } }, "reorderWebsiteUriButton": { - "message": "Reorder website URI. Use arrow key to move item up or down." + "message": "இணையதள URI ஐ மறுவரிசைப்படுத்தவும். பொருளை மேலும் கீழும் நகர்த்த அம்புக்குறி விசையைப் பயன்படுத்தவும்." }, "reorderFieldUp": { - "message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$", + "message": "$LABEL$ மேல்நோக்கி நகர்த்தப்பட்டது, நிலை $INDEX$ of $LENGTH$", "placeholders": { "label": { "content": "$1", @@ -5009,13 +5012,13 @@ } }, "selectCollectionsToAssign": { - "message": "Select collections to assign" + "message": "ஒதுக்கப்பட வேண்டிய சேகரிப்புகளைத் தேர்ந்தெடுக்கவும்" }, "personalItemTransferWarningSingular": { - "message": "1 item will be permanently transferred to the selected organization. You will no longer own this item." + "message": "1 பொருள் தேர்ந்தெடுக்கப்பட்ட நிறுவனத்திற்கு நிரந்தரமாக மாற்றப்படும். இந்தப் பொருள் இனி உங்களிடம் இருக்காது." }, "personalItemsTransferWarningPlural": { - "message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to the selected organization. You will no longer own these items.", + "message": "$PERSONAL_ITEMS_COUNT$ பொருள்கள் தேர்ந்தெடுக்கப்பட்ட நிறுவனத்திற்கு நிரந்தரமாக மாற்றப்படும். இந்தப் பொருள்கள் இனி உங்களிடம் இருக்காது.", "placeholders": { "personal_items_count": { "content": "$1", @@ -5024,7 +5027,7 @@ } }, "personalItemWithOrgTransferWarningSingular": { - "message": "1 item will be permanently transferred to $ORG$. You will no longer own this item.", + "message": "1 பொருள் நிரந்தரமாக $ORG$க்கு மாற்றப்படும். இந்தப் பொருள் இனி உங்களிடம் இருக்காது.", "placeholders": { "org": { "content": "$1", @@ -5033,7 +5036,7 @@ } }, "personalItemsWithOrgTransferWarningPlural": { - "message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to $ORG$. You will no longer own these items.", + "message": "$PERSONAL_ITEMS_COUNT$ பொருள்கள் நிரந்தரமாக $ORG$க்கு மாற்றப்படும். இந்தப் பொருள்கள் இனி உங்களிடம் இருக்காது.", "placeholders": { "personal_items_count": { "content": "$1", @@ -5046,13 +5049,13 @@ } }, "successfullyAssignedCollections": { - "message": "Successfully assigned collections" + "message": "சேகரிப்புகள் வெற்றிகரமாக ஒதுக்கப்பட்டன" }, "nothingSelected": { - "message": "You have not selected anything." + "message": "நீங்கள் எதையும் தேர்ந்தெடுக்கவில்லை." }, "itemsMovedToOrg": { - "message": "Items moved to $ORGNAME$", + "message": "பொருள்கள் $ORGNAME$ க்கு நகர்த்தப்பட்டன", "placeholders": { "orgname": { "content": "$1", @@ -5061,7 +5064,7 @@ } }, "itemMovedToOrg": { - "message": "Item moved to $ORGNAME$", + "message": "பொருள் $ORGNAME$க்கு நகர்த்தப்பட்டது", "placeholders": { "orgname": { "content": "$1", @@ -5070,7 +5073,7 @@ } }, "reorderFieldDown": { - "message": "$LABEL$ moved down, position $INDEX$ of $LENGTH$", + "message": "$LABEL$ கீழ்நோக்கி நகர்த்தப்பட்டது, நிலை $INDEX$ of $LENGTH$", "placeholders": { "label": { "content": "$1", @@ -5087,31 +5090,31 @@ } }, "itemLocation": { - "message": "Item Location" + "message": "பொருளின் இருப்பிடம்" }, "fileSend": { - "message": "File Send" + "message": "கோப்பு அனுப்பு" }, "fileSends": { - "message": "File Sends" + "message": "கோப்பு அனுப்புகள்" }, "textSend": { - "message": "Text Send" + "message": "உரை அனுப்பு" }, "textSends": { - "message": "Text Sends" + "message": "உரை அனுப்புகள்" }, "accountActions": { - "message": "Account actions" + "message": "கணக்கு செயல்கள்" }, "showNumberOfAutofillSuggestions": { - "message": "Show number of login autofill suggestions on extension icon" + "message": "நீட்டிப்பு ஐகானில் உள்நுழைவு தானாக நிரப்புவதற்கான பரிந்துரைகளின் எண்ணிக்கையைக் காட்டு" }, "accountAccessRequested": { - "message": "Account access requested" + "message": "கணக்கு அணுகல் கோரப்பட்டது" }, "confirmAccessAttempt": { - "message": "Confirm access attempt for $EMAIL$", + "message": "$EMAIL$க்கான அணுகல் முயற்சியை உறுதிப்படுத்தவும்", "placeholders": { "email": { "content": "$1", @@ -5120,94 +5123,94 @@ } }, "showQuickCopyActions": { - "message": "Show quick copy actions on Vault" + "message": "சேமிப்பு பெட்டகத்தில் விரைவான நகல் செயல்களைக் காட்டு" }, "systemDefault": { - "message": "System default" + "message": "சிஸ்டம் இயல்புநிலை" }, "enterprisePolicyRequirementsApplied": { - "message": "Enterprise policy requirements have been applied to this setting" + "message": "பெருநிறுவன கொள்கை தேவைகள் இந்த அமைப்பிற்குப் பயன்படுத்தப்பட்டுள்ளன" }, "sshPrivateKey": { - "message": "Private key" + "message": "தனிப்பட்ட விசை" }, "sshPublicKey": { - "message": "Public key" + "message": "பொது விசை" }, "sshFingerprint": { - "message": "Fingerprint" + "message": "கைரேகை" }, "sshKeyAlgorithm": { - "message": "Key type" + "message": "விசை வகை" }, "sshKeyAlgorithmED25519": { "message": "ED25519" }, "sshKeyAlgorithmRSA2048": { - "message": "RSA 2048-Bit" + "message": "RSA 2048-பிட்" }, "sshKeyAlgorithmRSA3072": { - "message": "RSA 3072-Bit" + "message": "RSA 3072-பிட்" }, "sshKeyAlgorithmRSA4096": { - "message": "RSA 4096-Bit" + "message": "RSA 4096-பிட்" }, "retry": { - "message": "Retry" + "message": "மீண்டும் முயற்சி செய்" }, "vaultCustomTimeoutMinimum": { - "message": "Minimum custom timeout is 1 minute." + "message": "குறைந்தபட்ச தனிப்பயன் காலக்கெடு 1 நிமிடம் ஆகும்." }, "additionalContentAvailable": { - "message": "Additional content is available" + "message": "கூடுதல் உள்ளடக்கம் உள்ளது" }, "fileSavedToDevice": { - "message": "File saved to device. Manage from your device downloads." + "message": "கோப்பு சாதனத்தில் சேமிக்கப்பட்டது. உங்கள் சாதன பதிவிறக்கங்களிலிருந்து நிர்வகிக்கவும்." }, "showCharacterCount": { - "message": "Show character count" + "message": "எழுத்து எண்ணிக்கையைக் காட்டு" }, "hideCharacterCount": { - "message": "Hide character count" + "message": "எழுத்து எண்ணிக்கையை மறை" }, "itemsInTrash": { - "message": "Items in trash" + "message": "குப்பையில் உள்ள பொருள்கள்" }, "noItemsInTrash": { - "message": "No items in trash" + "message": "குப்பையில் பொருள்கள் இல்லை" }, "noItemsInTrashDesc": { - "message": "Items you delete will appear here and be permanently deleted after 30 days" + "message": "நீங்கள் நீக்கிய பொருள்கள் இங்கு தோன்றும் மற்றும் 30 நாட்களுக்குப் பிறகு நிரந்தரமாக நீக்கப்படும்" }, "trashWarning": { - "message": "Items that have been in trash more than 30 days will automatically be deleted" + "message": "30 நாட்களுக்கும் மேலாக குப்பையில் இருந்த பொருள்கள் தானாகவே நீக்கப்படும்" }, "restore": { - "message": "Restore" + "message": "மீட்டெடு" }, "deleteForever": { - "message": "Delete forever" + "message": "என்றென்றும் நீக்கு" }, "noEditPermissions": { - "message": "You don't have permission to edit this item" + "message": "இந்த பொருளை திருத்த உங்களுக்கு அனுமதி இல்லை" }, "biometricsStatusHelptextUnlockNeeded": { - "message": "Biometric unlock is unavailable because PIN or password unlock is required first." + "message": "முதலில் PIN அல்லது கடவுச்சொல் திறத்தல் தேவைப்படுவதால் பயோமெட்ரிக் திறத்தல் கிடைக்கவில்லை." }, "biometricsStatusHelptextHardwareUnavailable": { - "message": "Biometric unlock is currently unavailable." + "message": "பயோமெட்ரிக் திறத்தல் தற்போது கிடைக்கவில்லை." }, "biometricsStatusHelptextAutoSetupNeeded": { - "message": "Biometric unlock is unavailable due to misconfigured system files." + "message": "தவறாக அமைக்கப்பட்ட சிஸ்டம் கோப்புகள் காரணமாக பயோமெட்ரிக் திறத்தல் கிடைக்கவில்லை." }, "biometricsStatusHelptextManualSetupNeeded": { - "message": "Biometric unlock is unavailable due to misconfigured system files." + "message": "தவறாக அமைக்கப்பட்ட சிஸ்டம் கோப்புகள் காரணமாக பயோமெட்ரிக் திறத்தல் கிடைக்கவில்லை." }, "biometricsStatusHelptextDesktopDisconnected": { - "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed." + "message": "Bitwarden டெஸ்க்டாப் செயலி மூடப்பட்டதால் பயோமெட்ரிக் திறத்தல் கிடைக்கவில்லை." }, "biometricsStatusHelptextNotEnabledInDesktop": { - "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.", + "message": "Bitwarden டெஸ்க்டாப் செயலியில் $EMAIL$க்கான பயோமெட்ரிக் திறத்தல் இயக்கப்படாததால் அது கிடைக்கவில்லை.", "placeholders": { "email": { "content": "$1", @@ -5216,220 +5219,220 @@ } }, "biometricsStatusHelptextUnavailableReasonUnknown": { - "message": "Biometric unlock is currently unavailable for an unknown reason." + "message": "தெரியாத காரணங்களுக்காக பயோமெட்ரிக் திறத்தல் தற்போது கிடைக்கவில்லை." }, "unlockVault": { - "message": "Unlock your vault in seconds" + "message": "உங்கள் சேமிப்பு பெட்டகத்தை நொடிகளில் திறக்கவும்" }, "unlockVaultDesc": { - "message": "You can customize your unlock and timeout settings to more quickly access your vault." + "message": "உங்கள் சேமிப்பு பெட்டகத்தை விரைவாக அணுக உங்கள் திறத்தல் மற்றும் காலக்கெடு அமைப்புகளைத் தனிப்பயனாக்கலாம்." }, "unlockPinSet": { - "message": "Unlock PIN set" + "message": "பின் திறத்தல் அமைக்கப்பட்டது" }, "unlockWithBiometricSet": { - "message": "Unlock with biometrics set" + "message": "பயோமெட்ரிக்ஸுடன் திறத்தல் அமைக்கப்பட்டது" }, "authenticating": { - "message": "Authenticating" + "message": "அங்கீகரிக்கிறது" }, "fillGeneratedPassword": { - "message": "Fill generated password", + "message": "உருவாக்கப்பட்ட கடவுச்சொல்லை நிரப்பு", "description": "Heading for the password generator within the inline menu" }, "passwordRegenerated": { - "message": "Password regenerated", + "message": "கடவுச்சொல் மீண்டும் உருவாக்கப்பட்டது", "description": "Notification message for when a password has been regenerated" }, "saveToBitwarden": { - "message": "Save to Bitwarden", + "message": "Bitwarden இல் சேமி", "description": "Confirmation message for saving a login to Bitwarden" }, "spaceCharacterDescriptor": { - "message": "Space", + "message": "இடைவெளி", "description": "Represents the space key in screen reader content as a readable word" }, "tildeCharacterDescriptor": { - "message": "Tilde", + "message": "டில்ட்", "description": "Represents the ~ key in screen reader content as a readable word" }, "backtickCharacterDescriptor": { - "message": "Backtick", + "message": "பேக்டிக்", "description": "Represents the ` key in screen reader content as a readable word" }, "exclamationCharacterDescriptor": { - "message": "Exclamation mark", + "message": "ஆச்சரியக்குறி", "description": "Represents the ! key in screen reader content as a readable word" }, "atSignCharacterDescriptor": { - "message": "At sign", + "message": "அட் சைன்", "description": "Represents the @ key in screen reader content as a readable word" }, "hashSignCharacterDescriptor": { - "message": "Hash sign", + "message": "ஹேஷ் சைன்", "description": "Represents the # key in screen reader content as a readable word" }, "dollarSignCharacterDescriptor": { - "message": "Dollar sign", + "message": "டாலர் சைன்", "description": "Represents the $ key in screen reader content as a readable word" }, "percentSignCharacterDescriptor": { - "message": "Percent sign", + "message": "சதவீதக் குறி", "description": "Represents the % key in screen reader content as a readable word" }, "caretCharacterDescriptor": { - "message": "Caret", + "message": "கேரட்", "description": "Represents the ^ key in screen reader content as a readable word" }, "ampersandCharacterDescriptor": { - "message": "Ampersand", + "message": "ஆம்பசண்ட்", "description": "Represents the & key in screen reader content as a readable word" }, "asteriskCharacterDescriptor": { - "message": "Asterisk", + "message": "அஸ்டெரிஸ்க்", "description": "Represents the * key in screen reader content as a readable word" }, "parenLeftCharacterDescriptor": { - "message": "Left parenthesis", + "message": "இடது அடைப்புக்குறி", "description": "Represents the ( key in screen reader content as a readable word" }, "parenRightCharacterDescriptor": { - "message": "Right parenthesis", + "message": "வலது அடைப்புக்குறி", "description": "Represents the ) key in screen reader content as a readable word" }, "hyphenCharacterDescriptor": { - "message": "Underscore", + "message": "கோடிட்ட கோடு", "description": "Represents the _ key in screen reader content as a readable word" }, "underscoreCharacterDescriptor": { - "message": "Hyphen", + "message": "ஹைபன்", "description": "Represents the - key in screen reader content as a readable word" }, "plusCharacterDescriptor": { - "message": "Plus", + "message": "கூட்டல்", "description": "Represents the + key in screen reader content as a readable word" }, "equalsCharacterDescriptor": { - "message": "Equals", + "message": "சமம்", "description": "Represents the = key in screen reader content as a readable word" }, "braceLeftCharacterDescriptor": { - "message": "Left brace", + "message": "இடது பிரேஸ்", "description": "Represents the { key in screen reader content as a readable word" }, "braceRightCharacterDescriptor": { - "message": "Right brace", + "message": "வலது பிரேஸ்", "description": "Represents the } key in screen reader content as a readable word" }, "bracketLeftCharacterDescriptor": { - "message": "Left bracket", + "message": "இடது பிராக்கெட்", "description": "Represents the [ key in screen reader content as a readable word" }, "bracketRightCharacterDescriptor": { - "message": "Right bracket", + "message": "வலது பிராக்கெட்", "description": "Represents the ] key in screen reader content as a readable word" }, "pipeCharacterDescriptor": { - "message": "Pipe", + "message": "பைப்பு", "description": "Represents the | key in screen reader content as a readable word" }, "backSlashCharacterDescriptor": { - "message": "Back slash", + "message": "பேக் ஸ்லாஷ்", "description": "Represents the back slash key in screen reader content as a readable word" }, "colonCharacterDescriptor": { - "message": "Colon", + "message": "கோலன்", "description": "Represents the : key in screen reader content as a readable word" }, "semicolonCharacterDescriptor": { - "message": "Semicolon", + "message": "அரைப்புள்ளி", "description": "Represents the ; key in screen reader content as a readable word" }, "doubleQuoteCharacterDescriptor": { - "message": "Double quote", + "message": "இரட்டை மேற்கோள் குறி", "description": "Represents the double quote key in screen reader content as a readable word" }, "singleQuoteCharacterDescriptor": { - "message": "Single quote", + "message": "ஒற்றை மேற்கோள் குறி", "description": "Represents the ' key in screen reader content as a readable word" }, "lessThanCharacterDescriptor": { - "message": "Less than", + "message": "குறைவான", "description": "Represents the < key in screen reader content as a readable word" }, "greaterThanCharacterDescriptor": { - "message": "Greater than", + "message": "அதிகமான", "description": "Represents the > key in screen reader content as a readable word" }, "commaCharacterDescriptor": { - "message": "Comma", + "message": "கமா", "description": "Represents the , key in screen reader content as a readable word" }, "periodCharacterDescriptor": { - "message": "Period", + "message": "புள்ளி", "description": "Represents the . key in screen reader content as a readable word" }, "questionCharacterDescriptor": { - "message": "Question mark", + "message": "கேள்விக்குறி", "description": "Represents the ? key in screen reader content as a readable word" }, "forwardSlashCharacterDescriptor": { - "message": "Forward slash", + "message": "ஃபார்வர்ட் ஸ்லாஷ்", "description": "Represents the / key in screen reader content as a readable word" }, "lowercaseAriaLabel": { - "message": "Lowercase" + "message": "சிறிய எழுத்து" }, "uppercaseAriaLabel": { - "message": "Uppercase" + "message": "பெரிய எழுத்து" }, "generatedPassword": { - "message": "Generated password" + "message": "உருவாக்கப்பட்ட கடவுச்சொல்" }, "compactMode": { - "message": "Compact mode" + "message": "காம்பாக்ட் மோட்" }, "beta": { - "message": "Beta" + "message": "பீட்டா" }, "extensionWidth": { - "message": "Extension width" + "message": "நீட்டிப்பு அகலம்" }, "wide": { - "message": "Wide" + "message": "அகலமானது" }, "extraWide": { - "message": "Extra wide" + "message": "அதிக அகலமானது" }, "sshKeyWrongPassword": { - "message": "The password you entered is incorrect." + "message": "நீங்கள் உள்ளிடப்பட்ட கடவுச்சொல் தவறானது." }, "importSshKey": { - "message": "Import" + "message": "இறக்குமதி" }, "confirmSshKeyPassword": { - "message": "Confirm password" + "message": "கடவுச்சொல்லை உறுதிப்படுத்து" }, "enterSshKeyPasswordDesc": { - "message": "Enter the password for the SSH key." + "message": "SSH விசையின் கடவுச்சொல்லை உள்ளிடவும்." }, "enterSshKeyPassword": { - "message": "Enter password" + "message": "கடவுச்சொல்லை உள்ளிடவும்" }, "invalidSshKey": { - "message": "The SSH key is invalid" + "message": "SSH விசை செல்லாதது" }, "sshKeyTypeUnsupported": { - "message": "The SSH key type is not supported" + "message": "SSH விசை வகை ஆதரிக்கப்படவில்லை" }, "importSshKeyFromClipboard": { - "message": "Import key from clipboard" + "message": "கிளிப்போர்டிலிருந்து விசையை இறக்குமதி செய்" }, "sshKeyImported": { - "message": "SSH key imported successfully" + "message": "SSH விசை வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது" }, "cannotRemoveViewOnlyCollections": { - "message": "You cannot remove collections with View only permissions: $COLLECTIONS$", + "message": "காட்சி மட்டுமே அனுமதியுடன் சேகரிப்புகளை நீங்கள் அகற்ற முடியாது: $COLLECTIONS$", "placeholders": { "collections": { "content": "$1", @@ -5438,125 +5441,131 @@ } }, "updateDesktopAppOrDisableFingerprintDialogTitle": { - "message": "Please update your desktop application" + "message": "உங்கள் டெஸ்க்டாப் செயலியைப் புதுப்பிக்கவும்" }, "updateDesktopAppOrDisableFingerprintDialogMessage": { - "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings." + "message": "பயோமெட்ரிக் திறத்தலைப் பயன்படுத்த, உங்கள் டெஸ்க்டாப் செயலியைப் புதுப்பிக்கவும் அல்லது டெஸ்க்டாப் அமைப்புகளில் கைரேகை திறத்தலை முடக்கவும்." }, "changeAtRiskPassword": { - "message": "Change at-risk password" + "message": "அபாயத்திலுள்ள கடவுச்சொல்லை மாற்றவும்" + }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" }, "settingsVaultOptions": { - "message": "Vault options" + "message": "சேமிப்பு பெட்டக விருப்பத்தேர்வுகள்" }, "emptyVaultDescription": { - "message": "The vault protects more than just your passwords. Store secure logins, IDs, cards and notes securely here." + "message": "சேமிப்பு பெட்டகம் உங்கள் கடவுச்சொற்களை மட்டுமல்லாமல், பாதுகாப்பான உள்நுழைவுகள், அடையாளங்கள், அட்டைகள் மற்றும் குறிப்புகளையும் இங்கு பாதுகாக்கிறது." }, "introCarouselLabel": { - "message": "Welcome to Bitwarden" + "message": "Bitwarden க்கு நல்வரவு" }, "securityPrioritized": { - "message": "Security, prioritized" + "message": "பாதுகாப்புக்கு முன்னுரிமை" }, "securityPrioritizedBody": { - "message": "Save logins, cards, and identities to your secure vault. Bitwarden uses zero-knowledge, end-to-end encryption to protect what’s important to you." + "message": "உள்நுழைவுகள், அட்டைகள் மற்றும் அடையாளங்களை உங்கள் பாதுகாப்பான சேமிப்பு பெட்டகத்தில் சேமிக்கவும். Bitwarden உங்களுக்கு முக்கியமானதை பாதுகாக்க ஜீரோ-నాలெட்ஜ், எண்ட்-டு-எண்ட் என்கிரிப்ஷனைப் பயன்படுத்துகிறது." }, "quickLogin": { - "message": "Quick and easy login" + "message": "விரைவான மற்றும் எளிதான உள்நுழைவு" }, "quickLoginBody": { - "message": "Set up biometric unlock and autofill to log into your accounts without typing a single letter." + "message": "ஒற்றை எழுத்தைக் கூட தட்டச்சு செய்யாமல் உங்கள் கணக்குகளில் உள்நுழைய பயோமெட்ரிக் திறத்தல் மற்றும் தானாக நிரப்புதல் ஆகியவற்றை அமைக்கவும்." }, "secureUser": { - "message": "Level up your logins" + "message": "உங்கள் உள்நுழைவுகளை மேம்படுத்தவும்" }, "secureUserBody": { - "message": "Use the generator to create and save strong, unique passwords for all your accounts." + "message": "உங்கள் கணக்குகள் அனைத்திற்கும் வலுவான, தனித்துவமான கடவுச்சொற்களை உருவாக்கி சேமிக்க ஜெனரேட்டரைப் பயன்படுத்தவும்." }, "secureDevices": { - "message": "Your data, when and where you need it" + "message": "உங்களுக்குத் தேவைப்படும்போது மற்றும் எங்கு தேவைப்படும்போது உங்கள் தரவு" }, "secureDevicesBody": { - "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." + "message": "Bitwarden மொபைல், உலாவி மற்றும் டெஸ்க்டாப் செயலிகளுடன் வரம்பற்ற சாதனங்களில் வரம்பற்ற கடவுச்சொற்களைச் சேமிக்கவும்." }, "nudgeBadgeAria": { - "message": "1 notification" + "message": "1 அறிவிப்பு" }, "emptyVaultNudgeTitle": { - "message": "Import existing passwords" + "message": "ஏற்கனவே உள்ள கடவுச்சொற்களை இறக்குமதி செய்" }, "emptyVaultNudgeBody": { - "message": "Use the importer to quickly transfer logins to Bitwarden without manually adding them." + "message": "உள்நுழைவுகளை கைமுறையாக சேர்க்காமல், அவற்றை Bitwarden க்கு விரைவாக மாற்ற இறக்குமதியாளரைப் பயன்படுத்தவும்." }, "emptyVaultNudgeButton": { - "message": "Import now" + "message": "இப்போது இறக்குமதி செய்" }, "hasItemsVaultNudgeTitle": { - "message": "Welcome to your vault!" + "message": "உங்கள் சேமிப்பு பெட்டகத்திற்கு நல்வரவு!" }, "hasItemsVaultNudgeBodyOne": { - "message": "Autofill items for the current page" + "message": "தற்போதைய பக்கத்திற்கான தானாக நிரப்பு பொருள்கள்" }, "hasItemsVaultNudgeBodyTwo": { - "message": "Favorite items for easy access" + "message": "எளிதாக அணுக பிடித்தமான பொருள்கள்" }, "hasItemsVaultNudgeBodyThree": { - "message": "Search your vault for something else" + "message": "வேறு ஏதாவது ஒன்றுக்காக உங்கள் சேமிப்பு பெட்டகத்தைத் தேடு" }, "newLoginNudgeTitle": { - "message": "Save time with autofill" + "message": "தானாக நிரப்புவதன் மூலம் நேரத்தைச் சேமி" }, "newLoginNudgeBodyOne": { - "message": "Include a", + "message": "ஒரு", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyBold": { - "message": "Website", + "message": "இணையதளத்தை", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyTwo": { - "message": "so this login appears as an autofill suggestion.", + "message": "சேர், இதனால் இந்த உள்நுழைவு தானாக நிரப்பும் பரிந்துரையாகத் தோன்றும்.", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newCardNudgeTitle": { - "message": "Seamless online checkout" + "message": "தடையில்லா ஆன்லைன் செக்அவுட்" }, "newCardNudgeBody": { - "message": "With cards, easily autofill payment forms securely and accurately." + "message": "அட்டைகளுடன், எளிதாக ஆன்லைன் பேமெண்ட் படிவங்களை பாதுகாப்பாகவும் துல்லியமாகவும் நிரப்பலாம்." }, "newIdentityNudgeTitle": { - "message": "Simplify creating accounts" + "message": "கணக்குகளை உருவாக்குவதை எளிதாக்கு" }, "newIdentityNudgeBody": { - "message": "With identities, quickly autofill long registration or contact forms." + "message": "அடையாளங்களுடன், நீண்ட பதிவு அல்லது தொடர்பு படிவங்களை விரைவாக தானாக நிரப்பலாம்." }, "newNoteNudgeTitle": { - "message": "Keep your sensitive data safe" + "message": "உங்கள் முக்கியமான தரவைப் பாதுகாப்பாக வைத்திரு" }, "newNoteNudgeBody": { - "message": "With notes, securely store sensitive data like banking or insurance details." + "message": "குறிப்புகளுடன், வங்கி அல்லது காப்பீடு விவரங்கள் போன்ற முக்கியமான தரவுகளைப் பாதுகாப்பாக சேமிக்கவும்." }, "newSshNudgeTitle": { - "message": "Developer-friendly SSH access" + "message": "டெவெலப்பர்-நட்பு SSH அணுகல்" }, "newSshNudgeBodyOne": { - "message": "Store your keys and connect with the SSH agent for fast, encrypted authentication.", + "message": "வேகமான, என்கிரிப்ட் செய்யப்பட்ட அங்கீகாரத்திற்கு உங்கள் விசைகளை சேமித்து SSH ஏஜென்டில் இணையுங்கள்.", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "newSshNudgeBodyTwo": { - "message": "Learn more about SSH agent", + "message": "SSH ஏஜென்ட் பற்றி மேலும் அறிக", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "generatorNudgeTitle": { - "message": "Quickly create passwords" + "message": "விரைவாக கடவுச்சொற்களை உருவாக்கு" }, "generatorNudgeBodyOne": { - "message": "Easily create strong and unique passwords by clicking on", + "message": "இந்த உருப்படியைக் கிளிக் செய்வதன் மூலம் வலுவான மற்றும் தனித்துவமான கடவுச்சொற்களை எளிதாக உருவாக்கவும்", "description": "Two part message", "example": "Easily create strong and unique passwords by clicking on {icon} to help you keep your logins secure." }, @@ -5566,30 +5575,36 @@ "example": "Easily create strong and unique passwords by clicking on {icon} to help you keep your logins secure." }, "generatorNudgeBodyAria": { - "message": "Easily create strong and unique passwords by clicking on the Generate password button to help you keep your logins secure.", + "message": "உங்கள் உள்நுழைவுகளைப் பாதுகாப்பாக வைத்திருக்க கடவுச்சொல்லை உருவாக்கு பொத்தானை கிளிக் செய்வதன் மூலம் வலுவான மற்றும் தனித்துவமான கடவுச்சொற்களை எளிதாக உருவாக்கலாம்.", "description": "Aria label for the body content of the generator nudge" }, "aboutThisSetting": { - "message": "About this setting" + "message": "இந்த அமைப்பைப் பற்றி" }, "permitCipherDetailsDescription": { - "message": "Bitwarden will use saved login URIs to identify which icon or change password URL should be used to improve your experience. No information is collected or saved when you use this service." + "message": "உங்கள் அனுபவத்தை மேம்படுத்த எந்த ஐகான் அல்லது கடவுச்சொல் மாற்ற URLஐப் பயன்படுத்த வேண்டும் என்பதை அடையாளம் காண Bitwarden சேமிக்கப்பட்ட உள்நுழைவு URIகளைப் பயன்படுத்தும். நீங்கள் இந்த சேவையைப் பயன்படுத்தும்போது எந்த தகவலும் சேகரிக்கப்படவோ அல்லது சேமிக்கப்படவோ இல்லை." }, "noPermissionsViewPage": { - "message": "You do not have permissions to view this page. Try logging in with a different account." + "message": "இந்த பக்கத்தைக் காண உங்களுக்கு அனுமதிகள் இல்லை. வேறு கணக்குடன் உள்நுழைய முயற்சிக்கவும்." }, "wasmNotSupported": { - "message": "WebAssembly is not supported on your browser or is not enabled. WebAssembly is required to use the Bitwarden app.", + "message": "உங்கள் உலாவியில் WebAssembly ஆதரிக்கப்படவில்லை அல்லது இயக்கப்படவில்லை. Bitwarden செயலியைப் பயன்படுத்த WebAssembly தேவை.", "description": "'WebAssembly' is a technical term and should not be translated." }, "showMore": { - "message": "Show more" + "message": "மேலும் காட்டு" }, "showLess": { - "message": "Show less" + "message": "குறைவாக காட்டு" + }, + "next": { + "message": "அடுத்து" }, "moreBreadcrumbs": { - "message": "More breadcrumbs", + "message": "மேலும் பிரெட்க்ரம்ப்கள்", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/te/messages.json b/apps/browser/src/_locales/te/messages.json index ee92d4c27fb..0406e6e13cd 100644 --- a/apps/browser/src/_locales/te/messages.json +++ b/apps/browser/src/_locales/te/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/th/messages.json b/apps/browser/src/_locales/th/messages.json index 1b0f6d74589..a88f75d4836 100644 --- a/apps/browser/src/_locales/th/messages.json +++ b/apps/browser/src/_locales/th/messages.json @@ -556,6 +556,9 @@ "view": { "message": "แสดง" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "ไม่มีรายการ" }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/tr/messages.json b/apps/browser/src/_locales/tr/messages.json index cc1607102db..06b3f7a4eb2 100644 --- a/apps/browser/src/_locales/tr/messages.json +++ b/apps/browser/src/_locales/tr/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Görüntüle" }, + "viewLogin": { + "message": "Hesabı görüntüle" + }, "noItemsInList": { "message": "Listelenecek kayıt yok." }, @@ -2497,7 +2500,7 @@ "message": "Kart öge türleri içe aktarılamıyor" }, "restrictCardTypeImportDesc": { - "message": "A policy set by 1 or more organizations prevents you from importing cards to your vaults." + "message": "1 veya daha fazla kuruluş tarafından belirlenen bir ilke, kasalarınıza kart aktarmanızı engeller." }, "domainsTitle": { "message": "Alan adları", @@ -2581,7 +2584,7 @@ } }, "atRiskChangePrompt": { - "message": "Your password for this site is at-risk. $ORGANIZATION$ has requested that you change it.", + "message": "Bu site için olan parolanız risk altındadır. $ORGANIZATION$ parolanızı değiştirmenizi istemiştir.", "placeholders": { "organization": { "content": "$1", @@ -2591,7 +2594,7 @@ "description": "Notification body when a login triggers an at-risk password change request and the change password domain is known." }, "atRiskNavigatePrompt": { - "message": "$ORGANIZATION$ wants you to change this password because it is at-risk. Navigate to your account settings to change the password.", + "message": "$ORGANIZATION$ risk altında olduğu için bu parolayı değiştirmenizi istiyor. Parolayı değiştirmek için hesap ayarlarınıza gidin.", "placeholders": { "organization": { "content": "$1", @@ -3783,7 +3786,7 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendsBodyNoItems": { - "message": "Share files and data securely with anyone, on any platform. Your information will remain end-to-end encrypted while limiting exposure.", + "message": "Dosyaları ve verileri istediğiniz kişilerle, istediğiniz platformda paylaşın. Bilgileriniz başkalarının eline geçmemesi için uçtan şifrelenecektir.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "inputRequired": { @@ -3948,7 +3951,7 @@ "description": "Button text to display in overlay when the account is locked." }, "unlockAccountAria": { - "message": "Unlock your account, opens in a new window", + "message": "Hesabınızın kilidini açın, yeni bir pencerede açılır", "description": "Screen reader text (aria-label) for unlock account button in overlay" }, "totpCodeAria": { @@ -4000,7 +4003,7 @@ "description": "Button text to display within inline menu when there are no matching items on an identity field" }, "addNewIdentityItemAria": { - "message": "Add new vault identity item, opens in a new window", + "message": "Yeni kasa kimliği kayıtı ekle, yeni bir pencerede açılır", "description": "Screen reader text (aria-label) for new identity button within inline menu" }, "bitwardenOverlayMenuAvailable": { @@ -4090,7 +4093,7 @@ } }, "duoHealthCheckResultsInNullAuthUrlError": { - "message": "Error connecting with the Duo service. Use a different two-step login method or contact Duo for assistance." + "message": "Duo hizmetine bağlanırken hata oluştu. Başka bir iki aşamalı giriş yöntemi kullanın veya destek almak Duo ile iletişime geçin." }, "duoRequiredForAccount": { "message": "Hesabınız için Duo iki adımlı giriş gereklidir." @@ -4397,19 +4400,19 @@ "description": "Title for dialog which asks if the user wants to proceed to a relevant Help Center page" }, "confirmContinueToHelpCenterPasswordManagementContent": { - "message": "Change your browser's autofill and password management settings.", + "message": "Tarayıcınızın otomatik doldurma ve parola yönetimi ayarlarını değiştirin.", "description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser password management settings" }, "confirmContinueToHelpCenterKeyboardShortcutsContent": { - "message": "You can view and set extension shortcuts in your browser's settings.", + "message": "Tarayıcınızın ayarlarında uzantı kısayollarını görüntüleyebilir ve ayarlayabilirsiniz.", "description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser keyboard shortcut settings" }, "confirmContinueToBrowserPasswordManagementSettingsContent": { - "message": "Change your browser's autofill and password management settings.", + "message": "Tarayıcınızın otomatik doldurma ve parola yönetimi ayarlarını değiştirin.", "description": "Body content for dialog which asks if the user wants to proceed to the browser's password management settings page" }, "confirmContinueToBrowserKeyboardShortcutSettingsContent": { - "message": "You can view and set extension shortcuts in your browser's settings.", + "message": "Tarayıcınızın ayarlarında uzantı kısayollarını görüntüleyebilir ve ayarlayabilirsiniz.", "description": "Body content for dialog which asks if the user wants to proceed to the browser's keyboard shortcut settings page" }, "overrideDefaultBrowserAutofillTitle": { @@ -4752,7 +4755,7 @@ "message": "Premium" }, "freeOrgsCannotUseAttachments": { - "message": "Free organizations cannot use attachments" + "message": "Ücretsiz kuruluşlar dosya eklerini kullanamaz" }, "filters": { "message": "Filtreler" @@ -4905,13 +4908,13 @@ "message": "Ata" }, "bulkCollectionAssignmentDialogDescriptionSingular": { - "message": "Only organization members with access to these collections will be able to see the item." + "message": "Yalnızca bu koleksiyonlara erişimi olan kuruluş üyeleri kayıtı görebilecektir." }, "bulkCollectionAssignmentDialogDescriptionPlural": { - "message": "Only organization members with access to these collections will be able to see the items." + "message": "Yalnızca bu koleksiyonlara erişimi olan kuruluş üyeleri kayıtları görebilecektir." }, "bulkCollectionAssignmentWarning": { - "message": "You have selected $TOTAL_COUNT$ items. You cannot update $READONLY_COUNT$ of the items because you do not have edit permissions.", + "message": "$TOTAL_COUNT$ kayıt seçtiniz. Düzenleme izniniz olmadığı için $READONLY_COUNT$ kayıtı güncelleyemezsiniz.", "placeholders": { "total_count": { "content": "$1", @@ -4944,10 +4947,10 @@ "message": "Formlardaki onay kutularını (örn. \"e-posta adresimi hatırla\") otomatik doldurmak isterseniz onay kutularını kullanın" }, "linkedHelpText": { - "message": "Use a linked field when you are experiencing autofill issues for a specific website." + "message": "Belirli bir web sitesi için otomatik doldurma sorunları yaşıyorsanız bağlantılı bir alan kullanın." }, "linkedLabelHelpText": { - "message": "Enter the the field's html id, name, aria-label, or placeholder." + "message": "Alanın html kimliğini (id), adını (name), aria-label etiketini veya yer tutucusunu (placeholder) girin." }, "editField": { "message": "Alanı düzenle" @@ -5009,13 +5012,13 @@ } }, "selectCollectionsToAssign": { - "message": "Select collections to assign" + "message": "Atanacak koleksiyonları seçin" }, "personalItemTransferWarningSingular": { - "message": "1 item will be permanently transferred to the selected organization. You will no longer own this item." + "message": "1 kayıt kalıcı olarak seçilen kuruluşa aktarılacaktır. Artık bu kayıta sahip olmayacaksınız." }, "personalItemsTransferWarningPlural": { - "message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to the selected organization. You will no longer own these items.", + "message": "$PERSONAL_ITEMS_COUNT$ kayıt kalıcı olarak seçilen kuruluşa aktarılacaktır. Artık bu kayıtlara sahip olmayacaksınız.", "placeholders": { "personal_items_count": { "content": "$1", @@ -5024,7 +5027,7 @@ } }, "personalItemWithOrgTransferWarningSingular": { - "message": "1 item will be permanently transferred to $ORG$. You will no longer own this item.", + "message": "1 kayıt kalıcı olarak $ORG$ kuruluşuna aktarılacaktır. Artık bu kayıta sahip olmayacaksınız.", "placeholders": { "org": { "content": "$1", @@ -5033,7 +5036,7 @@ } }, "personalItemsWithOrgTransferWarningPlural": { - "message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to $ORG$. You will no longer own these items.", + "message": "$PERSONAL_ITEMS_COUNT$ kayıt kalıcı olarak $ORG$ kuruluşuna aktarılacaktır. Artık bu kayıtlara sahip olmayacaksınız.", "placeholders": { "personal_items_count": { "content": "$1", @@ -5046,7 +5049,7 @@ } }, "successfullyAssignedCollections": { - "message": "Successfully assigned collections" + "message": "Başarıyla atanan koleksiyonlar" }, "nothingSelected": { "message": "Hiçbir şey seçmediniz." @@ -5225,10 +5228,10 @@ "message": "Kasanıza daha hızlı ulaşmak için kilit açma ve zaman aşımı ayarlarınızı özelleştirebilirsiniz." }, "unlockPinSet": { - "message": "Unlock PIN set" + "message": "Kilit açma PIN seti" }, "unlockWithBiometricSet": { - "message": "Unlock with biometrics set" + "message": "Biyometrik set ile kilidi aç" }, "authenticating": { "message": "Kimlik doğrulanıyor" @@ -5417,19 +5420,19 @@ "message": "Parolayı girin" }, "invalidSshKey": { - "message": "The SSH key is invalid" + "message": "SSH anahtarı geçersiz" }, "sshKeyTypeUnsupported": { - "message": "The SSH key type is not supported" + "message": "SSH anahtar türü desteklenmiyor" }, "importSshKeyFromClipboard": { - "message": "Import key from clipboard" + "message": "Anahtarı panodan içe aktar" }, "sshKeyImported": { - "message": "SSH key imported successfully" + "message": "SSH anahtarı başarıyla içe aktarıldı" }, "cannotRemoveViewOnlyCollections": { - "message": "You cannot remove collections with View only permissions: $COLLECTIONS$", + "message": "Yalnızca Görüntüleme izinlerine sahip koleksiyonları kaldıramazsınız: $COLLECTIONS$", "placeholders": { "collections": { "content": "$1", @@ -5441,10 +5444,16 @@ "message": "Lütfen masaüstü uygulamanızı güncelleyin" }, "updateDesktopAppOrDisableFingerprintDialogMessage": { - "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings." + "message": "Biyometri ile kilidi açmayı kullanmak için lütfen masaüstü uygulamanızı güncelleyin veya masaüstü ayarlarında parmak izi ile kilidi açmayı devre dışı bırakın." }, "changeAtRiskPassword": { - "message": "Change at-risk password" + "message": "Risk altındaki parolayı değiştirin" + }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Bu hesap risk altında ve bir web sitesi eksik. Bir web sitesi ekleyin ve daha güçlü güvenlik için parolayı değiştirin." + }, + "missingWebsite": { + "message": "Web sitesi eksik" }, "settingsVaultOptions": { "message": "Kasa seçenekleri" @@ -5486,7 +5495,7 @@ "message": "Mevcut parolaları içe aktar" }, "emptyVaultNudgeBody": { - "message": "Use the importer to quickly transfer logins to Bitwarden without manually adding them." + "message": "Hesapları manüel olarak eklemeden Bitwarden'a hızlı bir şekilde aktarmak için içe aktarıcıyı kullanın." }, "emptyVaultNudgeButton": { "message": "Şimdi içe aktar" @@ -5495,13 +5504,13 @@ "message": "Kasanıza hoş geldiniz!" }, "hasItemsVaultNudgeBodyOne": { - "message": "Autofill items for the current page" + "message": "Geçerli sayfa için kayıtları otomatik doldurma" }, "hasItemsVaultNudgeBodyTwo": { - "message": "Favorite items for easy access" + "message": "Kolay erişim için favori ögeler" }, "hasItemsVaultNudgeBodyThree": { - "message": "Search your vault for something else" + "message": "Kasanızda başka bir şey arayın" }, "newLoginNudgeTitle": { "message": "Otomatik doldurmayla zaman kazanın" @@ -5525,22 +5534,22 @@ "message": "Kesintisiz çevrimiçi alışveriş" }, "newCardNudgeBody": { - "message": "With cards, easily autofill payment forms securely and accurately." + "message": "Kartlarla, ödeme formlarını güvenli ve doğru bir şekilde kolayca otomatik doldurun." }, "newIdentityNudgeTitle": { "message": "Hesap oluşturmak artık daha basit" }, "newIdentityNudgeBody": { - "message": "With identities, quickly autofill long registration or contact forms." + "message": "Kimlikler ile uzun kayıt veya iletişim formlarını hızla otomatik doldurun." }, "newNoteNudgeTitle": { "message": "Hassas verilerinizi güvende tutun" }, "newNoteNudgeBody": { - "message": "With notes, securely store sensitive data like banking or insurance details." + "message": "Notlarla, bankacılık veya sigorta bilgileri gibi hassas verileri güvenli bir şekilde saklayın." }, "newSshNudgeTitle": { - "message": "Developer-friendly SSH access" + "message": "Geliştirici dostu SSH erişimi" }, "newSshNudgeBodyOne": { "message": "Anahtarlarınızı saklayın ve hızlı, şifreli kimlik doğrulama için SSH aracısıyla bağlantı kurun.", @@ -5561,7 +5570,7 @@ "example": "Easily create strong and unique passwords by clicking on {icon} to help you keep your logins secure." }, "generatorNudgeBodyTwo": { - "message": "to help you keep your logins secure.", + "message": "hesaplarınızı güvende tutmanıza yardımcı olmak için.", "description": "Two part message", "example": "Easily create strong and unique passwords by clicking on {icon} to help you keep your logins secure." }, @@ -5573,7 +5582,7 @@ "message": "Bu ayar hakkında" }, "permitCipherDetailsDescription": { - "message": "Bitwarden will use saved login URIs to identify which icon or change password URL should be used to improve your experience. No information is collected or saved when you use this service." + "message": "Bitwarden, deneyiminizi iyileştirmek için hangi simgenin veya şifre değiştirme URL'sinin kullanılması gerektiğini belirlemek için kayıtlı giriş URI'lerini kullanacaktır. Bu hizmeti kullandığınızda hiçbir bilgi toplanmaz veya kaydedilmez." }, "noPermissionsViewPage": { "message": "Bu sayfayı görüntüleme izniniz yok. Farklı bir hesapla giriş yapmayı deneyin." @@ -5588,8 +5597,14 @@ "showLess": { "message": "Daha az göster" }, + "next": { + "message": "İleri" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Key Connector alan adını doğrulayın" } } diff --git a/apps/browser/src/_locales/uk/messages.json b/apps/browser/src/_locales/uk/messages.json index 338818404c5..ad5e999ea81 100644 --- a/apps/browser/src/_locales/uk/messages.json +++ b/apps/browser/src/_locales/uk/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Переглянути" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Немає записів." }, @@ -1761,7 +1764,7 @@ "message": "Цей браузер не може обробити U2F запити в цьому виринаючому вікні. Хочете відкрити його у новому вікні, щоб ви змогли увійти з використанням U2F?" }, "showIconsChangePasswordUrls": { - "message": "Show website icons and retrieve change password URLs" + "message": "Показувати піктограми вебсайтів та отримувати адреси для зміни паролів" }, "enableBadgeCounter": { "message": "Показувати лічильник" @@ -4126,10 +4129,10 @@ "message": "Вибрати збірку" }, "importTargetHintCollection": { - "message": "Select this option if you want the imported file contents moved to a collection" + "message": "Оберіть цю опцію, якщо ви хочете, щоб вміст імпортованого файлу було збережено до збірки" }, "importTargetHintFolder": { - "message": "Select this option if you want the imported file contents moved to a folder" + "message": "Оберіть цю опцію, якщо ви хочете, щоб вміст імпортованого файлу було збережено до теки" }, "importUnassignedItemsError": { "message": "Файл містить непризначені записи." @@ -5108,10 +5111,10 @@ "message": "Показувати кількість пропозицій автозаповнення на піктограмі розширення" }, "accountAccessRequested": { - "message": "Account access requested" + "message": "Запитано доступ до облікового запису" }, "confirmAccessAttempt": { - "message": "Confirm access attempt for $EMAIL$", + "message": "Підтвердити спробу доступу для $EMAIL$", "placeholders": { "email": { "content": "$1", @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Змінити ризикований пароль" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Параметри сховища" }, @@ -5570,10 +5579,10 @@ "description": "Aria label for the body content of the generator nudge" }, "aboutThisSetting": { - "message": "About this setting" + "message": "Про ці налаштування" }, "permitCipherDetailsDescription": { - "message": "Bitwarden will use saved login URIs to identify which icon or change password URL should be used to improve your experience. No information is collected or saved when you use this service." + "message": "Bitwarden використовуватиме збережені URI-адреси записів для визначення піктограм вебсайтів або URL-адрес для зміни паролів, щоб вдосконалити вашу роботу. Під час використання цієї послуги ваша інформація не збирається і не зберігається." }, "noPermissionsViewPage": { "message": "У вас немає дозволу переглядати цю сторінку. Спробуйте ввійти з іншим обліковим записом." @@ -5588,8 +5597,14 @@ "showLess": { "message": "Згорнути" }, + "next": { + "message": "Далі" + }, "moreBreadcrumbs": { - "message": "More breadcrumbs", + "message": "Інші елементи", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/vi/messages.json b/apps/browser/src/_locales/vi/messages.json index 54ff10843ca..42031122057 100644 --- a/apps/browser/src/_locales/vi/messages.json +++ b/apps/browser/src/_locales/vi/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Xem" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Không có mục nào để liệt kê." }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Thay đổi mật khẩu có rủi ro" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Tùy chọn kho" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Thu gọn" }, + "next": { + "message": "Tiếp theo" + }, "moreBreadcrumbs": { "message": "Thêm mục điều hướng", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Xác nhận tên miền Key Connector" } } diff --git a/apps/browser/src/_locales/zh_CN/messages.json b/apps/browser/src/_locales/zh_CN/messages.json index 6ce76206371..43c971cc8f5 100644 --- a/apps/browser/src/_locales/zh_CN/messages.json +++ b/apps/browser/src/_locales/zh_CN/messages.json @@ -341,10 +341,10 @@ "message": "Bitwarden 商业版" }, "bitwardenAuthenticator": { - "message": "Bitwarden 验证器" + "message": "Bitwarden Authenticator" }, "continueToAuthenticatorPageDesc": { - "message": "您可以使用 Bitwarden 验证器存储验证器密钥,并为两步验证流程生成 TOTP 代码。访问 bitwarden.com 网站了解更多信息。" + "message": "Bitwarden Authenticator 允许您存储验证器密钥以及为两步验证流程生成 TOTP 代码。访问 bitwarden.com 网站了解更多信息" }, "bitwardenSecretsManager": { "message": "Bitwarden 机密管理器" @@ -556,6 +556,9 @@ "view": { "message": "查看" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "没有可列出的项目。" }, @@ -1532,7 +1535,7 @@ "message": "验证器 App" }, "authenticatorAppDescV2": { - "message": "输入验证器 App(例如 Bitwarden 验证器)生成的代码。", + "message": "输入验证器 App(例如 Bitwarden Authenticator)生成的代码。", "description": "'Bitwarden Authenticator' is a product name and should not be translated." }, "yubiKeyTitleV2": { @@ -1827,7 +1830,7 @@ "message": "安全码" }, "cardNumber": { - "message": "card number" + "message": "卡号" }, "ex": { "message": "例如" @@ -3013,7 +3016,7 @@ } }, "vaultTimeoutPolicyMaximumError": { - "message": "超时时间超出了您组织设置的此限制:最多 $HOURS$ 小时 $MINUTES$ 分钟", + "message": "超时时间超出了您组织设置的限制:最多 $HOURS$ 小时 $MINUTES$ 分钟", "placeholders": { "hours": { "content": "$1", @@ -3461,7 +3464,7 @@ "message": "请求已发送" }, "loginRequestApprovedForEmailOnDevice": { - "message": "Login request approved for $EMAIL$ on $DEVICE$", + "message": "已批准 $EMAIL$ 在 $DEVICE$ 上的登录请求", "placeholders": { "email": { "content": "$1", @@ -3579,13 +3582,13 @@ "message": "记住此设备以便将来无缝登录" }, "manageDevices": { - "message": "Manage devices" + "message": "管理设备" }, "currentSession": { "message": "当前会话" }, "mobile": { - "message": "移动端", + "message": "移动", "description": "Mobile app" }, "extension": { @@ -3593,7 +3596,7 @@ "description": "Browser extension/addon" }, "desktop": { - "message": "桌面端", + "message": "桌面", "description": "Desktop app" }, "webVault": { @@ -3613,19 +3616,19 @@ "message": "请求待处理" }, "firstLogin": { - "message": "First login" + "message": "首次登录" }, "trusted": { "message": "Trusted" }, "needsApproval": { - "message": "Needs approval" + "message": "需要批准" }, "devices": { - "message": "Devices" + "message": "设备" }, "accessAttemptBy": { - "message": "Access attempt by $EMAIL$", + "message": "$EMAIL$ 的访问尝试", "placeholders": { "email": { "content": "$1", @@ -3634,19 +3637,19 @@ } }, "confirmAccess": { - "message": "Confirm access" + "message": "确认访问" }, "denyAccess": { - "message": "Deny access" + "message": "拒绝访问" }, "time": { - "message": "Time" + "message": "时间" }, "deviceType": { - "message": "Device Type" + "message": "设备类型" }, "loginRequest": { - "message": "Login request" + "message": "登录请求" }, "thisRequestIsNoLongerValid": { "message": "此请求已失效。" @@ -3655,7 +3658,7 @@ "message": "登录请求已过期。" }, "justNow": { - "message": "Just now" + "message": "刚刚" }, "requestedXMinutesAgo": { "message": "请求于 $MINUTES$ 分钟前", @@ -3691,7 +3694,7 @@ "message": "无法完成登录" }, "loginOnTrustedDeviceOrAskAdminToAssignPassword": { - "message": "You need to log in on a trusted device or ask your administrator to assign you a password." + "message": "您需要在某个受信任的设备上登录,或要求管理员为您分配一个密码。" }, "ssoIdentifierRequired": { "message": "必须填写组织 SSO 标识符。" @@ -4369,15 +4372,15 @@ "description": "Label indicating the most common import formats" }, "uriMatchDefaultStrategyHint": { - "message": "URI match detection is how Bitwarden identifies autofill suggestions.", + "message": "Bitwarden 根据 URI 匹配检测来识别自动填充建议。", "description": "Explains to the user that URI match detection determines how Bitwarden suggests autofill options, and clarifies that this default strategy applies when no specific match detection is set for a login item." }, "regExAdvancedOptionWarning": { - "message": "\"Regular expression\" is an advanced option with increased risk of exposing credentials.", + "message": "「正则表达方式」是一种高级选项,会增加暴露凭据的风险。", "description": "Content for dialog which warns a user when selecting 'regular expression' matching strategy as a cipher match strategy" }, "startsWithAdvancedOptionWarning": { - "message": "\"Starts with\" is an advanced option with increased risk of exposing credentials.", + "message": "「开始于」是一种高级选项,会增加暴露凭据的风险。", "description": "Content for dialog which warns a user when selecting 'starts with' matching strategy as a cipher match strategy" }, "uriMatchWarningDialogLink": { @@ -5108,7 +5111,7 @@ "message": "在扩展图标上显示自动填充建议的登录数量" }, "accountAccessRequested": { - "message": "已请求账户访问" + "message": "已请求账户访问权限" }, "confirmAccessAttempt": { "message": "确认 $EMAIL$ 的访问尝试", @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "更改有风险的密码" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "密码库选项" }, @@ -5573,7 +5582,7 @@ "message": "关于此设置" }, "permitCipherDetailsDescription": { - "message": "Bitwarden 将使用保存的登录 URI 来识别应使用哪个图标或更改密码 URL 来改善您的体验。 使用此服务时没有收集或保存任何信息。" + "message": "Bitwarden 将使用已保存的登录 URI 来识别应使用哪个图标或更改密码的 URL,以提升您的使用体验。使用此服务时不会收集或保存任何信息。" }, "noPermissionsViewPage": { "message": "您没有查看此页面的权限。请尝试使用其他账户登录。" @@ -5588,8 +5597,14 @@ "showLess": { "message": "显示更少" }, + "next": { + "message": "下一步" + }, "moreBreadcrumbs": { "message": "进一步的指引", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "确认 Key Connector 域名" } } diff --git a/apps/browser/src/_locales/zh_TW/messages.json b/apps/browser/src/_locales/zh_TW/messages.json index eea72ded703..ec460352036 100644 --- a/apps/browser/src/_locales/zh_TW/messages.json +++ b/apps/browser/src/_locales/zh_TW/messages.json @@ -556,6 +556,9 @@ "view": { "message": "檢視" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "沒有可列出的項目。" }, @@ -5446,6 +5449,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "密碼庫選項" }, @@ -5588,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/autofill/services/autofill-badge-updater.service.ts b/apps/browser/src/autofill/services/autofill-badge-updater.service.ts index 42cb8886216..06ddf16c8af 100644 --- a/apps/browser/src/autofill/services/autofill-badge-updater.service.ts +++ b/apps/browser/src/autofill/services/autofill-badge-updater.service.ts @@ -1,4 +1,4 @@ -import { combineLatest, distinctUntilChanged, mergeMap, of, Subject, switchMap } from "rxjs"; +import { combineLatest, distinctUntilChanged, mergeMap, of, switchMap, withLatestFrom } from "rxjs"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { BadgeSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/badge-settings.service"; @@ -6,134 +6,77 @@ import { LogService } from "@bitwarden/common/platform/abstractions/log.service" import { UserId } from "@bitwarden/common/types/guid"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { Tab } from "../../platform/badge/badge-browser-api"; import { BadgeService } from "../../platform/badge/badge.service"; import { BadgeStatePriority } from "../../platform/badge/priority"; -import { BrowserApi } from "../../platform/browser/browser-api"; const StateName = (tabId: number) => `autofill-badge-${tabId}`; export class AutofillBadgeUpdaterService { - private tabReplaced$ = new Subject<{ addedTab: chrome.tabs.Tab; removedTabId: number }>(); - private tabUpdated$ = new Subject(); - private tabRemoved$ = new Subject(); - constructor( private badgeService: BadgeService, private accountService: AccountService, private cipherService: CipherService, private badgeSettingsService: BadgeSettingsServiceAbstraction, private logService: LogService, - ) { - const cipherViews$ = this.accountService.activeAccount$.pipe( - switchMap((account) => (account?.id ? this.cipherService.cipherViews$(account?.id) : of([]))), + ) {} + + init() { + const ciphers$ = this.accountService.activeAccount$.pipe( + switchMap((account) => (account?.id ? this.cipherService.ciphers$(account?.id) : of([]))), ); + // Recalculate badges for all active tabs when ciphers or active account changes combineLatest({ account: this.accountService.activeAccount$, enableBadgeCounter: this.badgeSettingsService.enableBadgeCounter$.pipe(distinctUntilChanged()), - ciphers: cipherViews$, + ciphers: ciphers$, }) .pipe( - mergeMap(async ({ account, enableBadgeCounter, ciphers }) => { + mergeMap(async ({ account, enableBadgeCounter }) => { if (!account) { return; } - const tabs = await BrowserApi.tabsQuery({}); + const tabs = await this.badgeService.getActiveTabs(); + for (const tab of tabs) { - if (!tab.id) { + if (!tab.tabId) { continue; } - if (enableBadgeCounter) { await this.setTabState(tab, account.id); } else { - await this.clearTabState(tab.id); + await this.clearTabState(tab.tabId); } } }), ) .subscribe(); - combineLatest({ - account: this.accountService.activeAccount$, - enableBadgeCounter: this.badgeSettingsService.enableBadgeCounter$, - replaced: this.tabReplaced$, - ciphers: cipherViews$, - }) + // Recalculate badge for a specific tab when it becomes active + this.badgeService.activeTabsUpdated$ .pipe( - mergeMap(async ({ account, enableBadgeCounter, replaced }) => { + withLatestFrom( + this.accountService.activeAccount$, + this.badgeSettingsService.enableBadgeCounter$, + ), + mergeMap(async ([tabs, account, enableBadgeCounter]) => { if (!account || !enableBadgeCounter) { return; } - await this.clearTabState(replaced.removedTabId); - await this.setTabState(replaced.addedTab, account.id); - }), - ) - .subscribe(); - - combineLatest({ - account: this.accountService.activeAccount$, - enableBadgeCounter: this.badgeSettingsService.enableBadgeCounter$, - tab: this.tabUpdated$, - ciphers: cipherViews$, - }) - .pipe( - mergeMap(async ({ account, enableBadgeCounter, tab }) => { - if (!account || !enableBadgeCounter) { - return; + for (const tab of tabs) { + await this.setTabState(tab, account.id); } - - await this.setTabState(tab, account.id); - }), - ) - .subscribe(); - - combineLatest({ - account: this.accountService.activeAccount$, - enableBadgeCounter: this.badgeSettingsService.enableBadgeCounter$, - tabId: this.tabRemoved$, - ciphers: cipherViews$, - }) - .pipe( - mergeMap(async ({ account, enableBadgeCounter, tabId }) => { - if (!account || !enableBadgeCounter) { - return; - } - - await this.clearTabState(tabId); }), ) .subscribe(); } - init() { - BrowserApi.addListener(chrome.tabs.onReplaced, async (addedTabId, removedTabId) => { - const newTab = await BrowserApi.getTab(addedTabId); - if (!newTab) { - this.logService.warning( - `Tab replaced event received but new tab not found (id: ${addedTabId})`, - ); - return; - } - - this.tabReplaced$.next({ - removedTabId, - addedTab: newTab, - }); - }); - BrowserApi.addListener(chrome.tabs.onUpdated, (_, changeInfo, tab) => { - if (changeInfo.url) { - this.tabUpdated$.next(tab); - } - }); - BrowserApi.addListener(chrome.tabs.onRemoved, (tabId, _) => this.tabRemoved$.next(tabId)); - } - - private async setTabState(tab: chrome.tabs.Tab, userId: UserId) { - if (!tab.id) { + private async setTabState(tab: Tab, userId: UserId) { + if (!tab.tabId) { this.logService.warning("Tab event received but tab id is undefined"); return; } @@ -142,18 +85,18 @@ export class AutofillBadgeUpdaterService { const cipherCount = ciphers.length; if (cipherCount === 0) { - await this.clearTabState(tab.id); + await this.clearTabState(tab.tabId); return; } const countText = cipherCount > 9 ? "9+" : cipherCount.toString(); await this.badgeService.setState( - StateName(tab.id), + StateName(tab.tabId), BadgeStatePriority.Default, { text: countText, }, - tab.id, + tab.tabId, ); } diff --git a/apps/browser/src/background/main.background.ts b/apps/browser/src/background/main.background.ts index 9eb5d5964bf..6161e186a38 100644 --- a/apps/browser/src/background/main.background.ts +++ b/apps/browser/src/background/main.background.ts @@ -780,6 +780,25 @@ export default class MainBackground { this.stateProvider, ); + this.authService = new AuthService( + this.accountService, + this.messagingService, + this.keyService, + this.apiService, + this.stateService, + this.tokenService, + ); + + this.configApiService = new ConfigApiService(this.apiService); + + this.configService = new DefaultConfigService( + this.configApiService, + this.environmentService, + this.logService, + this.stateProvider, + this.authService, + ); + const sdkClientFactory = flagEnabled("sdk") ? new DefaultSdkClientFactory() : new NoopSdkClientFactory(); @@ -842,25 +861,6 @@ export default class MainBackground { this.authRequestApiService, ); - this.authService = new AuthService( - this.accountService, - this.messagingService, - this.keyService, - this.apiService, - this.stateService, - this.tokenService, - ); - - this.configApiService = new ConfigApiService(this.apiService); - - this.configService = new DefaultConfigService( - this.configApiService, - this.environmentService, - this.logService, - this.stateProvider, - this.authService, - ); - this.billingAccountProfileStateService = new DefaultBillingAccountProfileStateService( this.stateProvider, this.platformUtilsService, diff --git a/apps/browser/src/platform/badge/badge-browser-api.ts b/apps/browser/src/platform/badge/badge-browser-api.ts index e8edcd23da4..79b50970400 100644 --- a/apps/browser/src/platform/badge/badge-browser-api.ts +++ b/apps/browser/src/platform/badge/badge-browser-api.ts @@ -15,13 +15,24 @@ export interface RawBadgeState { icon: BadgeIcon; } +export interface Tab { + tabId: number; + url: string; +} + +function tabFromChromeTab(tab: chrome.tabs.Tab): Tab { + return { + tabId: tab.id!, + url: tab.url!, + }; +} + export interface BadgeBrowserApi { - activeTab$: Observable; - // activeTabs$: Observable; + activeTabsUpdated$: Observable; setState(state: RawBadgeState, tabId?: number): Promise; getTabs(): Promise; - getActiveTabs(): Promise; + getActiveTabs(): Promise; } export class DefaultBadgeBrowserApi implements BadgeBrowserApi { @@ -29,34 +40,48 @@ export class DefaultBadgeBrowserApi implements BadgeBrowserApi { private sidebarAction = BrowserApi.getSidebarAction(self); private onTabActivated$ = fromChromeEvent(chrome.tabs.onActivated).pipe( - switchMap(async ([activeInfo]) => activeInfo), + map(([activeInfo]) => activeInfo), shareReplay({ bufferSize: 1, refCount: true }), ); - activeTab$ = concat( - defer(async () => { - const currentTab = await BrowserApi.getTabFromCurrentWindow(); - if (currentTab == null || currentTab.id === undefined) { - return undefined; - } - - return { tabId: currentTab.id, windowId: currentTab.windowId }; - }), + activeTabsUpdated$ = concat( + defer(async () => await this.getActiveTabs()), merge( - this.onTabActivated$, + this.onTabActivated$.pipe( + switchMap(async (activeInfo) => { + const tab = await BrowserApi.getTab(activeInfo.tabId); + + if (tab == undefined || tab.id == undefined || tab.url == undefined) { + return []; + } + + return [tabFromChromeTab(tab)]; + }), + ), fromChromeEvent(chrome.tabs.onUpdated).pipe( filter( ([_, changeInfo]) => // Only emit if the url was updated changeInfo.url != undefined, ), - map(([tabId, _changeInfo, tab]) => ({ tabId, windowId: tab.windowId })), + map(([_tabId, _changeInfo, tab]) => [tabFromChromeTab(tab)]), ), - ), - ).pipe(shareReplay({ bufferSize: 1, refCount: true })); + fromChromeEvent(chrome.webNavigation.onCommitted).pipe( + map(([details]) => { + const toReturn: Tab[] = + details.transitionType === "reload" ? [{ tabId: details.tabId, url: details.url }] : []; + return toReturn; + }), + ), + // NOTE: We're only sharing the active tab changes, not the full list of active tabs. + // This is so that any new subscriber will get the latest active tabs immediately, but + // doesn't re-subscribe to chrome events. + ).pipe(shareReplay({ bufferSize: 1, refCount: true })), + ).pipe(filter((tabs) => tabs.length > 0)); - getActiveTabs(): Promise { - return BrowserApi.getActiveTabs(); + async getActiveTabs(): Promise { + const tabs = await BrowserApi.getActiveTabs(); + return tabs.filter((tab) => tab.id != undefined && tab.url != undefined).map(tabFromChromeTab); } constructor(private platformUtilsService: PlatformUtilsService) {} diff --git a/apps/browser/src/platform/badge/badge.service.spec.ts b/apps/browser/src/platform/badge/badge.service.spec.ts index 71b94e3a0e4..d17e5dc0b5f 100644 --- a/apps/browser/src/platform/badge/badge.service.spec.ts +++ b/apps/browser/src/platform/badge/badge.service.spec.ts @@ -39,7 +39,6 @@ describe("BadgeService", () => { beforeEach(() => { badgeApi.tabs = [tabId]; badgeApi.setActiveTabs([tabId]); - badgeApi.setLastActivatedTab(tabId); badgeServiceSubscription = badgeService.startListening(); }); @@ -195,7 +194,6 @@ describe("BadgeService", () => { beforeEach(() => { badgeApi.tabs = tabIds; badgeApi.setActiveTabs([tabId]); - badgeApi.setLastActivatedTab(tabId); badgeServiceSubscription = badgeService.startListening(); }); @@ -240,7 +238,6 @@ describe("BadgeService", () => { beforeEach(() => { badgeApi.tabs = tabIds; badgeApi.setActiveTabs(activeTabIds); - badgeApi.setLastActivatedTab(1); badgeServiceSubscription = badgeService.startListening(); }); @@ -286,7 +283,6 @@ describe("BadgeService", () => { beforeEach(() => { badgeApi.tabs = [tabId]; badgeApi.setActiveTabs([tabId]); - badgeApi.setLastActivatedTab(tabId); badgeServiceSubscription = badgeService.startListening(); }); @@ -562,7 +558,6 @@ describe("BadgeService", () => { beforeEach(() => { badgeApi.tabs = tabIds; badgeApi.setActiveTabs([tabId]); - badgeApi.setLastActivatedTab(tabId); badgeServiceSubscription = badgeService.startListening(); }); @@ -595,14 +590,12 @@ describe("BadgeService", () => { }); describe("given multiple tabs are open and multiple are active", () => { - const tabId = 1; const activeTabIds = [1, 2]; const tabIds = [1, 2, 3]; beforeEach(() => { badgeApi.tabs = tabIds; badgeApi.setActiveTabs(activeTabIds); - badgeApi.setLastActivatedTab(tabId); badgeServiceSubscription = badgeService.startListening(); }); diff --git a/apps/browser/src/platform/badge/badge.service.ts b/apps/browser/src/platform/badge/badge.service.ts index 82836370840..5634aabec28 100644 --- a/apps/browser/src/platform/badge/badge.service.ts +++ b/apps/browser/src/platform/badge/badge.service.ts @@ -8,7 +8,7 @@ import { StateProvider, } from "@bitwarden/common/platform/state"; -import { BadgeBrowserApi, RawBadgeState } from "./badge-browser-api"; +import { BadgeBrowserApi, RawBadgeState, Tab } from "./badge-browser-api"; import { DefaultBadgeState } from "./consts"; import { BadgeStatePriority } from "./priority"; import { BadgeState, Unset } from "./state"; @@ -21,11 +21,23 @@ interface StateSetting { const BADGE_STATES = new KeyDefinition(BADGE_MEMORY, "badgeStates", { deserializer: (value: Record) => value ?? {}, + cleanupDelayMs: 0, }); export class BadgeService { private serviceState: GlobalState>; + /** + * An observable that emits whenever one or multiple tabs are updated and might need its state updated. + * Use this to know exactly which tabs to calculate the badge state for. + * This is not the same as `onActivated` which only emits when the active tab changes. + */ + activeTabsUpdated$ = this.badgeApi.activeTabsUpdated$; + + getActiveTabs(): Promise { + return this.badgeApi.getActiveTabs(); + } + constructor( private stateProvider: StateProvider, private badgeApi: BadgeBrowserApi, @@ -40,12 +52,12 @@ export class BadgeService { */ startListening(): Subscription { // React to tab changes - return this.badgeApi.activeTab$ + return this.badgeApi.activeTabsUpdated$ .pipe( withLatestFrom(this.serviceState.state$), - filter(([activeTab]) => activeTab != undefined), - concatMap(async ([activeTab, serviceState]) => { - await this.updateBadge(serviceState, activeTab!.tabId); + filter(([activeTabs]) => activeTabs.length > 0), + concatMap(async ([activeTabs, serviceState]) => { + await Promise.all(activeTabs.map((tab) => this.updateBadge(serviceState, tab.tabId))); }), ) .subscribe({ @@ -78,7 +90,6 @@ export class BadgeService { ...s, [name]: { priority, state, tabId }, })); - await this.updateBadge(newServiceState, tabId); } @@ -104,7 +115,6 @@ export class BadgeService { if (clearedState === undefined) { return; } - // const activeTabs = await firstValueFrom(this.badgeApi.activeTabs$); await this.updateBadge(newServiceState, clearedState.tabId); } @@ -151,16 +161,15 @@ export class BadgeService { * @param tabId Tab id for which the the latest state change applied to. Set this to activeTab.tabId to force an update. */ private async updateBadge( - // activeTabs: chrome.tabs.Tab[], serviceState: Record | null | undefined, tabId: number | undefined, ) { const activeTabs = await this.badgeApi.getActiveTabs(); - if (tabId !== undefined && !activeTabs.some((tab) => tab.id === tabId)) { + if (tabId !== undefined && !activeTabs.some((tab) => tab.tabId === tabId)) { return; // No need to update the badge if the state is not for the active tab. } - const tabIdsToUpdate = tabId ? [tabId] : activeTabs.map((tab) => tab.id); + const tabIdsToUpdate = tabId ? [tabId] : activeTabs.map((tab) => tab.tabId); for (const tabId of tabIdsToUpdate) { if (tabId === undefined) { diff --git a/apps/browser/src/platform/badge/test/mock-badge-browser-api.ts b/apps/browser/src/platform/badge/test/mock-badge-browser-api.ts index 6708ae52ea5..a1b79c29cb8 100644 --- a/apps/browser/src/platform/badge/test/mock-badge-browser-api.ts +++ b/apps/browser/src/platform/badge/test/mock-badge-browser-api.ts @@ -1,38 +1,33 @@ import { BehaviorSubject } from "rxjs"; -import { BadgeBrowserApi, RawBadgeState } from "../badge-browser-api"; +import { BadgeBrowserApi, RawBadgeState, Tab } from "../badge-browser-api"; export class MockBadgeBrowserApi implements BadgeBrowserApi { - private _activeTab$ = new BehaviorSubject(undefined); - activeTab$ = this._activeTab$.asObservable(); + private _activeTabsUpdated$ = new BehaviorSubject([]); + activeTabsUpdated$ = this._activeTabsUpdated$.asObservable(); specificStates: Record = {}; generalState?: RawBadgeState; tabs: number[] = []; activeTabs: number[] = []; - getActiveTabs(): Promise { + getActiveTabs(): Promise { return Promise.resolve( this.activeTabs.map( (tabId) => ({ - id: tabId, - windowId: 1, - active: true, - }) as chrome.tabs.Tab, + tabId, + url: `https://example.com/${tabId}`, + }) satisfies Tab, ), ); } setActiveTabs(tabs: number[]) { this.activeTabs = tabs; - } - - setLastActivatedTab(tabId: number) { - this._activeTab$.next({ - tabId, - windowId: 1, - }); + this._activeTabsUpdated$.next( + tabs.map((tabId) => ({ tabId, url: `https://example.com/${tabId}` })), + ); } setState = jest.fn().mockImplementation((state: RawBadgeState, tabId?: number): Promise => { diff --git a/apps/browser/src/popup/services/services.module.ts b/apps/browser/src/popup/services/services.module.ts index 1372059d867..d68e71f3bc8 100644 --- a/apps/browser/src/popup/services/services.module.ts +++ b/apps/browser/src/popup/services/services.module.ts @@ -43,11 +43,13 @@ import { AccountService, AccountService as AccountServiceAbstraction, } from "@bitwarden/common/auth/abstractions/account.service"; +import { AuthRequestAnsweringServiceAbstraction } from "@bitwarden/common/auth/abstractions/auth-request-answering/auth-request-answering.service.abstraction"; import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service"; import { MasterPasswordApiService } from "@bitwarden/common/auth/abstractions/master-password-api.service.abstraction"; import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction"; import { TokenService } from "@bitwarden/common/auth/abstractions/token.service"; import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction"; +import { AuthRequestAnsweringService } from "@bitwarden/common/auth/services/auth-request-answering/auth-request-answering.service"; import { AutofillSettingsService, AutofillSettingsServiceAbstraction, @@ -66,7 +68,10 @@ import { KeyGenerationService } from "@bitwarden/common/key-management/crypto"; import { CryptoFunctionService } from "@bitwarden/common/key-management/crypto/abstractions/crypto-function.service"; import { EncryptService } from "@bitwarden/common/key-management/crypto/abstractions/encrypt.service"; import { WebCryptoFunctionService } from "@bitwarden/common/key-management/crypto/services/web-crypto-function.service"; -import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/key-management/master-password/abstractions/master-password.service.abstraction"; +import { + InternalMasterPasswordServiceAbstraction, + MasterPasswordServiceAbstraction, +} from "@bitwarden/common/key-management/master-password/abstractions/master-password.service.abstraction"; import { PinServiceAbstraction } from "@bitwarden/common/key-management/pin/pin.service.abstraction"; import { VaultTimeoutService, @@ -466,6 +471,19 @@ const safeProviders: SafeProvider[] = [ useClass: InlineDerivedStateProvider, deps: [], }), + safeProvider({ + provide: AuthRequestAnsweringServiceAbstraction, + useClass: AuthRequestAnsweringService, + deps: [ + AccountServiceAbstraction, + ActionsService, + AuthService, + I18nServiceAbstraction, + MasterPasswordServiceAbstraction, + PlatformUtilsService, + SystemNotificationsService, + ], + }), safeProvider({ provide: AutofillSettingsServiceAbstraction, useClass: AutofillSettingsService, diff --git a/apps/browser/src/vault/popup/components/at-risk-passwords/at-risk-passwords.component.html b/apps/browser/src/vault/popup/components/at-risk-passwords/at-risk-passwords.component.html index 87629ce5700..1ffb404fddb 100644 --- a/apps/browser/src/vault/popup/components/at-risk-passwords/at-risk-passwords.component.html +++ b/apps/browser/src/vault/popup/components/at-risk-passwords/at-risk-passwords.component.html @@ -3,7 +3,7 @@ slot="header" [pageTitle]="'atRiskPasswords' | i18n" showBackButton - [backAction]="navigateToVault.bind(this)" + [backAction]="navigateToVault" > @@ -13,7 +13,7 @@

{{ "changeAtRiskPasswordsFasterDesc" | i18n }}

@@ -65,10 +65,10 @@ type="button" bitBadge variant="primary" + *ngIf="hasLoginUri(cipher)" appStopProp (click)="launchChangePassword(cipher)" - [title]="'changeButtonTitle' | i18n: cipher.name" - [attr.aria-label]="'changeButtonTitle' | i18n: cipher.name" + [appA11yTitle]="'changeButtonTitle' | i18n: cipher.name" [disabled]="launchingCipher() == cipher" > @@ -80,6 +80,16 @@ aria-hidden="true" > + diff --git a/apps/browser/src/vault/popup/components/at-risk-passwords/at-risk-passwords.component.ts b/apps/browser/src/vault/popup/components/at-risk-passwords/at-risk-passwords.component.ts index f1f2b7fef2f..e4a8293c52e 100644 --- a/apps/browser/src/vault/popup/components/at-risk-passwords/at-risk-passwords.component.ts +++ b/apps/browser/src/vault/popup/components/at-risk-passwords/at-risk-passwords.component.ts @@ -253,6 +253,10 @@ export class AtRiskPasswordsComponent implements OnInit { await this.atRiskPasswordPageService.dismissCallout(userId); } + protected hasLoginUri(cipher: CipherView) { + return cipher.login?.hasUris; + } + launchChangePassword = async (cipher: CipherView) => { try { this.launchingCipher.set(cipher); @@ -273,7 +277,7 @@ export class AtRiskPasswordsComponent implements OnInit { * which can conflict with the `PopupRouterCacheService`. This replaces the * built-in back button behavior so the user always navigates to the vault. */ - protected async navigateToVault() { + protected navigateToVault = async () => { await this.router.navigate(["/tabs/vault"]); - } + }; } diff --git a/apps/browser/store/locales/zh_CN/copy.resx b/apps/browser/store/locales/zh_CN/copy.resx index dd611f4ca68..9691f9dd752 100644 --- a/apps/browser/store/locales/zh_CN/copy.resx +++ b/apps/browser/store/locales/zh_CN/copy.resx @@ -124,49 +124,46 @@ 无论是在家中、工作中还是在旅途中,Bitwarden 都可以轻松地保护您的所有密码、通行密钥和敏感信息。 - Recognized as the best password manager by PCMag, WIRED, The Verge, CNET, G2, and more! + 被 PCMag、WIRED、The Verge、CNET、G2 等评选为最佳的密码管理器! -SECURE YOUR DIGITAL LIFE -Secure your digital life and protect against data breaches by generating and saving unique, strong passwords for every account. Maintain everything in an end-to-end encrypted password vault that only you can access. +守护您的数字生活 +为每个账户生成并保存独特且强大的密码,守护您的数字生活,防止数据泄露。所有信息均存储在只有您才能访问的端到端加密密码库中。 -ACCESS YOUR DATA, ANYWHERE, ANYTIME, ON ANY DEVICE -Easily manage, store, secure, and share unlimited passwords across unlimited devices without restrictions. +随时随地在任何设备上访问您的数据 +轻松管理、存储、保护和共享无限数量的密码,不受任何限制,支持无限设备。 -EVERYONE SHOULD HAVE THE TOOLS TO STAY SAFE ONLINE -Utilize Bitwarden for free with no ads or selling data. Bitwarden believes everyone should have the ability to stay safe online. Premium plans offer access to advanced features. +人人皆应享有的网络安全工具 +Bitwarden 提供无广告、不出售数据的免费服务。Bitwarden 认为每个人都应享有网络安全防护的权利。高级版计划提供更多高级功能。 -EMPOWER YOUR TEAMS WITH BITWARDEN -Plans for Teams and Enterprise come with professional business features. Some examples include SSO integration, self-hosting, directory integration and SCIM provisioning, global policies, API access, event logs, and more. - -Use Bitwarden to secure your workforce and share sensitive information with colleagues. +使用 Bitwarden 为您的团队赋能 +团队版与企业版计划配备专业的商业功能。包括 SSO 集成、自托管、目录集成和 SCIM 配置、全局策略、API 访问、事件日志等等。 -More reasons to choose Bitwarden: +选择 Bitwarden 的更多理由: -World-Class Encryption -Passwords are protected with advanced end-to-end encryption (AES-256 bit, salted hashing, and PBKDF2 SHA-256) so your data stays secure and private. +世界一流的加密技术 +密码受到高级端到端加密(AES-256 位加密、盐化哈希、以及 PBKDF2 SHA-256 算法)的保护,确保您的数据绝对安全私密。 -3rd-party Audits -Bitwarden regularly conducts comprehensive third-party security audits with notable security firms. These annual audits include source code assessments and penetration testing across Bitwarden IPs, servers, and web applications. +第三方审计 +Bitwarden 定期与知名安全公司合作进行全面的第三方安全审计。这些年度审计包括对 Bitwarden IP、服务器和网页应用程序的源代码评估和渗透测试。 -Advanced 2FA -Secure your login with a third-party authenticator, emailed codes, or FIDO2 WebAuthn credentials such as a hardware security key or passkey. +高级 2FA +使用第三方身份验证器、电子邮件代码或 FIDO2 WebAuthn 凭证(如硬件安全密钥/通行密钥)保护您的登录信息。 Bitwarden Send -Transmit data directly to others while maintaining end-to-end encrypted security and limiting exposure. +在保持端到端加密安全的同时,将数据直接传输给他人并限制暴露范围。 -Built-in Generator -Create long, complex, and distinct passwords and unique usernames for every site you visit. Integrate with email alias providers for additional privacy. +内置生成器 +为您访问的每个网站创建长、复杂且独特的密码和唯一的用户名。与电子邮件别名提供商集成,进一步增强隐私保护。 -Global Translations -Bitwarden translations exist for more than 60 languages, translated by the global community though Crowdin. +全球化翻译 +Bitwarden 提供超过 60 种语言的翻译,由全球社区通过 Crowdin 平台协作翻译。 -Cross-Platform Applications -Secure and share sensitive data within your Bitwarden Vault from any browser, mobile device, or desktop OS, and more. +跨平台应用程序 +通过任何浏览器、移动设备、桌面操作系统等,保护和共享 Bitwarden 密码库中的敏感数据。 -Bitwarden secures more than just passwords -End-to-end encrypted credential management solutions from Bitwarden empower organizations to secure everything, including developer secrets and passkey experiences. Visit Bitwarden.com to learn more about Bitwarden Secrets Manager and Bitwarden Passwordless.dev! - +Bitwarden 保护的不仅仅是密码 +Bitwarden 提供的端到端加密凭证管理解决方案使组织能够保护一切,包括开发人员机密和通行密钥体验。访问 Bitwarden.com,了解有关 Bitwarden Secrets Manager 和 Bitwarden Passwordless.dev 的更多信息! 无论是在家中、工作中还是在旅途中,Bitwarden 都可以轻松地保护您的所有密码、通行密钥和敏感信息。 diff --git a/apps/desktop/desktop_native/Cargo.lock b/apps/desktop/desktop_native/Cargo.lock index bb7f7d9995b..23deda915ed 100644 --- a/apps/desktop/desktop_native/Cargo.lock +++ b/apps/desktop/desktop_native/Cargo.lock @@ -922,6 +922,7 @@ dependencies = [ "rsa", "russh-cryptovec", "scopeguard", + "secmem-proc", "security-framework", "security-framework-sys", "sha2", @@ -2769,6 +2770,16 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "rustix-linux-procfs" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fc84bf7e9aa16c4f2c758f27412dc9841341e16aa682d9c7ac308fe3ee12056" +dependencies = [ + "once_cell", + "rustix 1.0.7", +] + [[package]] name = "rustversion" version = "1.0.20" @@ -2847,6 +2858,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "secmem-proc" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "473559b1d28f530c3a9b5f91a2866053e2b1c528a0e43dae83048139c99490c2" +dependencies = [ + "anyhow", + "cfg-if", + "libc", + "rustix 1.0.7", + "rustix-linux-procfs", + "thiserror 2.0.12", + "windows 0.61.1", +] + [[package]] name = "security-framework" version = "3.1.0" diff --git a/apps/desktop/desktop_native/Cargo.toml b/apps/desktop/desktop_native/Cargo.toml index 84b835de35f..7e5ab43c6b9 100644 --- a/apps/desktop/desktop_native/Cargo.toml +++ b/apps/desktop/desktop_native/Cargo.toml @@ -48,6 +48,7 @@ rand = "=0.9.1" rsa = "=0.9.6" russh-cryptovec = "=0.7.3" scopeguard = "=1.2.0" +secmem-proc = "=0.3.7" security-framework = "=3.1.0" security-framework-sys = "=2.13.0" serde = "=1.0.209" diff --git a/apps/desktop/desktop_native/core/Cargo.toml b/apps/desktop/desktop_native/core/Cargo.toml index 97189e1d7cd..3aedf90613e 100644 --- a/apps/desktop/desktop_native/core/Cargo.toml +++ b/apps/desktop/desktop_native/core/Cargo.toml @@ -38,6 +38,7 @@ rand = { workspace = true } rsa = { workspace = true } russh-cryptovec = { workspace = true } scopeguard = { workspace = true } +secmem-proc = { workspace = true } sha2 = { workspace = true } ssh-encoding = { workspace = true } ssh-key = { workspace = true, features = [ diff --git a/apps/desktop/desktop_native/core/src/process_isolation/linux.rs b/apps/desktop/desktop_native/core/src/process_isolation/linux.rs index dc027e0b546..395d722ea01 100644 --- a/apps/desktop/desktop_native/core/src/process_isolation/linux.rs +++ b/apps/desktop/desktop_native/core/src/process_isolation/linux.rs @@ -20,6 +20,8 @@ pub fn disable_coredumps() -> Result<()> { rlim_cur: 0, rlim_max: 0, }; + println!("[Process Isolation] Disabling core dumps via setrlimit"); + if unsafe { libc::setrlimit(RLIMIT_CORE, &rlimit) } != 0 { let e = std::io::Error::last_os_error(); return Err(anyhow::anyhow!( @@ -44,11 +46,17 @@ pub fn is_core_dumping_disabled() -> Result { Ok(rlimit.rlim_cur == 0 && rlimit.rlim_max == 0) } -pub fn disable_memory_access() -> Result<()> { +pub fn isolate_process() -> Result<()> { + let pid = std::process::id(); + println!( + "[Process Isolation] Disabling ptrace and memory access for main ({}) via PR_SET_DUMPABLE", + pid + ); + if unsafe { libc::prctl(PR_SET_DUMPABLE, 0) } != 0 { let e = std::io::Error::last_os_error(); return Err(anyhow::anyhow!( - "failed to disable memory dumping, memory is dumpable by other processes {}", + "failed to disable memory dumping, memory may be accessible by other processes {}", e )); } diff --git a/apps/desktop/desktop_native/core/src/process_isolation/macos.rs b/apps/desktop/desktop_native/core/src/process_isolation/macos.rs index 04d8f7266c4..ce42e06a832 100644 --- a/apps/desktop/desktop_native/core/src/process_isolation/macos.rs +++ b/apps/desktop/desktop_native/core/src/process_isolation/macos.rs @@ -8,6 +8,17 @@ pub fn is_core_dumping_disabled() -> Result { bail!("Not implemented on Mac") } -pub fn disable_memory_access() -> Result<()> { - bail!("Not implemented on Mac") +pub fn isolate_process() -> Result<()> { + let pid: u32 = std::process::id(); + println!( + "[Process Isolation] Disabling ptrace on main process ({}) via PT_DENY_ATTACH", + pid + ); + + secmem_proc::harden_process().map_err(|e| { + anyhow::anyhow!( + "failed to disable memory dumping, memory may be accessible by other processes {}", + e + ) + }) } diff --git a/apps/desktop/desktop_native/core/src/process_isolation/mod.rs b/apps/desktop/desktop_native/core/src/process_isolation/mod.rs index 30f4dbf689a..b1872c8a423 100644 --- a/apps/desktop/desktop_native/core/src/process_isolation/mod.rs +++ b/apps/desktop/desktop_native/core/src/process_isolation/mod.rs @@ -1,3 +1,16 @@ +//! This module implements process isolation, which aims to protect +//! a process from dumping memory to disk when crashing, and from +//! userspace memory access. +//! +//! On Windows, by default most userspace apps can read the memory of all +//! other apps, and attach debuggers. On Mac, this is not possible, and only +//! after granting developer permissions can an app attach to processes via +//! ptrace / read memory. On Linux, this depends on the distro / configuration of yama +//! `https://linux-audit.com/protect-ptrace-processes-kernel-yama-ptrace_scope/` +//! For instance, ubuntu prevents ptrace of other processes by default. +//! On Fedora, there are change proposals but ptracing is still possible unless +//! otherwise configured. + #[allow(clippy::module_inception)] #[cfg_attr(target_os = "linux", path = "linux.rs")] #[cfg_attr(target_os = "windows", path = "windows.rs")] diff --git a/apps/desktop/desktop_native/core/src/process_isolation/windows.rs b/apps/desktop/desktop_native/core/src/process_isolation/windows.rs index 7c7864fbbd7..dc1092f9131 100644 --- a/apps/desktop/desktop_native/core/src/process_isolation/windows.rs +++ b/apps/desktop/desktop_native/core/src/process_isolation/windows.rs @@ -8,6 +8,17 @@ pub fn is_core_dumping_disabled() -> Result { bail!("Not implemented on Windows") } -pub fn disable_memory_access() -> Result<()> { - bail!("Not implemented on Windows") +pub fn isolate_process() -> Result<()> { + let pid: u32 = std::process::id(); + println!( + "[Process Isolation] Isolating main process via DACL {}", + pid + ); + + secmem_proc::harden_process().map_err(|e| { + anyhow::anyhow!( + "failed to isolate process, memory may be accessible by other processes {}", + e + ) + }) } diff --git a/apps/desktop/desktop_native/napi/index.d.ts b/apps/desktop/desktop_native/napi/index.d.ts index a920f0c00aa..281bfd5d69f 100644 --- a/apps/desktop/desktop_native/napi/index.d.ts +++ b/apps/desktop/desktop_native/napi/index.d.ts @@ -82,7 +82,7 @@ export declare namespace sshagent { export declare namespace processisolations { export function disableCoredumps(): Promise export function isCoreDumpingDisabled(): Promise - export function disableMemoryAccess(): Promise + export function isolateProcess(): Promise } export declare namespace powermonitors { export function onLock(callback: (err: Error | null, ) => any): Promise diff --git a/apps/desktop/desktop_native/napi/src/lib.rs b/apps/desktop/desktop_native/napi/src/lib.rs index 1f99c1c3ed2..0e5cdc838d7 100644 --- a/apps/desktop/desktop_native/napi/src/lib.rs +++ b/apps/desktop/desktop_native/napi/src/lib.rs @@ -337,8 +337,8 @@ pub mod processisolations { #[allow(clippy::unused_async)] // FIXME: Remove unused async! #[napi] - pub async fn disable_memory_access() -> napi::Result<()> { - desktop_core::process_isolation::disable_memory_access() + pub async fn isolate_process() -> napi::Result<()> { + desktop_core::process_isolation::isolate_process() .map_err(|e| napi::Error::from_reason(e.to_string())) } } diff --git a/apps/desktop/electron-builder.json b/apps/desktop/electron-builder.json index 800cdd848a7..f128e090944 100644 --- a/apps/desktop/electron-builder.json +++ b/apps/desktop/electron-builder.json @@ -20,7 +20,7 @@ "**/node_modules/@bitwarden/desktop-napi/index.js", "**/node_modules/@bitwarden/desktop-napi/desktop_napi.${platform}-${arch}*.node" ], - "electronVersion": "36.4.0", + "electronVersion": "36.8.1", "generateUpdatesFilesForAllChannels": true, "publish": { "provider": "generic", diff --git a/apps/desktop/src/app/accounts/settings.component.html b/apps/desktop/src/app/accounts/settings.component.html index 091864e59ae..4af12903a24 100644 --- a/apps/desktop/src/app/accounts/settings.component.html +++ b/apps/desktop/src/app/accounts/settings.component.html @@ -330,6 +330,33 @@ "enableBrowserIntegrationFingerprintDesc" | i18n }} +
+
+ +
+ + {{ "important" | i18n }} + {{ "enableAutotypeDescriptionTransitionKey" | i18n }} + {{ "editShortcut" | i18n }} +
-
-
- -
- {{ "important" | i18n }} {{ "enableAutotypeDescription" | i18n }} -
- {{ "confirmNewMasterPass" | i18n }} + {{ + flow === InputPasswordFlow.SetInitialPasswordAccountRegistration || + flow === InputPasswordFlow.SetInitialPasswordAuthedUser + ? ("confirmMasterPassword" | i18n) + : ("confirmNewMasterPass" | i18n) + }} { - throw new Error("Received pending auth request not supported."); - } + async handleAuthRequestNotificationClicked(event: SystemNotificationEvent): Promise {} - async receivedPendingAuthRequest(userId: UserId, notificationId: string): Promise { - throw new Error("Received pending auth request not supported."); - } + async receivedPendingAuthRequest(userId: UserId, notificationId: string): Promise {} } diff --git a/libs/common/src/platform/server-notifications/internal/default-server-notifications.service.ts b/libs/common/src/platform/server-notifications/internal/default-server-notifications.service.ts index e8ac93dc61f..6d0728ab65d 100644 --- a/libs/common/src/platform/server-notifications/internal/default-server-notifications.service.ts +++ b/libs/common/src/platform/server-notifications/internal/default-server-notifications.service.ts @@ -172,6 +172,7 @@ export class DefaultServerNotificationsService implements ServerNotificationsSer private hasAccessToken$(userId: UserId) { return this.configService.getFeatureFlag$(FeatureFlag.PushNotificationsWhenLocked).pipe( + distinctUntilChanged(), switchMap((featureFlagEnabled) => { if (featureFlagEnabled) { return this.authService.authStatusFor$(userId).pipe( @@ -305,11 +306,23 @@ export class DefaultServerNotificationsService implements ServerNotificationsSer startListening() { return this.notifications$ .pipe( - mergeMap(async ([notification, userId]) => this.processNotification(notification, userId)), + mergeMap(async ([notification, userId]) => { + try { + await this.processNotification(notification, userId); + } catch (err: unknown) { + this.logService.error( + `Problem processing notification of type ${notification.type}`, + err, + ); + } + }), ) .subscribe({ - error: (e: unknown) => - this.logService.warning("Error in server notifications$ observable", e), + error: (err: unknown) => + this.logService.error( + "Fatal error in server notifications$ observable, notifications won't be recieved anymore.", + err, + ), }); } diff --git a/libs/common/src/platform/services/sdk/default-sdk.service.ts b/libs/common/src/platform/services/sdk/default-sdk.service.ts index 210e1bdc59b..2713aaf8f4b 100644 --- a/libs/common/src/platform/services/sdk/default-sdk.service.ts +++ b/libs/common/src/platform/services/sdk/default-sdk.service.ts @@ -27,10 +27,9 @@ import { UnsignedSharedKey, } from "@bitwarden/sdk-internal"; -import { EncryptedOrganizationKeyData } from "../../../admin-console/models/data/encrypted-organization-key.data"; import { AccountInfo, AccountService } from "../../../auth/abstractions/account.service"; import { DeviceType } from "../../../enums/device-type.enum"; -import { EncryptedString } from "../../../key-management/crypto/models/enc-string"; +import { EncryptedString, EncString } from "../../../key-management/crypto/models/enc-string"; import { OrganizationId, UserId } from "../../../types/guid"; import { UserKey } from "../../../types/key"; import { Environment, EnvironmentService } from "../../abstractions/environment.service"; @@ -220,7 +219,7 @@ export class DefaultSdkService implements SdkService { kdfParams: KdfConfig, privateKey: EncryptedString, userKey: UserKey, - orgKeys: Record | null, + orgKeys: Record, ) { await client.crypto().initialize_user_crypto({ userId: asUuid(userId), @@ -245,9 +244,7 @@ export class DefaultSdkService implements SdkService { // null to make sure any existing org keys are cleared. await client.crypto().initialize_org_crypto({ organizationKeys: new Map( - Object.entries(orgKeys ?? {}) - .filter(([_, v]) => v.type === "organization") - .map(([k, v]) => [asUuid(k), v.key as UnsignedSharedKey]), + Object.entries(orgKeys).map(([k, v]) => [asUuid(k), v.toJSON() as UnsignedSharedKey]), ), }); diff --git a/libs/common/src/vault/abstractions/cipher.service.ts b/libs/common/src/vault/abstractions/cipher.service.ts index 7eb2d4b0656..7971b6d4658 100644 --- a/libs/common/src/vault/abstractions/cipher.service.ts +++ b/libs/common/src/vault/abstractions/cipher.service.ts @@ -257,6 +257,10 @@ export abstract class CipherService implements UserKeyRotationDataProvider; /** diff --git a/libs/common/src/vault/services/cipher.service.ts b/libs/common/src/vault/services/cipher.service.ts index f6e12e71edd..2ad4274c235 100644 --- a/libs/common/src/vault/services/cipher.service.ts +++ b/libs/common/src/vault/services/cipher.service.ts @@ -1544,11 +1544,13 @@ export class CipherService implements CipherServiceAbstraction { return encryptedCiphers; } + /** @inheritdoc */ async getDecryptedAttachmentBuffer( cipherId: CipherId, attachment: AttachmentView, response: Response, userId: UserId, + useLegacyDecryption?: boolean, ): Promise { const useSdkDecryption = await this.configService.getFeatureFlag( FeatureFlag.PM19941MigrateCipherDomainToSdk, @@ -1558,7 +1560,7 @@ export class CipherService implements CipherServiceAbstraction { this.ciphers$(userId).pipe(map((ciphersData) => new Cipher(ciphersData[cipherId]))), ); - if (useSdkDecryption) { + if (useSdkDecryption && !useLegacyDecryption) { const encryptedContent = await response.arrayBuffer(); return this.cipherEncryptionService.decryptAttachmentContent( cipherDomain, diff --git a/libs/key-management/src/abstractions/key.service.ts b/libs/key-management/src/abstractions/key.service.ts index 1685938de3d..0f9618cbab9 100644 --- a/libs/key-management/src/abstractions/key.service.ts +++ b/libs/key-management/src/abstractions/key.service.ts @@ -1,6 +1,5 @@ import { Observable } from "rxjs"; -import { EncryptedOrganizationKeyData } from "@bitwarden/common/admin-console/models/data/encrypted-organization-key.data"; import { ProfileOrganizationResponse } from "@bitwarden/common/admin-console/models/response/profile-organization.response"; import { ProfileProviderOrganizationResponse } from "@bitwarden/common/admin-console/models/response/profile-provider-organization.response"; import { ProfileProviderResponse } from "@bitwarden/common/admin-console/models/response/profile-provider.response"; @@ -406,9 +405,7 @@ export abstract class KeyService { * @deprecated Temporary function to allow the SDK to be initialized after the login process, it * will be removed when auth has been migrated to the SDK. */ - abstract encryptedOrgKeys$( - userId: UserId, - ): Observable | null>; + abstract encryptedOrgKeys$(userId: UserId): Observable>; /** * Gets an observable stream of the users public key. If the user is does not have diff --git a/libs/key-management/src/key.service.ts b/libs/key-management/src/key.service.ts index ed0b844a2a4..53f7c6ed158 100644 --- a/libs/key-management/src/key.service.ts +++ b/libs/key-management/src/key.service.ts @@ -907,10 +907,57 @@ export class DefaultKeyService implements KeyServiceAbstraction { return this.cipherDecryptionKeys$(userId).pipe(map((keys) => keys?.orgKeys ?? null)); } - encryptedOrgKeys$( - userId: UserId, - ): Observable | null> { - return this.stateProvider.getUser(userId, USER_ENCRYPTED_ORGANIZATION_KEYS).state$; + encryptedOrgKeys$(userId: UserId): Observable> { + return this.userPrivateKey$(userId)?.pipe( + switchMap((userPrivateKey) => { + if (userPrivateKey == null) { + // We can't do any org based decryption + return of({}); + } + + return combineLatest([ + this.stateProvider.getUser(userId, USER_ENCRYPTED_ORGANIZATION_KEYS).state$, + this.providerKeysHelper$(userId, userPrivateKey), + ]).pipe( + switchMap(async ([encryptedOrgKeys, providerKeys]) => { + const userPubKey = await this.derivePublicKey(userPrivateKey); + + const result: Record = {}; + encryptedOrgKeys = encryptedOrgKeys ?? {}; + for (const orgId of Object.keys(encryptedOrgKeys) as OrganizationId[]) { + if (result[orgId] != null) { + continue; + } + const encrypted = BaseEncryptedOrganizationKey.fromData(encryptedOrgKeys[orgId]); + if (encrypted == null) { + continue; + } + + let orgKey: EncString; + + // Because the SDK only supports user encrypted org keys, we need to re-encrypt + // any provider encrypted org keys with the user's public key. This should be removed + // once the SDK has support for provider keys. + if (BaseEncryptedOrganizationKey.isProviderEncrypted(encrypted)) { + if (providerKeys == null) { + continue; + } + orgKey = await this.encryptService.encapsulateKeyUnsigned( + await encrypted.decrypt(this.encryptService, providerKeys!), + userPubKey!, + ); + } else { + orgKey = encrypted.encryptedOrganizationKey; + } + + result[orgId] = orgKey; + } + + return result; + }), + ); + }), + ); } cipherDecryptionKeys$(userId: UserId): Observable { diff --git a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.spec.ts b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.spec.ts index e3d863a0af3..c41e58f679e 100644 --- a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.spec.ts +++ b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.spec.ts @@ -15,6 +15,7 @@ import { AccountService } from "@bitwarden/common/auth/abstractions/account.serv import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { CollectionId, OrganizationId } from "@bitwarden/common/types/guid"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { SelectComponent } from "@bitwarden/components"; @@ -62,16 +63,22 @@ describe("ItemDetailsSectionComponent", () => { let mockPolicyService: MockProxy; const activeAccount$ = new BehaviorSubject<{ email: string }>({ email: "test@example.com" }); - const getInitialCipherView = jest.fn(() => null); + const getInitialCipherView = jest.fn(() => null); const initializedWithCachedCipher = jest.fn(() => false); + const disableFormFields = jest.fn(); + const enableFormFields = jest.fn(); beforeEach(async () => { getInitialCipherView.mockClear(); initializedWithCachedCipher.mockClear(); + disableFormFields.mockClear(); + enableFormFields.mockClear(); cipherFormProvider = mock({ getInitialCipherView, initializedWithCachedCipher, + disableFormFields, + enableFormFields, }); i18nService = mock(); i18nService.collator = { @@ -151,7 +158,7 @@ describe("ItemDetailsSectionComponent", () => { folderId: "folder1", collectionIds: ["col1"], favorite: true, - }); + } as CipherView); await component.ngOnInit(); tick(); @@ -420,7 +427,7 @@ describe("ItemDetailsSectionComponent", () => { folderId: "folder1", collectionIds: ["col1", "col2"], favorite: true, - }); + } as CipherView); component.config.organizations = [{ id: "org1" } as Organization]; component.config.collections = [ createMockCollection("col1", "Collection 1", "org1") as CollectionView, @@ -467,7 +474,7 @@ describe("ItemDetailsSectionComponent", () => { folderId: "folder1", collectionIds: ["col1", "col2", "col3"], favorite: true, - }); + } as CipherView); component.originalCipherView = { name: "cipher1", organizationId: "org1", @@ -513,6 +520,7 @@ describe("ItemDetailsSectionComponent", () => { expect(component["collectionOptions"].map((c) => c.id)).toEqual(["col1", "col2", "col3"]); }); }); + describe("readonlyCollections", () => { beforeEach(() => { component.config.mode = "edit"; @@ -594,4 +602,81 @@ describe("ItemDetailsSectionComponent", () => { expect(result).toBeUndefined(); }); }); + + describe("form status when editing a cipher", () => { + beforeEach(() => { + component.config.mode = "edit"; + component.config.originalCipher = new Cipher(); + component.originalCipherView = { + name: "cipher1", + organizationId: null, + folderId: "folder1", + collectionIds: ["col1", "col2", "col3"], + favorite: true, + } as unknown as CipherView; + }); + + describe("when personal ownership is not allowed", () => { + beforeEach(() => { + component.config.organizationDataOwnershipDisabled = false; // disallow personal ownership + component.config.organizations = [{ id: "orgId" } as Organization]; + }); + + describe("cipher does not belong to an organization", () => { + beforeEach(() => { + getInitialCipherView.mockReturnValue(component.originalCipherView!); + }); + + it("enables organizationId", async () => { + await component.ngOnInit(); + + expect(component.itemDetailsForm.controls.organizationId.disabled).toBe(false); + }); + + it("disables the rest of the form", async () => { + await component.ngOnInit(); + + expect(disableFormFields).toHaveBeenCalled(); + expect(enableFormFields).not.toHaveBeenCalled(); + }); + }); + + describe("cipher belongs to an organization", () => { + beforeEach(() => { + component.originalCipherView.organizationId = "org-id"; + getInitialCipherView.mockReturnValue(component.originalCipherView); + }); + + it("enables the rest of the form", async () => { + await component.ngOnInit(); + + expect(disableFormFields).not.toHaveBeenCalled(); + expect(enableFormFields).toHaveBeenCalled(); + }); + }); + }); + + describe("when an ownership change is not allowed", () => { + beforeEach(() => { + component.config.organizationDataOwnershipDisabled = true; // allow personal ownership + component.originalCipherView!.organizationId = undefined; + }); + + it("disables organizationId when the cipher is owned by an organization", async () => { + component.originalCipherView!.organizationId = "orgId"; + + await component.ngOnInit(); + + expect(component.itemDetailsForm.controls.organizationId.disabled).toBe(true); + }); + + it("disables organizationId when personal ownership is allowed and the user has no organizations available", async () => { + component.config.organizations = []; + + await component.ngOnInit(); + + expect(component.itemDetailsForm.controls.organizationId.disabled).toBe(true); + }); + }); + }); }); diff --git a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts index bc5e7c43d12..978675e6ad9 100644 --- a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts +++ b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts @@ -225,10 +225,9 @@ export class ItemDetailsSectionComponent implements OnInit { }); await this.updateCollectionOptions(this.initialValues?.collectionIds); } + this.setFormState(); - if (!this.allowOwnershipChange) { - this.itemDetailsForm.controls.organizationId.disable(); - } + this.itemDetailsForm.controls.organizationId.valueChanges .pipe( takeUntilDestroyed(this.destroyRef), @@ -241,22 +240,28 @@ export class ItemDetailsSectionComponent implements OnInit { } /** - * When the cipher does not belong to an organization but the user's organization - * requires all ciphers to be owned by an organization, disable the entire form - * until the user selects an organization. Once the organization is set, enable the form. - * Ensure to properly set the collections control state when the form is enabled. + * Updates the global form and organizationId control states. */ private setFormState() { if (this.config.originalCipher && !this.allowPersonalOwnership) { + // When editing a cipher and the user cannot have personal ownership + // and the cipher is is not within the organization - force the user to + // move the cipher within the organization first before editing any other field if (this.itemDetailsForm.controls.organizationId.value === null) { this.cipherFormContainer.disableFormFields(); this.itemDetailsForm.controls.organizationId.enable(); this.favoriteButtonDisabled = true; } else { + // The "after" from the above: When editing a cipher and the user cannot have personal ownership + // and the organization is populated - re-enable the global form. this.cipherFormContainer.enableFormFields(); this.favoriteButtonDisabled = false; this.setCollectionControlState(); } + } else if (!this.allowOwnershipChange) { + // When the user cannot change the organization field, disable the organizationId control. + // This could be because they aren't a part of an organization + this.itemDetailsForm.controls.organizationId.disable({ emitEvent: false }); } } diff --git a/libs/vault/src/cipher-view/cipher-view.component.html b/libs/vault/src/cipher-view/cipher-view.component.html index e65dd62500e..62425bba7b3 100644 --- a/libs/vault/src/cipher-view/cipher-view.component.html +++ b/libs/vault/src/cipher-view/cipher-view.component.html @@ -4,10 +4,14 @@ + {{ "changeAtRiskPasswordAndAddWebsite" | i18n }} + + + {{ "changeAtRiskPassword" | i18n }} @@ -39,7 +43,7 @@ *ngIf="hasLogin" [cipher]="cipher" [activeUserId]="activeUserId$ | async" - [hadPendingChangePasswordTask]="hadPendingChangePasswordTask" + [hadPendingChangePasswordTask]="hadPendingChangePasswordTask && cipher?.login.uris.length > 0" (handleChangePassword)="launchChangePassword()" > diff --git a/libs/vault/src/cipher-view/cipher-view.component.ts b/libs/vault/src/cipher-view/cipher-view.component.ts index 4f54e5d393a..1a294be46aa 100644 --- a/libs/vault/src/cipher-view/cipher-view.component.ts +++ b/libs/vault/src/cipher-view/cipher-view.component.ts @@ -139,6 +139,10 @@ export class CipherViewComponent implements OnChanges, OnDestroy { return !!this.cipher?.sshKey?.privateKey; } + get hasLoginUri() { + return this.cipher?.login?.hasUris; + } + async loadCipherData() { if (!this.cipher) { return; diff --git a/libs/vault/src/components/download-attachment/download-attachment.component.ts b/libs/vault/src/components/download-attachment/download-attachment.component.ts index 627ffafc6b2..8208887b888 100644 --- a/libs/vault/src/components/download-attachment/download-attachment.component.ts +++ b/libs/vault/src/components/download-attachment/download-attachment.component.ts @@ -92,6 +92,9 @@ export class DownloadAttachmentComponent { this.attachment, response, userId, + // When the emergency access ID is present, the cipher is being viewed via emergency access. + // Force legacy decryption in these cases. + this.emergencyAccessId ? true : false, ); this.fileDownloadService.download({ diff --git a/package-lock.json b/package-lock.json index 4bd1238b27e..1591480e3ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -131,7 +131,7 @@ "copy-webpack-plugin": "13.0.0", "cross-env": "10.0.0", "css-loader": "7.1.2", - "electron": "36.4.0", + "electron": "36.8.1", "electron-builder": "26.0.12", "electron-log": "5.4.0", "electron-reload": "2.0.0-alpha.1", @@ -20146,9 +20146,9 @@ } }, "node_modules/electron": { - "version": "36.4.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-36.4.0.tgz", - "integrity": "sha512-LLOOZEuW5oqvnjC7HBQhIqjIIJAZCIFjQxltQGLfEC7XFsBoZgQ3u3iFj+Kzw68Xj97u1n57Jdt7P98qLvUibQ==", + "version": "36.8.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-36.8.1.tgz", + "integrity": "sha512-honaH58/cyCb9QAzIvD+WXWuNIZ0tW9zfBqMz5wZld/rXB+LCTEDb2B3TAv8+pDmlzPlkPio95RkUe86l6MNjg==", "dev": true, "hasInstallScript": true, "license": "MIT", diff --git a/package.json b/package.json index 511424bc425..62ae69a2175 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "copy-webpack-plugin": "13.0.0", "cross-env": "10.0.0", "css-loader": "7.1.2", - "electron": "36.4.0", + "electron": "36.8.1", "electron-builder": "26.0.12", "electron-log": "5.4.0", "electron-reload": "2.0.0-alpha.1",