1
0
mirror of https://github.com/bitwarden/browser.git synced 2025-12-05 09:14:28 +01:00

Merge branch 'main' into neuronull/ci-build-desktop-build-dev

This commit is contained in:
neuronull 2025-12-01 14:57:03 -08:00 committed by GitHub
commit a804ccab8b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
363 changed files with 9866 additions and 8560 deletions

View File

@ -119,7 +119,7 @@
"rimraf",
"ssh-encoding",
"ssh-key",
"@storybook/web-components-webpack5",
"@storybook/web-components-vite",
"tabbable",
"tldts",
"wait-on",
@ -311,26 +311,24 @@
"@compodoc/compodoc",
"@ng-select/ng-select",
"@storybook/addon-a11y",
"@storybook/addon-actions",
"@storybook/addon-designs",
"@storybook/addon-essentials",
"@storybook/addon-interactions",
"@storybook/addon-docs",
"@storybook/addon-links",
"@storybook/test-runner",
"@storybook/addon-themes",
"@storybook/angular",
"@storybook/manager-api",
"@storybook/theming",
"@types/react",
"autoprefixer",
"bootstrap",
"chromatic",
"ngx-toastr",
"path-browserify",
"react",
"react-dom",
"remark-gfm",
"storybook",
"tailwindcss",
"vite-tsconfig-paths",
"zone.js",
"@tailwindcss/container-queries",
],

View File

@ -158,7 +158,7 @@ jobs:
run: docker logout
bitwarden-lite-build:
name: Trigger Bitwarden Lite build
name: Trigger Bitwarden lite build
runs-on: ubuntu-22.04
needs: setup
permissions:
@ -171,20 +171,27 @@ jobs:
tenant_id: ${{ secrets.AZURE_TENANT_ID }}
client_id: ${{ secrets.AZURE_CLIENT_ID }}
- name: Retrieve GitHub PAT secrets
id: retrieve-secret-pat
- name: Get Azure Key Vault secrets
id: get-kv-secrets
uses: bitwarden/gh-actions/get-keyvault-secrets@main
with:
keyvault: "bitwarden-ci"
secrets: "github-pat-bitwarden-devops-bot-repo-scope"
keyvault: gh-org-bitwarden
secrets: "BW-GHAPP-ID,BW-GHAPP-KEY"
- name: Log out from Azure
uses: bitwarden/gh-actions/azure-logout@main
- name: Trigger Bitwarden Lite build
- name: Generate GH App token
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
id: app-token
with:
app-id: ${{ steps.get-kv-secrets.outputs.BW-GHAPP-ID }}
private-key: ${{ steps.get-kv-secrets.outputs.BW-GHAPP-KEY }}
- name: Trigger Bitwarden lite build
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ steps.retrieve-secret-pat.outputs.github-pat-bitwarden-devops-bot-repo-scope }}
github-token: ${{ steps.app-token.outputs.token }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: 'bitwarden',
@ -192,6 +199,7 @@ jobs:
workflow_id: 'build-bitwarden-lite.yml',
ref: 'main',
inputs: {
use_latest_core_version: true
use_latest_core_version: true,
web_branch: process.env.GITHUB_REF
}
});

View File

