diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 476eb642b7..374b7ac622 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,32 @@ -Code contributions are welcome! Please commit any pull requests against the `master` branch. +# How to Contribute + +Contributions of all kinds are welcome! + +Please visit our [Community Forums](https://community.bitwarden.com/) for general community discussion and the development roadmap. + +Here is how you can get involved: + +* **Request a new feature:** Go to the [Feature Requests category](https://community.bitwarden.com/c/feature-requests/) of the Community Forums. Please search existing feature requests before making a new one + +* **Write code for a new feature:** Make a new post in the [Github Contributions category](https://community.bitwarden.com/c/github-contributions/) of the Community Forums. Include a description of your proposed contribution, screeshots, and links to any relevant feature requests. This helps get feedback from the community and Bitwarden team members before you start writing code + +* **Report a bug or submit a bugfix:** Use Github issues and pull requests + +* **Write documentation:** Submit a pull request to the [Bitwarden help repository](https://github.com/bitwarden/help) + +* **Help other users:** Go to the [User-to-User Support category](https://community.bitwarden.com/c/support/) on the Community Forums + +* **Translate:** See the localization (i10n) section below + +## Contributor Agreement + +Please sign the [Contributor Agreement](https://cla-assistant.io/bitwarden/browser) if you intend on contributing to any Github repository. Pull requests cannot be accepted and merged unless the author has signed the Contributor Agreement. + +## Pull Request Guidelines + +* use `npm run lint` and fix any linting suggestions before submitting a pull request +* commit any pull requests against the `master` branch +* include a link to your Community Forums post # Localization (l10n) diff --git a/jslib b/jslib index f30d6f8027..5e50aa1a19 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit f30d6f8027055507abfdefd1eeb5d9aab25cc601 +Subproject commit 5e50aa1a195bde11fdc14e9bdf71542766fdbb8d diff --git a/package.json b/package.json index 3da070d914..113bccba15 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "sub:update": "git submodule update --remote", "sub:pull": "git submodule foreach git pull origin master", "postinstall": "npm run sub:init", - "symlink:win": "rmdir /S /Q ./jslib && cmd /c mklink /J .\\jslib ..\\jslib", + "symlink:win": "rmdir /S /Q .\\jslib && cmd /c mklink /J .\\jslib ..\\jslib", "symlink:mac": "npm run symlink:lin", "symlink:lin": "rm -rf ./jslib && ln -s ../jslib ./jslib", "build": "gulp build && webpack", diff --git a/src/_locales/be/messages.json b/src/_locales/be/messages.json index b0d6ef9a62..d658e75b5a 100644 --- a/src/_locales/be/messages.json +++ b/src/_locales/be/messages.json @@ -35,19 +35,19 @@ "message": "Адрас эл. пошты" }, "masterPass": { - "message": "Майстар-пароль" + "message": "Асноўны пароль" }, "masterPassDesc": { - "message": "Майстар-пароль — ключ да вашага бяспечнага сховішча. Ён вельмі важны, таму не забывайце яго. Аднавіць майстар-пароль немагчыма." + "message": "Асноўны пароль — ключ да вашага бяспечнага сховішча. Ён вельмі важны, таму не забывайце яго. Аднавіць асноўны пароль немагчыма." }, "masterPassHintDesc": { - "message": "Падказка да майстра-пароля можа дапамагчы вам яго ўспомніць." + "message": "Падказка да асноўнага пароля можа дапамагчы вам яго ўспомніць." }, "reTypeMasterPass": { - "message": "Увядзіце майстар-пароль паўторна" + "message": "Увядзіце асноўны пароль паўторна" }, "masterPassHint": { - "message": "Падказка да майстра-пароля (неабавязкова)" + "message": "Падказка да асноўнага пароля (неабавязкова)" }, "tab": { "message": "Укладка" @@ -110,10 +110,10 @@ "message": "Падказка да пароля" }, "enterEmailToGetHint": { - "message": "Увядзіце адрас электроннай пошты ўліковага запісу для атрымання падказкі для пароля." + "message": "Увядзіце адрас электроннай пошты ўліковага запісу для атрымання падказкі для асноўнага пароля." }, "getMasterPasswordHint": { - "message": "Атрымаць падказку для майстра-пароля" + "message": "Атрымаць падказку для асноўнага пароля" }, "continue": { "message": "Працягнуць" @@ -125,7 +125,7 @@ "message": "Уліковы запіс" }, "changeMasterPassword": { - "message": "Змяніць майстар-пароль" + "message": "Змяніць асноўны пароль" }, "fingerprintPhrase": { "message": "Фраза адбітка пальца", @@ -303,10 +303,10 @@ "message": "Ваш вэб-браўзер не падтрымлівае капіяванне даных у буфер абмену. Скапіюйце іх уручную." }, "verifyMasterPassword": { - "message": "Праверыць майстар-пароль" + "message": "Праверыць асноўны пароль" }, "yourVaultIsLocked": { - "message": "Ваша сховішча заблакіравана. Каб працягнуць, увядзіце майстар-пароль." + "message": "Ваша сховішча заблакіравана. Каб працягнуць, увядзіце асноўны пароль." }, "unlock": { "message": "Разблакіраваць" @@ -325,7 +325,7 @@ } }, "invalidMasterPassword": { - "message": "Памылковы майстар-пароль" + "message": "Памылковы асноўны пароль" }, "vaultTimeout": { "message": "Таймаўт сховішча" @@ -388,19 +388,19 @@ "message": "Памылковы адрас электроннай пошты." }, "masterPassRequired": { - "message": "Патрабуецца майстар-пароль." + "message": "Патрабуецца асноўны пароль." }, "masterPassLength": { - "message": "Майстар-пароль павінен быць даўжынёй не менш за 8 сімвалаў." + "message": "Асноўны пароль павінен быць даўжынёй не менш за 8 сімвалаў." }, "masterPassDoesntMatch": { - "message": "Майстры-паролі не супадаюць." + "message": "Асноўныя паролі не супадаюць." }, "newAccountCreated": { "message": "Ваш уліковы запіс створаны! Вы можаце ўвайсці." }, "masterPassSent": { - "message": "Мы адправілі вам на электронную пошту падказку для майстра-пароля." + "message": "Мы адправілі вам на электронную пошту падказку для асноўнага пароля." }, "verificationCodeRequired": { "message": "Патрабуецца код праверкі." @@ -443,10 +443,10 @@ "message": "Папка дададзена" }, "changeMasterPass": { - "message": "Змяніць майстар-пароль" + "message": "Змяніць асноўны пароль" }, "changeMasterPasswordConfirmation": { - "message": "Вы можаце змяніць свой майстар-пароль на bitwarden.com. Перайсці на сайт зараз?" + "message": "Вы можаце змяніць свой асноўны пароль на bitwarden.com. Перайсці на сайт зараз?" }, "twoStepLoginConfirmation": { "message": "Двухэтапны ўваход робіць ваш уліковы запіс больш бяспечным, патрабуючы пацвярджэння ўваходу на іншай прыладзе, напрыклад, ключом бяспекі, праграмай для праверкі бяспекі, SMS, тэлефонным выклікам або электроннай поштай. Двухэтапны ўваход уключаецца на bitwarden.com. Перайсці на сайт зараз?" @@ -610,7 +610,7 @@ "message": "Экспартуемы файл утрымлівае даныя вашага сховішча ў незашыфраваным фармаце. Яго не варта захоўваць ці адпраўляць па небяспечным каналам (напрыклад, па электроннай пошце). Выдаліце яго адразу пасля выкарыстання." }, "exportMasterPassword": { - "message": "Увядзіце ваш майстар-пароль для экспарту даных са сховішча." + "message": "Увядзіце ваш асноўны пароль для экспарту даных са сховішча." }, "shared": { "message": "Абагуленыя" @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Стварыць і капіяваць новы выпадковы парольу буфер абмену." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "На жаль, гэта акно недаступна ў прыватным акне гэтага браўзара." }, @@ -1220,10 +1223,10 @@ "description": "ex. A weak password. Scale: Weak -> Good -> Strong" }, "weakMasterPassword": { - "message": "Слабы майстар-пароль" + "message": "Слабы асноўны пароль" }, "weakMasterPasswordDesc": { - "message": "Майстар-пароль, выбраны вамі, з'яўляецца слабым. Для належнай абароны ўліковага запісу Bitwarden, вам належыць выкарыстоўваць моцны майстар-пароль (або парольную фразу). Вы ўпэўнены, што хочаце выкарыстоўваць гэты майстар-пароль?" + "message": "Асноўны пароль, выбраны вамі, з'яўляецца слабым. Для належнай абароны ўліковага запісу Bitwarden, вы павінны выкарыстоўваць моцны асноўны пароль (або парольную фразу). Вы ўпэўнены, што хочаце выкарыстоўваць гэты асноўны пароль?" }, "pin": { "message": "PIN-код", @@ -1248,7 +1251,7 @@ "message": "Ваша сховішча заблакіравана. Каб працягнуць, увядзіце PIN-код." }, "lockWithMasterPassOnRestart": { - "message": "Блакіраваць майстрам-паролем пры перазапуску браўзера" + "message": "Блакіраваць асноўным паролем пры перазапуску браўзера" }, "selectOneCollection": { "message": "Вы павінны выбраць прынамсі адну калекцыю." @@ -1301,7 +1304,7 @@ "message": "Пацвярджэнне дзеяння для таймаута" }, "autoFillAndSave": { - "message": "Auto-fill and Save" + "message": "Запоўніць і захаваць" }, "autoFillSuccessAndSavedUri": { "message": "Auto-filled Item and Saved URI" @@ -1310,10 +1313,10 @@ "message": "Auto-filled Item" }, "setMasterPassword": { - "message": "Set 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$", @@ -1352,6 +1355,18 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." + "message": "Ваш новы асноўны пароль не адпавядае патрабаванням палітыкі арганізацыі." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/bg/messages.json b/src/_locales/bg/messages.json index 76209fdb3e..542c5818de 100644 --- a/src/_locales/bg/messages.json +++ b/src/_locales/bg/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Създаване и копиране на нова случайна парола в буфера." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "За жалост този прозорец не може да се ползва в изолирани раздели на браузъра ви." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Паролата ви не отговаря на политиките." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/ca/messages.json b/src/_locales/ca/messages.json index 39580d8582..bc9c2c87cc 100644 --- a/src/_locales/ca/messages.json +++ b/src/_locales/ca/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Genera i copia una nova contrasenya aleatòria al porta-retalls." }, + "commandLockVaultDesc": { + "message": "Tanca la caixa forta" + }, "privateModeMessage": { "message": "Malauradament, aquesta finestra no està disponible en el mode privat d'aquest navegador." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "La nova contrasenya principal no compleix els requisits de la política." + }, + "acceptPolicies": { + "message": "Si activeu aquesta casella, indiqueu que esteu d’acord amb el següent:" + }, + "acceptPoliciesError": { + "message": "No s’han reconegut les condicions del servei i la declaració de privadesa." + }, + "termsOfService": { + "message": "Condicions del servei" + }, + "privacyPolicy": { + "message": "Declaració de privadesa" } } diff --git a/src/_locales/cs/messages.json b/src/_locales/cs/messages.json index d58bfdd0a4..393f90f506 100644 --- a/src/_locales/cs/messages.json +++ b/src/_locales/cs/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Vygenerovat a zkopírovat nové náhodné heslo do schránky." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Bohužel toto okno není v tomto prohlížeči k dispozici v soukromém režimu." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Vaše nové hlavní heslo nesplňuje požadavky zásad." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/da/messages.json b/src/_locales/da/messages.json index 2e95aa0277..5300d409bf 100644 --- a/src/_locales/da/messages.json +++ b/src/_locales/da/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generér en ny tilfældig adgangskode og kopiér den til udklipsholderen" }, + "commandLockVaultDesc": { + "message": "Lås boksen" + }, "privateModeMessage": { "message": "Desværre er dette vindue ikke tilgængelig i privat modus i denne browser." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Din nye hovedadgangskode opfylder ikke politikkravene." + }, + "acceptPolicies": { + "message": "Ved at markere dette felt accepterer du følgende:" + }, + "acceptPoliciesError": { + "message": "Servicevilkår og fortrolighedspolitik er ikke blevet bekræftet." + }, + "termsOfService": { + "message": "Servicevilkår" + }, + "privacyPolicy": { + "message": "Fortrolighedspolitik" } } diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json index 958ebaf4e1..eb0b4b155d 100644 --- a/src/_locales/de/messages.json +++ b/src/_locales/de/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Ein neues zufälliges Passwort generieren und in die Zwischenablage kopieren" }, + "commandLockVaultDesc": { + "message": "Den Tresor sperren" + }, "privateModeMessage": { "message": "Leider ist dieses Fenster nicht im privaten Modus für diesen Browser verfügbar." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Ihr neues Master-Passwort entspricht nicht den Anforderungen der Richtlinie." + }, + "acceptPolicies": { + "message": "Durch Anwählen dieses Kästchens erklären Sie sich mit folgendem einverstanden:" + }, + "acceptPoliciesError": { + "message": "Die Nutzungsbedingungen und Datenschutzerklärung wurden nicht akzeptiert." + }, + "termsOfService": { + "message": "Nutzungsbedingungen" + }, + "privacyPolicy": { + "message": "Datenschutzbestimmungen" } } diff --git a/src/_locales/el/messages.json b/src/_locales/el/messages.json index 1c27a4b1a8..d0532867c8 100644 --- a/src/_locales/el/messages.json +++ b/src/_locales/el/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Δημιουργήστε και αντιγράψτε έναν νέο τυχαίο κωδικό πρόσβασης στο πρόχειρο" }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Δυστυχώς, αυτό το παράθυρο δεν είναι διαθέσιμο σε ιδιωτική λειτουργία για αυτό το πρόγραμμα περιήγησης." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index 028715b054..3cc0ec787e 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generate and copy a new random password to the clipboard" }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Unfortunately this window is not available in private mode for this browser." }, @@ -1363,6 +1366,18 @@ "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" + }, "ok": { "message": "Ok" }, diff --git a/src/_locales/en_GB/messages.json b/src/_locales/en_GB/messages.json index 0d957d474f..25502bece0 100644 --- a/src/_locales/en_GB/messages.json +++ b/src/_locales/en_GB/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generate and copy a new random password to the clipboard." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Unfortunately this window is not available in private mode for this browser." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of service and privacy policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of service" + }, + "privacyPolicy": { + "message": "Privacy policy" } } diff --git a/src/_locales/en_IN/messages.json b/src/_locales/en_IN/messages.json index 0b5fac0625..02148b474f 100644 --- a/src/_locales/en_IN/messages.json +++ b/src/_locales/en_IN/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generate and copy a new random password to the clipboard." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Unfortunately this window is not available in private mode for this browser." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json index fc101d7d19..3bbeb1b26c 100644 --- a/src/_locales/es/messages.json +++ b/src/_locales/es/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generar y copiar una nueva contraseña aleatoria al portapapeles." }, + "commandLockVaultDesc": { + "message": "Bloquear la caja fuerte" + }, "privateModeMessage": { "message": "Lamentablemente esta ventana no está disponible en el modo privado de este navegador." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Su nueva contraseña maestra no cumple con los requisitos de la política." + }, + "acceptPolicies": { + "message": "Al seleccionar esta casilla, acepta lo siguiente:" + }, + "acceptPoliciesError": { + "message": "Todavía no has aceptado los términos del servicio y la política de privacidad." + }, + "termsOfService": { + "message": "Términos y condiciones del servicio" + }, + "privacyPolicy": { + "message": "Política de privacidad" } } diff --git a/src/_locales/et/messages.json b/src/_locales/et/messages.json index 9b5d1d2ad2..d8651bdfb3 100644 --- a/src/_locales/et/messages.json +++ b/src/_locales/et/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Loo ja kopeeri uus juhuslikult koostatud parool lõikepuhvrisse." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Kahjuks ei toeta kasutatav brauser seda akent privaatses režiimis." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Uus ülemparool ei vasta eeskirjades väljatoodud tingimustele." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/fa/messages.json b/src/_locales/fa/messages.json index c519aa20c9..e09eacaeea 100644 --- a/src/_locales/fa/messages.json +++ b/src/_locales/fa/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "یک کلمه عبور تصادفی جدید ایجاد کنید و آن را در کلیپ بورد کپی کنید." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "متأسفانه این پنجره در حالت خصوصی برای این مرورگر در دسترس نیست." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "کلمه عبور اصلی جدید شما از شرایط سیاست پپیروی نمی کند." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/fi/messages.json b/src/_locales/fi/messages.json index c3c8006bb1..4d576723ce 100644 --- a/src/_locales/fi/messages.json +++ b/src/_locales/fi/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Luo uusi satunnainen salasana ja kopioi se leikepöydälle." }, + "commandLockVaultDesc": { + "message": "Lukitse holvi" + }, "privateModeMessage": { "message": "Valitettavasti tämä ikkuna ei ole saatavilla tämän selaimen yksityisyystilassa." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Uusi pääsalasanasi ei täytä käytäntövaatimuksia." + }, + "acceptPolicies": { + "message": "Valitsemalla tämän ruudun hyväksyt seuraavat:" + }, + "acceptPoliciesError": { + "message": "Palvelu- ja tietosuojakäytäntöä ei ole vahvistettu." + }, + "termsOfService": { + "message": "Käyttöehdot" + }, + "privacyPolicy": { + "message": "Tietosuojakäytäntö" } } diff --git a/src/_locales/fr/messages.json b/src/_locales/fr/messages.json index 6c855c87d1..cd3872b8df 100644 --- a/src/_locales/fr/messages.json +++ b/src/_locales/fr/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Générer et copier un nouveau mot de passe aléatoire dans le presse-papiers." }, + "commandLockVaultDesc": { + "message": "Verrouiller le coffre" + }, "privateModeMessage": { "message": "Malheureusement cette fenêtre n'est pas disponible en navigation privée pour ce navigateur." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Votre nouveau mot de passe maître ne répond pas aux exigences de la politique." + }, + "acceptPolicies": { + "message": "En cochant cette case, vous acceptez les éléments suivants :" + }, + "acceptPoliciesError": { + "message": "Les conditions d'utilisation et la politique de confidentialité n'ont pas été acceptées." + }, + "termsOfService": { + "message": "Conditions d'utilisation" + }, + "privacyPolicy": { + "message": "Politique de confidentialité" } } diff --git a/src/_locales/he/messages.json b/src/_locales/he/messages.json index e250fe6bcb..a6b4642144 100644 --- a/src/_locales/he/messages.json +++ b/src/_locales/he/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "צור והעתק סיסמה רנדומלית חדשה." }, + "commandLockVaultDesc": { + "message": "נעילת הכספת" + }, "privateModeMessage": { "message": "לצערנו חלון זה אינו זמין במצב גלישה פרטית בדפדפן זה." }, @@ -1158,7 +1161,7 @@ "message": "הצגה\\הסתרה של אפשרויות" }, "toggleCurrentUris": { - "message": "החלפת הכתובות המלאות הנוכחיות", + "message": "שנה מצב הצגת כתובות URI", "description": "Toggle the display of the URIs of the currently open tabs in the browser." }, "currentUri": { @@ -1301,22 +1304,22 @@ "message": "אישור פעולת אימות לאחר חוסר פעילות" }, "autoFillAndSave": { - "message": "השלמה אוטומטית ושמירה" + "message": "בצע השלמה אוטומטית ושמור" }, "autoFillSuccessAndSavedUri": { - "message": "פריט שמולא אוטומטית וכתובת מלאה שנשמרה" + "message": "בוצעה השלמה אוטומטית והכתובת נשמרה" }, "autoFillSuccess": { - "message": "פריט שמולא אוטומטית" + "message": "בוצעה השלמה אוטומטית" }, "setMasterPassword": { - "message": "הגדרת סיסמה ראשית" + "message": "הגדר סיסמה ראשית" }, "masterPasswordPolicyInEffect": { "message": "אחד או יותר מאילוצי המדיניות של הארגון דורשים שהסיסמה הראשית שלך תעמוד בדרישות הבאות:" }, "policyInEffectMinComplexity": { - "message": "ניקוד מורכבות מזערי של $SCORE$", + "message": "ניקוד מורכבות הסיסמה צריך להיות לפחות {0}", "placeholders": { "score": { "content": "$1", @@ -1325,7 +1328,7 @@ } }, "policyInEffectMinLength": { - "message": "אורך מזערי של $LENGTH$", + "message": "אורך מינימלי של $LENGTH$", "placeholders": { "length": { "content": "$1", @@ -1334,16 +1337,16 @@ } }, "policyInEffectUppercase": { - "message": "תכיל אות גדולה אחת או יותר" + "message": "מכילה אות גדולה אחת או יותר" }, "policyInEffectLowercase": { - "message": "תכיל אות קטנה אחת או יותר" + "message": "מכילה אות קטנה אחת או יותר" }, "policyInEffectNumbers": { - "message": "תכיל ספרה אחת או יותר" + "message": "מכילה ספרה אחת או יותר" }, "policyInEffectSpecial": { - "message": "תכיל תו מיוחד אחד או יותר מבין התווים האלו $CHARS$", + "message": "מכילה תו אחד או יותר מהתווים הבאים: {0}", "placeholders": { "chars": { "content": "$1", @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "הסיסמה הראשית החדשה השלך לא עומדת בדרישות המדיניות." + }, + "acceptPolicies": { + "message": "סימון התיבה הזאת מהווה את הסכמתך לתנאים הבאים:" + }, + "acceptPoliciesError": { + "message": "לא הסכמת לתנאי השירות ומדיניות הפרטיות." + }, + "termsOfService": { + "message": "תנאי השירות" + }, + "privacyPolicy": { + "message": "מדיניות הפרטיות" } } diff --git a/src/_locales/hi/messages.json b/src/_locales/hi/messages.json index 3384b7ff5a..7e09db094b 100644 --- a/src/_locales/hi/messages.json +++ b/src/_locales/hi/messages.json @@ -425,19 +425,19 @@ "message": "Your login session has expired." }, "logOutConfirmation": { - "message": "Are you sure you want to log out?" + "message": "क्या आप वाकई लॉग आउट करना चाहते हैं?" }, "yes": { - "message": "Yes" + "message": "हाँ" }, "no": { - "message": "No" + "message": "नहीं" }, "unexpectedError": { "message": "An unexpected error has occured." }, "nameRequired": { - "message": "Name is required." + "message": "नाम आवश्यक है" }, "addedFolder": { "message": "Added folder" @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generate and copy a new random password to the clipboard." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Unfortunately this window is not available in private mode for this browser." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/hr/messages.json b/src/_locales/hr/messages.json index a9f7dd34fd..56ede02c06 100644 --- a/src/_locales/hr/messages.json +++ b/src/_locales/hr/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generirajte i kopirajte novu nasumičnu lozinku u međuspremnik." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Nažalost, ovaj prozor nije dostupan u privatnom načinu za ovaj preglednik." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/hu/messages.json b/src/_locales/hu/messages.json index a97387d16d..46dfba0f80 100644 --- a/src/_locales/hu/messages.json +++ b/src/_locales/hu/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Új véletlenszerű jelszó generálása ás másolása a vágólapra." }, + "commandLockVaultDesc": { + "message": "A széf zárolása" + }, "privateModeMessage": { "message": "Ebben a böngészőben ez az ablak sajnos nem érhető el privát módban." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Az új mesterjelszó nem felel meg a szabály követelményeknek." + }, + "acceptPolicies": { + "message": "A doboz bejelölésével elfogadjuk a következőket:" + }, + "acceptPoliciesError": { + "message": "A szolgáltatási feltételeket és az adatvédelmi irányelveket nem vették figyelembe." + }, + "termsOfService": { + "message": "Szolgáltatási feltételek" + }, + "privacyPolicy": { + "message": "Adatvédelem" } } diff --git a/src/_locales/id/messages.json b/src/_locales/id/messages.json index 83d6fedd04..c217e2e61f 100644 --- a/src/_locales/id/messages.json +++ b/src/_locales/id/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Buat dan salin sandi acak baru ke clipboard." }, + "commandLockVaultDesc": { + "message": "Kunci brankas" + }, "privateModeMessage": { "message": "Sayangnya jendela ini tidak tersedia di mode pribadi untuk peramban ini." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Kata sandi utama Anda yang baru tidak memenuhi persyaratan kebijakan." + }, + "acceptPolicies": { + "message": "Dengan mencentang kotak ini, anda menyetujui yang berikut:" + }, + "acceptPoliciesError": { + "message": "Persyaratan Layanan dan Kebijakan Privasi belum diakui." + }, + "termsOfService": { + "message": "Persyaratan Layanan" + }, + "privacyPolicy": { + "message": "Kebijakan Privasi" } } diff --git a/src/_locales/it/messages.json b/src/_locales/it/messages.json index 65b96ab830..4d4afbd962 100644 --- a/src/_locales/it/messages.json +++ b/src/_locales/it/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Genera e copia una nuova password casuale negli appunti." }, + "commandLockVaultDesc": { + "message": "Blocca il portachiavi" + }, "privateModeMessage": { "message": "Purtroppo questa finestra non è disponibile nella modalità anonima per questo browser." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "La tua nuova password principale non soddisfa i requisiti di sicurezza." + }, + "acceptPolicies": { + "message": "Selezionando questa casella accetti quanto segue:" + }, + "acceptPoliciesError": { + "message": "I Termini di Servizio e l'Informativa sulla Privacy non sono stati accettati." + }, + "termsOfService": { + "message": "Termini del servizio" + }, + "privacyPolicy": { + "message": "Informativa sulla privacy" } } diff --git a/src/_locales/ja/messages.json b/src/_locales/ja/messages.json index a54c72a2a0..fe1167ce09 100644 --- a/src/_locales/ja/messages.json +++ b/src/_locales/ja/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "ランダムなパスワードを生成してクリップボードにコピーします。" }, + "commandLockVaultDesc": { + "message": "保管庫をロック" + }, "privateModeMessage": { "message": "このウインドウはこのブラウザのプライベートモードでは使用できません。" }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "新しいマスターパスワードは最低要件を満たしていません。" + }, + "acceptPolicies": { + "message": "以下に同意しチェックします:" + }, + "acceptPoliciesError": { + "message": "利用規約とプライバシーポリシーを確認してください。" + }, + "termsOfService": { + "message": "サービス利用規約" + }, + "privacyPolicy": { + "message": "プライバシーポリシー" } } diff --git a/src/_locales/ko/messages.json b/src/_locales/ko/messages.json index d09081a31c..fd3f82df6d 100644 --- a/src/_locales/ko/messages.json +++ b/src/_locales/ko/messages.json @@ -20,7 +20,7 @@ "message": "로그인" }, "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" + "message": "엔터프라이즈 통합 인증 (SSO)" }, "cancel": { "message": "취소" @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "새 무작위 비밀번호를 만들고 클립보드에 복사합니다." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "죄송합니다. 이 브라우저에서는 시크릿 창에서 이 창을 사용할 수 없습니다." }, @@ -1325,7 +1328,7 @@ } }, "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", + "message": "최소 길이 $LENGTH$", "placeholders": { "length": { "content": "$1", @@ -1343,7 +1346,7 @@ "message": "하나 이상의 숫자 포함" }, "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", + "message": "하나 이상의 특수문자 포함 $CHARS$", "placeholders": { "chars": { "content": "$1", @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "새 마스터 비밀번호가 정책 요구 사항을 따르지 않습니다." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/lv/messages.json b/src/_locales/lv/messages.json index ab5b0da1e1..f1be962e47 100644 --- a/src/_locales/lv/messages.json +++ b/src/_locales/lv/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generate and copy a new random password to the clipboard" }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Diemžēl šis logs nav pieejams privātajā režīmā šajā pārlūkā." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/ml/messages.json b/src/_locales/ml/messages.json index fd999c9990..71b8487d4c 100644 --- a/src/_locales/ml/messages.json +++ b/src/_locales/ml/messages.json @@ -416,7 +416,7 @@ } }, "autofillError": { - "message": "Unable to auto-fill the selected item on this page. Copy and paste the information instead." + "message": "ഈ പേജിൽ തിരഞ്ഞെടുത്ത ഇനം യാന്ത്രികമായി പൂരിപ്പിക്കാൻ കഴിയില്ല. പകരം വിവരങ്ങൾ പകർത്തി ഒട്ടിക്കുക." }, "loggedOut": { "message": "ലോഗേഡ് ഔട്ട്" @@ -532,55 +532,55 @@ "message": "ടാബ് പേജിൽ കാർഡുകൾ കാണിക്കരുത്" }, "dontShowCardsCurrentTabDesc": { - "message": "Card items from your vault are listed on the 'Current Tab' page for easy auto-fill access." + "message": "സ്വപ്രേരിതമായി പൂരിപ്പിക്കുന്നതിന് നിങ്ങളുടെ നിലവറയിൽ നിന്നുള്ള കാർഡ് ഇനങ്ങൾ 'നിലവിലെ ടാബ്' പേജിൽ പട്ടികപ്പെടുത്തിയിട്ടുണ്ട്." }, "dontShowIdentitiesCurrentTab": { "message": "ടാബ് പേജിൽ ഐഡന്റിറ്റികൾ കാണിക്കരുത്" }, "dontShowIdentitiesCurrentTabDesc": { - "message": "Identity items from your vault are listed on the 'Current Tab' page for easy auto-fill access." + "message": "സ്വയമേവ എളുപ്പത്തിൽ പൂരിപ്പിക്കുന്നതിന് നിങ്ങളുടെ നിലവറയിൽ നിന്നുള്ള ഐഡന്റിറ്റി ഇനങ്ങൾ 'നിലവിലെ ടാബ്' പേജിൽ പട്ടികപ്പെടുത്തിയിട്ടുണ്ട്." }, "clearClipboard": { "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": "നിങ്ങൾ‌ക്കായി ഈ പാസ്‌വേഡ് ബിറ്റ്‌വർ‌ഡൻ‌ ഓർത്തിരിക്കണോ?" }, "notificationAddSave": { "message": "ശരി, ഇപ്പോൾ സംരക്ഷിക്കുക" }, "notificationNeverSave": { - "message": "Never for this website" + "message": "ഈ വെബ്‌സൈറ്റിനായി ഒരിക്കലും" }, "disableChangedPasswordNotification": { - "message": "Disable Changed Password Notification" + "message": "മാറ്റിയ പാസ്‌വേഡ് അറിയിപ്പ് പ്രവർത്തനരഹിതമാക്കുക" }, "disableChangedPasswordNotificationDesc": { - "message": "The \"Changed Password Notification\" automatically prompts you to update a login's password in your vault whenever it detects that you have changed it on a website." + "message": "ഒരു വെബ്‌സൈറ്റിൽ നിങ്ങൾ അത് മാറ്റിയതായി കണ്ടെത്തുമ്പോഴെല്ലാം നിങ്ങളുടെ നിലവറയിൽ ഒരു ലോഗിൻ പാസ്‌വേഡ് അപ്‌ഡേറ്റുചെയ്യാൻ \"മാറ്റിയ പാസ്‌വേഡ് അറിയിപ്പ്\" യാന്ത്രികമായി ആവശ്യപ്പെടുന്നു." }, "notificationChangeDesc": { - "message": "Do you want to update this password in Bitwarden?" + "message": "ബിറ്റ്വാർഡനിൽ ഈ പാസ്‌വേഡ് അപ്‌ഡേറ്റ് ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?" }, "notificationChangeSave": { "message": "ശരി, ഇപ്പോൾ അപ്ഡേറ്റ് ചെയ്യുക" }, "disableContextMenuItem": { - "message": "Disable Context Menu Options" + "message": "സന്ദർഭ മെനു ഓപ്ഷനുകൾ അപ്രാപ്തമാക്കുക" }, "disableContextMenuItemDesc": { - "message": "Context menu options provide quick access to password generation and logins for the website in your current tab." + "message": "നിങ്ങളുടെ നിലവിലെ ടാബിലെ വെബ്‌സൈറ്റിനായുള്ള പാസ്‌വേഡ് ജനറേഷനിലേക്കും ലോഗിനുകളിലേക്കും സന്ദർഭ മെനു ഓപ്ഷനുകൾ ദ്രുത പ്രവേശനം നൽകുന്നു." }, "defaultUriMatchDetection": { "message": "സാധാരണ URI പൊരുത്തം കണ്ടെത്തൽ", "description": "Default URI match detection for auto-fill." }, "defaultUriMatchDetectionDesc": { - "message": "Choose the default way that URI match detection is handled for logins when performing actions such as auto-fill." + "message": "യാന്ത്രിക പൂരിപ്പിക്കൽ പോലുള്ള പ്രവർത്തനങ്ങൾ നടത്തുമ്പോൾ ലോഗിനുകൾക്കായി യുആർഐ മാച്ച് ഡിറ്റക്ഷൻ കൈകാര്യം ചെയ്യുന്ന സ്ഥിരസ്ഥിതി മാർഗം തിരഞ്ഞെടുക്കുക." }, "theme": { "message": "തീം" @@ -664,7 +664,7 @@ "message": "അറ്റാച്ചുമെന്റുകൾ ഇല്ല." }, "attachmentSaved": { - "message": "The attachment has been saved." + "message": "അറ്റാച്ചുമെന്റ് സംരക്ഷിച്ചു." }, "file": { "message": "ഫയൽ" @@ -703,13 +703,13 @@ "message": "ഫയൽ അറ്റാച്ചുമെന്റുകൾക്കായി 1 ജിബി എൻക്രിപ്റ്റുചെയ്‌ത സംഭരണം." }, "ppremiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." + "message": "രണ്ട്-ഘട്ട പ്രവേശന ഓപ്ഷനുകളായ Yubikey, FIDO U2F, Duo." }, "ppremiumSignUpReports": { "message": "നിങ്ങളുടെ വാൾട് സൂക്ഷിക്കുന്നതിന്. പാസ്‌വേഡ് ശുചിത്വം, അക്കൗണ്ട് ആരോഗ്യം, ഡാറ്റ ലംഘന റിപ്പോർട്ടുകൾ." }, "ppremiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." + "message": "നിങ്ങളുടെ വാൾട്ടിലെ പ്രവേശനങ്ങൾക്കായി TOTP പരിശോധന കോഡ് (2FA) സൃഷ്ടാവ്." }, "ppremiumSignUpSupport": { "message": "മുൻ‌ഗണന ഉപഭോക്തൃ പിന്തുണ." @@ -793,16 +793,16 @@ "message": "പ്രവേശനം ലഭ്യമല്ല" }, "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." + "message": "ഈ അക്കൗണ്ടിന് രണ്ട്-ഘട്ട പ്രവേശനം പ്രാപ്തമാക്കിയിട്ടുണ്ട്, എന്നിരുന്നാലും, ക്രമീകരിച്ച രണ്ട്-ഘട്ട ദാതാക്കളെയൊന്നും ഈ ഉപകരണം പിന്തുണയ്ക്കുന്നില്ല." }, "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." + "message": "മികച്ച പിന്തുണയുള്ള, കൂടുതൽ ദാതാക്കളെ ദയവായി ചേർക്കുക (ഒരു ഓതന്റിക്കേറ്റർ അപ്ലിക്കേഷൻ പോലുള്ളവ)." }, "twoStepOptions": { "message": "രണ്ട്-ഘട്ട പ്രവേശനം ഓപ്ഷനുകൾ" }, "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." + "message": "നിങ്ങളുടെ രണ്ട്-ഘടക ദാതാക്കളിലേക്കുള്ള ആക്‌സസ്സ് നഷ്‌ടപ്പെട്ടോ? നിങ്ങളുടെ അക്കൗണ്ടിൽ നിന്ന് രണ്ട്-ഘടക ദാതാക്കളെ പ്രവർത്തനരഹിതമാക്കാൻ നിങ്ങളുടെ റിക്കവറി കോഡ് ഉപയോഗിക്കുക." }, "recoveryCodeTitle": { "message": "റിക്കവറി കോഡ്" @@ -811,25 +811,25 @@ "message": "ഓതന്റിക്കേറ്റർ ആപ്പ്" }, "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", + "message": "സമയ-അടിസ്ഥാന പരിശോധന കോഡുകൾ സൃഷ്ടിക്കുന്നതിന് ഒരു ഓതന്റിക്കേറ്റർ അപ്ലിക്കേഷൻ (ഓത്തി അല്ലെങ്കിൽ Google ഓതന്റിക്കേറ്റർ പോലുള്ളവ) ഉപയോഗിക്കുക.", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { "message": "YubiKey OTP സുരക്ഷാ കീ" }, "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4, 4 Nano, 4C, and NEO devices." + "message": "നിങ്ങളുടെ അക്കൗണ്ട് ആക്സസ് ചെയ്യുന്നതിന് ഒരു യൂബിക്കി ഉപയോഗിക്കുക. YubiKey 4, 4 Nano, 4C, NEO ഉപകരണങ്ങളിൽ പ്രവർത്തിക്കുന്നു." }, "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "Duo Mobile അപ്ലിക്കേഷൻ, എസ്എംഎസ്, ഫോൺ കോൾ അല്ലെങ്കിൽ യു 2 എഫ് സുരക്ഷാ കീ ഉപയോഗിച്ച് Duoസെക്യൂരിറ്റി ഉപയോഗിച്ച് പരിശോധിക്കുക.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "Duo Mobile, എസ്എംഎസ്, ഫോൺ കോൾ അല്ലെങ്കിൽ യു 2 എഫ് സുരക്ഷാ കീ ഉപയോഗിച്ച് നിങ്ങളുടെ ഓർഗനൈസേഷനെ ഡ്യുവോ സെക്യൂരിറ്റി ഉപയോഗിച്ച് പരിശോധിക്കുക.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." + "message": "നിങ്ങളുടെ അക്കൗണ്ട് ആക്സസ് ചെയ്യുന്നതിന് ഏതെങ്കിലും FIDO U2F പ്രാപ്തമാക്കിയ സുരക്ഷാ കീ ഉപയോഗിക്കുക." }, "u2fTitle": { "message": "FIDO U2F സുരക്ഷാ കീ" @@ -838,7 +838,7 @@ "message": "ഇമെയിൽ" }, "emailDesc": { - "message": "Verification codes will be emailed to you." + "message": "സ്ഥിരീകരണ കോഡുകൾ നിങ്ങൾക്ക് ഇമെയിൽ ചെയ്യും." }, "selfHostedEnvironment": { "message": "സ്വയം ഹോസ്റ്റുചെയ്‌ത എൻവിയോണ്മെന്റ്" @@ -874,26 +874,29 @@ "message": "എന്വിയാണമെന്റ് URL സംരക്ഷിച്ചു." }, "enableAutoFillOnPageLoad": { - "message": "Enable Auto-fill On Page Load" + "message": "പേജ് ലോഡിൽ യാന്ത്രിക-പൂരിപ്പിക്കൽ പ്രവർത്തനക്ഷമമാക്കുക" }, "enableAutoFillOnPageLoadDesc": { - "message": "If a login form is detected, automatically perform an auto-fill when the web page loads." + "message": "ഒരു ലോഗിൻ ഫോം കണ്ടെത്തിയാൽ, വെബ് പേജ് ലോഡുചെയ്യുമ്പോൾ യാന്ത്രികമായി ഒരു സ്വയം പൂരിപ്പിക്കൽ നടത്തുക." }, "experimentalFeature": { - "message": "This is currently an experimental feature. Use at your own risk." + "message": "ഇത് നിലവിൽ ഒരു പരീക്ഷണാത്മക സവിശേഷതയാണ്. നിങ്ങളുടെ സ്വന്തം ഉത്തരവാദിത്വത്തിൽ ഉപയോഗിക്കുക." }, "commandOpenPopup": { - "message": "Open vault popup" + "message": "വോൾട്ട് പോപ്പ്അപ്പ് തുറക്കുക" }, "commandOpenSidebar": { "message": "വാൾട് സൈഡ്ബാറിൽ തുറക്കുക" }, "commandAutofillDesc": { - "message": "Auto-fill the last used login for the current website" + "message": "നിലവിലെ വെബ്‌സൈറ്റിനായി അവസാനമായി ഉപയോഗിച്ച ലോഗിൻ യാന്ത്രികമായി പൂരിപ്പിക്കുക" }, "commandGeneratePasswordDesc": { "message": "ക്ലിപ്പ്ബോർഡിലേക്ക് ഒരു പുതിയ റാൻഡം പാസ്‌വേഡ് സൃഷ്ടിച്ച് പകർത്തുക" }, + "commandLockVaultDesc": { + "message": "നിലവറ പൂട്ടുക" + }, "privateModeMessage": { "message": "നിർഭാഗ്യവശാൽ ഈ വിൻഡോ ബ്രൗസറിന്റെ സ്വകാര്യ മോഡിൽ ലഭ്യമല്ല." }, @@ -922,10 +925,10 @@ "message": "ബൂളിയൻ" }, "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": "ഈ ബ്ര pop സറിന് ഈ പോപ്പ്അപ്പ് വിൻഡോയിൽ U2F അഭ്യർത്ഥനകൾ പ്രോസസ്സ് ചെയ്യാൻ കഴിയില്ല. യു 2 എഫ് ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യാൻ ഈ പോപ്പ്അപ്പ് ഒരു പുതിയ വിൻഡോയിൽ തുറക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?" }, "disableFavicon": { "message": "വെബ്‌സൈറ്റ് ഐക്കണുകൾ പ്രവർത്തനരഹിതമാക്കുക" @@ -1093,7 +1096,7 @@ "message": "പ്രിയങ്കരങ്ങള്‍" }, "popOutNewWindow": { - "message": "Pop out to a new window" + "message": "ഒരു പുതിയ വിൻ‌ഡോയിലേക്ക് പോപ്പ് out ട്ട് ചെയ്യുക" }, "refresh": { "message": "റിഫ്രഷ് ചെയ്യുക" @@ -1147,11 +1150,11 @@ "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Match Detection", + "message": "പൊരുത്തം കണ്ടെത്തൽ", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Default match detection", + "message": "സ്ഥിരസ്ഥിതി പൊരുത്ത കണ്ടെത്തൽ", "description": "Default URI match detection for auto-fill." }, "toggleOptions": { @@ -1193,7 +1196,7 @@ "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": "താങ്കൾ ഒരു സംഘടനയുടെയും അംഗമല്ല. മറ്റ് ഉപയോക്താക്കളുമായി ഇനങ്ങൾ സുരക്ഷിതമായി പങ്കിടാൻ ഓർഗനൈസേഷനുകൾ നിങ്ങളെ അനുവദിക്കുന്നു." @@ -1301,22 +1304,22 @@ "message": "ടൈംഔട് ആക്ഷൻ സ്ഥിരീകരണം" }, "autoFillAndSave": { - "message": "Auto-fill and Save" + "message": "യാന്ത്രികമായി പൂരിപ്പിച്ച് സംരക്ഷിക്കുക" }, "autoFillSuccessAndSavedUri": { - "message": "Auto-filled Item and Saved URI" + "message": "യാന്ത്രികമായി പൂരിപ്പിച്ച ഇനവും സംരക്ഷിച്ച URI" }, "autoFillSuccess": { - "message": "Auto-filled Item" + "message": "യാന്ത്രികമായി പൂരിപ്പിച്ച ഇനം" }, "setMasterPassword": { "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", @@ -1325,7 +1328,7 @@ } }, "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", + "message": "കുറഞ്ഞ ദൈർഘ്യം $LENGTH$", "placeholders": { "length": { "content": "$1", @@ -1334,16 +1337,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", @@ -1352,6 +1355,18 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." + "message": "നിങ്ങളുടെ പുതിയ മാസ്റ്റർ പാസ്‌വേഡ് നയ ആവശ്യകതകൾ നിറവേറ്റുന്നില്ല." + }, + "acceptPolicies": { + "message": "ഈ ബോക്സ് ചെക്കുചെയ്യുന്നതിലൂടെ നിങ്ങൾ ഇനിപ്പറയുന്നവ അംഗീകരിക്കുന്നു:" + }, + "acceptPoliciesError": { + "message": "സേവന നിബന്ധനകളും സ്വകാര്യതാ നയവും അംഗീകരിച്ചിട്ടില്ല." + }, + "termsOfService": { + "message": "സേവന നിബന്ധനകൾ" + }, + "privacyPolicy": { + "message": "സ്വകാര്യതാനയം" } } diff --git a/src/_locales/nb/messages.json b/src/_locales/nb/messages.json index 0dabbf8561..ef91e42ec9 100644 --- a/src/_locales/nb/messages.json +++ b/src/_locales/nb/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generer og kopier et nytt tilfeldig passord til utklippstavlen." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Dessverre er dette vinduet ikke tilgjengelig i privat modus for denne nettleseren." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/nl/messages.json b/src/_locales/nl/messages.json index 2fc6b3af4d..03194a40a1 100644 --- a/src/_locales/nl/messages.json +++ b/src/_locales/nl/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Genereer en kopieer een nieuw willekeurig wachtwoord naar het klembord." }, + "commandLockVaultDesc": { + "message": "Kluis vergrendelen" + }, "privateModeMessage": { "message": "Dit scherm is helaas niet beschikbaar in het privévenster van deze browser." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Je nieuwe hoofdwachtwoord voldoet niet aan de beleidseisen." + }, + "acceptPolicies": { + "message": "Door dit vakje aan te vinken, ga je akkoord met het volgende:" + }, + "acceptPoliciesError": { + "message": "Algemene voorwaarden en privacybeleid zijn nog niet erkend." + }, + "termsOfService": { + "message": "Algemene voorwaarden" + }, + "privacyPolicy": { + "message": "Privacybeleid" } } diff --git a/src/_locales/pl/messages.json b/src/_locales/pl/messages.json index 3789bac2b4..2bd9e4aa47 100644 --- a/src/_locales/pl/messages.json +++ b/src/_locales/pl/messages.json @@ -20,7 +20,7 @@ "message": "Zaloguj się" }, "enterpriseSingleSignOn": { - "message": "Logowanie jednokrotne przedsiębiorstwa" + "message": "Logowanie jednokrotne" }, "cancel": { "message": "Anuluj" @@ -856,7 +856,7 @@ "message": "Adres URL serwera" }, "apiUrl": { - "message": "Adres URL serwera API" + "message": "Adres URL serwera interfejsu API" }, "webVaultUrl": { "message": "Adres URL serwera sejfu internetowego" @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Wygeneruj nowe losowe hasło i skopiuj je do schowka." }, + "commandLockVaultDesc": { + "message": "Zablokuj sejf" + }, "privateModeMessage": { "message": "Niestety to okno nie jest dostępne w trybie prywatnym tej przeglądarki." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Nowe hasło główne nie spełnia wymaganych zasad." + }, + "acceptPolicies": { + "message": "Zaznaczając tę opcję, akceptujesz:" + }, + "acceptPoliciesError": { + "message": "Nie zaakceptowałeś regulaminu i polityki prywatności." + }, + "termsOfService": { + "message": "Regulamin" + }, + "privacyPolicy": { + "message": "Polityka prywatności" } } diff --git a/src/_locales/pt_BR/messages.json b/src/_locales/pt_BR/messages.json index dd8bd8c58d..4124dd4143 100644 --- a/src/_locales/pt_BR/messages.json +++ b/src/_locales/pt_BR/messages.json @@ -20,7 +20,7 @@ "message": "Iniciar Sessão" }, "enterpriseSingleSignOn": { - "message": "Início de Sessão Único Empresarial" + "message": "Início de sessão empresarial" }, "cancel": { "message": "Cancelar" @@ -95,7 +95,7 @@ "message": "O cofre está trancado." }, "vaultLoggedOut": { - "message": "O cofre está encerrado." + "message": "O cofre foi fechado." }, "autoFillInfo": { "message": "Não há credenciais disponíveis para autopreenchimento para a aba do navegador atual." @@ -328,7 +328,7 @@ "message": "Senha mestra inválida" }, "vaultTimeout": { - "message": "Tempo Limite do Cofre" + "message": "Tempo limite do cofre." }, "lockNow": { "message": "Bloquear Agora" @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Gerar e copiar uma nova senha aleatória para a área de transferência." }, + "commandLockVaultDesc": { + "message": "Bloquear o cofre" + }, "privateModeMessage": { "message": "Infelizmente esta janela não está disponível no modo privado para este navegador." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "A sua nova senha mestra não cumpre aos requisitos da política." + }, + "acceptPolicies": { + "message": "Ao marcar esta caixa, você concorda com o seguinte:" + }, + "acceptPoliciesError": { + "message": "Os Termos de Serviço e a Política de Privacidade não foram reconhecidos." + }, + "termsOfService": { + "message": "Termos de Serviço" + }, + "privacyPolicy": { + "message": "Política de Privacidade" } } diff --git a/src/_locales/pt_PT/messages.json b/src/_locales/pt_PT/messages.json index d2b71d533c..c2ca6e11f3 100644 --- a/src/_locales/pt_PT/messages.json +++ b/src/_locales/pt_PT/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Gerar e copiar uma nova palavra-passe aleatória para a área de transferência" }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Infelizmente esta janela não está disponível no modo privado para este navegador." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "A sua nova palavra-passe mestra não cumpre os requisitos da política." + }, + "acceptPolicies": { + "message": "Ao marcar esta caixa concorda com o seguinte:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Termos de serviço" + }, + "privacyPolicy": { + "message": "Política de privacidade" } } diff --git a/src/_locales/ro/messages.json b/src/_locales/ro/messages.json index d82d5fe928..868aedcf90 100644 --- a/src/_locales/ro/messages.json +++ b/src/_locales/ro/messages.json @@ -20,7 +20,7 @@ "message": "Autentificare" }, "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" + "message": "Identificare unică antrepriză (SSO)" }, "cancel": { "message": "Anulare" @@ -95,7 +95,7 @@ "message": "Seiful este blocat." }, "vaultLoggedOut": { - "message": "Vault is logged out." + "message": "Seiful este deconectat." }, "autoFillInfo": { "message": "Nu sunt disponibile autentificări pentru completarea automată în pagina curentă." @@ -328,7 +328,7 @@ "message": "Parola principală este incorectă" }, "vaultTimeout": { - "message": "Vault Timeout" + "message": "Expirarea seifului" }, "lockNow": { "message": "Blocare imediată" @@ -516,7 +516,7 @@ "message": "Căutare colecție" }, "searchType": { - "message": "Tipul de căutare" + "message": "Scrieți ca să căutați" }, "noneFolder": { "message": "Niciun dosar", @@ -541,11 +541,11 @@ "message": "Identity items from your vault are listed on the 'Current Tab' page for easy auto-fill access." }, "clearClipboard": { - "message": "Goliţi Clipboardul", + "message": "Goliți Clipboard-ul", "description": "Clipboard is the operating system thing where you copy/paste data to on your device." }, "clearClipboardDesc": { - "message": "Şterge automat valorile copiate din clipboard.", + "message": "Șterge automat valorile copiate din clipboard.", "description": "Clipboard is the operating system thing where you copy/paste data to on your device." }, "notificationAddDesc": { @@ -883,10 +883,10 @@ "message": "În acest moment, aceasta funcțiune este experimentală. O puteți folosi pe propria răspundere." }, "commandOpenPopup": { - "message": "Open vault popup" + "message": "Deschide seiful pop-up" }, "commandOpenSidebar": { - "message": "Open vault in sidebar" + "message": "Deschide seiful în bara laterală" }, "commandAutofillDesc": { "message": "Completare automată a ultimelor date de autentificare utilizate pentru saitul web curent." @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generare parolă aleatorie și copiere în clipboard." }, + "commandLockVaultDesc": { + "message": "Blochează seiful" + }, "privateModeMessage": { "message": "Din păcate această fereastră nu este disponibilă în modul de navigare privat pentru acest navigator." }, @@ -1158,11 +1161,11 @@ "message": "Activare/dezactivare opțiuni" }, "toggleCurrentUris": { - "message": "Toggle Current URIs", + "message": "Comută URI-urile curente", "description": "Toggle the display of the URIs of the currently open tabs in the browser." }, "currentUri": { - "message": "Current URI", + "message": "URI-ul actual", "description": "The URI of one of the current open tabs in the browser." }, "organization": { @@ -1233,7 +1236,7 @@ "message": "Deblocare cu codul PIN" }, "setYourPinCode": { - "message": "Setaţi codul PIN de deblocare Bitwarden. Setările codului PIN vor fi resetate dacă vă deconectaţi vreodată din aplicație." + "message": "Setați codul PIN de deblocare Bitwarden. Setările codului PIN vor fi resetate dacă vă deconectați vreodată din aplicație." }, "pinRequired": { "message": "Codul PIN este necesar." @@ -1245,7 +1248,7 @@ "message": "Verificaţi codul PIN" }, "yourVaultIsLockedPinCode": { - "message": "Seiful dvs. este blocat. Verificaţi codul PIN pentru a continua." + "message": "Seiful dvs. este blocat. Verificați codul PIN pentru a continua." }, "lockWithMasterPassOnRestart": { "message": "Blocare cu parola principală după ce browserul repornește," @@ -1254,19 +1257,19 @@ "message": "Este nevoie să alegeți măcar o colecție." }, "cloneItem": { - "message": "Clone Item" + "message": "Clonează articolul" }, "clone": { - "message": "Clone" + "message": "Clonare" }, "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." + "message": "Una sau mai multe politici organizaționale vă afectează setările generatorului." }, "vaultTimeoutAction": { - "message": "Vault Timeout Action" + "message": "Acțiune la expirarea seifului" }, "lock": { - "message": "Lock", + "message": "Blocare", "description": "Verb form: to make secure or inaccesible by" }, "trash": { @@ -1274,49 +1277,49 @@ "description": "Noun: a special folder to hold deleted items" }, "searchTrash": { - "message": "Search trash" + "message": "Căutați în trash" }, "permanentlyDeleteItem": { - "message": "Permanently Delete Item" + "message": "Șterge permanent elementul" }, "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" + "message": "Sigur doriți să ștergeți permanent acest articol?" }, "permanentlyDeletedItem": { - "message": "Permanently Deleted item" + "message": "Articol șters permanent" }, "restoreItem": { - "message": "Restore Item" + "message": "Restabiliți articolul" }, "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" + "message": "Sigur doriți să restaurați acest articol?" }, "restoredItem": { - "message": "Restored Item" + "message": "Articol restaurat" }, "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": "Deconectarea va elimina accesul la seiful dvs. și necesită autentificare online după perioada de expirare. Sunteți sigur că doriți să utilizați această setare?" }, "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" + "message": "Confirmare acțiune la expirare" }, "autoFillAndSave": { - "message": "Auto-fill and Save" + "message": "Auto-completare și Salvare" }, "autoFillSuccessAndSavedUri": { - "message": "Auto-filled Item and Saved URI" + "message": "Articol cu Auto-completare și URl Salvat" }, "autoFillSuccess": { - "message": "Auto-filled Item" + "message": "Articol cu Auto-completare" }, "setMasterPassword": { - "message": "Set Master Password" + "message": "Setați parola principală" }, "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" + "message": "Una sau mai multe politici ale organizației necesită ca parola principală să îndeplinească următoarele cerințe:" }, "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", + "message": "Scor minim de complexitate de $SCORE$", "placeholders": { "score": { "content": "$1", @@ -1325,7 +1328,7 @@ } }, "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", + "message": "Lungime minimă de $LENGTH$", "placeholders": { "length": { "content": "$1", @@ -1334,16 +1337,16 @@ } }, "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" + "message": "Conține unul sau mai multe caractere majuscule" }, "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" + "message": "Conține unul sau mai multe caractere minuscule" }, "policyInEffectNumbers": { - "message": "Contain one or more numbers" + "message": "Conține unul sau mai multe numere" }, "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", + "message": "Conține unul sau mai multe din următoarele caractere: $CHARS$", "placeholders": { "chars": { "content": "$1", @@ -1352,6 +1355,18 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." + "message": "Noua dvs. parolă principală nu îndeplinește cerințele politicii." + }, + "acceptPolicies": { + "message": "Bifând această casetă sunteți de acord cu următoarele:" + }, + "acceptPoliciesError": { + "message": "Termenii Serviciului și Politica Intimității nu au fost recunoscute." + }, + "termsOfService": { + "message": "Termenii Serviciului" + }, + "privacyPolicy": { + "message": "Politica Intimității" } } diff --git a/src/_locales/ru/messages.json b/src/_locales/ru/messages.json index 063adb5c81..6e28e95b7a 100644 --- a/src/_locales/ru/messages.json +++ b/src/_locales/ru/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Сгенерировать и скопировать новый случайный пароль в буфер обмена." }, + "commandLockVaultDesc": { + "message": "Заблокировать хранилище" + }, "privateModeMessage": { "message": "К сожалению, это окно недоступно в приватном режиме этого браузера." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Ваш новый мастер-пароль не соответствует требованиям политики." + }, + "acceptPolicies": { + "message": "Устанавливая этот флажок, вы соглашаетесь со следующим:" + }, + "acceptPoliciesError": { + "message": "Условия предоставления услуг и Политика конфиденциальности не были подтверждены." + }, + "termsOfService": { + "message": "Условия предоставления услуг" + }, + "privacyPolicy": { + "message": "Политика конфиденциальности" } } diff --git a/src/_locales/si/messages.json b/src/_locales/si/messages.json index b1ddb2f8f1..f0349b00b3 100644 --- a/src/_locales/si/messages.json +++ b/src/_locales/si/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generate and copy a new random password to the clipboard" }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Unfortunately this window is not available in private mode for this browser." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/sk/messages.json b/src/_locales/sk/messages.json index 010869915d..e48eb2eaa3 100644 --- a/src/_locales/sk/messages.json +++ b/src/_locales/sk/messages.json @@ -1,9 +1,9 @@ { "appName": { - "message": "bitwarden" + "message": "Bitwarden" }, "extName": { - "message": "bitwarden - Bezplatný správca hesiel", + "message": "Bitwarden - Bezplatný správca hesiel", "description": "Extension name" }, "extDesc": { @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Vygenerovať a skopírovať nové náhodné heslo do schránky" }, + "commandLockVaultDesc": { + "message": "Zamknúť trezor" + }, "privateModeMessage": { "message": "Bohužiaľ, toto okno nie je dostupné v privátnom režime prehliadača." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Vaše nové heslo nespĺňa pravidlá." + }, + "acceptPolicies": { + "message": "Označením tohto políčka súhlasíte s nasledovným:" + }, + "acceptPoliciesError": { + "message": "Neboli akceptované Podmienky používania a zásady Ochrany osobných údajov." + }, + "termsOfService": { + "message": "Podmienky používania" + }, + "privacyPolicy": { + "message": "Zásady ochrany osobných údajov" } } diff --git a/src/_locales/sr/messages.json b/src/_locales/sr/messages.json new file mode 100644 index 0000000000..3da482343d --- /dev/null +++ b/src/_locales/sr/messages.json @@ -0,0 +1,1372 @@ +{ + "appName": { + "message": "Bitwarden" + }, + "extName": { + "message": "Bitwarden - Бесплатни Менаџер Лозинке", + "description": "Extension name" + }, + "extDesc": { + "message": "Сигурни и бесплатни менаџер лозинке за сва Ваша уређаја.", + "description": "Extension description" + }, + "loginOrCreateNewAccount": { + "message": "Пријавите се или креирајте нови налог за приступ Сефу." + }, + "createAccount": { + "message": "Креирај налог" + }, + "login": { + "message": "Пријавите се" + }, + "enterpriseSingleSignOn": { + "message": "Enterprise Једна Пријава" + }, + "cancel": { + "message": "Откажи" + }, + "close": { + "message": "Затвори" + }, + "submit": { + "message": "Пошаљи" + }, + "emailAddress": { + "message": "Адреса е-поште" + }, + "masterPass": { + "message": "Главна Лозинка" + }, + "masterPassDesc": { + "message": "Главна Лозинка је лозинка коју користите за приступ Вашем сефу. Врло је важно да је не заборавите. Не постоји начин да повратите лозинку у случају да је заборавите." + }, + "masterPassHintDesc": { + "message": "Савет Главне Лозинке може да Вам помогне да се је потсетите ако је заборавите." + }, + "reTypeMasterPass": { + "message": "Поновити Главну Лозинку" + }, + "masterPassHint": { + "message": "Савет Главне Лозинке (опционо)" + }, + "tab": { + "message": "Картица" + }, + "myVault": { + "message": "Мој Сеф" + }, + "tools": { + "message": "Алатке" + }, + "settings": { + "message": "Подешавања" + }, + "currentTab": { + "message": "Тренутна картица" + }, + "copyPassword": { + "message": "Копирај лозинку" + }, + "copyNote": { + "message": "Копирај белешку" + }, + "copyUri": { + "message": "Копирај везу" + }, + "copyUsername": { + "message": "Копирај име" + }, + "copyNumber": { + "message": "Копирај број" + }, + "copySecurityCode": { + "message": "Копирај сигурносни код" + }, + "autoFill": { + "message": "Ауто-пуњење" + }, + "generatePasswordCopied": { + "message": "Генериши Лозинку (копирано)" + }, + "noMatchingLogins": { + "message": "Нема одговарајућих пријављивање." + }, + "vaultLocked": { + "message": "Сеф је блокиран." + }, + "vaultLoggedOut": { + "message": "Одјављени сте од сефа." + }, + "autoFillInfo": { + "message": "Нема доступне пријаве за ауто-пуњење за за тренутну картицу прегледача." + }, + "addLogin": { + "message": "Додај Пријаву" + }, + "addItem": { + "message": "Додај ставку" + }, + "passwordHint": { + "message": "Помоћ за лозинку" + }, + "enterEmailToGetHint": { + "message": "Унесите Ваш имејл да би добили савет за Вашу Главну Лозинку." + }, + "getMasterPasswordHint": { + "message": "Добити савет за Главну Лозинку" + }, + "continue": { + "message": "Настави" + }, + "verificationCode": { + "message": "Верификациони код" + }, + "account": { + "message": "Налог" + }, + "changeMasterPassword": { + "message": "Промени Главну Лозинку" + }, + "fingerprintPhrase": { + "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": "Ваша Сигурносна Фраза Сефа", + "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": "Дво-коракна лозинка" + }, + "logOut": { + "message": "Одјави се" + }, + "about": { + "message": "О апликацији" + }, + "version": { + "message": "Верзија" + }, + "save": { + "message": "Сачувај" + }, + "addFolder": { + "message": "Додај фасциклу" + }, + "name": { + "message": "Име" + }, + "editFolder": { + "message": "Уреди фасциклу" + }, + "deleteFolder": { + "message": "Избриши фасциклу" + }, + "folders": { + "message": "Фасцикле" + }, + "noFolders": { + "message": "Нема фасцикле у листи." + }, + "helpFeedback": { + "message": "Помоћ и подршка" + }, + "sync": { + "message": "Синхронизуј" + }, + "syncVaultNow": { + "message": "Синхронизуј сеф одмах" + }, + "lastSync": { + "message": "Задња синронизација:" + }, + "passGen": { + "message": "Генератор Лозинке" + }, + "generator": { + "message": "Генератор", + "description": "Short for 'Password Generator'." + }, + "passGenInfo": { + "message": "Аутоматски генеришите јаке, јединствене лозинке за ваше пријаве." + }, + "bitWebVault": { + "message": "Bitwarden Сеф" + }, + "importItems": { + "message": "Увоз ставка" + }, + "select": { + "message": "Изабери" + }, + "generatePassword": { + "message": "Генерисање лозинке" + }, + "regeneratePassword": { + "message": "Поново генериши лозинку" + }, + "options": { + "message": "Опције" + }, + "length": { + "message": "Дужина" + }, + "numWords": { + "message": "Број речи" + }, + "wordSeparator": { + "message": "Одвајач речи" + }, + "capitalize": { + "message": "Велика слова", + "description": "Make the first letter of a work uppercase." + }, + "includeNumber": { + "message": "Убаци број" + }, + "minNumbers": { + "message": "Минимално Бројева" + }, + "minSpecial": { + "message": "Минимално Специјално" + }, + "avoidAmbChar": { + "message": "Избегавајте двосмислене знакове" + }, + "searchVault": { + "message": "Претраћи сеф" + }, + "edit": { + "message": "Уреди" + }, + "view": { + "message": "Приказ" + }, + "noItemsInList": { + "message": "Нама ставке у листи." + }, + "itemInformation": { + "message": "Ставка Информације" + }, + "username": { + "message": "Корисничко име" + }, + "password": { + "message": "Лозинка" + }, + "passphrase": { + "message": "Реченица" + }, + "favorite": { + "message": "Омиљено" + }, + "notes": { + "message": "Белешке" + }, + "note": { + "message": "Белешка" + }, + "editItem": { + "message": "Уреди ставку" + }, + "folder": { + "message": "Фасцикла" + }, + "deleteItem": { + "message": "Обриши ставку" + }, + "viewItem": { + "message": "Види ставку" + }, + "launch": { + "message": "Покрени" + }, + "website": { + "message": "Веб сајт" + }, + "toggleVisibility": { + "message": "Пребаци видљивост" + }, + "manage": { + "message": "Управљај" + }, + "other": { + "message": "Остало" + }, + "rateExtension": { + "message": "Оцени овај додатак" + }, + "rateExtensionDesc": { + "message": "Молимо вас да размотрите да нам помогнете уз добру оцену!" + }, + "browserNotSupportClipboard": { + "message": "Ваш прегледач не подржава једноставно копирање клипборда. Уместо тога копирајте га ручно." + }, + "verifyMasterPassword": { + "message": "Проверити Главну Лозинку" + }, + "yourVaultIsLocked": { + "message": "Сеф је блокиран. Проверити главну лозинку за наставак." + }, + "unlock": { + "message": "Откључај" + }, + "loggedInAsOn": { + "message": "Пријављено са $EMAIL$ на $HOSTNAME$.", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + }, + "hostname": { + "content": "$2", + "example": "bitwarden.com" + } + } + }, + "invalidMasterPassword": { + "message": "Погрешна главна лозинка" + }, + "vaultTimeout": { + "message": "Тајмаут сефа" + }, + "lockNow": { + "message": "Закључај одмах" + }, + "immediately": { + "message": "Одмах" + }, + "tenSeconds": { + "message": "10 секунди" + }, + "twentySeconds": { + "message": "20 секунди" + }, + "thirtySeconds": { + "message": "30 секунди" + }, + "oneMinute": { + "message": "1 минут" + }, + "twoMinutes": { + "message": "2 минута" + }, + "fiveMinutes": { + "message": "5 минута" + }, + "fifteenMinutes": { + "message": "15 минута" + }, + "thirtyMinutes": { + "message": "30 минута" + }, + "oneHour": { + "message": "1 сат" + }, + "fourHours": { + "message": "4 сата" + }, + "onLocked": { + "message": "На блокирање система" + }, + "onRestart": { + "message": "На покретања претраживача" + }, + "never": { + "message": "Никад" + }, + "security": { + "message": "Сигурност" + }, + "errorOccurred": { + "message": "Дошло је до грешке!" + }, + "emailRequired": { + "message": "Имејл је неопходан." + }, + "invalidEmail": { + "message": "Неисправан имејл." + }, + "masterPassRequired": { + "message": "Главна Лозинка је неопходна." + }, + "masterPassLength": { + "message": "Главна Лозинка треба имати бар 8 знака." + }, + "masterPassDoesntMatch": { + "message": "Потврђена Главна Лозинка се не подудара." + }, + "newAccountCreated": { + "message": "Ваш налог је креиран! Сада се можте пријавити." + }, + "masterPassSent": { + "message": "Послали смо Вам поруку са саветом главне лозинке." + }, + "verificationCodeRequired": { + "message": "Верификациони код је обавезан." + }, + "valueCopied": { + "message": "$VALUE$ копирано", + "description": "Value has been copied to the clipboard.", + "placeholders": { + "value": { + "content": "$1", + "example": "Password" + } + } + }, + "autofillError": { + "message": "Није могуће ауто-пуњење одабране ставке на овој страници. Уместо тога копирајте и налепите информације." + }, + "loggedOut": { + "message": "Одјављено" + }, + "loginExpired": { + "message": "Ваша сесија пријаве је истекла." + }, + "logOutConfirmation": { + "message": "Заиста желите да се одјавите?" + }, + "yes": { + "message": "Да" + }, + "no": { + "message": "Не" + }, + "unexpectedError": { + "message": "Дошло је до неочекиване грешке." + }, + "nameRequired": { + "message": "Име је неопходно." + }, + "addedFolder": { + "message": "Фасцикла додата" + }, + "changeMasterPass": { + "message": "Промени Главну Лозинку" + }, + "changeMasterPasswordConfirmation": { + "message": "Можете променити главну лозинку у Вашем сефу на bitwarden.com. Да ли желите да посетите веб страницу сада?" + }, + "twoStepLoginConfirmation": { + "message": "Пријава у два корака чини ваш рачун сигурнијим захтевом да верификујете своје податке помоћу другог уређаја, као што су безбедносни кључ, апликација, СМС-а, телефонски позив или имејл. Пријављивање у два корака може се омогућити на веб сефу. Да ли желите да посетите веб страницу сада?" + }, + "editedFolder": { + "message": "Фасцикла измењена" + }, + "deleteFolderConfirmation": { + "message": "Сигурно обрисати ову фасциклу?" + }, + "deletedFolder": { + "message": "Фасцикла обрисана" + }, + "gettingStartedTutorial": { + "message": "Туторијал" + }, + "gettingStartedTutorialVideo": { + "message": "Погледајте наш туторијал да бисте сазнали како да максимално искористите додатак прегледача." + }, + "syncingComplete": { + "message": "Синхронизација завршена" + }, + "syncingFailed": { + "message": "Синхронизација није успела" + }, + "passwordCopied": { + "message": "Лозинка копирана" + }, + "uri": { + "message": "Линк" + }, + "uriPosition": { + "message": "Линк $POSITION$", + "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", + "placeholders": { + "position": { + "content": "$1", + "example": "2" + } + } + }, + "newUri": { + "message": "Нови линк" + }, + "addedItem": { + "message": "Ставка додата" + }, + "editedItem": { + "message": "Ставка уређена" + }, + "deleteItemConfirmation": { + "message": "Сигурно избрисати ову ставку?" + }, + "deletedItem": { + "message": "Пошаљи ставку у Ђубре" + }, + "overwritePassword": { + "message": "Препиши лозинку" + }, + "overwritePasswordConfirmation": { + "message": "Сигурно преписати тренутну лозинку?" + }, + "searchFolder": { + "message": "Претражи фасцикли" + }, + "searchCollection": { + "message": "Претражи колекцију" + }, + "searchType": { + "message": "Тип претраге" + }, + "noneFolder": { + "message": "Нема фасцикле", + "description": "This is the folder for uncategorized items" + }, + "disableAddLoginNotification": { + "message": "Онемогући обавештење Додај Пријаву" + }, + "addLoginNotificationDesc": { + "message": "\"Нотификације Додај Лозинку\" аутоматски тражи да сачувате нове пријаве у сефу кад год се први пут пријавите на њих." + }, + "dontShowCardsCurrentTab": { + "message": "Не приказуј картице на страници" + }, + "dontShowCardsCurrentTabDesc": { + "message": "Ставке картица из вашег сефа наведене су на страници „Тренутна картица“ ради једноставног приступа аутоматског попуњавања." + }, + "dontShowIdentitiesCurrentTab": { + "message": "Не приказуј идентитете на страници" + }, + "dontShowIdentitiesCurrentTabDesc": { + "message": "Идентитет из вашег сефа наведене су на страници „Тренутна картица“ ради једноставног приступа аутоматског попуњавања." + }, + "clearClipboard": { + "message": "Обриши клипборд", + "description": "Clipboard is the operating system thing where you copy/paste data to on your device." + }, + "clearClipboardDesc": { + "message": "Аутоматски обришите копиране вредности из клипборда.", + "description": "Clipboard is the operating system thing where you copy/paste data to on your device." + }, + "notificationAddDesc": { + "message": "Да ли Bitwarden треба да запамти ову лозинку?" + }, + "notificationAddSave": { + "message": "Да, сачувај сада" + }, + "notificationNeverSave": { + "message": "Никада за овај сајт" + }, + "disableChangedPasswordNotification": { + "message": "Угаси Нотификацију Промењена Лозинка" + }, + "disableChangedPasswordNotificationDesc": { + "message": "\"Нотификација Промењена Лозинка\" аутоматски тражи да ажурирате лозинку за пријављивање у сефу сваки пут када открије да сте је променили на веб сајту." + }, + "notificationChangeDesc": { + "message": "Да се ажурира ова лозинка у Bitwarden?" + }, + "notificationChangeSave": { + "message": "Да, ажурирај сада" + }, + "disableContextMenuItem": { + "message": "Угаси контекстуални мени" + }, + "disableContextMenuItemDesc": { + "message": "Опције контекстуалног менија пружају брз приступ генерисању лозинки и пријавама за веб сајту на вашом тренутном језичку." + }, + "defaultUriMatchDetection": { + "message": "Стандардно налажење УРЛ", + "description": "Default URI match detection for auto-fill." + }, + "defaultUriMatchDetectionDesc": { + "message": "Изаберите подразумевани начин на који се поступа са откривањем УРЛ за пријаве приликом извођења радњи као што је ауто-попуњавање." + }, + "theme": { + "message": "Тема" + }, + "themeDesc": { + "message": "Промени боје апликације" + }, + "dark": { + "message": "Тамно", + "description": "Dark color" + }, + "light": { + "message": "Светло", + "description": "Light color" + }, + "exportVault": { + "message": "Извоз сефа" + }, + "fileFormat": { + "message": "Формат датотеке" + }, + "warning": { + "message": "УПОЗОРЕЊЕ", + "description": "WARNING (should stay in capitalized letters if the language permits)" + }, + "exportWarningDesc": { + "message": "Овај извоз садржи податке сефа у нешифрираном формату. Не бисте смели да сачувате или шаљете извезену датотеку преко несигурних канала (као што је имејл). Избришите датотеку одмах након што завршите са коришћењем." + }, + "exportMasterPassword": { + "message": "Унети главну лозинку за извиз сефа." + }, + "shared": { + "message": "Дељено" + }, + "shareVault": { + "message": "Поделите Ваш Сеф" + }, + "shareVaultConfirmation": { + "message": "Bitwarden вам омогућава да делите сефса другима користећи налог организације. Да ли желите да посетите веб локацију bitwarden.com да бисте сазнали више?" + }, + "shareItem": { + "message": "Поделити ставку" + }, + "share": { + "message": "Подели" + }, + "sharedItem": { + "message": "Ставка дељена" + }, + "shareDesc": { + "message": "Изаберите организацију са којом желите да делите ову ставку. Дељење преноси власништво предмета на организацију. Више нећете бити директни власник ове ставке када се она дели." + }, + "learnMore": { + "message": "Сазнај више" + }, + "authenticatorKeyTotp": { + "message": "Кључ аутентификације (TOTP)" + }, + "verificationCodeTotp": { + "message": "Верификациони код (TOTP)" + }, + "copyVerificationCode": { + "message": "Копирај Верификациони код" + }, + "attachments": { + "message": "Прилози" + }, + "deleteAttachment": { + "message": "Обриши прилог" + }, + "deleteAttachmentConfirmation": { + "message": "Сигурно обрисати овај прилог?" + }, + "deletedAttachment": { + "message": "Избрисани прилози" + }, + "newAttachment": { + "message": "Додај нови прилог" + }, + "noAttachments": { + "message": "Без прилога." + }, + "attachmentSaved": { + "message": "Прилог је сачуван." + }, + "file": { + "message": "Датотека" + }, + "selectFile": { + "message": "Изабери датотеку." + }, + "maxFileSize": { + "message": "Максимална величина је 100МБ." + }, + "featureUnavailable": { + "message": "Функција је недоступна" + }, + "updateKey": { + "message": "Не можете да користите ову способност док не промените Ваш кључ за шифровање." + }, + "premiumMembership": { + "message": "Премијум чланство" + }, + "premiumManage": { + "message": "Управљање чланством" + }, + "premiumManageAlert": { + "message": "Можете менаџирати Вашу претплату на bitwarden.com. Да ли желите да посетите веб сајт сада?" + }, + "premiumRefresh": { + "message": "Освежите чланство" + }, + "premiumNotCurrentMember": { + "message": "Тренутно нисте премиум члан." + }, + "premiumSignUpAndGet": { + "message": "Пријавите се за премиум чланство и добијте:" + }, + "ppremiumSignUpStorage": { + "message": "1ГБ шифровано складиште за прилоге." + }, + "ppremiumSignUpTwoStep": { + "message": "Додатне опције пријаве у два корака као што су YubiKey, FIDO U2F, и Duo." + }, + "ppremiumSignUpReports": { + "message": "Извештаји о хигијени лозинки, здравственом стању налога и кршењу података да бисте заштитили сеф." + }, + "ppremiumSignUpTotp": { + "message": "Генератор TOTP верификационог кода (2FA) за пријаве из сефа." + }, + "ppremiumSignUpSupport": { + "message": "Приоритетна корисничка подршка." + }, + "ppremiumSignUpFuture": { + "message": "Све будуће премиум функције. Више ускоро!" + }, + "premiumPurchase": { + "message": "Купити премијум" + }, + "premiumPurchaseAlert": { + "message": "Можете купити премиум претплату на bitwarden.com. Да ли желите да посетите веб сајт сада?" + }, + "premiumCurrentMember": { + "message": "Ви сте премиум члан!" + }, + "premiumCurrentMemberThanks": { + "message": "Хвала Вам за подршку Bitwarden-а." + }, + "premiumPrice": { + "message": "Све за само $PRICE$ годишње!", + "placeholders": { + "price": { + "content": "$1", + "example": "$10" + } + } + }, + "refreshComplete": { + "message": "Освежавање је завршено" + }, + "disableAutoTotpCopy": { + "message": "Угаси аутоматско копирање TOTP" + }, + "disableAutoTotpCopyDesc": { + "message": "Ако је за вашу пријаву приложен аутентификациони кључ, TOTP верификациони код се аутоматски копира у вашем клипборду кад год ауто-попуните пријаву." + }, + "premiumRequired": { + "message": "Потребан Премијум" + }, + "premiumRequiredDesc": { + "message": "Премијум је потребно за употребу ове способности." + }, + "enterVerificationCodeApp": { + "message": "Унесите шестоцифрени верификациони код из апликације за утврђивање аутентичности." + }, + "enterVerificationCodeEmail": { + "message": "Унесите шестоцифрени верификациони код који је послан на $EMAIL$.", + "placeholders": { + "email": { + "content": "$1", + "example": "example@gmail.com" + } + } + }, + "verificationCodeEmailSent": { + "message": "Провера имејла послата на $EMAIL$.", + "placeholders": { + "email": { + "content": "$1", + "example": "example@gmail.com" + } + } + }, + "rememberMe": { + "message": "Запамти ме" + }, + "sendVerificationCodeEmailAgain": { + "message": "Поново послати верификациони код на имејл" + }, + "useAnotherTwoStepMethod": { + "message": "Користите другу методу пријављивања у два корака" + }, + "insertYubiKey": { + "message": "Убаците свој YubiKey у УСБ порт рачунара, а затим додирните његово дугме." + }, + "insertU2f": { + "message": "Убаците свој сигурносни кључ у УСБ порт рачунара, и ако има дугме , додирните га." + }, + "loginUnavailable": { + "message": "Пријава недоступна" + }, + "noTwoStepProviders": { + "message": "Овај налог има омогућено пријављивање у два корака, међутим овај веб прегледач не подржава ниједног од конфигурисаних добављача." + }, + "noTwoStepProviders2": { + "message": "Користите подржани веб прегледач (као што је Chrome) и/или додајте додатне добављаче који су боље подржани у веб прегледачима (као што је апликација за аутентификацију)." + }, + "twoStepOptions": { + "message": "Опције дво-коракне пријаве" + }, + "recoveryCodeDesc": { + "message": "Изгубили сте приступ свим својим двофакторским добављачима? Употребите код за опоравак да онемогућите све двофакторске добављаче из налога." + }, + "recoveryCodeTitle": { + "message": "Шифра за опоравак" + }, + "authenticatorAppTitle": { + "message": "Апликација Аутентификатор" + }, + "authenticatorAppDesc": { + "message": "Користите апликацију за аутентификацију (као што је Authy или Google Authenticator) за генерисање верификационих кодова.", + "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." + }, + "yubiKeyTitle": { + "message": "YubiKey OTP сигурносни кључ" + }, + "yubiKeyDesc": { + "message": "Користите YubiKey за приступ налогу. Ради са YubiKey 4, 4 Nano, 4C, и NEO уређаје." + }, + "duoDesc": { + "message": "Провери са Duo Security користећи Duo Mobile апликацију, СМС, телефонски позив, или U2F кључ.", + "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." + }, + "duoOrganizationDesc": { + "message": "Провери са Duo Security за вашу организацију користећи Duo Mobile апликацију, СМС, телефонски позив, или U2F кључ.", + "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." + }, + "u2fDesc": { + "message": "Користите било који FIDO U2F сигурносни кључ за присту налога." + }, + "u2fTitle": { + "message": "FIDO U2F сигурносни кључ" + }, + "emailTitle": { + "message": "Е-пошта" + }, + "emailDesc": { + "message": "Верификациони кодови ће вам бити послати имејлом." + }, + "selfHostedEnvironment": { + "message": "Самостално окружење" + }, + "selfHostedEnvironmentFooter": { + "message": "Наведите основни УРЛ вашег локалног инсталиране Bitwarden инсталације." + }, + "customEnvironment": { + "message": "Прилагођено окружење" + }, + "customEnvironmentFooter": { + "message": "За напредне кориснике. Можете да одредите независно основни УРЛ сваког сервиса." + }, + "baseUrl": { + "message": "УРЛ Сервера" + }, + "apiUrl": { + "message": "УРЛ АПИ Сервера" + }, + "webVaultUrl": { + "message": "УРЛ сервера Сефа" + }, + "identityUrl": { + "message": "УРЛ сервера идентитета" + }, + "notificationsUrl": { + "message": "УРЛ сервера нотификације" + }, + "iconsUrl": { + "message": "УРЛ сервера иконице" + }, + "environmentSaved": { + "message": "УРЛ адресе окружења су сачуване." + }, + "enableAutoFillOnPageLoad": { + "message": "Омогући Ауто-пуни на учитавање странице" + }, + "enableAutoFillOnPageLoadDesc": { + "message": "Ако се открије образац за пријаву, извршите аутоматско попуњавање када се веб страница учита." + }, + "experimentalFeature": { + "message": "Ово је тренутно експериментална способност. Користите на властиту одговорност." + }, + "commandOpenPopup": { + "message": "Отвори попап сефа" + }, + "commandOpenSidebar": { + "message": "Отвори сеф у бочну траку" + }, + "commandAutofillDesc": { + "message": "Ауто-пуни последњу коришћену пријаву за тренутну веб страницу" + }, + "commandGeneratePasswordDesc": { + "message": "Генеришите и копирајте нову случајну лозинку у клипборду" + }, + "commandLockVaultDesc": { + "message": "Закључај сеф" + }, + "privateModeMessage": { + "message": "Нажалост, овај прозор није доступан у приватном режиму за овај прегледач." + }, + "customFields": { + "message": "Прилагођена Поља" + }, + "copyValue": { + "message": "Копирај вредност" + }, + "value": { + "message": "Вредност" + }, + "newCustomField": { + "message": "Ново прилагођено поље" + }, + "dragToSort": { + "message": "Превуците за сортирање" + }, + "cfTypeText": { + "message": "Текст" + }, + "cfTypeHidden": { + "message": "Сакривено" + }, + "cfTypeBoolean": { + "message": "Булове" + }, + "popup2faCloseMessage": { + "message": "Ако кликнете изван искачућег прозора да бисте проверили имејл за верификациони код, овај прозор ће се затворити. Да ли желите да отворите овај прозор у новом прозору да се не би затворио?" + }, + "popupU2fCloseMessage": { + "message": "Овај прегледач не може да обрађује U2F захтеве у овом искачућем прозору. Да ли желите да отворите овај искачући прозор у новом прозору како бисте могли да се пријавите користећи U2F?" + }, + "disableFavicon": { + "message": "Угаси иконице сајта" + }, + "disableFaviconDesc": { + "message": "Иконе веб сајта пружају препознатљиву слику поред сваке пријаву у сефу." + }, + "cardholderName": { + "message": "Име Власника Картице" + }, + "number": { + "message": "Број" + }, + "brand": { + "message": "Произвођач" + }, + "expirationMonth": { + "message": "Месец истека" + }, + "expirationYear": { + "message": "Година истека" + }, + "expiration": { + "message": "Истек" + }, + "january": { + "message": "Јануар" + }, + "february": { + "message": "Фебруар" + }, + "march": { + "message": "Mart" + }, + "april": { + "message": "Април" + }, + "may": { + "message": "Мај" + }, + "june": { + "message": "Јун" + }, + "july": { + "message": "Јул" + }, + "august": { + "message": "Август" + }, + "september": { + "message": "Септембар" + }, + "october": { + "message": "Октобар" + }, + "november": { + "message": "Новембар" + }, + "december": { + "message": "Децембар" + }, + "securityCode": { + "message": "Сигурносни код" + }, + "ex": { + "message": "нпр." + }, + "title": { + "message": "Наслов" + }, + "mr": { + "message": "Г." + }, + "mrs": { + "message": "Гђц." + }, + "ms": { + "message": "Гђа." + }, + "dr": { + "message": "Др" + }, + "firstName": { + "message": "Име" + }, + "middleName": { + "message": "Средње име" + }, + "lastName": { + "message": "Презиме" + }, + "identityName": { + "message": "Име идентитета" + }, + "company": { + "message": "Предузеће" + }, + "ssn": { + "message": "Број социјалног осигурања" + }, + "passportNumber": { + "message": "Број пасоша" + }, + "licenseNumber": { + "message": "Број возачке дозволе" + }, + "email": { + "message": "Имејл" + }, + "phone": { + "message": "Телефон" + }, + "address": { + "message": "Адреса" + }, + "address1": { + "message": "Адреса 1" + }, + "address2": { + "message": "Адреса 2" + }, + "address3": { + "message": "Адреса 3" + }, + "cityTown": { + "message": "Град" + }, + "stateProvince": { + "message": "Држава / покрајина" + }, + "zipPostalCode": { + "message": "Поштански број" + }, + "country": { + "message": "Земља" + }, + "type": { + "message": "Тип" + }, + "typeLogin": { + "message": "Пријава" + }, + "typeLogins": { + "message": "Пријаве" + }, + "typeSecureNote": { + "message": "Сигурносна белешка" + }, + "typeCard": { + "message": "Картица" + }, + "typeIdentity": { + "message": "Идентитет" + }, + "passwordHistory": { + "message": "Историја Лозинке" + }, + "back": { + "message": "Назад" + }, + "collections": { + "message": "Колекције" + }, + "favorites": { + "message": "Омиљени" + }, + "popOutNewWindow": { + "message": "Отворите у нови прозор" + }, + "refresh": { + "message": "Освежи" + }, + "cards": { + "message": "Картице" + }, + "identities": { + "message": "Идентитети" + }, + "logins": { + "message": "Пријаве" + }, + "secureNotes": { + "message": "Сигурносне белешке" + }, + "clear": { + "message": "Очисти", + "description": "To clear something out. example: To clear browser history." + }, + "checkPassword": { + "message": "Проверите да ли је лозинка изложена." + }, + "passwordExposed": { + "message": "Ова лозинка је изложена $VALUE$ пута. Требали би да је промените.", + "placeholders": { + "value": { + "content": "$1", + "example": "2" + } + } + }, + "passwordSafe": { + "message": "Ова лозинка није никада изложена. Треба да је сигурна за употребу." + }, + "baseDomain": { + "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": "Тачно" + }, + "startsWith": { + "message": "Почиње са" + }, + "regEx": { + "message": "Регуларни израз", + "description": "A programming term, also known as 'RegEx'." + }, + "matchDetection": { + "message": "Налажење везе", + "description": "URI match detection for auto-fill." + }, + "defaultMatchDetection": { + "message": "Стандардно налажење вење", + "description": "Default URI match detection for auto-fill." + }, + "toggleOptions": { + "message": "Пребацити опције" + }, + "toggleCurrentUris": { + "message": "Укључи/искључи тренутне УРЛ", + "description": "Toggle the display of the URIs of the currently open tabs in the browser." + }, + "currentUri": { + "message": "Тренутни УРЛ", + "description": "The URI of one of the current open tabs in the browser." + }, + "organization": { + "message": "Организација", + "description": "An entity of multiple related people (ex. a team or business organization)." + }, + "types": { + "message": "Врсте" + }, + "allItems": { + "message": "Све ставке" + }, + "noPasswordsInList": { + "message": "Нама лозинке у листи." + }, + "remove": { + "message": "Уклони" + }, + "default": { + "message": "Подразумевано" + }, + "dateUpdated": { + "message": "Ажурирано", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Лозинка ажурирана", + "description": "ex. Date this password was updated" + }, + "neverLockWarning": { + "message": "Да ли сте сигурни да желите да користите опцију „Никад“? Ако поставите опције закључавања на „Никада“, на вашем уређају се чува кључ за шифровање сефа. Ако користите ову опцију, осигурајте да је уређај правилно заштићен." + }, + "noOrganizationsList": { + "message": "Не припадате ниједној организацији. Организације вам омогућавају да безбедно делите ставке са другим корисницима." + }, + "noCollectionsInList": { + "message": "Нема колекције у листи." + }, + "ownership": { + "message": "Власништво" + }, + "whoOwnsThisItem": { + "message": "Ко је власник ове ставке?" + }, + "strong": { + "message": "Јако", + "description": "ex. A strong password. Scale: Weak -> Good -> Strong" + }, + "good": { + "message": "Добро", + "description": "ex. A good password. Scale: Weak -> Good -> Strong" + }, + "weak": { + "message": "Слабо", + "description": "ex. A weak password. Scale: Weak -> Good -> Strong" + }, + "weakMasterPassword": { + "message": "Слаба Главна Лозинка" + }, + "weakMasterPasswordDesc": { + "message": "Главна лозинка коју сте одабрали је слаба. Требали бисте користити јаку главну лозинку (или приступну фразу) да бисте правилно заштитили свој налог. Да ли сте сигурни да желите да користите ову главну лозинку?" + }, + "pin": { + "message": "ПИН", + "description": "PIN code. Ex. The short code (often numeric) that you use to unlock a device." + }, + "unlockWithPin": { + "message": "Деблокирај са ПИН" + }, + "setYourPinCode": { + "message": "Поставите свој ПИН код за откључавање Bitwarden-а. Поставке ПИН-а ће се ресетовати ако се икада потпуно одјавите из апликације." + }, + "pinRequired": { + "message": "ПИН је обавезан." + }, + "invalidPin": { + "message": "Погрешан ПИН код." + }, + "verifyPin": { + "message": "Верификујте PIN" + }, + "yourVaultIsLockedPinCode": { + "message": "Сеф је блокиран. Проверити ПИН код за наставак." + }, + "lockWithMasterPassOnRestart": { + "message": "Закључајте са главном лозинком при поновном покретању прегледача" + }, + "selectOneCollection": { + "message": "Морате одабрати макар једну колекцију." + }, + "cloneItem": { + "message": "Цлонирај ставку" + }, + "clone": { + "message": "Клонирај" + }, + "passwordGeneratorPolicyInEffect": { + "message": "Једна или више смерница организације утичу на поставке вашег генератора." + }, + "vaultTimeoutAction": { + "message": "Акција на тајмаут сефа" + }, + "lock": { + "message": "Закључај", + "description": "Verb form: to make secure or inaccesible by" + }, + "trash": { + "message": "Смеће", + "description": "Noun: a special folder to hold deleted items" + }, + "searchTrash": { + "message": "Тражи смеће" + }, + "permanentlyDeleteItem": { + "message": "Трајно избрисати ставку" + }, + "permanentlyDeleteItemConfirmation": { + "message": "Да ли сте сигурни да желите да трајно избришете ову ставку?" + }, + "permanentlyDeletedItem": { + "message": "Трајно избрисати ставку" + }, + "restoreItem": { + "message": "Врати ставку" + }, + "restoreItemConfirmation": { + "message": "Да ли сте сигурни да желите да вратите ову ставку?" + }, + "restoredItem": { + "message": "Ставка враћена" + }, + "vaultTimeoutLogOutConfirmation": { + "message": "Одјава ће уклонити сваки приступ вашем сефу и захтева мрежну потврду идентитета након истека тајмаута. Да ли сте сигурни да желите да користите ову поставку?" + }, + "vaultTimeoutLogOutConfirmationTitle": { + "message": "Потврда акције тајмаута" + }, + "autoFillAndSave": { + "message": "Ауто-пуни и Сачувај" + }, + "autoFillSuccessAndSavedUri": { + "message": "Ауто-пуњена ставка и сачуван УРЛ" + }, + "autoFillSuccess": { + "message": "Ставка ауто-попуњена" + }, + "setMasterPassword": { + "message": "Постави Главну Лозинку" + }, + "masterPasswordPolicyInEffect": { + "message": "Једна или више смерница организације захтевају да ваша главна лозинка да би испуњавали следеће захтеве:" + }, + "policyInEffectMinComplexity": { + "message": "Оцена минималне сложености од $SCORE$", + "placeholders": { + "score": { + "content": "$1", + "example": "4" + } + } + }, + "policyInEffectMinLength": { + "message": "Минимална дужина од $LENGTH$", + "placeholders": { + "length": { + "content": "$1", + "example": "14" + } + } + }, + "policyInEffectUppercase": { + "message": "Садржи један или више великих слова" + }, + "policyInEffectLowercase": { + "message": "Садржи један или више малих слова" + }, + "policyInEffectNumbers": { + "message": "Садрже један или више бројева" + }, + "policyInEffectSpecial": { + "message": "Садрже један или више бројева ових специјалних слова $CHARS$", + "placeholders": { + "chars": { + "content": "$1", + "example": "!@#$%^&*" + } + } + }, + "masterPasswordPolicyRequirementsNotMet": { + "message": "Ваша нова главна лозинка не испуњава захтеве смерница." + }, + "acceptPolicies": { + "message": "Означавањем овог поља пристајете на следеће:" + }, + "acceptPoliciesError": { + "message": "Услови услуге и Политика приватности нису признати." + }, + "termsOfService": { + "message": "Услови коришћења услуге" + }, + "privacyPolicy": { + "message": "Политика приватности" + } +} diff --git a/src/_locales/sv/messages.json b/src/_locales/sv/messages.json index 2108ac3e5a..5997d4b801 100644 --- a/src/_locales/sv/messages.json +++ b/src/_locales/sv/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Skapa och kopiera ett nytt slumpmässigt lösenord till urklipp." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Det här fönstret är tyvärr inte tillgängligt i privat läge för denna webbläsare." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Ditt nya huvudlösenord uppfyller inte kraven i policyn." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/th/messages.json b/src/_locales/th/messages.json index ea868a7c48..a878d167cd 100644 --- a/src/_locales/th/messages.json +++ b/src/_locales/th/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Generate and copy a new random password to the clipboard." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Unfortunately this window is not available in private mode for this browser." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/tr/messages.json b/src/_locales/tr/messages.json index 2ef8aa6bac..b6a6e815eb 100644 --- a/src/_locales/tr/messages.json +++ b/src/_locales/tr/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Rastgele yeni bir parola oluştur ve panoya kopyala." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Ne yazık ki bu pencere bu tarayıcının özel modunda kullanılabilir değildir." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Yeni ana parolanız ilke gereksinimlerini karşılamıyor." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/uk/messages.json b/src/_locales/uk/messages.json index 86507aa00e..0b47df5068 100644 --- a/src/_locales/uk/messages.json +++ b/src/_locales/uk/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Генерувати і копіювати новий випадковий пароль в буфер обміну" }, + "commandLockVaultDesc": { + "message": "Заблокувати сховище" + }, "privateModeMessage": { "message": "Шкода, але це вікно недоступне в приватному режимі для цього браузера." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Ваш новий головний пароль не задовольняє вимоги політики." + }, + "acceptPolicies": { + "message": "Позначивши цей прапорець, ви погоджуєтеся з:" + }, + "acceptPoliciesError": { + "message": "Умови користування та політика приватності не погоджені." + }, + "termsOfService": { + "message": "Умови користування" + }, + "privacyPolicy": { + "message": "Політика приватності" } } diff --git a/src/_locales/vi/messages.json b/src/_locales/vi/messages.json index 5e24368dc2..a258510f0c 100644 --- a/src/_locales/vi/messages.json +++ b/src/_locales/vi/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "Tạo và sao chép một mật khẩu ngẫu nhiên mới vào bộ nhớ tạm." }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "Rất tiếc, cửa sổ này không khả dụng trong chế độ riêng tư của trình duyệt này." }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "Your new master password does not meet the policy requirements." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/_locales/zh_CN/messages.json b/src/_locales/zh_CN/messages.json index 3292dbb197..3161f113db 100644 --- a/src/_locales/zh_CN/messages.json +++ b/src/_locales/zh_CN/messages.json @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "生成一个新的随机密码并将其复制到剪贴板中。" }, + "commandLockVaultDesc": { + "message": "锁定密码库" + }, "privateModeMessage": { "message": "非常不幸,此窗口在这个浏览器的隐私模式中不可用。" }, @@ -1353,5 +1356,17 @@ }, "masterPasswordPolicyRequirementsNotMet": { "message": "您的新主密码不符合策略要求。" + }, + "acceptPolicies": { + "message": "选中此框表示您同意:" + }, + "acceptPoliciesError": { + "message": "尚未同意服务条款和隐私政策。" + }, + "termsOfService": { + "message": "服务条款" + }, + "privacyPolicy": { + "message": "隐私政策" } } diff --git a/src/_locales/zh_TW/messages.json b/src/_locales/zh_TW/messages.json index 3293076c4d..b498f63910 100644 --- a/src/_locales/zh_TW/messages.json +++ b/src/_locales/zh_TW/messages.json @@ -20,7 +20,7 @@ "message": "登入" }, "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" + "message": "企業單一登入(SSO)" }, "cancel": { "message": "取消" @@ -501,7 +501,7 @@ "message": "確定要刪除此項目嗎?" }, "deletedItem": { - "message": "已刪除項目" + "message": "已刪除的項目" }, "overwritePassword": { "message": "覆寫密碼" @@ -874,7 +874,7 @@ "message": "環境 URL 已儲存。" }, "enableAutoFillOnPageLoad": { - "message": "啟用頁面載入時自動填入表單" + "message": "當頁面載入時自動填入表單" }, "enableAutoFillOnPageLoadDesc": { "message": "如果網頁載入時偵測到登入表單,則自動執行表單填入。" @@ -894,6 +894,9 @@ "commandGeneratePasswordDesc": { "message": "產生一組新的隨機密碼並將它複製到剪貼簿中。" }, + "commandLockVaultDesc": { + "message": "Lock the vault" + }, "privateModeMessage": { "message": "很遺憾,在瀏覽器的隱私模式下,此視窗無法使用。" }, @@ -1280,43 +1283,43 @@ "message": "永久刪除項目" }, "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" + "message": "您確定要永久刪除此項目嗎?" }, "permanentlyDeletedItem": { - "message": "Permanently Deleted item" + "message": "已永久刪除的項目" }, "restoreItem": { "message": "恢復項目" }, "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" + "message": "您確定要恢復此項目嗎?" }, "restoredItem": { "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": "逾時動作確認" }, "autoFillAndSave": { - "message": "Auto-fill and Save" + "message": "自動填入並儲存" }, "autoFillSuccessAndSavedUri": { - "message": "Auto-filled Item and Saved URI" + "message": "項目已自動填入並且已儲存 URL" }, "autoFillSuccess": { - "message": "Auto-filled Item" + "message": "項目已自動填入" }, "setMasterPassword": { - "message": "Set 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", @@ -1325,7 +1328,7 @@ } }, "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", + "message": "最小長度為 $LENGTH$", "placeholders": { "length": { "content": "$1", @@ -1334,16 +1337,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", @@ -1352,6 +1355,18 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." + "message": "您新的主密碼不符合原則需求。" + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" } } diff --git a/src/background/commands.background.ts b/src/background/commands.background.ts index 7259972573..625eb4cd67 100644 --- a/src/background/commands.background.ts +++ b/src/background/commands.background.ts @@ -44,6 +44,9 @@ export default class CommandsBackground { case 'open_popup': await this.openPopup(); break; + case 'lock_vault': + await this.vaultTimeoutService.lock(true); + break; default: break; } diff --git a/src/content/autofill.js b/src/content/autofill.js index d39cb42c00..ca6c75ae08 100644 --- a/src/content/autofill.js +++ b/src/content/autofill.js @@ -820,12 +820,17 @@ setValueForElement(el); afterValSetFunc(el); setValueForElementByEvent(el); - canSeeElementToStyle(el) && (el.className += ' com-bitwarden-browser-animated-fill', + + // START MODIFICATION + if (canSeeElementToStyle(el)) { + el.classList.add('com-bitwarden-browser-animated-fill'); setTimeout(function () { - // START MODIFICATION - el && el.className && (el.className = el.className.replace(/(\\s)?com-bitwarden-browser-animated-fill/, '')); - // END MODIFICATION - }, styleTimeout)); + if (el) { + el.classList.remove('com-bitwarden-browser-animated-fill'); + } + }, styleTimeout); + } + // END MODIFICATION } document.elementForOPID = getElementByOpId; diff --git a/src/content/shortcuts.ts b/src/content/shortcuts.ts index ecdacd89f4..f2d8de67dc 100644 --- a/src/content/shortcuts.ts +++ b/src/content/shortcuts.ts @@ -29,6 +29,10 @@ document.addEventListener('DOMContentLoaded', (event) => { Mousetrap.bind('mod+shift+y', () => { sendMessage('open_popup'); }); + + Mousetrap.bind('mod+shift+s', () => { + sendMessage('lock_vault'); + }); } else { Mousetrap.bind('mod+shift+9', () => { sendMessage('generate_password'); diff --git a/src/manifest.json b/src/manifest.json index ac7745dd36..a3768d611c 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -119,6 +119,9 @@ "default": "Ctrl+Shift+9" }, "description": "__MSG_commandGeneratePasswordDesc__" + }, + "lock_vault": { + "description": "__MSG_commandLockVaultDesc__" } }, "web_accessible_resources": [ diff --git a/src/popup/accounts/register.component.html b/src/popup/accounts/register.component.html index 4a8701ea2a..c673730d98 100644 --- a/src/popup/accounts/register.component.html +++ b/src/popup/accounts/register.component.html @@ -54,7 +54,7 @@ {{'masterPassDesc' | i18n}} -
+
@@ -80,5 +80,19 @@ {{'masterPassHintDesc' | i18n}}
+
+
+ +
+
diff --git a/src/popup/accounts/set-password.component.ts b/src/popup/accounts/set-password.component.ts index 85a71ee99a..295ded430f 100644 --- a/src/popup/accounts/set-password.component.ts +++ b/src/popup/accounts/set-password.component.ts @@ -1,6 +1,9 @@ import { Component } from '@angular/core'; -import { Router } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { ApiService } from 'jslib/abstractions/api.service'; import { CryptoService } from 'jslib/abstractions/crypto.service'; @@ -25,9 +28,9 @@ export class SetPasswordComponent extends BaseSetPasswordComponent { cryptoService: CryptoService, messagingService: MessagingService, userService: UserService, passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService, policyService: PolicyService, router: Router, - syncService: SyncService) { + syncService: SyncService, route: ActivatedRoute) { super(i18nService, cryptoService, messagingService, userService, passwordGenerationService, - platformUtilsService, policyService, router, apiService, syncService); + platformUtilsService, policyService, router, apiService, syncService, route); } get masterPasswordScoreWidth() { diff --git a/src/popup/accounts/two-factor.component.ts b/src/popup/accounts/two-factor.component.ts index 9e3aae9fc8..194d6c137d 100644 --- a/src/popup/accounts/two-factor.component.ts +++ b/src/popup/accounts/two-factor.component.ts @@ -4,7 +4,10 @@ import { NgZone, } from '@angular/core'; -import { Router } from '@angular/router'; +import { + ActivatedRoute, + Router, +} from '@angular/router'; import { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType'; @@ -38,9 +41,9 @@ export class TwoFactorComponent extends BaseTwoFactorComponent { environmentService: EnvironmentService, private ngZone: NgZone, private broadcasterService: BroadcasterService, private changeDetectorRef: ChangeDetectorRef, private popupUtilsService: PopupUtilsService, stateService: StateService, - storageService: StorageService) { + storageService: StorageService, route: ActivatedRoute) { super(authService, router, i18nService, apiService, platformUtilsService, window, environmentService, - stateService, storageService); + stateService, storageService, route); super.onSuccessfulLogin = () => { return syncService.fullSync(true); }; diff --git a/src/popup/scss/misc.scss b/src/popup/scss/misc.scss index 95f8bd2dde..90f13a9f51 100644 --- a/src/popup/scss/misc.scss +++ b/src/popup/scss/misc.scss @@ -307,3 +307,19 @@ app-vault-icon { input[type="password"]::-ms-reveal { display: none; } + +.checkbox { + position: relative; + display: block; + padding-left: 18px; + + label { + margin-bottom: 0; + } + + input[type="checkbox"] { + position: absolute; + margin-top: 4px; + margin-left: -18px; + } + } diff --git a/src/popup/vault/ciphers.component.ts b/src/popup/vault/ciphers.component.ts index e804449f27..a241102a4b 100644 --- a/src/popup/vault/ciphers.component.ts +++ b/src/popup/vault/ciphers.component.ts @@ -15,6 +15,7 @@ import { import { BrowserApi } from '../../browser/browserApi'; +import { CipherService } from 'jslib/abstractions/cipher.service'; import { CollectionService } from 'jslib/abstractions/collection.service'; import { FolderService } from 'jslib/abstractions/folder.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; @@ -62,7 +63,8 @@ export class CiphersComponent extends BaseCiphersComponent implements OnInit, On private changeDetectorRef: ChangeDetectorRef, private stateService: StateService, private popupUtils: PopupUtilsService, private i18nService: I18nService, private folderService: FolderService, private collectionService: CollectionService, - private analytics: Angulartics2, private platformUtilsService: PlatformUtilsService) { + private analytics: Angulartics2, private platformUtilsService: PlatformUtilsService, + private cipherService: CipherService) { super(searchService); this.pageSize = 100; this.applySavedState = (window as any).previousPopupUrl != null && @@ -195,6 +197,7 @@ export class CiphersComponent extends BaseCiphersComponent implements OnInit, On } this.preventSelected = true; this.analytics.eventTrack.next({ action: 'Launched URI From Listing' }); + await this.cipherService.updateLastLaunchedDate(cipher.id); BrowserApi.createNewTab(cipher.login.launchUri); if (this.popupUtils.inPopup(window)) { BrowserApi.closePopup(window); diff --git a/src/popup/vault/groupings.component.ts b/src/popup/vault/groupings.component.ts index d32f9a3152..84aca18084 100644 --- a/src/popup/vault/groupings.component.ts +++ b/src/popup/vault/groupings.component.ts @@ -286,6 +286,7 @@ export class GroupingsComponent extends BaseGroupingsComponent implements OnInit } this.preventSelected = true; this.analytics.eventTrack.next({ action: 'Launched URI From Listing' }); + await this.cipherService.updateLastLaunchedDate(cipher.id); BrowserApi.createNewTab(cipher.login.launchUri); if (this.popupUtils.inPopup(window)) { BrowserApi.closePopup(window); diff --git a/src/services/autofill.service.ts b/src/services/autofill.service.ts index 10b90216c1..9a67f33fab 100644 --- a/src/services/autofill.service.ts +++ b/src/services/autofill.service.ts @@ -37,6 +37,20 @@ const UsernameFieldNames: string[] = [ // German 'benutzername', 'benutzer name', 'email adresse', 'e-mail adresse', 'benutzerid', 'benutzer id']; +const FirstnameFieldNames: string[] = [ + // English + 'f-name', 'first-name', 'given-name', 'first-n', + // German + 'vorname' +] + +const LastnameFieldNames: string[] = [ + // English + 'l-name', 'last-name', 's-name', 'surname', 'family-name', 'family-n', 'last-n', + // German + 'nachname', 'familienname' +] + const ExcludedAutofillTypes: string[] = ['radio', 'checkbox', 'hidden', 'file', 'button', 'image', 'reset', 'search']; // Each index represents a language. These three arrays should all be the same length. @@ -231,10 +245,16 @@ export default class AutofillService implements AutofillServiceInterface { if (fromCommand) { cipher = await this.cipherService.getNextCipherForUrl(tab.url); } else { - cipher = await this.cipherService.getLastUsedForUrl(tab.url); + const lastLaunchedCipher = await this.cipherService.getLastLaunchedForUrl(tab.url); + if (lastLaunchedCipher && Date.now().valueOf() - lastLaunchedCipher.localData?.lastLaunched?.valueOf() < 30000) { + cipher = lastLaunchedCipher; + } + else { + cipher = await this.cipherService.getLastUsedForUrl(tab.url); + } } - return await this.doAutoFill({ + const autoFillResponse = await this.doAutoFill({ cipher: cipher, pageDetails: pageDetails, skipTotp: !fromCommand, @@ -244,6 +264,13 @@ export default class AutofillService implements AutofillServiceInterface { onlyVisibleFields: !fromCommand, fillNewPassword: fromCommand, }); + + // Only update last used index if doAutoFill didn't throw an exception + if (fromCommand) { + this.cipherService.updateLastUsedIndexForUrl(tab.url); + } + + return autoFillResponse; } // Helpers @@ -678,7 +705,7 @@ export default class AutofillService implements AutofillServiceInterface { fillFields.name = f; break; } else if (!fillFields.firstName && this.isFieldMatch(f[attr], - ['f-name', 'first-name', 'given-name', 'first-n'])) { + FirstnameFieldNames)) { fillFields.firstName = f; break; } else if (!fillFields.middleName && this.isFieldMatch(f[attr], @@ -686,7 +713,7 @@ export default class AutofillService implements AutofillServiceInterface { fillFields.middleName = f; break; } else if (!fillFields.lastName && this.isFieldMatch(f[attr], - ['l-name', 'last-name', 's-name', 'surname', 'family-name', 'family-n', 'last-n'])) { + LastnameFieldNames)) { fillFields.lastName = f; break; } else if (!fillFields.title && this.isFieldMatch(f[attr], diff --git a/store/locales/ml/copy.resx b/store/locales/ml/copy.resx index 1eb62b5652..ff262e5bea 100644 --- a/store/locales/ml/copy.resx +++ b/store/locales/ml/copy.resx @@ -118,41 +118,45 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Bitwarden – Free Password Manager + ബിറ്റ്വാർഡൻ - സൗജന്യമായി പാസ്‌വേഡ് മാനേജർ - A secure and free password manager for all of your devices + നിങ്ങളുടെ എല്ലാ ഉപകരണങ്ങൾക്കും സുരക്ഷിതവും സൗജന്യവുമായ പാസ്‌വേഡ് മാനേജർ. - Bitwarden is the easiest and safest way to store all of your logins and passwords while conveniently keeping them synced between all of your devices. + നിങ്ങളുടെ എല്ലാ ലോഗിനുകളും പാസ്‌വേഡുകളും സംഭരിക്കുന്നതിനുള്ള ഏറ്റവും എളുപ്പവും സുരക്ഷിതവുമായ മാർഗ്ഗമാണ് Bitwarden, ഒപ്പം നിങ്ങളുടെ എല്ലാ ഉപകരണങ്ങളും തമ്മിൽ സമന്വയിപ്പിക്കുകയും ചെയ്യുന്നു. -Password theft is a serious problem. The websites and apps that you use are under attack every day. Security breaches occur and your passwords are stolen. When you reuse the same passwords across apps and websites hackers can easily access your email, bank, and other important accounts. +പാസ്‌വേഡ് മോഷണം ഗുരുതരമായ പ്രശ്‌നമാണ്. നിങ്ങൾ ഉപയോഗിക്കുന്ന വെബ്‌സൈറ്റുകളും അപ്ലിക്കേഷനുകളും എല്ലാ ദിവസവും ആക്രമണത്തിലാണ്. സുരക്ഷാ ലംഘനങ്ങൾ സംഭവിക്കുകയും നിങ്ങളുടെ പാസ്‌വേഡുകൾ മോഷ്‌ടിക്കപ്പെടുകയും ചെയ്യുന്നു. അപ്ലിക്കേഷനുകളിലും വെബ്‌സൈറ്റുകളിലും ഉടനീളം സമാന പാസ്‌വേഡുകൾ നിങ്ങൾ വീണ്ടും ഉപയോഗിക്കുമ്പോൾ ഹാക്കർമാർക്ക് നിങ്ങളുടെ ഇമെയിൽ, ബാങ്ക്, മറ്റ് പ്രധാനപ്പെട്ട അക്കൗണ്ടുകൾ എന്നിവ എളുപ്പത്തിൽ ആക്‌സസ്സുചെയ്യാനാകും. -Security experts recommend that you use a different, randomly generated password for every account that you create. But how do you manage all those passwords? Bitwarden makes it easy for you to create, store, and access your passwords. +നിങ്ങളുടെ എല്ലാ ഉപകരണങ്ങളിലും സമന്വയിപ്പിക്കുന്ന ഒരു എൻ‌ക്രിപ്റ്റ് ചെയ്ത വാൾട്ടിൽ Bitwarden നിങ്ങളുടെ എല്ലാ ലോഗിനുകളും സംഭരിക്കുന്നു. നിങ്ങളുടെ ഉപകരണം വിടുന്നതിനുമുമ്പ് ഇത് പൂർണ്ണമായും എൻ‌ക്രിപ്റ്റ് ചെയ്‌തിരിക്കുന്നതിനാൽ, നിങ്ങളുടെ ഡാറ്റ നിങ്ങൾക്ക് മാത്രമേ ആക്‌സസ് ചെയ്യാൻ കഴിയൂ . Bitwarden ടീമിന് പോലും നിങ്ങളുടെ ഡാറ്റ വായിക്കാൻ കഴിയില്ല. നിങ്ങളുടെ ഡാറ്റ AES-256 ബിറ്റ് എൻ‌ക്രിപ്ഷൻ, സാൾട്ടിങ് ഹാഷിംഗ്, PBKDF2 SHA-256 എന്നിവ ഉപയോഗിച്ച് അടച്ചിരിക്കുന്നു. -Bitwarden stores all of your logins in an encrypted vault that syncs across all of your devices. Since it's fully encrypted before it ever leaves your device, only you have access to your data. Not even the team at Bitwarden can read your data, even if we wanted to. Your data is sealed with AES-256 bit encryption, salted hashing, and PBKDF2 SHA-256. +100% ഓപ്പൺ സോഴ്‌സ് സോഫ്റ്റ്വെയറാണ് Bitwarden . Bitwarden സോഴ്‌സ് കോഡ് GitHub- ൽ ഹോസ്റ്റുചെയ്‌തിരിക്കുന്നു, മാത്രമല്ല എല്ലാവർക്കും ഇത് അവലോകനം ചെയ്യാനും ഓഡിറ്റുചെയ്യാനും ബിറ്റ് വാർഡൻ കോഡ്ബേസിലേക്ക് സംഭാവന ചെയ്യാനും സ്വാതന്ത്ര്യമുണ്ട്. -Bitwarden is 100% open source software. The source code for Bitwarden is hosted on GitHub and everyone is free to review, audit, and contribute to the Bitwarden codebase. + + + + - A secure and free password manager for all of your devices + നിങ്ങളുടെ എല്ലാ ഉപകരണങ്ങൾക്കും സുരക്ഷിതവും സൗജന്യവുമായ പാസ്‌വേഡ് മാനേജർ. - Sync and access your vault from multiple devices + ഒന്നിലധികം ഉപകരണങ്ങളിൽ നിന്ന് നിങ്ങളുടെ വാൾട് സമന്വയിപ്പിച്ച് ആക്‌സസ്സുചെയ്യുക + - Manage all your logins and passwords from a secure vault + നിങ്ങളുടെ എല്ലാ ലോഗിനുകളും പാസ്‌വേഡുകളും സുരക്ഷിത വാൾട്ടിൽ നിന്ന് കൈകാര്യം ചെയ്യുക - Quickly auto-fill your login credentials into any website that you visit + നിങ്ങൾ സന്ദർശിക്കുന്ന ഏത് വെബ്‌സൈറ്റിലേക്കും നിങ്ങളുടെ ലോഗിൻ ക്രെഡൻഷ്യലുകൾ വേഗത്തിൽ യാന്ത്രികമായി പൂരിപ്പിക്കുക - Your vault is also conveniently accessible from the right-click menu + വലത്-ക്ലിക്ക് മെനുവിൽ നിന്ന് നിങ്ങളുടെ നിലവറയും സ access കര്യപ്രദമായി ആക്സസ് ചെയ്യാൻ കഴിയും. - Automatically generate strong, random, and secure passwords + ശക്തവും ക്രമരഹിതവും സുരക്ഷിതവുമായ പാസ്‌വേഡുകൾ യാന്ത്രികമായി സൃഷ്‌ടിക്കുക - Your information is managed securely using AES-256 bit encryption + AES-256 ബിറ്റ് എൻ‌ക്രിപ്ഷൻ ഉപയോഗിച്ച് നിങ്ങളുടെ വിവരങ്ങൾ സുരക്ഷിതമായി കൈകാര്യം ചെയ്യുന്നു \ No newline at end of file diff --git a/store/locales/sr/copy.resx b/store/locales/sr/copy.resx new file mode 100644 index 0000000000..2a2de812a4 --- /dev/null +++ b/store/locales/sr/copy.resx @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Bitwarden - Бесплатни Менаџер Лозинке + + + Сигурни и бесплатни менаџер лозинке за сва Ваша уређаја + + + Bitwarden је најједноставнији и најсигурнији начин за складиштење свих ваших података за пријављивање и лозинки, док их истовремено усклађујете на свим својим уређајима. + +Крађа лозинке је озбиљан проблем. Веб локације и апликације које користите свакодневно су на удару. Дошло је до нарушавања безбедности и крађе лозинки. Када поново користите исте лозинке у апликацијама и на веб локацијама, хакери могу лако да приступе вашој е-пошти, банци и другим важним рачунима. + +Стручњаци за безбедност препоручују употребу различите, насумично генерисане лозинке за сваки налог који креирате. Али како управљате свим тим лозинкама? Bitwarden вам олакшава стварање, чување и приступ вашим лозинкама. + +Bitwarden чува све ваше пријаве у шифрованом сефу који се синхронизује на свим вашим уређајима. Пошто је потпуно шифровано пре него што напусти уређај, само ви имате приступ подацима. Чак ни тим у Bitwarden не може да прочита ваше податке, чак и да то желимо. Ваши подаци су запечаћени са AES-256 битном енкрипцијом, усољеним хеширањем и PBKDF2 SHA-256. + +Bitwardenје софтвер са 100% отвореног кода. Изворни код Bitwarden-а се налази на GitHub и сви могу слободно да прегледају, провере и дају свој допринос за Bitwarden. + + + Сигурни и бесплатни менаџер лозинке за сва Ваша уређаја + + + Синхронизујте и приступите сефу са више уређаја + + + Управљајте свим својим пријавама и лозинкама из сигурног сефа + + + Брзо аутоматски попуните своје податке за пријављивање на било коју веб локацију коју посетите + + + Ваш сеф је такође доступан из менија десним кликом миша + + + Аутоматски генеришите јаке, насумичне и сигурне лозинке + + + Вашим подацима се сигурносно управља помоћу AES-256 битне енкрипције + + \ No newline at end of file