@ -28,15 +28,13 @@ const config: StorybookConfig = {
],
addons: [
getAbsolutePath("@storybook/addon-links"),
getAbsolutePath("@storybook/addon-essentials"),
getAbsolutePath("@storybook/addon-a11y"),
getAbsolutePath("@storybook/addon-designs"),
getAbsolutePath("@storybook/addon-interactions"),
getAbsolutePath("@storybook/addon-themes"),
{
// @storybook/addon-docs is part of @storybook/addon-essentials
// eslint-disable-next-line storybook/no-uninstalled-addons
name: "@storybook/addon-docs",
name: getAbsolutePath("@storybook/addon-docs"),
options: {
mdxPluginOptions: {
mdxCompileOptions: {
@ -60,6 +58,10 @@ const config: StorybookConfig = {
webpackFinal: async (config, { configType }) => {
if (config.resolve) {
config.resolve.plugins = [new TsconfigPathsPlugin()] as any;
config.resolve.fallback = {
...config.resolve.fallback,
path: require.resolve("path-browserify"),
};
}
return config;
},

View File

@ -1,5 +1,5 @@
import { addons } from "@storybook/manager-api";
import { create } from "@storybook/theming/create";
import { addons } from "storybook/manager-api";
import { create } from "storybook/theming";
const lightTheme = create({
base: "light",

View File

@ -49,7 +49,7 @@ const preview: Preview = {
},
},
backgrounds: {
disable: true,
disabled: true,
},
},
tags: ["autodocs"],

View File

@ -220,5 +220,31 @@
}
}
}
},
"schematics": {
"@schematics/angular:component": {
"type": "component"
},
"@schematics/angular:directive": {
"type": "directive"
},
"@schematics/angular:service": {
"type": "service"
},
"@schematics/angular:guard": {
"typeSeparator": "."
},
"@schematics/angular:interceptor": {
"typeSeparator": "."
},
"@schematics/angular:module": {
"typeSeparator": "."
},
"@schematics/angular:pipe": {
"typeSeparator": "."
},
"@schematics/angular:resolver": {
"typeSeparator": "."
}
}
}

View File

@ -1,6 +1,6 @@
{
"name": "@bitwarden/browser",
"version": "2025.11.1",
"version": "2025.12.0",
"scripts": {
"build": "npm run build:chrome",
"build:bit": "npm run build:bit:chrome",

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "تعديل"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "سنة الإنتهاء"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "تاريخ الانتهاء"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Arxivlənmiş elementlər ümumi axtarış nəticələrindən və avto-doldurma təkliflərindən xaric ediləcək. Bu elementi arxivləmək istədiyinizə əminsiniz?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Düzəliş et"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Hamısına bax"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "Daha azına bax"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Son istifadə ili"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Bitmə vaxtı"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Ödənişsiz təşkilatlar qoşmaları istifadə edə bilməz"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "\"Premium\"a yüksəlt"
},
"upgradeCompleteSecurity": {
"message": "Tam təhlükəsizlik üçün yüksəldin"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium, güvəndə qalmağınız, səmərəli çalışmağınız və nəzarətə sahib olmağınız üçün daha çox alət verir."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Premium-u kəşf et"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Рэдагаваць"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Год завяршэння"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Тэрмін дзеяння"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Архивираните елементи са изключени от общите резултати при търсене и от предложенията за автоматично попълване. Наистина ли искате да архивирате този елемент?"
},
"upgradeToUseArchive": {
"message": "За да се възползвате от архивирането, трябва да ползвате платен абонамент."
},
"edit": {
"message": "Редактиране"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Показване на всички"
},
"showAll": {
"message": "Показване на всички"
},
"viewLess": {
"message": "Преглед на по-малко"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Година на изтичане"
},
"monthly": {
"message": "месец"
},
"expiration": {
"message": "Изтичане"
},
@ -2437,7 +2446,7 @@
}
},
"topLayerHijackWarning": {
"message": "This page is interfering with the Bitwarden experience. The Bitwarden inline menu has been temporarily disabled as a safety measure."
"message": "Тази страница пречи на работата на Битуорден. Вмъкнатото меню на Битуорден е временно изключено, като мярка за сигурност."
},
"setMasterPassword": {
"message": "Задаване на главна парола"
@ -4902,6 +4911,9 @@
"premium": {
"message": "Премиум"
},
"unlockFeaturesWithPremium": {
"message": "Отключете докладите, аварийния достъп и още функционалности свързани със сигурността, с платения план."
},
"freeOrgsCannotUseAttachments": {
"message": "Безплатните организации не могат да използват прикачени файлове"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Надградете до Платения план"
},
"upgradeCompleteSecurity": {
"message": "Надградете, за да се възползвате от пълна защита"
"unlockAdvancedSecurity": {
"message": "Отключване на разширените функционалности по сигурността"
},
"premiumGivesMoreTools": {
"message": "Платеният план предоставя повече инструменти за защита, ефективна работа и контрол."
"unlockAdvancedSecurityDesc": {
"message": "Платеният абонамент предоставя повече инструменти за защита и управление"
},
"explorePremium": {
"message": "Разгледайте платения план"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "সম্পাদনা"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "মেয়াদোত্তীর্ণ বছর"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "মেয়াদোত্তীর্ণতা"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edita"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Any de venciment"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Caducitat"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archivované položky jsou vyloučeny z obecných výsledků vyhledávání a z návrhů automatického vyplňování. Jste si jisti, že chcete tuto položku archivovat?"
},
"upgradeToUseArchive": {
"message": "Pro použití funkce Archiv je potřebné prémiové členství."
},
"edit": {
"message": "Upravit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Zobrazit vše"
},
"showAll": {
"message": "Zobrazit vše"
},
"viewLess": {
"message": "Zobrazit méně"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Rok expirace"
},
"monthly": {
"message": "měsíčně"
},
"expiration": {
"message": "Expirace"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Odemkněte hlášení, nouzový přístup a další bezpečnostní funkce s předplatným Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Volné organizace nemohou používat přílohy"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Aktualizovat na Premium"
},
"upgradeCompleteSecurity": {
"message": "Aktualizujte pro úplné zabezpečení"
"unlockAdvancedSecurity": {
"message": "Odemknout pokročilé bezpečnostní funkce"
},
"premiumGivesMoreTools": {
"message": "Verze Premium Vám poskytne více nástrojů k zabezpečení, efektivní práci a udržení kontroly."
"unlockAdvancedSecurityDesc": {
"message": "Prémiové předplatné Vám dává více nástrojů k bezpečí a kontrole"
},
"explorePremium": {
"message": "Objevit Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Golygu"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Blwyddyn dod i ben"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Dod i ben"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Redigér"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Udløbsår"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Udløb"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Gratis organisationer kan ikke bruge vedhæftninger"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -562,7 +562,7 @@
"description": "Verb"
},
"unArchive": {
"message": "Nicht mehr archivieren"
"message": "Wiederherstellen"
},
"itemsInArchive": {
"message": "Einträge im Archiv"
@ -574,10 +574,10 @@
"message": "Archivierte Einträge werden hier angezeigt und von allgemeinen Suchergebnissen sowie Vorschlägen zum automatischen Ausfüllen ausgeschlossen."
},
"itemWasSentToArchive": {
"message": "Eintrag wurde ins Archiv verschoben"
"message": "Eintrag wurde archiviert"
},
"itemUnarchived": {
"message": "Eintrag wird nicht mehr archiviert"
"message": "Eintrag wurde wiederhergestellt"
},
"archiveItem": {
"message": "Eintrag archivieren"
@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archivierte Einträge werden von allgemeinen Suchergebnissen sowie Vorschlägen zum automatischen Ausfüllen ausgeschlossen. Bist du sicher, dass du diesen Eintrag archivieren möchtest?"
},
"upgradeToUseArchive": {
"message": "Für die Nutzung des Archivs ist eine Premium-Mitgliedschaft erforderlich."
},
"edit": {
"message": "Bearbeiten"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Alles anzeigen"
},
"showAll": {
"message": "Alles anzeigen"
},
"viewLess": {
"message": "Weniger anzeigen"
},
@ -1044,7 +1050,7 @@
"message": "Eintrag gespeichert"
},
"savedWebsite": {
"message": "Website gespeichert"
"message": "Gespeicherte Website"
},
"savedWebsites": {
"message": "Gespeicherte Websites ($COUNT$)",
@ -1704,7 +1710,7 @@
"message": "Auto-Ausfüllen bestätigen"
},
"confirmAutofillDesc": {
"message": "Diese Website stimmt nicht mit deinen gespeicherten Zugangsdaten überein. Bevor du deine Zugangsdaten eingibst, stelle sicher, dass es sich um eine vertrauenswürdige Website handelt."
"message": "Diese Website stimmt nicht mit deinen gespeicherten Zugangsdaten überein. Stelle sicher, dass dies eine vertrauenswürdige Website ist, bevor du deine Zugangsdaten eingibst."
},
"showInlineMenuLabel": {
"message": "Vorschläge zum Auto-Ausfüllen in Formularfeldern anzeigen"
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Ablaufjahr"
},
"monthly": {
"message": "Monatlich"
},
"expiration": {
"message": "Gültig bis"
},
@ -2437,7 +2446,7 @@
}
},
"topLayerHijackWarning": {
"message": "This page is interfering with the Bitwarden experience. The Bitwarden inline menu has been temporarily disabled as a safety measure."
"message": "Diese Seite stört die Bitwarden-Nutzung. Das Bitwarden Inline-Menü wurde aus Sicherheitsgründen vorübergehend deaktiviert."
},
"setMasterPassword": {
"message": "Master-Passwort festlegen"
@ -4066,7 +4075,7 @@
"message": "Kein Auto-Ausfüllen möglich"
},
"cannotAutofillExactMatch": {
"message": "Die Standard-Übereinstimmungserkennung steht auf \"Exakte Übereinstimmung\". Die aktuelle Website stimmt nicht genau mit den gespeicherten Zugangsdaten für diesen Eintrag überein."
"message": "Die Standard-Übereinstimmungserkennung ist auf „Exakte Übereinstimmung“ eingestellt. Die aktuelle Website stimmt nicht genau mit den gespeicherten Zugangsdaten für diesen Eintrag überein."
},
"okay": {
"message": "Okay"
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Schalte mit Premium Berichte, Notfallzugriff und weitere Sicherheitsfunktionen frei."
},
"freeOrgsCannotUseAttachments": {
"message": "Kostenlose Organisationen können Anhänge nicht verwenden"
},
@ -5653,7 +5665,7 @@
"message": "Phishing-Versuch erkannt"
},
"phishingPageSummary": {
"message": "Die Website, die du versuchst zu öffnen, ist eine bekannte böswillige Website und ein Sicherheitsrisiko."
"message": "Die Website, die du öffnen möchtest, ist als böswillige Website bekannt und stellt ein Sicherheitsrisiko dar."
},
"phishingPageCloseTabV2": {
"message": "Diesen Tab schließen"
@ -5801,7 +5813,7 @@
"message": "Notfallzugriff"
},
"breachMonitoring": {
"message": "Datendiebstahl-Überwachung"
"message": "Datenleck-Überwachung"
},
"andMoreFeatures": {
"message": "Und mehr!"
@ -5812,14 +5824,14 @@
"upgradeToPremium": {
"message": "Upgrade auf Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade für umfassende Sicherheit"
"unlockAdvancedSecurity": {
"message": "Erweiterte Sicherheitsfunktionen freischalten"
},
"premiumGivesMoreTools": {
"message": "Premium gibt dir mehr Werkzeuge, um sicher zu bleiben, effizient zu arbeiten und die Kontrolle zu behalten."
"unlockAdvancedSecurityDesc": {
"message": "Mit einem Premium-Abonnement erhältst du mehr Werkzeuge für mehr Sicherheit und Kontrolle"
},
"explorePremium": {
"message": "Premium erkunden"
"message": "Premium entdecken"
},
"loadingVault": {
"message": "Tresor wird geladen"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Επεξεργασία"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Έτος λήξης"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Λήξη"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Οι δωρεάν οργανισμοί δεν μπορούν να χρησιμοποιήσουν συνημμένα"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organisations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organisations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Editar"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Año de expiración"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiración"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Las organizaciones gratis no pueden usar archivos adjuntos"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Muuda"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Aegumise aasta"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Aegumine"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Editatu"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Iraungitze urtea"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Iraungitze data"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "ویرایش"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "سال انقضاء"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "انقضاء"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "پرمیوم"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "سازمان‌های رایگان نمی‌توانند از پرونده‌های پیوست استفاده کنند"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Muokkaa"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Näytä kaikki"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Erääntymisvuosi"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Voimassaolo päättyy"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Ilmaiset organisaatiot eivät voi käyttää liitteitä"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "I-edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Taon ng Pag-expire"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Pag-expire"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Les éléments archivés sont exclus des résultats de recherche généraux et des suggestions de remplissage automatique. Êtes-vous sûr de vouloir archiver cet élément ?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Modifier"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Tout afficher"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "Afficher moins"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Année d'expiration"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -2437,7 +2446,7 @@
}
},
"topLayerHijackWarning": {
"message": "This page is interfering with the Bitwarden experience. The Bitwarden inline menu has been temporarily disabled as a safety measure."
"message": "Cette page interfère avec l'expérience Bitwarden. Le menu en ligne de Bitwarden a été temporairement désactivé en tant que mesure de sécurité."
},
"setMasterPassword": {
"message": "Définir le mot de passe principal"
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Déverrouillez la journalisation, l'accès d'urgence et plus de fonctionnalités de sécurité avec Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Les organisations gratuites ne peuvent pas utiliser de pièces jointes"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Mettre à niveau vers Premium"
},
"upgradeCompleteSecurity": {
"message": "Mettre à niveau pour une sécurité complète"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium vous donne plus d'outils pour rester en sécurité, travailler efficacement et garder le contrôle."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explorer Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Editar"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Ano de vencemento"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Vencemento"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Prémium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "As organizacións gratuitas non poden empregar anexos"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "פריטים בארכיון מוחרגים מתוצאות חיפוש כללי והצעות למילוי אוטומטי. האם אתה בטוח שברצונך להעביר פריט זה לארכיון?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "ערוך"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "הצג הכל"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "הצג פחות"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "שנת תפוגה"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "תוקף"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "פרימיום"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "ארגונים חינמיים לא יכולים להשתמש בצרופות"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "שדרג לפרימיום"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "संपादन करें"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration Year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "समय सीमा समाप्ति"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Arhivirane stavke biti će izuzete iz rezultata općih pretraga i preporuka auto-ispune. Sigurno želiš arhivirati?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Uredi"
},
@ -594,8 +597,11 @@
"viewAll": {
"message": "Vidi sve"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
"message": "Vidi manje"
},
"viewLogin": {
"message": "Prikaži prijavu"
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Godina isteka"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Istek"
},
@ -2437,7 +2446,7 @@
}
},
"topLayerHijackWarning": {
"message": "This page is interfering with the Bitwarden experience. The Bitwarden inline menu has been temporarily disabled as a safety measure."
"message": "Ova stranica ometa Bitwarden iskustvo. Kao sigurnosna mjera, Bitwarden inline izbornik je privremeno onemogućen."
},
"setMasterPassword": {
"message": "Postavi glavnu lozinku"
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Besplatne organizacije ne mogu koristiti privitke"
},
@ -5812,14 +5824,14 @@
"upgradeToPremium": {
"message": " Nadogradi na Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"
"message": "Provjeri Premium"
},
"loadingVault": {
"message": "Učitavanje trezora"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Az archivált elemek ki vannak zárva az általános keresési eredményekből és az automatikus kitöltési javaslatokból. Biztosan archiválni szeretnénk ezt az elemet?"
},
"upgradeToUseArchive": {
"message": "Az Archívum használatához prémium tagság szükséges."
},
"edit": {
"message": "Szerkesztés"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Összes megtekintése"
},
"showAll": {
"message": "Összes megjelenítése"
},
"viewLess": {
"message": "kevesebb megjelenítése"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Lejárati év"
},
"monthly": {
"message": "hónap"
},
"expiration": {
"message": "Lejárat"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Prémium"
},
"unlockFeaturesWithPremium": {
"message": "A Prémium segítségével feloldhatjuk a jelentés készítést, a vészhelyzeti hozzáférést és a további biztonsági funkciókat."
},
"freeOrgsCannotUseAttachments": {
"message": "Az ingyenes szervezetek nem használhatnak mellékleteket."
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Áttérés Prémium csomagra"
},
"upgradeCompleteSecurity": {
"message": "Áttérés a teljes biztonságért"
"unlockAdvancedSecurity": {
"message": "Fejlett biztonsági funkciók feloldása"
},
"premiumGivesMoreTools": {
"message": "A Premium több eszközt ad a biztonság megőrzéséhez, a hatékony munkavégzéshez és az irányítás megőrzéséhez."
"unlockAdvancedSecurityDesc": {
"message": "A prémium előfizetés több eszközt biztosít a biztonság és az irányítás megőrzéséhez."
},
"explorePremium": {
"message": "Premium felfedezése"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Tahun Kedaluwarsa"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Masa Berlaku"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Organisasi gratis tidak dapat menggunakan lampiran"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -32,7 +32,7 @@
"message": "Usa il Single Sign-On"
},
"yourOrganizationRequiresSingleSignOn": {
"message": "Your organization requires single sign-on."
"message": "La tua organizzazione richiede un accesso Single Sign-On (SSO)."
},
"welcomeBack": {
"message": "Bentornato/a"
@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Gli elementi archiviati sono esclusi dai risultati di ricerca e suggerimenti di autoriempimento. Vuoi davvero archiviare questo elemento?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Modifica"
},
@ -592,10 +595,13 @@
"message": "Visualizza"
},
"viewAll": {
"message": "View all"
"message": "Mostra tutto"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
"message": "Vedi meno"
},
"viewLogin": {
"message": "Visualizza login"
@ -800,10 +806,10 @@
"message": "Al blocco del computer"
},
"onIdle": {
"message": "On system idle"
"message": "Quando il sistema è inattivo"
},
"onSleep": {
"message": "On system sleep"
"message": "Quando il sistema è sospeso"
},
"onRestart": {
"message": "Al riavvio del browser"
@ -1044,10 +1050,10 @@
"message": "Elemento salvato"
},
"savedWebsite": {
"message": "Saved website"
"message": "Sito Web salvato"
},
"savedWebsites": {
"message": "Saved websites ( $COUNT$ )",
"message": "Siti Web salvati ( $COUNT$)",
"placeholders": {
"count": {
"content": "$1",
@ -1645,7 +1651,7 @@
"message": "Devi aggiungere lo URL del server di base o almeno un ambiente personalizzato."
},
"selfHostedEnvMustUseHttps": {
"message": "URLs must use HTTPS."
"message": "Gli indirizzi devono usare il protocollo HTTPS."
},
"customEnvironment": {
"message": "Ambiente personalizzato"
@ -1701,28 +1707,28 @@
"message": "Disattiva il riempimento automatico"
},
"confirmAutofill": {
"message": "Confirm autofill"
"message": "Conferma il riempimento automatico"
},
"confirmAutofillDesc": {
"message": "This site doesn't match your saved login details. Before you fill in your login credentials, make sure it's a trusted site."
"message": "Questo sito non corrisponde ai tuoi dati di accesso salvati. Prima di compilare le credenziali di accesso, assicurati che si tratti di un sito affidabile."
},
"showInlineMenuLabel": {
"message": "Mostra suggerimenti di riempimento automatico nei campi del modulo"
},
"howDoesBitwardenProtectFromPhishing": {
"message": "How does Bitwarden protect your data from phishing?"
"message": "In che modo Bitwarden ti protegge dai pericoli del phising?"
},
"currentWebsite": {
"message": "Current website"
"message": "Sito web corrente"
},
"autofillAndAddWebsite": {
"message": "Autofill and add this website"
"message": "Compila e aggiungi questo sito"
},
"autofillWithoutAdding": {
"message": "Autofill without adding"
"message": "Compila senza salvare"
},
"doNotAutofill": {
"message": "Do not autofill"
"message": "Non compilare con il riempimento automatico"
},
"showInlineMenuIdentitiesLabel": {
"message": "Mostra identità come consigli"
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Anno di scadenza"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Scadenza"
},
@ -2437,7 +2446,7 @@
}
},
"topLayerHijackWarning": {
"message": "This page is interfering with the Bitwarden experience. The Bitwarden inline menu has been temporarily disabled as a safety measure."
"message": "Questa pagina sta interferendo con Bitwarden. Il menu in linea di Bitwarden è stato temporaneamente disabilitato come misura di sicurezza."
},
"setMasterPassword": {
"message": "Imposta password principale"
@ -3289,7 +3298,7 @@
"message": "Errore di decifrazione"
},
"errorGettingAutoFillData": {
"message": "Error getting autofill data"
"message": "Errore: impossibile accedere ai dati per il riempimento automatico"
},
"couldNotDecryptVaultItemsBelow": {
"message": "Bitwarden non può decifrare gli elementi elencati di seguito."
@ -4063,13 +4072,13 @@
"description": "Toast message for informing the user that autofill on page load has been set to the default setting."
},
"cannotAutofill": {
"message": "Cannot autofill"
"message": "Impossibile usare il riempimento automatico"
},
"cannotAutofillExactMatch": {
"message": "Default matching is set to 'Exact Match'. The current website does not exactly match the saved login details for this item."
"message": "La corrispondenza predefinita è impostata su 'Corrispondenza esatta'. Il sito Web corrente non corrisponde esattamente ai dettagli di accesso salvati per questo elemento."
},
"okay": {
"message": "Okay"
"message": "OK"
},
"toggleSideNavigation": {
"message": "Attiva/Disattiva navigazione laterale"
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Sblocca reportistica, accesso d'emergenza e altre funzionalità di sicurezza con Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Le organizzazioni gratis non possono utilizzare gli allegati"
},
@ -4987,7 +4999,7 @@
}
},
"defaultLabelWithValue": {
"message": "Default ( $VALUE$ )",
"message": "Predefinito ($VALUE$)",
"description": "A label that indicates the default value for a field with the current default value in parentheses.",
"placeholders": {
"value": {
@ -5786,58 +5798,58 @@
"message": "Conferma dominio Key Connector"
},
"atRiskLoginsSecured": {
"message": "Great job securing your at-risk logins!"
"message": "Ottimo lavoro, i tuoi dati di accesso sono al sicuro!"
},
"upgradeNow": {
"message": "Upgrade now"
"message": "Aggiorna ora"
},
"builtInAuthenticator": {
"message": "Built-in authenticator"
"message": "App di autenticazione integrata"
},
"secureFileStorage": {
"message": "Secure file storage"
"message": "Archiviazione sicura di file"
},
"emergencyAccess": {
"message": "Emergency access"
"message": "Accesso di emergenza"
},
"breachMonitoring": {
"message": "Breach monitoring"
"message": "Monitoraggio delle violazioni"
},
"andMoreFeatures": {
"message": "And more!"
"message": "E molto altro!"
},
"planDescPremium": {
"message": "Complete online security"
"message": "Sicurezza online completa"
},
"upgradeToPremium": {
"message": "Upgrade to Premium"
"message": "Aggiorna a Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"
"message": "Scopri Premium"
},
"loadingVault": {
"message": "Loading vault"
"message": "Caricamento cassaforte"
},
"vaultLoaded": {
"message": "Vault loaded"
"message": "Cassaforte caricata"
},
"settingDisabledByPolicy": {
"message": "Questa impostazione è disabilitata dalle restrizioni della tua organizzazione.",
"description": "This hint text is displayed when a user setting is disabled due to an organization policy."
},
"zipPostalCodeLabel": {
"message": "ZIP / Postal code"
"message": "CAP"
},
"cardNumberLabel": {
"message": "Card number"
"message": "Numero di carta"
},
"sessionTimeoutSettingsAction": {
"message": "Timeout action"
"message": "Azione al timeout"
}
}

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "編集"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "有効期限年"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "有効期限"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "プレミアム"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "無料の組織は添付ファイルを使用できません"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "プレミアムにアップグレード"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "ჩასწორება"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "ვადა"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "პრემიუმი"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "ಎಡಿಟ್"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "ಮುಕ್ತಾಯ ವರ್ಷ"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "ಮುಕ್ತಾಯ"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "보관된 항목은 일반 검색 결과와 자동 완성 제안에서 제외됩니다. 이 항목을 보관하시겠습니까?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "편집"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "만료 연도"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "만료"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "프리미엄"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "무료 조직에서는 첨부 파일을 사용할 수 없습니다."
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Keisti"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Galiojimo pabaigos metai"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Galiojimo pabaiga"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "„Premium“"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Nemokamos organizacijos negali naudoti priedų"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Arhivētie vienumi netiek iekļauti vispārējās meklēšanas iznākumos un automātiskās aizpildes ieteikumos. Vai tiešām ahrivēt šo vienumu?"
},
"upgradeToUseArchive": {
"message": "Ir nepieciešama Premium dalība, lai izmantotu arhīvu."
},
"edit": {
"message": "Labot"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Apskatīt visu"
},
"showAll": {
"message": "Rādīt visu"
},
"viewLess": {
"message": "Skatīt mazāk"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Derīguma gads"
},
"monthly": {
"message": "mēnesī"
},
"expiration": {
"message": "Derīgums"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Iegūsti piekļuvi atskaitēm, ārkārtas piekļuvei un citām drošības iespējām ar Premium!"
},
"freeOrgsCannotUseAttachments": {
"message": "Bezmaksas apvienības nevar izmantot pielikumus"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Uzlabot uz Premium"
},
"upgradeCompleteSecurity": {
"message": "Uzlabo pilnīgas drošības iegūšanai"
"unlockAdvancedSecurity": {
"message": "Atslēdz papildu drošības iespējas"
},
"premiumGivesMoreTools": {
"message": "Premium sniedz vairāk rīku drošībai, darba ražīgumam un pārraudzībai."
"unlockAdvancedSecurityDesc": {
"message": "Premium abonements sniedz vairāk rīku drošības uzturēšanai un pārraudzībai"
},
"explorePremium": {
"message": "Izpētīt Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "തിരുത്തുക"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "കാലാവതി കഴിയുന്ന വർഷം"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "കാലഹരണപ്പെടൽ"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Rediger"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Utløpsår"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Utløp"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Gearchiveerde items worden uitgesloten van algemene zoekresultaten en automatische invulsuggesties. Weet je zeker dat je dit item wilt archiveren?"
},
"upgradeToUseArchive": {
"message": "Je hebt een Premium-abonnement nodig om te kunnen archiveren."
},
"edit": {
"message": "Bewerken"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Alles weergeven"
},
"showAll": {
"message": "Alles weergeven"
},
"viewLess": {
"message": "Minder weergeven"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Vervaljaar"
},
"monthly": {
"message": "maand"
},
"expiration": {
"message": "Vervaldatum"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Ontgrendel tapporteren, noodtoegang en meer beveiligingsfuncties met Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Gratis organisaties kunnen geen bijlagen gebruiken"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Opwaarderen naar Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade voor volledige beveiliging"
"unlockAdvancedSecurity": {
"message": "Geavanceerde beveiligingsfuncties ontgrendelen"
},
"premiumGivesMoreTools": {
"message": "Premium geeft je meer tools om veilig te blijven, efficiënt te werken en in controle te blijven."
"unlockAdvancedSecurityDesc": {
"message": "Een Premium-abonnement geeft je meer tools om veilig en in controle te blijven"
},
"explorePremium": {
"message": "Premium verkennen"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -32,7 +32,7 @@
"message": "Użyj logowania jednokrotnego"
},
"yourOrganizationRequiresSingleSignOn": {
"message": "Your organization requires single sign-on."
"message": "Twoja organizacja wymaga logowania jednokrotnego."
},
"welcomeBack": {
"message": "Witaj ponownie"
@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Zarchiwizowane elementy są wykluczone z wyników wyszukiwania i sugestii autouzupełniania. Czy na pewno chcesz archiwizować element?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edytuj"
},
@ -592,10 +595,13 @@
"message": "Pokaż"
},
"viewAll": {
"message": "View all"
"message": "Pokaż wszystko"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
"message": "Pokaż mniej"
},
"viewLogin": {
"message": "Pokaż dane logowania"
@ -743,7 +749,7 @@
"message": "Hasło główne jest nieprawidłowe"
},
"invalidMasterPasswordConfirmEmailAndHost": {
"message": "Invalid master password. Confirm your email is correct and your account was created on $HOST$.",
"message": "Nieprawidłowe hasło główne. Sprawdź, czy Twój adres e-mail jest poprawny i czy Twoje konto zostało utworzone na $HOST$.",
"placeholders": {
"host": {
"content": "$1",
@ -800,10 +806,10 @@
"message": "Po zablokowaniu urządzenia"
},
"onIdle": {
"message": "On system idle"
"message": "Podczas bezczynności systemu"
},
"onSleep": {
"message": "On system sleep"
"message": "Podczas uśpienia systemu"
},
"onRestart": {
"message": "Po uruchomieniu przeglądarki"
@ -1044,10 +1050,10 @@
"message": "Element został zapisany"
},
"savedWebsite": {
"message": "Saved website"
"message": "Zapisana witryna"
},
"savedWebsites": {
"message": "Saved websites ( $COUNT$ )",
"message": "Zapisane witryny ($COUNT$)",
"placeholders": {
"count": {
"content": "$1",
@ -1573,7 +1579,7 @@
"message": "Odczytywanie klucza dostępu..."
},
"passkeyAuthenticationFailed": {
"message": "Passkey authentication failed"
"message": "Uwierzytelnienie za pomocą klucza nie powiodło się"
},
"useADifferentLogInMethod": {
"message": "Użyj innej metody logowania"
@ -1645,7 +1651,7 @@
"message": "Musisz dodać podstawowy adres URL serwera lub co najmniej jedno niestandardowe środowisko."
},
"selfHostedEnvMustUseHttps": {
"message": "URLs must use HTTPS."
"message": "Adresy URL muszą używać protokołu HTTPS."
},
"customEnvironment": {
"message": "Niestandardowe środowisko"
@ -1701,28 +1707,28 @@
"message": "Wyłącz autouzupełnianie"
},
"confirmAutofill": {
"message": "Confirm autofill"
"message": "Potwierdź autouzupełnianie"
},
"confirmAutofillDesc": {
"message": "This site doesn't match your saved login details. Before you fill in your login credentials, make sure it's a trusted site."
"message": "Ta witryna nie pasuje do Twoich zapisanych danych logowania. Zanim wpiszesz dane logowania, upewnij się, że jest to zaufana witryna."
},
"showInlineMenuLabel": {
"message": "Pokaż sugestie autouzupełniania na polach formularza"
},
"howDoesBitwardenProtectFromPhishing": {
"message": "How does Bitwarden protect your data from phishing?"
"message": "W jaki sposób Bitwarden chroni Twoje dane przed phishingiem?"
},
"currentWebsite": {
"message": "Current website"
"message": "Aktualna witryna"
},
"autofillAndAddWebsite": {
"message": "Autofill and add this website"
"message": "Wypełnij automatycznie i dodaj tę witrynę"
},
"autofillWithoutAdding": {
"message": "Autofill without adding"
"message": "Automatyczne uzupełnianie bez dodawania"
},
"doNotAutofill": {
"message": "Do not autofill"
"message": "Nie wypełniaj automatycznie"
},
"showInlineMenuIdentitiesLabel": {
"message": "Pokaż tożsamości w sugestiach"
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Rok wygaśnięcia"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Data wygaśnięcia"
},
@ -2437,7 +2446,7 @@
}
},
"topLayerHijackWarning": {
"message": "This page is interfering with the Bitwarden experience. The Bitwarden inline menu has been temporarily disabled as a safety measure."
"message": "Ta strona zakłóca działanie Bitwarden. Menu Bitwarden zostało tymczasowo wyłączone ze względów bezpieczeństwa."
},
"setMasterPassword": {
"message": "Ustaw hasło główne"
@ -3289,7 +3298,7 @@
"message": "Błąd odszyfrowywania"
},
"errorGettingAutoFillData": {
"message": "Error getting autofill data"
"message": "Błąd podczas pobierania danych autouzupełniania"
},
"couldNotDecryptVaultItemsBelow": {
"message": "Bitwarden nie mógł odszyfrować poniższych elementów sejfu."
@ -4063,13 +4072,13 @@
"description": "Toast message for informing the user that autofill on page load has been set to the default setting."
},
"cannotAutofill": {
"message": "Cannot autofill"
"message": "Nie można automatycznie wypełnić"
},
"cannotAutofillExactMatch": {
"message": "Default matching is set to 'Exact Match'. The current website does not exactly match the saved login details for this item."
"message": "Domyślnie dopasowanie jest ustawione na „Dokładne dopasowanie”. Aktualna strona internetowa nie jest dokładnie taka sama jak zapisane dane logowania dla tego elementu."
},
"okay": {
"message": "Okay"
"message": "Ok"
},
"toggleSideNavigation": {
"message": "Przełącz nawigację boczną"
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Darmowe organizacje nie mogą używać załączników"
},
@ -4987,7 +4999,7 @@
}
},
"defaultLabelWithValue": {
"message": "Default ( $VALUE$ )",
"message": "Domyślne ($VALUE$)",
"description": "A label that indicates the default value for a field with the current default value in parentheses.",
"placeholders": {
"value": {
@ -5650,30 +5662,30 @@
"message": "Witaj w sejfie!"
},
"phishingPageTitleV2": {
"message": "Phishing attempt detected"
"message": "Wykryto próbę phishingu"
},
"phishingPageSummary": {
"message": "The site you are attempting to visit is a known malicious site and a security risk."
"message": "Witryna, którą próbujesz odwiedzić, jest znaną złośliwą witryną i zagrożeniem bezpieczeństwa."
},
"phishingPageCloseTabV2": {
"message": "Zamknij kartę"
},
"phishingPageContinueV2": {
"message": "Continue to this site (not recommended)"
"message": "Przejdź do tej witryny (niezalecane)"
},
"phishingPageExplanation1": {
"message": "This site was found in ",
"message": "Ta witryna została znaleziona w ",
"description": "This is in multiple parts to allow for bold text in the middle of the sentence. A proper name follows this."
},
"phishingPageExplanation2": {
"message": ", an open-source list of known phishing sites used for stealing personal and sensitive information.",
"message": ", lista znanych witryn phishingowych, które służą do kradzieży danych osobowych i poufnych.",
"description": "This is in multiple parts to allow for bold text in the middle of the sentence. A proper name precedes this."
},
"phishingPageLearnMore": {
"message": "Learn more about phishing detection"
"message": "Dowiedz się więcej o wykrywaniu phishingu"
},
"protectedBy": {
"message": "Protected by $PRODUCT$",
"message": "Chronione przez $PRODUCT$",
"placeholders": {
"product": {
"content": "$1",
@ -5786,49 +5798,49 @@
"message": "Potwierdź domenę Key Connector"
},
"atRiskLoginsSecured": {
"message": "Great job securing your at-risk logins!"
"message": "Świetna robota z zabezpieczeniem Twoich zagrożonych danych logowania!"
},
"upgradeNow": {
"message": "Upgrade now"
"message": "Zaktualizuj teraz"
},
"builtInAuthenticator": {
"message": "Built-in authenticator"
"message": "Wbudowany uwierzytelniacz"
},
"secureFileStorage": {
"message": "Secure file storage"
"message": "Bezpieczne przechowywanie plików"
},
"emergencyAccess": {
"message": "Emergency access"
"message": "Dostęp awaryjny"
},
"breachMonitoring": {
"message": "Breach monitoring"
"message": "Monitorowanie naruszeń"
},
"andMoreFeatures": {
"message": "And more!"
"message": "I jeszcze więcej!"
},
"planDescPremium": {
"message": "Complete online security"
"message": "Pełne bezpieczeństwo w Internecie"
},
"upgradeToPremium": {
"message": "Upgrade to Premium"
"message": "Ulepsz do Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"
"message": "Poznaj Premium"
},
"loadingVault": {
"message": "Loading vault"
"message": "Ładowanie sejfu"
},
"vaultLoaded": {
"message": "Vault loaded"
"message": "Sejf załadowany"
},
"settingDisabledByPolicy": {
"message": "This setting is disabled by your organization's policy.",
"message": "To ustawienie jest wyłączone zgodnie z zasadami polityki Twojej organizacji.",
"description": "This hint text is displayed when a user setting is disabled due to an organization policy."
},
"zipPostalCodeLabel": {
@ -5838,6 +5850,6 @@
"message": "Numer karty"
},
"sessionTimeoutSettingsAction": {
"message": "Timeout action"
"message": "Akcja przekroczenia limitu czasu"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Os itens arquivados são excluídos dos resultados gerais da pesquisa e das sugestões de preenchimento automático. Tem a certeza de que pretende arquivar este item?"
},
"upgradeToUseArchive": {
"message": "É necessária uma subscrição Premium para utilizar o Arquivo."
},
"edit": {
"message": "Editar"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Ver tudo"
},
"showAll": {
"message": "Mostrar tudo"
},
"viewLess": {
"message": "Ver menos"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Ano de validade"
},
"monthly": {
"message": "mês"
},
"expiration": {
"message": "Prazo de validade"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Desbloqueie relatórios, acesso de emergência e outras funcionalidades de segurança com o Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "As organizações gratuitas não podem utilizar anexos"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Atualizar para o Premium"
},
"upgradeCompleteSecurity": {
"message": "Atualize para obter segurança total"
"unlockAdvancedSecurity": {
"message": "Desbloqueie funcionalidades de segurança avançadas"
},
"premiumGivesMoreTools": {
"message": "O Premium oferece mais ferramentas para manter a segurança, trabalhar com eficiência e manter o controlo."
"unlockAdvancedSecurityDesc": {
"message": "Uma subscrição Premium dá-lhe ferramentas adicionais para reforçar a sua segurança e manter o controlo"
},
"explorePremium": {
"message": "Explorar o Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Editare"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Anul expirării"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expirare"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Архивированные элементы исключены из общих результатов поиска и предложений автозаполнения. Вы уверены, что хотите архивировать этот элемент?"
},
"upgradeToUseArchive": {
"message": "Для использования архива требуется премиум-статус."
},
"edit": {
"message": "Изменить"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Посмотреть все"
},
"showAll": {
"message": "Показать все"
},
"viewLess": {
"message": "Свернуть"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Год"
},
"monthly": {
"message": "месяц"
},
"expiration": {
"message": "Срок действия"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Премиум"
},
"unlockFeaturesWithPremium": {
"message": "Разблокируйте отчеты, экстренный доступ и другие функции безопасности с помощью Премиум."
},
"freeOrgsCannotUseAttachments": {
"message": "Бесплатные организации не могут использовать вложения"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Обновить до Премиум"
},
"upgradeCompleteSecurity": {
"message": "Перейти для полной защищенности"
"unlockAdvancedSecurity": {
"message": "Разблокировать дополнительные функции безопасности"
},
"premiumGivesMoreTools": {
"message": "Премиум предоставит вам больше инструментов для обеспечения безопасности, эффективной работы и контроля над ситуацией."
"unlockAdvancedSecurityDesc": {
"message": "Премиум-подписка дает вам больше возможностей для обеспечения безопасности и контроля"
},
"explorePremium": {
"message": "Познакомиться с Премиум"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "සංස්කරණය"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "කල් ඉකුත්වන වසර"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "කල් ඉකුත්"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archivované položky sú vylúčené zo všeobecného vyhľadávania a z návrhov automatického vypĺňania. Naozaj chcete archivovať túto položku?"
},
"upgradeToUseArchive": {
"message": "Na použitie archívu je potrebné prémiové členstvo."
},
"edit": {
"message": "Upraviť"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Zobraziť všetky"
},
"showAll": {
"message": "Zobraziť všetko"
},
"viewLess": {
"message": "Zobraziť menej"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Rok exspirácie"
},
"monthly": {
"message": "mesačne"
},
"expiration": {
"message": "Expirácia"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Prémium"
},
"unlockFeaturesWithPremium": {
"message": "Odomknite reportovanie, núdzový prístup a ďalšie bezpečnostné funkcie s predplatným Prémium."
},
"freeOrgsCannotUseAttachments": {
"message": "Bezplatné organizácie nemôžu používať prílohy"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgradovať na Prémium"
},
"upgradeCompleteSecurity": {
"message": "Upgradovať pre úplné zabezpečenie"
"unlockAdvancedSecurity": {
"message": "Odomknutie pokročilých funkcií zabezpečenia"
},
"premiumGivesMoreTools": {
"message": "Predplatné Prémium vám poskytuje viac nástrojov na zabezpečenie, efektívnu prácu a kontrolu."
"unlockAdvancedSecurityDesc": {
"message": "Predplatné Prémium vám poskytne viac nástrojov na zabezpečenie a kontrolu"
},
"explorePremium": {
"message": "Preskúmať Prémium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Uredi"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Leto poteka"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Veljavna do"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Архивиране ставке су искључене из општих резултата претраге и предлога за ауто попуњавање. Јесте ли сигурни да желите да архивирате ову ставку?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Уреди"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Прегледај све"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Година истека"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Истек"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Премијум"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Бесплатне организације не могу да користе прилоге"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Надоградите на Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Arkiverade objekt är exkluderade från allmänna sökresultat och förslag för autofyll. Är du säker på att du vill arkivera detta objekt?"
},
"upgradeToUseArchive": {
"message": "Ett premium-medlemskap krävs för att använda Arkiv."
},
"edit": {
"message": "Redigera"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Visa alla"
},
"showAll": {
"message": "Visa alla"
},
"viewLess": {
"message": "Visa mindre"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Utgångsår"
},
"monthly": {
"message": "månad"
},
"expiration": {
"message": "Utgång"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Lås upp rapportering, nödåtkomst och fler säkerhetsfunktioner med Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Fria organisationer kan inte använda bilagor"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Uppgradera till Premium"
},
"upgradeCompleteSecurity": {
"message": "Uppgradera för fullständig säkerhet"
"unlockAdvancedSecurity": {
"message": "Lås upp avancerade säkerhetsfunktioner"
},
"premiumGivesMoreTools": {
"message": "Premium ger dig fler verktyg för att hålla dig säker, arbeta effektivt och ha kontroll."
"unlockAdvancedSecurityDesc": {
"message": "En Premium-prenumeration ger dig fler verktyg för att hålla dig säker och ha kontroll"
},
"explorePremium": {
"message": "Utforska Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "திருத்து"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "காலாவதி ஆண்டு"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "காலாவதி"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "பிரீமியம்"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "இலவச நிறுவனங்கள் இணைப்புகளைப் பயன்படுத்த முடியாது"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Edit"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Expiration"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Archived items are excluded from general search results and autofill suggestions. Are you sure you want to archive this item?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "แก้ไข"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "View all"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Expiration Year"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "วันหมดอายุ"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Free organizations cannot use attachments"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Upgrade to Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Arşivlenmiş kayıtlar genel arama sonuçları ve otomatik doldurma önerilerinden hariç tutulur. Bu kaydı arşivlemek istediğine emin misin?"
},
"upgradeToUseArchive": {
"message": "Arşivi kullanmak için premium üyelik gereklidir."
},
"edit": {
"message": "Düzenle"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Tümünü göster"
},
"showAll": {
"message": "Tümünü göster"
},
"viewLess": {
"message": "Daha az göster"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Son kullanma yılı"
},
"monthly": {
"message": "ay"
},
"expiration": {
"message": "Son kullanma tarihi"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Ücretsiz kuruluşlar dosya eklerini kullanamaz"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Premium'a yükselt"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Gelişmiş güvenlik özelliklerinin kilidini açın"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "Premium abonelik size daha fazla güvenlik ve kontrol olanağı sunan ek araçlara erişmenizi sağlar"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Архівовані записи виключаються з результатів звичайного пошуку та пропозицій автозаповнення. Ви дійсно хочете архівувати цей запис?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Змінити"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Переглянути все"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Рік завершення"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Термін дії"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Premium"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Організації без передплати не можуть використовувати вкладення"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Покращити до Premium"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "Các mục đã lưu trữ sẽ bị loại khỏi kết quả tìm kiếm chung và gợi ý tự động điền. Bạn có chắc chắn muốn lưu trữ mục này không?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "Sửa"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "Xem tất cả"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "View less"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "Năm hết hạn"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "Hết hạn"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "Cao cấp"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "Các tổ chức miễn phí không thể sử dụng tệp đính kèm"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "Nâng cấp lên gói Cao cấp"
},
"upgradeCompleteSecurity": {
"message": "Upgrade for complete security"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "Premium gives you more tools to stay secure, work efficiently, and stay in control."
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "Explore Premium"

View File

@ -309,7 +309,7 @@
"message": "前往浏览器扩展商店吗?"
},
"continueToBrowserExtensionStoreDesc": {
"message": "帮助别人了解 Bitwarden 是否适合他们。立即访问浏览器扩展程序商店并留下评分。"
"message": "帮助别人了解 Bitwarden 是否适合他们。立即访问浏览器扩展商店并留下评分。"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "您可以在 Bitwarden 网页 App 上更改您的主密码。"
@ -362,10 +362,10 @@
"message": "使用 Passwordless.dev 摆脱传统密码束缚,打造流畅且安全的登录体验。访问 bitwarden.com 网站了解更多信息。"
},
"freeBitwardenFamilies": {
"message": "免费 Bitwarden 家庭"
"message": "免费 Bitwarden 家庭"
},
"freeBitwardenFamiliesPageDesc": {
"message": "您有资格获得免费的 Bitwarden 家庭。立即在网页 App 中兑换此优惠。"
"message": "您有资格获得免费的 Bitwarden 家庭。立即在网页 App 中兑换此优惠。"
},
"version": {
"message": "版本"
@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "已归档的项目将被排除在一般搜索结果和自动填充建议之外。确定要归档此项目吗?"
},
"upgradeToUseArchive": {
"message": "需要高级会员才能使用归档。"
},
"edit": {
"message": "编辑"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "查看全部"
},
"showAll": {
"message": "显示全部"
},
"viewLess": {
"message": "查看更少"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "过期年份"
},
"monthly": {
"message": "月"
},
"expiration": {
"message": "有效期"
},
@ -3002,7 +3011,7 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendFilePopoutDialogText": {
"message": "弹出扩展",
"message": "弹出扩展",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendFilePopoutDialogDesc": {
@ -4885,7 +4894,7 @@
"message": "获取桌面 App"
},
"getTheDesktopAppDesc": {
"message": "无需使用浏览器访问您的密码库,然后在桌面 App 和浏览器扩展中同时设置生物识别解锁,即可实现快速解锁。"
"message": "无需使用浏览器访问您的密码库在桌面 App 和浏览器扩展中同时设置生物识别解锁,即可实现快速解锁。"
},
"downloadFromBitwardenNow": {
"message": "立即从 bitwarden.com 下载"
@ -4902,6 +4911,9 @@
"premium": {
"message": "高级版"
},
"unlockFeaturesWithPremium": {
"message": "使用高级版解锁报告、紧急访问以及更多安全功能。"
},
"freeOrgsCannotUseAttachments": {
"message": "免费组织无法使用附件"
},
@ -5760,7 +5772,7 @@
"message": "关于此设置"
},
"permitCipherDetailsDescription": {
"message": "Bitwarden 将使用已保存的登录 URI 来识别应使用哪个图标或更改密码的 URL 来改善您的体验。当您使用此服务时,不会收集或保存任何信息。"
"message": "Bitwarden 将使用已保存的登录 URI 来确定应使用的图标或更改密码的 URL以提升您的使用体验。使用此服务时不会收集或保存任何信息。"
},
"noPermissionsViewPage": {
"message": "您没有查看此页面的权限。请尝试使用其他账户登录。"
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "升级为高级版"
},
"upgradeCompleteSecurity": {
"message": "升级以获得全面的安全防护"
"unlockAdvancedSecurity": {
"message": "解锁高级安全功能"
},
"premiumGivesMoreTools": {
"message": "高级版为您提供更多工具,助您保障安全、高效工作并掌控一切。"
"unlockAdvancedSecurityDesc": {
"message": "高级版订阅为您提供更多工具,助您保持安全并掌控一切"
},
"explorePremium": {
"message": "探索高级版"

View File

@ -585,6 +585,9 @@
"archiveItemConfirmDesc": {
"message": "封存的項目將不會出現在一般搜尋結果或自動填入建議中。確定要封存此項目嗎?"
},
"upgradeToUseArchive": {
"message": "A premium membership is required to use Archive."
},
"edit": {
"message": "編輯"
},
@ -594,6 +597,9 @@
"viewAll": {
"message": "檢視全部"
},
"showAll": {
"message": "Show all"
},
"viewLess": {
"message": "顯示較少"
},
@ -1867,6 +1873,9 @@
"expirationYear": {
"message": "逾期年份"
},
"monthly": {
"message": "month"
},
"expiration": {
"message": "逾期"
},
@ -4902,6 +4911,9 @@
"premium": {
"message": "進階版"
},
"unlockFeaturesWithPremium": {
"message": "Unlock reporting, emergency access, and more security features with Premium."
},
"freeOrgsCannotUseAttachments": {
"message": "免費組織無法使用附檔"
},
@ -5812,11 +5824,11 @@
"upgradeToPremium": {
"message": "升級到 Premium"
},
"upgradeCompleteSecurity": {
"message": "升級以獲得完整的安全防護"
"unlockAdvancedSecurity": {
"message": "Unlock advanced security features"
},
"premiumGivesMoreTools": {
"message": "進階版提供更多工具,協助您維持安全、高效工作並保持掌控。"
"unlockAdvancedSecurityDesc": {
"message": "A Premium subscription gives you more tools to stay secure and in control"
},
"explorePremium": {
"message": "探索進階版"

View File

@ -1,13 +1,9 @@
import { createRequire } from "module";
import { dirname, join, resolve } from "path";
import { fileURLToPath } from "url";
import { dirname, join } from "path";
import type { StorybookConfig } from "@storybook/web-components-webpack5";
import type { StorybookConfig } from "@storybook/web-components-vite";
import remarkGfm from "remark-gfm";
import TsconfigPathsPlugin from "tsconfig-paths-webpack-plugin";
const currentFile = fileURLToPath(import.meta.url);
const currentDirectory = dirname(currentFile);
import tsconfigPaths from "vite-tsconfig-paths";
const require = createRequire(import.meta.url);
@ -18,10 +14,8 @@ const config: StorybookConfig = {
stories: ["../lit-stories/**/*.lit-stories.@(js|jsx|ts|tsx)", "../lit-stories/**/*.mdx"],
addons: [
getAbsolutePath("@storybook/addon-links"),
getAbsolutePath("@storybook/addon-essentials"),
getAbsolutePath("@storybook/addon-a11y"),
getAbsolutePath("@storybook/addon-designs"),
getAbsolutePath("@storybook/addon-interactions"),
{
name: "@storybook/addon-docs",
options: {
@ -34,10 +28,8 @@ const config: StorybookConfig = {
},
],
framework: {
name: getAbsolutePath("@storybook/web-components-webpack5"),
options: {
legacyRootApi: true,
},
name: getAbsolutePath("@storybook/web-components-vite"),
options: {},
},
core: {
disableTelemetry: true,
@ -46,33 +38,12 @@ const config: StorybookConfig = {
...existingConfig,
FLAGS: JSON.stringify({}),
}),
webpackFinal: async (config) => {
if (config.resolve) {
config.resolve.plugins = [
new TsconfigPathsPlugin({
configFile: resolve(currentDirectory, "../../../../../tsconfig.json"),
}),
] as any;
}
if (config.module && config.module.rules) {
config.module.rules.push({
test: /\.(ts|tsx)$/,
exclude: /node_modules/,
use: [
{
loader: require.resolve("ts-loader"),
},
],
});
config.module.rules.push({
test: /\.scss$/,
use: [require.resolve("css-loader"), require.resolve("sass-loader")],
});
}
return config;
viteFinal: async (config) => {
return {
...config,
plugins: [...(config.plugins ?? []), tsconfigPaths()],
};
},
docs: {},
};
export default config;

View File

@ -1,4 +1,4 @@
import { Meta, Controls, Primary } from "@storybook/addon-docs";
import { Meta, Controls, Primary } from "@storybook/addon-docs/blocks";
import * as stories from "./action-button.lit-stories";

View File

@ -1,4 +1,4 @@
import { Meta, Controls, Primary } from "@storybook/addon-docs";
import { Meta, Controls, Primary } from "@storybook/addon-docs/blocks";
import * as stories from "./badge-button.lit-stories";

View File

@ -1,4 +1,4 @@
import { Meta, Controls, Primary } from "@storybook/addon-docs";
import { Meta, Controls, Primary } from "@storybook/addon-docs/blocks";
import * as stories from "./body.lit-stories";

View File

@ -1,4 +1,4 @@
import { Meta, Controls, Primary } from "@storybook/addon-docs";
import { Meta, Controls, Primary } from "@storybook/addon-docs/blocks";
import * as stories from "./close-button.lit-stories";

View File

@ -1,4 +1,4 @@
import { Meta, Controls, Primary } from "@storybook/addon-docs";
import { Meta, Controls, Primary } from "@storybook/addon-docs/blocks";
import * as stories from "./edit-button.lit-stories";

View File

@ -1,4 +1,4 @@
import { Meta, Controls, Primary } from "@storybook/addon-docs";
import { Meta, Controls, Primary } from "@storybook/addon-docs/blocks";
import * as stories from "./footer.lit-stories";

View File

@ -1,4 +1,4 @@
import { Meta, Controls, Primary } from "@storybook/addon-docs";
import { Meta, Controls, Primary } from "@storybook/addon-docs/blocks";
import * as stories from "./header.lit-stories";

View File

@ -1,4 +1,4 @@
import { Meta, Controls } from "@storybook/addon-docs";
import { Meta, Controls } from "@storybook/addon-docs/blocks";
import * as stories from "./icons.lit-stories";

View File

@ -203,7 +203,7 @@ describe("Fido2Background", () => {
{ file: Fido2ContentScript.PageScriptDelayAppend },
{ file: Fido2ContentScript.ContentScript },
],
world: "MAIN",
world: "ISOLATED",
...sharedRegistrationOptions,
});
});

View File

@ -176,7 +176,7 @@ export class Fido2Background implements Fido2BackgroundInterface {
{ file: await this.getFido2PageScriptAppendFileName() },
{ file: Fido2ContentScript.ContentScript },
],
world: "MAIN",
world: "ISOLATED",
...this.sharedRegistrationOptions,
});
}

View File

@ -29,38 +29,48 @@ describe("FIDO2 page-script for manifest v2", () => {
expect(window.document.createElement).not.toHaveBeenCalled();
});
it("appends the `page-script.js` file to the document head when the contentType is `text/html`", () => {
it("appends the `page-script.js` file to the document head when the contentType is `text/html`", async () => {
const scriptContents = "test-script-contents";
jest.spyOn(window.document.head, "prepend").mockImplementation((node) => {
createdScriptElement = node as HTMLScriptElement;
return node;
});
window.fetch = jest.fn().mockResolvedValue({
text: () => Promise.resolve(scriptContents),
} as Response);
// FIXME: Remove when updating file. Eslint update
// eslint-disable-next-line @typescript-eslint/no-require-imports
require("./fido2-page-script-delay-append.mv2.ts");
await jest.runAllTimersAsync();
expect(window.document.createElement).toHaveBeenCalledWith("script");
expect(chrome.runtime.getURL).toHaveBeenCalledWith(Fido2ContentScript.PageScript);
expect(window.document.head.prepend).toHaveBeenCalledWith(expect.any(HTMLScriptElement));
expect(createdScriptElement.src).toBe(`chrome-extension://id/${Fido2ContentScript.PageScript}`);
expect(createdScriptElement.innerHTML).toBe(scriptContents);
});
it("appends the `page-script.js` file to the document element if the head is not available", () => {
it("appends the `page-script.js` file to the document element if the head is not available", async () => {
const scriptContents = "test-script-contents";
window.document.documentElement.removeChild(window.document.head);
jest.spyOn(window.document.documentElement, "prepend").mockImplementation((node) => {
createdScriptElement = node as HTMLScriptElement;
return node;
});
window.fetch = jest.fn().mockResolvedValue({
text: () => Promise.resolve(scriptContents),
} as Response);
// FIXME: Remove when updating file. Eslint update
// eslint-disable-next-line @typescript-eslint/no-require-imports
require("./fido2-page-script-delay-append.mv2.ts");
await jest.runAllTimersAsync();
expect(window.document.createElement).toHaveBeenCalledWith("script");
expect(chrome.runtime.getURL).toHaveBeenCalledWith(Fido2ContentScript.PageScript);
expect(window.document.documentElement.prepend).toHaveBeenCalledWith(
expect.any(HTMLScriptElement),
);
expect(createdScriptElement.src).toBe(`chrome-extension://id/${Fido2ContentScript.PageScript}`);
expect(createdScriptElement.innerHTML).toBe(scriptContents);
});
});

View File

@ -2,18 +2,26 @@
* This script handles injection of the FIDO2 override page script into the document.
* This is required for manifest v2, but will be removed when we migrate fully to manifest v3.
*/
(function (globalContext) {
void (async function (globalContext) {
if (globalContext.document.contentType !== "text/html") {
return;
}
const script = globalContext.document.createElement("script");
// This script runs in world: MAIN, eliminating the risk associated with this lint error.
// DOM injection is still needed for the iframe timing hack.
// eslint-disable-next-line @bitwarden/platform/no-page-script-url-leakage
script.src = chrome.runtime.getURL("content/fido2-page-script.js");
script.async = false;
const pageScriptUrl = chrome.runtime.getURL("content/fido2-page-script.js");
// Inject the script contents directly to avoid leaking the extension URL
try {
const response = await fetch(pageScriptUrl);
const scriptContents = await response.text();
script.innerHTML = scriptContents;
} catch {
// eslint-disable-next-line no-console
console.error("Failed to load FIDO2 page script contents. Injection failed.");
return;
}
// We are ensuring that the script injection is delayed in the event that we are loading
// within an iframe element. This prevents an issue with web mail clients that load content
// using ajax within iframes. In particular, Zimbra web mail client was observed to have this issue.

View File

@ -732,7 +732,11 @@ export default class MainBackground {
this.singleUserStateProvider,
);
this.organizationService = new DefaultOrganizationService(this.stateProvider);
this.policyService = new DefaultPolicyService(this.stateProvider, this.organizationService);
this.policyService = new DefaultPolicyService(
this.stateProvider,
this.organizationService,
this.accountService,
);
this.vaultTimeoutSettingsService = new DefaultVaultTimeoutSettingsService(
this.accountService,
@ -1196,6 +1200,7 @@ export default class MainBackground {
this.webPushConnectionService,
this.authRequestAnsweringService,
this.configService,
this.policyService,
);
this.fido2UserInterfaceService = new BrowserFido2UserInterfaceService(this.authService);

View File

@ -2,7 +2,7 @@
"manifest_version": 2,
"name": "__MSG_extName__",
"short_name": "Bitwarden",
"version": "2025.11.1",
"version": "2025.12.0",
"description": "__MSG_extDesc__",
"default_locale": "en",
"author": "Bitwarden Inc.",

View File

@ -3,7 +3,7 @@
"minimum_chrome_version": "102.0",
"name": "__MSG_extName__",
"short_name": "Bitwarden",
"version": "2025.11.1",
"version": "2025.12.0",
"description": "__MSG_extDesc__",
"default_locale": "en",
"author": "Bitwarden Inc.",

View File

@ -1,4 +1,4 @@
import { Meta, Story, Canvas } from "@storybook/addon-docs";
import { Meta, Story, Canvas } from "@storybook/addon-docs/blocks";
import * as stories from "./popup-layout.stories";

View File

@ -329,6 +329,25 @@ export abstract class BrowserPlatformUtilsService implements PlatformUtilsServic
return autofillCommand;
}
async packageType(): Promise<string | null> {
switch (this.getDevice()) {
case DeviceType.ChromeExtension:
return "Chrome Extension";
case DeviceType.FirefoxExtension:
return "Firefox Extension";
case DeviceType.OperaExtension:
return "Opera Extension";
case DeviceType.EdgeExtension:
return "Edge Extension";
case DeviceType.VivaldiExtension:
return "Vivaldi Extension";
case DeviceType.SafariExtension:
return "Safari Extension";
default:
return "Unknown Browser Extension";
}
}
/**
* Triggers the offscreen document API to copy the text to the clipboard.
*/

View File

@ -1,5 +1,4 @@
import { DOCUMENT } from "@angular/common";
import { inject, Inject, Injectable } from "@angular/core";
import { inject, Inject, Injectable, DOCUMENT } from "@angular/core";
import { AbstractThemingService } from "@bitwarden/angular/platform/services/theming/theming.service.abstraction";
import { TwoFactorService } from "@bitwarden/common/auth/two-factor";

View File

@ -41,7 +41,12 @@ import { SendFilePopoutDialogContainerComponent } from "../send-file-popout-dial
class QueryParams {
constructor(params: Params) {
this.sendId = params.sendId;
this.type = parseInt(params.type, 10);
const sendTypeValue = parseInt(params.type, 10);
if (sendTypeValue === SendType.Text || sendTypeValue === SendType.File) {
this.type = sendTypeValue;
} else {
throw new Error(`Invalid SendType: ${params.type}`);
}
}
/**

View File

@ -37,7 +37,7 @@ import { PopupHeaderComponent } from "../../../platform/popup/layout/popup-heade
import { PopupPageComponent } from "../../../platform/popup/layout/popup-page.component";
import { PopupRouterCacheService } from "../../../platform/popup/view-cache/popup-router-cache.service";
import { SendV2Component, SendState } from "./send-v2.component";
import { SendState, SendV2Component } from "./send-v2.component";
describe("SendV2Component", () => {
let component: SendV2Component;

View File

@ -38,12 +38,16 @@ import { PopupHeaderComponent } from "../../../platform/popup/layout/popup-heade
import { PopupPageComponent } from "../../../platform/popup/layout/popup-page.component";
import { VaultFadeInOutSkeletonComponent } from "../../../vault/popup/components/vault-fade-in-out-skeleton/vault-fade-in-out-skeleton.component";
// FIXME: update to use a const object instead of a typescript enum
// eslint-disable-next-line @bitwarden/platform/no-enums
export enum SendState {
Empty,
NoResults,
}
/** A state of the Send list UI. */
export const SendState = Object.freeze({
/** No sends exist for the current filter (file or text). */
Empty: "Empty",
/** Sends exist, but none match the current filter/search. */
NoResults: "NoResults",
} as const);
/** A state of the Send list UI. */
export type SendState = (typeof SendState)[keyof typeof SendState];
// FIXME(https://bitwarden.atlassian.net/browse/CL-764): Migrate to OnPush
// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
@ -114,6 +118,11 @@ export class SendV2Component implements OnDestroy {
protected sendsDisabled = false;
private readonly sendTypeTitles: Record<SendType, string> = {
[SendType.File]: "fileSends",
[SendType.Text]: "textSends",
};
constructor(
protected sendItemsService: SendItemsService,
protected sendListFiltersService: SendListFiltersService,
@ -130,7 +139,7 @@ export class SendV2Component implements OnDestroy {
.pipe(takeUntilDestroyed())
.subscribe(([emptyList, noFilteredResults, currentFilter]) => {
if (currentFilter?.sendType !== null) {
this.title = `${this.sendType[currentFilter.sendType].toLowerCase()}Sends`;
this.title = this.sendTypeTitles[currentFilter.sendType] ?? "allSends";
} else {
this.title = "allSends";
}

View File

@ -0,0 +1,425 @@
import { CommonModule } from "@angular/common";
import { ComponentFixture, TestBed } from "@angular/core/testing";
import { of } from "rxjs";
import { JslibModule } from "@bitwarden/angular/jslib.module";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
import {
CipherViewLike,
CipherViewLikeUtils,
} from "@bitwarden/common/vault/utils/cipher-view-like-utils";
import { IconButtonModule, ItemModule, MenuModule } from "@bitwarden/components";
import { CipherListView, CopyableCipherFields } from "@bitwarden/sdk-internal";
import { VaultPopupCopyButtonsService } from "../../../services/vault-popup-copy-buttons.service";
import { ItemCopyActionsComponent } from "./item-copy-actions.component";
describe("ItemCopyActionsComponent", () => {
let fixture: ComponentFixture<ItemCopyActionsComponent>;
let component: ItemCopyActionsComponent;
let i18nService: jest.Mocked<I18nService>;
beforeEach(async () => {
i18nService = {
t: jest.fn((key: string) => `translated-${key}`),
} as unknown as jest.Mocked<I18nService>;
await TestBed.configureTestingModule({
imports: [
CommonModule,
JslibModule,
ItemModule,
IconButtonModule,
MenuModule,
ItemCopyActionsComponent, // standalone
],
providers: [
{ provide: I18nService, useValue: i18nService },
{
provide: VaultPopupCopyButtonsService,
useValue: {
showQuickCopyActions$: of(true),
} satisfies Partial<VaultPopupCopyButtonsService>,
},
],
}).compileComponents();
fixture = TestBed.createComponent(ItemCopyActionsComponent);
component = fixture.componentInstance;
// Default cipher so tests can override as needed
component.cipher = {
name: "My cipher",
viewPassword: true,
login: { username: null, password: null, totp: null },
card: { code: null, number: null },
identity: {
fullAddressForCopy: null,
email: null,
username: null,
phone: null,
},
sshKey: {
privateKey: null,
publicKey: null,
keyFingerprint: null,
},
notes: null,
copyableFields: [],
} as unknown as CipherViewLike;
});
afterEach(() => {
jest.restoreAllMocks();
});
describe("findSingleCopyableItem", () => {
beforeEach(() => {
jest
.spyOn(CipherViewLikeUtils, "hasCopyableValue")
.mockImplementation(
(cipher: CipherViewLike & { __copyable?: Record<string, boolean> }, field) => {
return Boolean(cipher.__copyable?.[field]);
},
);
});
it("returns the single item with value and translates its key", () => {
const items = [
{ key: "copyUsername", field: "username" as const },
{ key: "copyPassword", field: "password" as const },
];
(component.cipher as any).__copyable = {
username: true,
password: false,
};
const result = component.findSingleCopyableItem(items);
expect(result).toEqual({
key: "translated-copyUsername",
field: "username",
});
expect(i18nService.t).toHaveBeenCalledWith("copyUsername");
});
it("returns null when no items have a value", () => {
const items = [
{ key: "copyUsername", field: "username" as const },
{ key: "copyPassword", field: "password" as const },
];
(component.cipher as any).__copyable = {
username: false,
password: false,
};
const result = component.findSingleCopyableItem(items);
expect(result).toBeNull();
});
it("returns null when more than one item has a value", () => {
const items = [
{ key: "copyUsername", field: "username" as const },
{ key: "copyPassword", field: "password" as const },
];
(component.cipher as any).__copyable = {
username: true,
password: true,
};
const result = component.findSingleCopyableItem(items);
expect(result).toBeNull();
});
});
describe("singleCopyableLogin", () => {
beforeEach(() => {
jest
.spyOn(CipherViewLikeUtils, "hasCopyableValue")
.mockImplementation(
(cipher: CipherViewLike & { __copyable?: Record<string, boolean> }, field) => {
return Boolean(cipher.__copyable?.[field]);
},
);
});
it("returns username with special-case logic when password is hidden and both username/password exist and no totp", () => {
(component.cipher as CipherView).viewPassword = false;
(component.cipher as any).__copyable = {
username: true,
password: true,
totp: false,
};
const result = component.singleCopyableLogin;
expect(result).toEqual({
key: "translated-copyUsername",
field: "username",
});
expect(i18nService.t).toHaveBeenCalledWith("copyUsername");
});
it("returns null when password is hidden but multiple fields exist, ensuring username and totp are shown in the menu UI ", () => {
(component.cipher as CipherView).viewPassword = false;
(component.cipher as any).__copyable = {
username: true,
password: true,
totp: true,
};
const result = component.singleCopyableLogin;
expect(result).toBeNull();
});
it("falls back to findSingleCopyableItem when password is visible", () => {
const findSingleCopyableItemSpy = jest.spyOn(component, "findSingleCopyableItem");
(component.cipher as CipherView).viewPassword = true;
void component.singleCopyableLogin;
expect(findSingleCopyableItemSpy).toHaveBeenCalled();
});
});
describe("singleCopyableCard", () => {
beforeEach(() => {
jest
.spyOn(CipherViewLikeUtils, "hasCopyableValue")
.mockImplementation(
(cipher: CipherViewLike & { __copyable?: Record<string, boolean> }, field) => {
return Boolean(cipher.__copyable?.[field]);
},
);
});
it("returns security code when it is the only available card value", () => {
(component.cipher as any).__copyable = {
securityCode: true,
cardNumber: false,
};
const result = component.singleCopyableCard;
expect(result).toEqual({
key: "translated-securityCode",
field: "securityCode",
});
expect(i18nService.t).toHaveBeenCalledWith("securityCode");
});
it("returns null when both card number and security code are available", () => {
(component.cipher as any).__copyable = {
securityCode: true,
cardNumber: true,
};
const result = component.singleCopyableCard;
expect(result).toBeNull();
});
});
describe("singleCopyableIdentity", () => {
beforeEach(() => {
jest
.spyOn(CipherViewLikeUtils, "hasCopyableValue")
.mockImplementation(
(cipher: CipherViewLike & { __copyable?: Record<string, boolean> }, field) => {
return Boolean(cipher.__copyable?.[field]);
},
);
});
it("returns the only copyable identity field", () => {
(component.cipher as any).__copyable = {
address: false,
email: true,
username: false,
phone: false,
};
const result = component.singleCopyableIdentity;
expect(result).toEqual({
key: "translated-email",
field: "email",
});
expect(i18nService.t).toHaveBeenCalledWith("email");
});
it("returns null when multiple identity fields are available", () => {
(component.cipher as any).__copyable = {
address: true,
email: true,
username: false,
phone: false,
};
const result = component.singleCopyableIdentity;
expect(result).toBeNull();
});
});
describe("has*Values in non-list view", () => {
beforeEach(() => {
jest.spyOn(CipherViewLikeUtils, "isCipherListView").mockReturnValue(false);
});
it("computes hasLoginValues from login fields", () => {
(component.cipher as CipherView).login = {
username: "user",
password: null,
totp: null,
} as any;
expect(component.hasLoginValues).toBe(true);
(component.cipher as CipherView).login = {
username: null,
password: null,
totp: null,
} as any;
expect(component.hasLoginValues).toBe(false);
});
it("computes hasCardValues from card fields", () => {
(component.cipher as CipherView).card = { code: "123", number: null } as any;
expect(component.hasCardValues).toBe(true);
(component.cipher as CipherView).card = { code: null, number: null } as any;
expect(component.hasCardValues).toBe(false);
});
it("computes hasIdentityValues from identity fields", () => {
(component.cipher as CipherView).identity = {
fullAddressForCopy: null,
email: "test@example.com",
username: null,
phone: null,
} as any;
expect(component.hasIdentityValues).toBe(true);
(component.cipher as CipherView).identity = {
fullAddressForCopy: null,
email: null,
username: null,
phone: null,
} as any;
expect(component.hasIdentityValues).toBe(false);
});
it("computes hasSecureNoteValue from notes", () => {
(component.cipher as CipherView).notes = "Some note" as any;
expect(component.hasSecureNoteValue).toBe(true);
(component.cipher as CipherView).notes = null as any;
expect(component.hasSecureNoteValue).toBe(false);
});
it("computes hasSshKeyValues from sshKey fields", () => {
(component.cipher as CipherView).sshKey = {
privateKey: "priv",
publicKey: null,
keyFingerprint: null,
} as any;
expect(component.hasSshKeyValues).toBe(true);
(component.cipher as CipherView).sshKey = {
privateKey: null,
publicKey: null,
keyFingerprint: null,
} as any;
expect(component.hasSshKeyValues).toBe(false);
});
});
describe("has*Values in list view", () => {
beforeEach(() => {
jest.spyOn(CipherViewLikeUtils, "isCipherListView").mockReturnValue(true);
});
it("uses copyableFields for login values", () => {
(component.cipher as CipherListView).copyableFields = [
"LoginUsername",
"CardNumber",
] as CopyableCipherFields[];
expect(component.hasLoginValues).toBe(true);
(component.cipher as CipherListView).copyableFields = [
"CardNumber",
] as CopyableCipherFields[];
expect(component.hasLoginValues).toBe(false);
});
it("uses copyableFields for card values", () => {
(component.cipher as CipherListView).copyableFields = [
"CardSecurityCode",
] as CopyableCipherFields[];
expect(component.hasCardValues).toBe(true);
(component.cipher as CipherListView).copyableFields = [
"LoginUsername",
] as CopyableCipherFields[];
expect(component.hasCardValues).toBe(false);
});
it("uses copyableFields for identity values", () => {
(component.cipher as CipherListView).copyableFields = [
"IdentityEmail",
] as CopyableCipherFields[];
expect(component.hasIdentityValues).toBe(true);
(component.cipher as CipherListView).copyableFields = [
"LoginUsername",
] as CopyableCipherFields[];
expect(component.hasIdentityValues).toBe(false);
});
it("uses copyableFields for secure note value", () => {
(component.cipher as CipherListView).copyableFields = [
"SecureNotes",
] as CopyableCipherFields[];
expect(component.hasSecureNoteValue).toBe(true);
(component.cipher as CipherListView).copyableFields = [
"LoginUsername",
] as CopyableCipherFields[];
expect(component.hasSecureNoteValue).toBe(false);
});
it("uses copyableFields for ssh key values", () => {
(component.cipher as CipherListView).copyableFields = ["SshKey"] as CopyableCipherFields[];
expect(component.hasSshKeyValues).toBe(true);
(component.cipher as CipherListView).copyableFields = [
"LoginUsername",
] as CopyableCipherFields[];
expect(component.hasSshKeyValues).toBe(false);
});
});
});

View File

@ -54,17 +54,20 @@ export class ItemCopyActionsComponent {
{ key: "copyPassword", field: "password" },
{ key: "copyVerificationCode", field: "totp" },
];
// If both the password and username are visible but the password is hidden, return the username
// If both the password and username are visible but the password is hidden and there's no
// totp code to copy return the username
if (
!this.cipher.viewPassword &&
CipherViewLikeUtils.hasCopyableValue(this.cipher, "username") &&
CipherViewLikeUtils.hasCopyableValue(this.cipher, "password")
CipherViewLikeUtils.hasCopyableValue(this.cipher, "password") &&
!CipherViewLikeUtils.hasCopyableValue(this.cipher, "totp")
) {
return {
key: this.i18nService.t("copyUsername"),
field: "username" as const,
};
}
return this.findSingleCopyableItem(loginItems);
}

View File

@ -121,63 +121,63 @@
<value>Bitwarden Gerenciador de Senhas</value>
</data>
<data name="Summary" xml:space="preserve">
<value>Em casa, no trabalho, ou em qualquer lugar, o Bitwarden protege facilmente todas as suas senhas, chaves de acesso e informações sensíveis.</value>
<value>Onde quer que você esteja, a Bitwarden protege facilmente todas as suas senhas, chaves de acesso e informações sensíveis.</value>
</data>
<data name="Description" xml:space="preserve">
<value>Reconhecido como o melhor gerenciador de senhas por "PCMag", 'WIRED', 'The Verge', 'CNET', 'G2', entre outros!
<value>Reconhecido como o melhor gerenciador de senhas por PCMag, WIRED, The Verge, CNET, G2, e outros!
PROTEJA A SUA VIDA DIGITAL
Deixe a sua vida digital segura e se proteja contra violações de dados gerando e salvando senhas únicas e fortes para cada conta pessoal. Mantendo tudo isso em um cofre criptografado de ponta a ponta em que apenas você pode acessar.
Proteja a sua vida digital e proteja-se de vazamentos de dados gerando e salvando senhas únicas e seguras, para cada conta. Mantenha tudo em um cofre criptografado de ponta a ponta, que só você pode acessar.
ACESSE OS SEUS DADOS, EM QUALQUER LUGAR, HORA E DISPOSITIVO
Gerencie, armazene, proteja e compartilhe senhas facilmente entre dispositivos ilimitados e sem restrições.
ACESSE SEUS DADOS, DE QUALQUER LUGAR, QUALQUER HORA, EM QUALQUER DISPOSITIVO
Gerencie, armazene, proteja, e compartilhe senhas ilimitadas entre dispositivos ilimitados, sem restrições. Tudo de forma fácil.
TODOS DEVERIAM TEM FERRAMENTAS PARA SE PROTEGER ONLINE
Utilize Bitwarden de graça sem anúncios ou venda dos seus dados. A Bitwarden acredita que todos deveriam ter a opção de estar seguro online. Nossos planos Premium oferecem recursos mais avançados.
TODOS DEVERIAM TER AS FERRAMENTAS PARA SE PROTEGER ON-LINE
Utilize o Bitwarden de graça, sem anúncios, e sem venda de dados. O Bitwarden acredita que todos deveriam ter a possibilidade de se proteger on-line. O plano Premium oferece acesso a recursos avançados.
EMPODERE O SEUS TIMES COM BITWARDEN
Os planos para times e empresas vêm com recursos profissionais para negócios. Alguns exemplos incluem integração SSO, auto-hospedagem, integração de diretório e provisionamento SCIM, políticas globais, acesso API, registro de eventos e mais.
EMPODERE SUAS EQUIPES COM O BITWARDEN
Os planos para Equipes e o Empresarial vêm com recursos empresariais profisionais. Alguns exemplos incluem integração com SSO, auto-hospedagem, integração de diretório e provisionamento de SCIM, políticas globais, acesso à API, registros de eventos, e mais.
Utilize o Bitwarden para proteger os seus colaboradores e compartilhar informações sensíveis com seus colegas.
Use o Bitwarden para protejer a sua força de trabalho e compartilhe informações sensíveis com colegas.
Mais razões para escolher Bitwarden:
Mais motivos para escolher o Bitwarden:
Criptografia mundialmente reconhecida
Suas senhas são protegidas com avançada criptografia ponta a ponta (AES-256, salted hashing, e PBKDF2 SHA-256) para que os seus dados estejam seguros e privados.
Criptografia reconhecida mundialmente
As senhas são protegidas com criptografia avançada de ponta a ponta (AES de 256 bits, hashing com salting, e PBKDF2 SHA-256) para que seus dados continuem seguros e privados.
Auditoria de Terceiros
A Bitwarden regularmente conduz auditorias de terceiros com notáveis empresas de segurança. Essas auditorias anuais incluem qualificação do código fonte e testes de invasão contra os IPs da Bitwarden, servidores e aplicações web.
Auditoria por terceiros
O Bitwarden conduz auditorias abrangentes de terceiros periodicamente com firmas de segurança nótaveis. Essas auditorias anuais incluem análise do código-fonte e teste de penetração entre IPs, servidores, e aplicativos web do Bitwarden.
2FA Avançado
Proteja o seu login com um autenticador de dois fatores, códigos de email ou credenciais FIDO2 WebAuthn como chave de segurança por hardware ou chave de acesso.
Autenticação de duas etapas avançada
Proteja sua autenticação com um autenticador de terceiros, códigos enviados por e-mail, ou credenciais de WebAuthn FIDO2, como uma chave de segurança física ou uma chave de acesso.
Envio Bitwarden
Transmita dados diretamente para outras pessoas enquanto mantém a segurança da criptografia ponta a ponta para limitar sua exposição.
Bitwarden Send
Transmita dados diretamente para outros enquanto mantém a segurança da criptografia de ponta a ponta, limitando exposição.
Gerador integrado
Crie diferentes senhas fortes e complexas e nomes de usuário únicos para cada site que visitar. Integre com provedores de email para privacidade adicional.
Gerador embutido
Crie senhas longas, complexas, e distintas, e nomes de usuário únicos para cada site que visita. Integre com provedores de alias de email para privacidade adicional.
Tradutores globais
As traduções da Bitwarden estão disponíveis para mais de 60 línguas, traduzidas pela comunidade global através do Crowdin.
Traduções globais
O Bitwarden tem traduções para mais de 60 idiomas, traduzidos pela comunidade global, pelo Crowdin.
Aplicações Multi-Plataforma
Proteja e compartilhe conteúdo confidencial dentro do Vault da Bitwarden de qualquer navegador, dispositivo móvel, desktop, entre outros.
Aplicativos multiplataforma
Proteja e compartilhe dados sensíveis dentro do seu cofre do Bitwarden de qualquer navegador, dispositivo móvel, sistema operacional de computador, e mais.
Bitwarden protege mais do que apenas senhas
Com nossas soluções em gerenciamento de credenciais criptografadas ponta a ponta, a Bitwarden empodera organizações para proteger qualquer informação, incluindo senhas de desenvolvedor e chaves de acesso. Visite Bitwarden.com para aprender mais sobre Bitwarden Secrets Manager e Bitwarden Passwordless.dev!
O Bitwarden protege mais do que só senhas
As soluções criptografadas de ponta a ponta de gerenciamento de credenciaisdo Bitwarden empoderam organizações a proteger tudo, incluindo segredos de desenvolvedor, e experiências com chaves de acesso. Visite bitwarden.com para aprender mais sobre o Bitwarden Gerenciador de Segredos e o Bitwarden Passworldless.dev!
</value>
</data>
<data name="AssetTitle" xml:space="preserve">
<value>Onde quer que você esteja, a Bitwarden protege facilmente todas as suas senha, chaves de acesso e informações sensíveis.</value>
<value>Onde quer que você esteja, a Bitwarden protege facilmente todas as suas senhas, chaves de acesso e informações sensíveis.</value>
</data>
<data name="ScreenshotSync" xml:space="preserve">
<value>Sincronize e acesse o seu cofre através de múltiplos dispositivos</value>
<value>Sincronize e acesse o seu cofre entre vários dispositivos</value>
</data>
<data name="ScreenshotVault" xml:space="preserve">
<value>Gerencie todas as suas credenciais a partir de um cofre seguro</value>
</data>
<data name="ScreenshotAutofill" xml:space="preserve">
<value>Autopreencha rapidamente as suas credenciais dentro de qualquer site que visitar</value>
<value>Preencha automaticamente as suas credenciais dentro de qualquer site que visitar</value>
</data>
<data name="ScreenshotMenu" xml:space="preserve">
<value>O seu cofre é também acessível a partir do menu de contexto pelo clique no botão direito do mouse</value>
@ -186,6 +186,6 @@ Com nossas soluções em gerenciamento de credenciais criptografadas ponta a pon
<value>Gera automaticamente senhas fortes, aleatórias e seguras</value>
</data>
<data name="ScreenshotEdit" xml:space="preserve">
<value>A sua informação é gerenciada com segurança utilizando encriptação AES-256 bits</value>
<value>A sua informação é gerenciada com segurança utilizando criptografia de AES de 256 bits</value>
</data>
</root>

View File

@ -1,7 +1,7 @@
{
"name": "@bitwarden/cli",
"description": "A secure and free password manager for all of your devices.",
"version": "2025.11.0",
"version": "2025.12.0",
"keywords": [
"bitwarden",
"password",
@ -82,7 +82,7 @@
"lunr": "2.3.9",
"multer": "2.0.2",
"node-fetch": "2.6.12",
"node-forge": "1.3.1",
"node-forge": "1.3.2",
"open": "10.1.2",
"papaparse": "5.5.3",
"proper-lockfile": "4.1.2",

View File

@ -152,4 +152,8 @@ export class CliPlatformUtilsService implements PlatformUtilsService {
getAutofillKeyboardShortcut(): Promise<string> {
return null;
}
async packageType(): Promise<string | null> {
return null;
}
}

View File

@ -518,7 +518,11 @@ export class ServiceContainer {
this.ssoUrlService = new SsoUrlService();
this.organizationService = new DefaultOrganizationService(this.stateProvider);
this.policyService = new DefaultPolicyService(this.stateProvider, this.organizationService);
this.policyService = new DefaultPolicyService(
this.stateProvider,
this.organizationService,
this.accountService,
);
this.vaultTimeoutSettingsService = new DefaultVaultTimeoutSettingsService(
this.accountService,

View File

@ -308,7 +308,7 @@ export class SendProgram extends BaseProgram {
let sendFile = null;
let sendText = null;
let name = Utils.newGuid();
let type = SendType.Text;
let type: SendType = SendType.Text;
if (options.file != null) {
data = path.resolve(data);
if (!fs.existsSync(data)) {

View File

@ -639,9 +639,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.51"
version = "4.5.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5"
checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8"
dependencies = [
"clap_builder",
"clap_derive",
@ -649,9 +649,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.51"
version = "4.5.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a"
checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00"
dependencies = [
"anstream",
"anstyle",
@ -1863,9 +1863,9 @@ dependencies = [
[[package]]
name = "mockall"
version = "0.13.1"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2"
checksum = "f58d964098a5f9c6b63d0798e5372fd04708193510a7af313c22e9f29b7b620b"
dependencies = [
"cfg-if",
"downcast",
@ -1877,9 +1877,9 @@ dependencies = [
[[package]]
name = "mockall_derive"
version = "0.13.1"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898"
checksum = "ca41ce716dda6a9be188b385aa78ee5260fc25cd3802cb2a8afdc6afbe6b6dbf"
dependencies = [
"cfg-if",
"proc-macro2",

View File

@ -9,7 +9,7 @@ publish.workspace = true
anyhow = { workspace = true }
[target.'cfg(windows)'.dependencies]
mockall = "=0.13.1"
mockall = "=0.14.0"
serial_test = "=3.2.0"
tracing.workspace = true
windows = { workspace = true, features = [

View File

@ -272,6 +272,7 @@ mod tests {
#[serial]
fn send_input_succeeds() {
let ctxi = MockInputOperations::send_input_context();
ctxi.checkpoint();
ctxi.expect().returning(|_| 1);
send_input::<MockInputOperations, MockErrorOperations>(vec![build_unicode_input(
@ -279,6 +280,8 @@ mod tests {
0,
)])
.unwrap();
drop(ctxi);
}
#[test]
@ -288,9 +291,11 @@ mod tests {
)]
fn send_input_fails_sent_zero() {
let ctxi = MockInputOperations::send_input_context();
ctxi.checkpoint();
ctxi.expect().returning(|_| 0);
let ctxge = MockErrorOperations::get_last_error_context();
ctxge.checkpoint();
ctxge.expect().returning(|| WIN32_ERROR(1));
send_input::<MockInputOperations, MockErrorOperations>(vec![build_unicode_input(
@ -298,6 +303,9 @@ mod tests {
0,
)])
.unwrap();
drop(ctxge);
drop(ctxi);
}
#[test]
@ -305,9 +313,11 @@ mod tests {
#[should_panic(expected = "SendInput does not match expected. sent: 2, expected: 1")]
fn send_input_fails_sent_mismatch() {
let ctxi = MockInputOperations::send_input_context();
ctxi.checkpoint();
ctxi.expect().returning(|_| 2);
let ctxge = MockErrorOperations::get_last_error_context();
ctxge.checkpoint();
ctxge.expect().returning(|| WIN32_ERROR(1));
send_input::<MockInputOperations, MockErrorOperations>(vec![build_unicode_input(
@ -315,5 +325,8 @@ mod tests {
0,
)])
.unwrap();
drop(ctxge);
drop(ctxi);
}
}

Some files were not shown because too many files have changed in this diff Show More