diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index c9a25670a90..00000000000
--- a/.eslintignore
+++ /dev/null
@@ -1,29 +0,0 @@
-**/build
-**/dist
-**/coverage
-.angular
-storybook-static
-
-**/node_modules
-
-**/webpack.*.js
-**/jest.config.js
-
-apps/browser/config/config.js
-apps/browser/src/auth/scripts/duo.js
-apps/browser/webpack/manifest.js
-
-apps/desktop/desktop_native
-apps/desktop/src/auth/scripts/duo.js
-
-apps/web/config.js
-apps/web/scripts/*.js
-apps/web/tailwind.config.js
-
-apps/cli/config/config.js
-
-tailwind.config.js
-libs/components/tailwind.config.base.js
-libs/components/tailwind.config.js
-
-scripts/*.js
diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index c606b8f933b..00000000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,374 +0,0 @@
-{
- "root": true,
- "env": {
- "browser": true,
- "webextensions": true
- },
- "overrides": [
- {
- "files": ["*.ts", "*.js"],
- "plugins": ["@typescript-eslint", "rxjs", "rxjs-angular", "import"],
- "parser": "@typescript-eslint/parser",
- "parserOptions": {
- "project": ["./tsconfig.eslint.json"],
- "sourceType": "module",
- "ecmaVersion": 2020
- },
- "extends": [
- "eslint:recommended",
- "plugin:@angular-eslint/recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:import/recommended",
- "plugin:import/typescript",
- "plugin:rxjs/recommended",
- "prettier",
- "plugin:storybook/recommended"
- ],
- "settings": {
- "import/parsers": {
- "@typescript-eslint/parser": [".ts"]
- },
- "import/resolver": {
- "typescript": {
- "alwaysTryTypes": true
- }
- }
- },
- "rules": {
- "@angular-eslint/component-class-suffix": 0,
- "@angular-eslint/contextual-lifecycle": 0,
- "@angular-eslint/directive-class-suffix": 0,
- "@angular-eslint/no-empty-lifecycle-method": 0,
- "@angular-eslint/no-host-metadata-property": 0,
- "@angular-eslint/no-input-rename": 0,
- "@angular-eslint/no-inputs-metadata-property": 0,
- "@angular-eslint/no-output-native": 0,
- "@angular-eslint/no-output-on-prefix": 0,
- "@angular-eslint/no-output-rename": 0,
- "@angular-eslint/no-outputs-metadata-property": 0,
- "@angular-eslint/use-lifecycle-interface": "error",
- "@angular-eslint/use-pipe-transform-interface": 0,
- "@typescript-eslint/explicit-member-accessibility": [
- "error",
- { "accessibility": "no-public" }
- ],
- "@typescript-eslint/no-explicit-any": "off", // TODO: This should be re-enabled
- "@typescript-eslint/no-floating-promises": "error",
- "@typescript-eslint/no-misused-promises": ["error", { "checksVoidReturn": false }],
- "@typescript-eslint/no-this-alias": ["error", { "allowedNames": ["self"] }],
- "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }],
- "no-console": "error",
- "import/no-unresolved": "off", // TODO: Look into turning off once each package is an actual package.
- "import/order": [
- "error",
- {
- "alphabetize": {
- "order": "asc"
- },
- "newlines-between": "always",
- "pathGroups": [
- {
- "pattern": "@bitwarden/**",
- "group": "external",
- "position": "after"
- },
- {
- "pattern": "src/**/*",
- "group": "parent",
- "position": "before"
- }
- ],
- "pathGroupsExcludedImportTypes": ["builtin"]
- }
- ],
- "rxjs-angular/prefer-takeuntil": ["error", { "alias": ["takeUntilDestroyed"] }],
- "rxjs/no-exposed-subjects": ["error", { "allowProtected": true }],
- "no-restricted-syntax": [
- "error",
- {
- "message": "Calling `svgIcon` directly is not allowed",
- "selector": "CallExpression[callee.name='svgIcon']"
- },
- {
- "message": "Accessing FormGroup using `get` is not allowed, use `.value` instead",
- "selector": "ChainExpression[expression.object.callee.property.name='get'][expression.property.name='value']"
- }
- ],
- "curly": ["error", "all"],
- "import/namespace": ["off"], // This doesn't resolve namespace imports correctly, but TS will throw for this anyway
- "import/no-restricted-paths": [
- "error",
- {
- "zones": [
- {
- "target": ["libs/**/*"],
- "from": ["apps/**/*"],
- "message": "Libs should not import app-specific code."
- },
- {
- // avoid specific frameworks or large dependencies in common
- "target": "./libs/common/**/*",
- "from": [
- // Angular
- "./libs/angular/**/*",
- "./node_modules/@angular*/**/*",
-
- // Node
- "./libs/node/**/*",
-
- //Generator
- "./libs/tools/generator/components/**/*",
- "./libs/tools/generator/core/**/*",
- "./libs/tools/generator/extensions/**/*",
-
- // Import/export
- "./libs/importer/**/*",
- "./libs/tools/export/vault-export/vault-export-core/**/*"
- ]
- },
- {
- // avoid import of unexported state objects
- "target": [
- "!(libs)/**/*",
- "libs/!(common)/**/*",
- "libs/common/!(src)/**/*",
- "libs/common/src/!(platform)/**/*",
- "libs/common/src/platform/!(state)/**/*"
- ],
- "from": ["./libs/common/src/platform/state/**/*"],
- // allow module index import
- "except": ["**/state/index.ts"]
- }
- ]
- }
- ],
- "no-restricted-imports": ["error", { "patterns": ["src/**/*"] }]
- }
- },
- {
- "files": ["*.html"],
- "parser": "@angular-eslint/template-parser",
- "plugins": ["@angular-eslint/template", "tailwindcss"],
- "rules": {
- "@angular-eslint/template/button-has-type": "error",
- "tailwindcss/no-custom-classname": [
- "error",
- {
- // uses negative lookahead to whitelist any class that doesn't start with "tw-"
- // in other words: classnames that start with tw- must be valid TailwindCSS classes
- "whitelist": ["(?!(tw)\\-).*"]
- }
- ],
- "tailwindcss/enforces-negative-arbitrary-values": "error",
- "tailwindcss/enforces-shorthand": "error",
- "tailwindcss/no-contradicting-classname": "error"
- }
- },
- {
- "files": ["libs/admin-console/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": [
- "error",
- { "patterns": ["@bitwarden/admin-console/*", "src/**/*"] }
- ]
- }
- },
- {
- "files": ["libs/angular/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/angular/*", "src/**/*"] }]
- }
- },
- {
- "files": ["libs/auth/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/auth/*", "src/**/*"] }]
- }
- },
- {
- "files": ["libs/billing/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/billing/*", "src/**/*"] }]
- }
- },
- {
- "files": ["libs/common/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/common/*", "src/**/*"] }]
- }
- },
- {
- "files": ["libs/components/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": [
- "error",
- { "patterns": ["@bitwarden/components/*", "src/**/*", "@bitwarden/angular/*"] }
- ]
- }
- },
- {
- "files": ["libs/tools/generator/components/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": [
- "error",
- { "patterns": ["@bitwarden/generator-components/*", "src/**/*"] }
- ]
- }
- },
- {
- "files": ["libs/tools/generator/core/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": [
- "error",
- { "patterns": ["@bitwarden/generator-core/*", "src/**/*"] }
- ]
- }
- },
- {
- "files": ["libs/tools/generator/extensions/history/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": [
- "error",
- { "patterns": ["@bitwarden/generator-history/*", "src/**/*"] }
- ]
- }
- },
- {
- "files": ["libs/tools/generator/extensions/legacy/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": [
- "error",
- { "patterns": ["@bitwarden/generator-legacy/*", "src/**/*"] }
- ]
- }
- },
- {
- "files": ["libs/tools/generator/extensions/navigation/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": [
- "error",
- { "patterns": ["@bitwarden/generator-navigation/*", "src/**/*"] }
- ]
- }
- },
- {
- "files": ["libs/tools/export/vault-export/vault-export-core/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": [
- "error",
- { "patterns": ["@bitwarden/vault-export-core/*", "src/**/*"] }
- ]
- }
- },
- {
- "files": ["libs/tools/export/vault-export/vault-export-ui/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": [
- "error",
- { "patterns": ["@bitwarden/vault-export-ui/*", "src/**/*"] }
- ]
- }
- },
- {
- "files": ["libs/importer/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/importer/*", "src/**/*"] }]
- }
- },
- {
- "files": ["libs/node/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/node/*", "src/**/*"] }]
- }
- },
- {
- "files": ["libs/platform/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/platform/*", "src/**/*"] }]
- }
- },
- {
- "files": ["libs/tools/send/send-ui/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/send-ui/*", "src/**/*"] }]
- }
- },
- {
- "files": ["libs/tools/card/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/tools-card/*", "src/**/*"] }]
- }
- },
- {
- "files": ["libs/vault/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/vault/*", "src/**/*"] }]
- }
- },
- {
- "files": ["apps/browser/src/**/*.ts", "libs/**/*.ts"],
- "excludedFiles": [
- "apps/browser/src/autofill/{content,notification}/**/*.ts",
- "apps/browser/src/**/background/**/*.ts", // It's okay to have long lived listeners in the background
- "apps/browser/src/platform/background.ts"
- ],
- "rules": {
- "no-restricted-syntax": [
- "error",
- {
- "message": "Using addListener in the browser popup produces a memory leak in Safari, use `BrowserApi.addListener` instead",
- // This selector covers events like chrome.storage.onChange & chrome.runtime.onMessage
- "selector": "CallExpression > [object.object.object.name='chrome'][property.name='addListener']"
- },
- {
- "message": "Using addListener in the browser popup produces a memory leak in Safari, use `BrowserApi.addListener` instead",
- // This selector covers events like chrome.storage.local.onChange
- "selector": "CallExpression > [object.object.object.object.name='chrome'][property.name='addListener']"
- }
- ]
- }
- },
- {
- "files": ["**/*.ts"],
- "excludedFiles": ["**/platform/**/*.ts"],
- "rules": {
- "no-restricted-imports": [
- "error",
- {
- "patterns": [
- "**/platform/**/internal", // General internal pattern
- // All features that have been converted to barrel files
- "**/platform/messaging/**"
- ]
- }
- ]
- }
- },
- {
- "files": ["bitwarden_license/bit-common/src/**/*.ts"],
- "rules": {
- "no-restricted-imports": ["error", { "patterns": ["@bitwarden/bit-common/*", "src/**/*"] }]
- }
- },
- {
- "files": ["apps/**/*.ts"],
- "rules": {
- // Catches static imports
- "no-restricted-imports": [
- "error",
- {
- "patterns": ["biwarden_license/**", "@bitwarden/bit-common/*", "@bitwarden/bit-web/*"]
- }
- ],
- // Catches dynamic imports, e.g. in routing modules where modules are lazy-loaded
- "no-restricted-syntax": [
- "error",
- {
- "message": "Don't import Bitwarden licensed code into OSS code.",
- "selector": "ImportExpression > Literal.source[value=/.*(bitwarden_license|bit-common|bit-web).*/]"
- }
- ]
- }
- }
- ]
-}
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index cb36d87b9e1..2550f0fddbe 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -4,6 +4,13 @@
#
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
+## Desktop native module ##
+apps/desktop/desktop_native @bitwarden/team-platform-dev
+apps/desktop/desktop_native/objc/src/native/autofill @bitwarden/team-autofill-dev
+apps/desktop/desktop_native/core/src/autofill @bitwarden/team-autofill-dev
+## No ownership for Cargo.toml to allow dependency updates
+apps/desktop/desktop_native/Cargo.toml
+
## Auth team files ##
apps/browser/src/auth @bitwarden/team-auth-dev
apps/cli/src/auth @bitwarden/team-auth-dev
@@ -29,12 +36,12 @@ libs/tools @bitwarden/team-tools-dev
bitwarden_license/bit-web/src/app/tools @bitwarden/team-tools-dev
bitwarden_license/bit-common/src/tools @bitwarden/team-tools-dev
-## Localization/Crowdin (Tools team)
-apps/browser/src/_locales @bitwarden/team-tools-dev
-apps/browser/store/locales @bitwarden/team-tools-dev
-apps/cli/src/locales @bitwarden/team-tools-dev
-apps/desktop/src/locales @bitwarden/team-tools-dev
-apps/web/src/locales @bitwarden/team-tools-dev
+## Localization/Crowdin (Platform and Tools team)
+apps/browser/src/_locales @bitwarden/team-tools-dev @bitwarden/team-platform-dev
+apps/browser/store/locales @bitwarden/team-tools-dev @bitwarden/team-platform-dev
+apps/cli/src/locales @bitwarden/team-tools-dev @bitwarden/team-platform-dev
+apps/desktop/src/locales @bitwarden/team-tools-dev @bitwarden/team-platform-dev
+apps/web/src/locales @bitwarden/team-tools-dev @bitwarden/team-platform-dev
## Vault team files ##
apps/browser/src/vault @bitwarden/team-vault-dev
@@ -58,6 +65,7 @@ libs/admin-console @bitwarden/team-admin-console-dev
## Billing team files ##
apps/browser/src/billing @bitwarden/team-billing-dev
+apps/desktop/src/billing @bitwarden/team-billing-dev
apps/web/src/app/billing @bitwarden/team-billing-dev
libs/angular/src/billing @bitwarden/team-billing-dev
libs/common/src/billing @bitwarden/team-billing-dev
@@ -84,41 +92,51 @@ apps/web/src/app/core @bitwarden/team-platform-dev
apps/web/src/app/shared @bitwarden/team-platform-dev
apps/web/src/translation-constants.ts @bitwarden/team-platform-dev
# Workflows
-.github/workflows/brew-bump-desktop.yml @bitwarden/team-platform-dev
+# Any changes here should also be reflected in Renovate configuration
+.github/workflows/automatic-issue-responses.yml @bitwarden/team-platform-dev
+.github/workflows/automatic-pull-request-responses.yml @bitwarden/team-platform-dev
+.github/workflows/build-browser-target.yml @bitwarden/team-platform-dev
.github/workflows/build-browser.yml @bitwarden/team-platform-dev
+.github/workflows/build-cli-target.yml @bitwarden/team-platform-dev
.github/workflows/build-cli.yml @bitwarden/team-platform-dev
+.github/workflows/build-desktop-target.yml @bitwarden/team-platform-dev
.github/workflows/build-desktop.yml @bitwarden/team-platform-dev
+.github/workflows/build-web-target.yml @bitwarden/team-platform-dev
.github/workflows/build-web.yml @bitwarden/team-platform-dev
.github/workflows/chromatic.yml @bitwarden/team-platform-dev
+.github/workflows/crowdin-pull.yml @bitwarden/team-platform-dev
+.github/workflows/enforce-labels.yml @bitwarden/team-platform-dev
.github/workflows/lint.yml @bitwarden/team-platform-dev
.github/workflows/locales-lint.yml @bitwarden/team-platform-dev
.github/workflows/repository-management.yml @bitwarden/team-platform-dev
.github/workflows/scan.yml @bitwarden/team-platform-dev
+.github/workflows/stale-bot.yml @bitwarden/team-platform-dev
.github/workflows/test.yml @bitwarden/team-platform-dev
.github/workflows/version-auto-bump.yml @bitwarden/team-platform-dev
+# ESLint custom rules
+libs/eslint @bitwarden/team-platform-dev
## Autofill team files ##
apps/browser/src/autofill @bitwarden/team-autofill-dev
apps/desktop/src/autofill @bitwarden/team-autofill-dev
libs/common/src/autofill @bitwarden/team-autofill-dev
apps/desktop/macos/autofill-extension @bitwarden/team-autofill-dev
+apps/desktop/src/app/components/fido2placeholder.component.ts @bitwarden/team-autofill-dev
+apps/desktop/desktop_native/windows-plugin-authenticator @bitwarden/team-autofill-dev
# DuckDuckGo integration
apps/desktop/native-messaging-test-runner @bitwarden/team-autofill-dev
apps/desktop/src/services/duckduckgo-message-handler.service.ts @bitwarden/team-autofill-dev
# SSH Agent
apps/desktop/desktop_native/core/src/ssh_agent @bitwarden/team-autofill-dev @bitwarden/wg-ssh-keys
-## Component Library ##
-.storybook @bitwarden/team-design-system
-libs/components @bitwarden/team-design-system
-apps/browser/src/platform/popup/layout @bitwarden/team-design-system
-apps/browser/src/popup/app-routing.animations.ts @bitwarden/team-design-system
-apps/web/src/app/layouts @bitwarden/team-design-system
+## UI Foundation ##
+.storybook @bitwarden/team-ui-foundation
+libs/components @bitwarden/team-ui-foundation
+libs/ui @bitwarden/team-ui-foundation
+apps/browser/src/platform/popup/layout @bitwarden/team-ui-foundation
+apps/browser/src/popup/app-routing.animations.ts @bitwarden/team-ui-foundation
+apps/web/src/app/layouts @bitwarden/team-ui-foundation
-## Desktop native module ##
-apps/desktop/desktop_native @bitwarden/team-platform-dev
-apps/desktop/desktop_native/objc/src/native/autofill @bitwarden/team-autofill-dev
-apps/desktop/desktop_native/core/src/autofill @bitwarden/team-autofill-dev
## Key management team files ##
apps/desktop/src/key-management @bitwarden/team-key-management-dev
@@ -126,9 +144,10 @@ apps/web/src/app/key-management @bitwarden/team-key-management-dev
apps/browser/src/key-management @bitwarden/team-key-management-dev
apps/cli/src/key-management @bitwarden/team-key-management-dev
libs/key-management @bitwarden/team-key-management-dev
+libs/key-management-ui @bitwarden/team-key-management-dev
libs/common/src/key-management @bitwarden/team-key-management-dev
-apps/desktop/destkop_native/core/src/biometric/ @bitwarden/team-key-management-dev
+apps/desktop/desktop_native/core/src/biometric/ @bitwarden/team-key-management-dev
apps/desktop/src/services/native-messaging.service.ts @bitwarden/team-key-management-dev
apps/browser/src/background/nativeMessaging.background.ts @bitwarden/team-key-management-dev
apps/desktop/src/services/biometric-message-handler.service.ts @bitwarden/team-key-management-dev
@@ -141,6 +160,7 @@ apps/desktop/src/locales/en/messages.json
apps/web/src/locales/en/messages.json
## BRE team owns these workflows ##
+# Any changes here should also be reflected in Renovate configuration ##
.github/workflows/brew-bump-desktop.yml @bitwarden/dept-bre
.github/workflows/deploy-web.yml @bitwarden/dept-bre
.github/workflows/publish-cli.yml @bitwarden/dept-bre
@@ -148,16 +168,18 @@ apps/web/src/locales/en/messages.json
.github/workflows/publish-web.yml @bitwarden/dept-bre
.github/workflows/retrieve-current-desktop-rollout.yml @bitwarden/dept-bre
.github/workflows/staged-rollout-desktop.yml @bitwarden/dept-bre
-
-## Shared ownership workflows ##
-.github/workflows/release-browser.yml
-.github/workflows/release-cli.yml
-.github/workflows/release-desktop-beta.yml
-.github/workflows/release-desktop.yml
-.github/workflows/release-web.yml
+.github/workflows/release-browser.yml @bitwarden/dept-bre
+.github/workflows/release-cli.yml @bitwarden/dept-bre
+.github/workflows/release-desktop-beta.yml @bitwarden/dept-bre
+.github/workflows/release-desktop.yml @bitwarden/dept-bre
+.github/workflows/release-web.yml @bitwarden/dept-bre
## Docker files have shared ownership ##
**/Dockerfile
**/*.Dockerfile
**/.dockerignore
**/entrypoint.sh
+
+## Overrides
+# tsconfig files are potentially dangerous and will be reviewed by platform to prevent misconfigurations
+**/tsconfig.json @bitwarden/team-platform-dev
diff --git a/.github/ISSUE_TEMPLATE/browser.yml b/.github/ISSUE_TEMPLATE/browser.yml
index ec78f3ee555..23a0e4276bf 100644
--- a/.github/ISSUE_TEMPLATE/browser.yml
+++ b/.github/ISSUE_TEMPLATE/browser.yml
@@ -84,11 +84,11 @@ body:
attributes:
label: Browser Version
description: What version of the browser(s) are you seeing the problem on?
- - type: input
+ - type: textarea
id: version
attributes:
- label: Build Version
- description: What version of our software are you running? (go to "Settings" → "About" in the extension)
+ label: Environment Versions
+ description: Copy from "Settings" → "About" → "About Bitwarden" in the extension. Should include the extension version and server environment.
validations:
required: true
- type: checkboxes
diff --git a/.github/codecov.yml b/.github/codecov.yml
index b4774407206..d9d59f9de28 100644
--- a/.github/codecov.yml
+++ b/.github/codecov.yml
@@ -1,2 +1,68 @@
ignore:
- "**/*.spec.ts" # Tests
+
+component_management:
+ default_rules:
+ statuses:
+ - type: project
+ target: auto
+ individual_components:
+ - component_id: key-management-biometrics
+ name: Key Management - Biometrics
+ paths:
+ - apps/browser/src/key-management/biometrics/**
+ - apps/cli/src/key-management/cli-biometrics-service.ts
+ - apps/desktop/desktop_native/core/src/biometric/**
+ - apps/desktop/src/key-management/biometrics/**
+ - apps/desktop/src/services/biometric-message-handler.service.ts
+ - apps/web/src/app/key-management/web-biometric.service.ts
+ - libs/key-management/src/biometrics/**
+ - component_id: key-management-lock
+ name: Key Management - Lock
+ paths:
+ - apps/browser/src/key-management/lock/**
+ - apps/desktop/src/key-management/lock/**
+ - apps/web/src/app/key-management/lock/**
+ - libs/key-management-ui/src/lock/**
+ - libs/common/src/key-management/device-trust/**
+ - component_id: key-management-ipc
+ name: Key Management - IPC
+ paths:
+ - apps/browser/src/background/nativeMessaging.background.ts
+ - apps/desktop/src/services/native-messaging.service.ts
+ - component_id: key-management-key-rotation
+ name: Key Management - Key Rotation
+ paths:
+ - apps/web/src/app/key-management/key-rotation/**
+ - apps/web/src/app/key-management/migrate-encryption/**
+ - libs/key-management/src/user-asymmetric-key-regeneration/**
+ - component_id: key-management-process-reload
+ name: Key Management - Process Reload
+ paths:
+ - apps/web/src/app/key-management/services/web-process-reload.service.ts
+ - libs/common/src/key-management/services/default-process-reload.service.ts
+ - component_id: key-management-keys
+ name: Key Management - Keys
+ paths:
+ - libs/key-management/src/kdf-config.service.ts
+ - libs/key-management/src/key.service.ts
+ - libs/common/src/key-management/master-password/**
+ - libs/common/src/key-management/key-connector/**
+ - component_id: key-management-crypto
+ name: Key Management - Crypto
+ paths:
+ - libs/common/src/key-management/crypto/**
+ - component_id: key-management
+ name: Key Management
+ paths:
+ - apps/browser/src/key-management/**
+ - apps/browser/src/background/nativeMessaging.background.ts
+ - apps/cli/src/key-management/**
+ - apps/desktop/desktop_native/core/src/biometric/**
+ - apps/desktop/src/key-management/**
+ - apps/desktop/src/services/biometric-message-handler.service.ts
+ - apps/desktop/src/services/native-messaging.service.ts
+ - apps/web/src/app/key-management/**
+ - libs/common/src/key-management/**
+ - libs/key-management/**
+ - libs/key-management-ui/**
diff --git a/.github/renovate.json b/.github/renovate.json
deleted file mode 100644
index 776c66af68e..00000000000
--- a/.github/renovate.json
+++ /dev/null
@@ -1,283 +0,0 @@
-{
- "$schema": "https://docs.renovatebot.com/renovate-schema.json",
- "extends": ["github>bitwarden/renovate-config"],
- "enabledManagers": ["cargo", "github-actions", "npm"],
- "packageRules": [
- {
- "groupName": "gh minor",
- "matchManagers": ["github-actions"],
- "matchUpdateTypes": ["minor", "patch"]
- },
- {
- "matchManagers": ["github-actions"],
- "commitMessagePrefix": "[deps] BRE:"
- },
- {
- "matchManagers": ["cargo"],
- "commitMessagePrefix": "[deps] Platform:"
- },
- {
- "groupName": "napi",
- "matchPackageNames": ["napi", "napi-build", "napi-derive"]
- },
- {
- "matchPackageNames": ["typescript", "zone.js"],
- "matchUpdateTypes": ["major", "minor"],
- "description": "Determined by Angular",
- "enabled": false
- },
- {
- "matchPackageNames": ["typescript", "zone.js"],
- "matchUpdateTypes": "patch"
- },
- {
- "groupName": "jest",
- "matchPackageNames": ["@types/jest", "jest", "ts-jest", "jest-preset-angular"],
- "matchUpdateTypes": "major"
- },
- {
- "groupName": "macOS/iOS bindings",
- "matchPackageNames": ["core-foundation", "security-framework", "security-framework-sys"]
- },
- {
- "groupName": "zbus",
- "matchPackageNames": ["zbus", "zbus_polkit"]
- },
- {
- "matchPackageNames": [
- "base64-loader",
- "buffer",
- "bufferutil",
- "core-js",
- "css-loader",
- "html-loader",
- "mini-css-extract-plugin",
- "ngx-infinite-scroll",
- "postcss",
- "postcss-loader",
- "process",
- "sass",
- "sass-loader",
- "style-loader",
- "ts-loader",
- "url",
- "util"
- ],
- "description": "Admin Console owned dependencies",
- "commitMessagePrefix": "[deps] AC:",
- "reviewers": ["team:team-admin-console-dev"]
- },
- {
- "matchPackageNames": ["qrious"],
- "description": "Auth owned dependencies",
- "commitMessagePrefix": "[deps] Auth:",
- "reviewers": ["team:team-auth-dev"]
- },
- {
- "matchPackageNames": [
- "@emotion/css",
- "@webcomponents/custom-elements",
- "concurrently",
- "cross-env",
- "del",
- "lit",
- "nord",
- "patch-package",
- "prettier",
- "prettier-plugin-tailwindcss",
- "rimraf",
- "tabbable",
- "tldts",
- "wait-on"
- ],
- "description": "Autofill owned dependencies",
- "commitMessagePrefix": "[deps] Autofill:",
- "reviewers": ["team:team-autofill-dev"]
- },
- {
- "matchPackageNames": ["braintree-web-drop-in"],
- "description": "Billing owned dependencies",
- "commitMessagePrefix": "[deps] Billing:",
- "reviewers": ["team:team-billing-dev"]
- },
- {
- "matchPackageNames": [
- "@babel/core",
- "@babel/preset-env",
- "@bitwarden/sdk-internal",
- "@electron/fuses",
- "@electron/notarize",
- "@electron/rebuild",
- "@ngtools/webpack",
- "@types/chrome",
- "@types/firefox-webext-browser",
- "@types/glob",
- "@types/jquery",
- "@types/lowdb",
- "@types/node",
- "@types/node-forge",
- "@types/node-ipc",
- "@yao-pkg/pkg",
- "babel-loader",
- "browserslist",
- "copy-webpack-plugin",
- "electron",
- "electron-builder",
- "electron-log",
- "electron-reload",
- "electron-store",
- "electron-updater",
- "html-webpack-injector",
- "html-webpack-plugin",
- "lowdb",
- "node-forge",
- "node-ipc",
- "pkg",
- "rxjs",
- "tsconfig-paths-webpack-plugin",
- "type-fest",
- "typescript",
- "typescript-strict-plugin",
- "webpack",
- "webpack-cli",
- "webpack-dev-server",
- "webpack-node-externals"
- ],
- "description": "Platform owned dependencies",
- "commitMessagePrefix": "[deps] Platform:",
- "reviewers": ["team:team-platform-dev"]
- },
- {
- "matchPackageNames": [
- "@angular-devkit/build-angular",
- "@angular/animations",
- "@angular/cdk",
- "@angular/cli",
- "@angular/common",
- "@angular/compiler-cli",
- "@angular/compiler",
- "@angular/core",
- "@angular/forms",
- "@angular/platform-browser-dynamic",
- "@angular/platform-browser",
- "@angular/platform",
- "@angular/router",
- "@compodoc/compodoc",
- "@ng-select/ng-select",
- "@storybook/addon-a11y",
- "@storybook/addon-actions",
- "@storybook/addon-designs",
- "@storybook/addon-essentials",
- "@storybook/addon-interactions",
- "@storybook/addon-links",
- "@storybook/angular",
- "@storybook/manager-api",
- "@storybook/theming",
- "@types/react",
- "autoprefixer",
- "bootstrap",
- "chromatic",
- "jquery",
- "ngx-toastr",
- "popper.js",
- "react",
- "react-dom",
- "remark-gfm",
- "storybook",
- "tailwindcss",
- "zone.js"
- ],
- "description": "Component library owned dependencies",
- "commitMessagePrefix": "[deps] Design System:",
- "reviewers": ["team:team-design-system"]
- },
- {
- "matchPackageNames": [
- "@angular-eslint/eslint-plugin",
- "@angular-eslint/eslint-plugin-template",
- "@angular-eslint/schematics",
- "@angular-eslint/template-parser",
- "@angular/elements",
- "@types/jest",
- "@typescript-eslint/eslint-plugin",
- "@typescript-eslint/parser",
- "eslint",
- "eslint-config-prettier",
- "eslint-import-resolver-typescript",
- "eslint-plugin-import",
- "eslint-plugin-rxjs",
- "eslint-plugin-rxjs-angular",
- "eslint-plugin-storybook",
- "eslint-plugin-tailwindcss",
- "husky",
- "jest-extended",
- "jest-junit",
- "jest-mock-extended",
- "jest-preset-angular",
- "lint-staged",
- "ts-jest"
- ],
- "description": "Secrets Manager owned dependencies",
- "commitMessagePrefix": "[deps] SM:",
- "reviewers": ["team:team-secrets-manager-dev"]
- },
- {
- "matchPackageNames": [
- "@microsoft/signalr-protocol-msgpack",
- "@microsoft/signalr",
- "@types/jsdom",
- "@types/papaparse",
- "@types/zxcvbn",
- "jsdom",
- "jszip",
- "oidc-client-ts",
- "papaparse",
- "utf-8-validate",
- "zxcvbn"
- ],
- "description": "Tools owned dependencies",
- "commitMessagePrefix": "[deps] Tools:",
- "reviewers": ["team:team-tools-dev"]
- },
- {
- "matchPackageNames": [
- "@koa/multer",
- "@koa/router",
- "@types/inquirer",
- "@types/koa",
- "@types/koa__multer",
- "@types/koa__router",
- "@types/koa-bodyparser",
- "@types/koa-json",
- "@types/lunr",
- "@types/node-fetch",
- "@types/proper-lockfile",
- "@types/retry",
- "chalk",
- "commander",
- "form-data",
- "https-proxy-agent",
- "inquirer",
- "koa",
- "koa-bodyparser",
- "koa-json",
- "lunr",
- "multer",
- "node-fetch",
- "open",
- "proper-lockfile",
- "qrcode-parser"
- ],
- "description": "Vault owned dependencies",
- "commitMessagePrefix": "[deps] Vault:",
- "reviewers": ["team:team-vault-dev"]
- },
- {
- "matchPackageNames": ["@types/argon2-browser", "argon2", "argon2-browser", "big-integer"],
- "description": "Key Management owned dependencies",
- "commitMessagePrefix": "[deps] KM:",
- "reviewers": ["team:team-key-management-dev"]
- }
- ],
- "ignoreDeps": ["@types/koa-bodyparser", "bootstrap", "node-ipc", "node", "npm"]
-}
diff --git a/.github/renovate.json5 b/.github/renovate.json5
new file mode 100644
index 00000000000..01361a97404
--- /dev/null
+++ b/.github/renovate.json5
@@ -0,0 +1,414 @@
+{
+ $schema: "https://docs.renovatebot.com/renovate-schema.json",
+ extends: ["github>bitwarden/renovate-config"], // Extends our default configuration for pinned dependencies
+ enabledManagers: ["cargo", "github-actions", "npm"],
+ packageRules: [
+ {
+ // Group all build/test/lint workflows for GitHub Actions together for Platform
+ // Since they are code owners we don't need to assign a review team in Renovate
+ // Any changes here should also be reflected in CODEOWNERS
+ groupName: "github-action minor",
+ matchManagers: ["github-actions"],
+ matchFileNames: [
+ "./github/workflows/automatic-issue-responses.yml",
+ "./github/workflows/automatic-pull-request-responses.yml",
+ "./github/workflows/build-browser.yml",
+ "./github/workflows/build-cli.yml",
+ "./github/workflows/build-desktop.yml",
+ "./github/workflows/build-web.yml",
+ "./github/workflows/chromatic.yml",
+ "./github/workflows/crowdin-pull.yml",
+ "./github/workflows/enforce-labels.yml",
+ "./github/workflows/lint.yml",
+ "./github/workflows/locales-lint.yml",
+ "./github/workflows/repository-management.yml",
+ "./github/workflows/scan.yml",
+ "./github/workflows/stale-bot.yml",
+ "./github/workflows/test.yml",
+ "./github/workflows/version-auto-bump.yml",
+ ],
+ commitMessagePrefix: "[deps] Platform:",
+ },
+ {
+ // Group all release-related workflows for GitHub Actions together for BRE
+ // Since they are code owners we don't need to assign a review team in Renovate
+ // Any changes here should also be reflected in CODEOWNERS
+ groupName: "github-action minor",
+ matchManagers: ["github-actions"],
+ matchFileNames: [
+ "./github/workflows/brew-bump-desktop.yml",
+ "./github/workflows/deploy-web.yml",
+ "./github/workflows/publish-cli.yml",
+ "./github/workflows/publish-desktop.yml",
+ "./github/workflows/publish-web.yml",
+ "./github/workflows/retrieve-current-desktop-rollout.yml",
+ "./github/workflows/staged-rollout-desktop.yml",
+ "./github/workflows/release-cli.yml",
+ "./github/workflows/release-desktop-beta.yml",
+ "./github/workflows/release-desktop.yml",
+ "./github/workflows/release-web.yml",
+ ],
+ commitMessagePrefix: "[deps] BRE:",
+ },
+ {
+ // Disable major and minor updates for TypeScript and Zone.js because they are managed by Angular
+ matchPackageNames: ["typescript", "zone.js"],
+ matchUpdateTypes: ["major", "minor"],
+ description: "Determined by Angular",
+ enabled: false,
+ },
+ {
+ // Disable major updates for core Angular dependencies because they are managed through ng update
+ // when we decide to upgrade.
+ matchSourceUrls: [
+ "https://github.com/angular-eslint/angular-eslint",
+ "https://github.com/angular/angular-cli",
+ "https://github.com/angular/angular",
+ "https://github.com/angular/components",
+ "https://github.com/ng-select/ng-select",
+ ],
+ matchUpdateTypes: ["major"],
+ description: "Manually updated using ng update",
+ enabled: false,
+ },
+ {
+ // Renovate should manage patch updates for TypeScript and Zone.js, despite ignoring major and minor
+ matchPackageNames: ["typescript", "zone.js"],
+ matchUpdateTypes: "patch",
+ },
+ {
+ // We want to update all the Jest-related packages together, to reduce PR noise
+ groupName: "jest",
+ matchPackageNames: ["@types/jest", "jest", "ts-jest", "jest-preset-angular"],
+ },
+ {
+ // We need to group all napi-related packages together to avoid build errors caused by version incompatibilities
+ groupName: "napi",
+ matchPackageNames: ["napi", "napi-build", "napi-derive"],
+ },
+ {
+ // We need to group all macOS/iOS binding-related packages together to avoid build errors caused by version incompatibilities
+ groupName: "macOS/iOS bindings",
+ matchPackageNames: ["core-foundation", "security-framework", "security-framework-sys"],
+ },
+ {
+ // We need to group all zbus-related packages together to avoid build errors caused by version incompatibilities
+ groupName: "zbus",
+ matchPackageNames: ["zbus", "zbus_polkit"],
+ },
+ {
+ matchPackageNames: [
+ "base64-loader",
+ "buffer",
+ "bufferutil",
+ "core-js",
+ "css-loader",
+ "html-loader",
+ "mini-css-extract-plugin",
+ "postcss",
+ "postcss-loader",
+ "process",
+ "sass",
+ "sass-loader",
+ "style-loader",
+ "ts-loader",
+ "url",
+ "util",
+ ],
+ description: "Admin Console owned dependencies",
+ commitMessagePrefix: "[deps] AC:",
+ reviewers: ["team:team-admin-console-dev"],
+ },
+ {
+ matchPackageNames: ["qrious"],
+ description: "Auth owned dependencies",
+ commitMessagePrefix: "[deps] Auth:",
+ reviewers: ["team:team-auth-dev"],
+ },
+ {
+ matchPackageNames: [
+ "@angular-eslint/schematics",
+ "angular-eslint",
+ "eslint-config-prettier",
+ "eslint-import-resolver-typescript",
+ "eslint-plugin-import",
+ "eslint-plugin-rxjs-angular",
+ "eslint-plugin-rxjs",
+ "eslint-plugin-storybook",
+ "eslint-plugin-tailwindcss",
+ "eslint",
+ "husky",
+ "lint-staged",
+ "typescript-eslint",
+ ],
+ description: "Architecture owned dependencies",
+ commitMessagePrefix: "[deps] Architecture:",
+ reviewers: ["team:dept-architecture"],
+ },
+ {
+ matchPackageNames: [
+ "@angular-eslint/schematics",
+ "angular-eslint",
+ "eslint-config-prettier",
+ "eslint-import-resolver-typescript",
+ "eslint-plugin-import",
+ "eslint-plugin-rxjs-angular",
+ "eslint-plugin-rxjs",
+ "eslint-plugin-storybook",
+ "eslint-plugin-tailwindcss",
+ "eslint",
+ "husky",
+ "lint-staged",
+ "typescript-eslint",
+ ],
+ groupName: "Linting minor-patch",
+ matchUpdateTypes: ["minor", "patch"],
+ },
+ {
+ matchPackageNames: [
+ "@emotion/css",
+ "@webcomponents/custom-elements",
+ "bitwarden-russh",
+ "bytes",
+ "concurrently",
+ "cross-env",
+ "del",
+ "ed25519",
+ "lit",
+ "patch-package",
+ "pkcs8",
+ "prettier",
+ "prettier-plugin-tailwindcss",
+ "rimraf",
+ "ssh-encoding",
+ "ssh-key",
+ "@storybook/web-components-webpack5",
+ "tabbable",
+ "tldts",
+ "wait-on",
+ ],
+ description: "Autofill owned dependencies",
+ commitMessagePrefix: "[deps] Autofill:",
+ reviewers: ["team:team-autofill-dev"],
+ },
+ {
+ matchPackageNames: ["braintree-web-drop-in"],
+ description: "Billing owned dependencies",
+ commitMessagePrefix: "[deps] Billing:",
+ reviewers: ["team:team-billing-dev"],
+ },
+ {
+ matchPackageNames: [
+ "@babel/core",
+ "@babel/preset-env",
+ "@bitwarden/sdk-internal",
+ "@electron/fuses",
+ "@electron/notarize",
+ "@electron/rebuild",
+ "@ngtools/webpack",
+ "@types/chrome",
+ "@types/firefox-webext-browser",
+ "@types/glob",
+ "@types/jquery",
+ "@types/lowdb",
+ "@types/node",
+ "@types/node-forge",
+ "@types/node-ipc",
+ "@yao-pkg/pkg",
+ "anyhow",
+ "arboard",
+ "babel-loader",
+ "base64",
+ "bindgen",
+ "browserslist",
+ "byteorder",
+ "bytes",
+ "core-foundation",
+ "copy-webpack-plugin",
+ "dirs",
+ "electron",
+ "electron-builder",
+ "electron-log",
+ "electron-reload",
+ "electron-store",
+ "electron-updater",
+ "embed_plist",
+ "futures",
+ "hex",
+ "homedir",
+ "html-webpack-injector",
+ "html-webpack-plugin",
+ "interprocess",
+ "json5",
+ "keytar",
+ "libc",
+ "log",
+ "lowdb",
+ "napi",
+ "napi-build",
+ "napi-derive",
+ "node-forge",
+ "node-ipc",
+ "oo7",
+ "oslog",
+ "pin-project",
+ "pkg",
+ "rand",
+ "rxjs",
+ "scopeguard",
+ "security-framework",
+ "security-framework-sys",
+ "serde",
+ "serde_json",
+ "simplelog",
+ "sysinfo",
+ "tsconfig-paths-webpack-plugin",
+ "type-fest",
+ "typenum",
+ "typescript",
+ "typescript-strict-plugin",
+ "uniffi",
+ "webpack",
+ "webpack-cli",
+ "webpack-dev-server",
+ "webpack-node-externals",
+ "widestring",
+ "windows",
+ "windows-registry",
+ "zbus",
+ "zbus_polkit",
+ ],
+ description: "Platform owned dependencies",
+ commitMessagePrefix: "[deps] Platform:",
+ reviewers: ["team:team-platform-dev"],
+ },
+ {
+ matchPackageNames: [
+ "@angular-devkit/build-angular",
+ "@angular/animations",
+ "@angular/cdk",
+ "@angular/cli",
+ "@angular/common",
+ "@angular/compiler-cli",
+ "@angular/compiler",
+ "@angular/core",
+ "@angular/forms",
+ "@angular/platform-browser-dynamic",
+ "@angular/platform-browser",
+ "@angular/platform",
+ "@angular/router",
+ "@compodoc/compodoc",
+ "@ng-select/ng-select",
+ "@storybook/addon-a11y",
+ "@storybook/addon-actions",
+ "@storybook/addon-designs",
+ "@storybook/addon-essentials",
+ "@storybook/addon-interactions",
+ "@storybook/addon-links",
+ "@storybook/addon-themes",
+ "@storybook/angular",
+ "@storybook/manager-api",
+ "@storybook/theming",
+ "@typescript-eslint/utils",
+ "@typescript-eslint/rule-tester",
+ "@types/react",
+ "autoprefixer",
+ "bootstrap",
+ "chromatic",
+ "jquery",
+ "ngx-toastr",
+ "popper.js",
+ "react",
+ "react-dom",
+ "remark-gfm",
+ "storybook",
+ "tailwindcss",
+ "zone.js",
+ ],
+ description: "UI Foundation owned dependencies",
+ commitMessagePrefix: "[deps] UI Foundation:",
+ reviewers: ["team:team-ui-foundation"],
+ },
+ {
+ matchPackageNames: [
+ "@types/jest",
+ "jest-junit",
+ "jest-mock-extended",
+ "jest-preset-angular",
+ "jest-diff",
+ "ts-jest",
+ ],
+ description: "Secrets Manager owned dependencies",
+ commitMessagePrefix: "[deps] SM:",
+ reviewers: ["team:team-secrets-manager-dev"],
+ },
+ {
+ matchPackageNames: [
+ "@microsoft/signalr-protocol-msgpack",
+ "@microsoft/signalr",
+ "@types/jsdom",
+ "@types/papaparse",
+ "@types/zxcvbn",
+ "jsdom",
+ "jszip",
+ "oidc-client-ts",
+ "papaparse",
+ "utf-8-validate",
+ "zxcvbn",
+ ],
+ description: "Tools owned dependencies",
+ commitMessagePrefix: "[deps] Tools:",
+ reviewers: ["team:team-tools-dev"],
+ },
+ {
+ matchPackageNames: [
+ "@koa/multer",
+ "@koa/router",
+ "@types/inquirer",
+ "@types/koa",
+ "@types/koa__multer",
+ "@types/koa__router",
+ "@types/koa-bodyparser",
+ "@types/koa-json",
+ "@types/lunr",
+ "@types/node-fetch",
+ "@types/proper-lockfile",
+ "@types/retry",
+ "chalk",
+ "commander",
+ "form-data",
+ "https-proxy-agent",
+ "inquirer",
+ "koa",
+ "koa-bodyparser",
+ "koa-json",
+ "lunr",
+ "multer",
+ "node-fetch",
+ "open",
+ "proper-lockfile",
+ "qrcode-parser",
+ ],
+ description: "Vault owned dependencies",
+ commitMessagePrefix: "[deps] Vault:",
+ reviewers: ["team:team-vault-dev"],
+ },
+ {
+ matchPackageNames: [
+ "@types/argon2-browser",
+ "aes",
+ "argon2",
+ "argon2-browser",
+ "big-integer",
+ "cbc",
+ "rsa",
+ "russh-cryptovec",
+ "sha2",
+ ],
+ description: "Key Management owned dependencies",
+ commitMessagePrefix: "[deps] KM:",
+ reviewers: ["team:team-key-management-dev"],
+ },
+ ],
+ ignoreDeps: ["@types/koa-bodyparser", "bootstrap", "node-ipc", "node", "npm"],
+}
diff --git a/.github/whitelist-capital-letters.txt b/.github/whitelist-capital-letters.txt
index 73d323851e5..653f6591c7f 100644
--- a/.github/whitelist-capital-letters.txt
+++ b/.github/whitelist-capital-letters.txt
@@ -3,26 +3,12 @@
./apps/browser/src/safari/desktop/Assets.xcassets/AppIcon.appiconset
./apps/browser/src/safari/desktop/Base.lproj
./apps/browser/store/windows/Assets
-./bitwarden_license/README.md
./libs/angular/src/directives/cipherListVirtualScroll.directive.ts
-./libs/admin-console/README.md
-./libs/auth/README.md
-./libs/billing/README.md
-./libs/common/src/tools/integration/README.md
-./libs/platform/README.md
-./libs/key-management/README.md
-./libs/tools/README.md
-./libs/tools/export/vault-export/README.md
-./libs/tools/send/README.md
-./libs/tools/card/README.md
-./libs/vault/README.md
-./README.md
./LICENSE_BITWARDEN.txt
./CONTRIBUTING.md
./LICENSE_GPL.txt
./LICENSE.txt
./apps/web/Dockerfile
-./apps/web/README.md
./apps/desktop/resources/installerSidebar.bmp
./apps/desktop/resources/appx/SplashScreen.png
./apps/desktop/resources/appx/BadgeLogo.png
@@ -30,10 +16,7 @@
./apps/desktop/resources/appx/StoreLogo.png
./apps/desktop/resources/appx/Wide310x150Logo.png
./apps/desktop/resources/appx/Square44x44Logo.png
-./apps/desktop/README.md
./apps/cli/stores/chocolatey/tools/VERIFICATION.txt
-./apps/cli/README.md
-./apps/browser/README.md
./apps/browser/store/windows/AppxManifest.xml
./apps/browser/src/background/nativeMessaging.background.ts
./apps/browser/src/models/browserComponentState.ts
diff --git a/.github/workflows/build-browser-target.yml b/.github/workflows/build-browser-target.yml
new file mode 100644
index 00000000000..3334326920c
--- /dev/null
+++ b/.github/workflows/build-browser-target.yml
@@ -0,0 +1,33 @@
+name: Build Browser on PR Target
+
+on:
+ pull_request:
+ types: [opened, synchronize]
+ branches-ignore:
+ - 'l10n_master'
+ - 'cf-pages'
+ paths:
+ - 'apps/browser/**'
+ - 'libs/**'
+ - '*'
+ - '!*.md'
+ - '!*.txt'
+ workflow_call:
+ inputs: {}
+
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ check-run:
+ name: Check PR run
+ uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main
+
+ run-workflow:
+ name: Run Build Browser on PR Target
+ needs: check-run
+ if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
+ uses: ./.github/workflows/build-browser.yml
+ secrets: inherit
+
diff --git a/.github/workflows/build-browser.yml b/.github/workflows/build-browser.yml
index aa62d602ad8..4748a6a9f15 100644
--- a/.github/workflows/build-browser.yml
+++ b/.github/workflows/build-browser.yml
@@ -1,7 +1,7 @@
name: Build Browser
on:
- pull_request_target:
+ pull_request:
types: [opened, synchronize]
branches-ignore:
- 'l10n_master'
@@ -38,19 +38,14 @@ defaults:
shell: bash
jobs:
- check-run:
- name: Check PR run
- uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main
-
setup:
name: Setup
runs-on: ubuntu-22.04
- needs:
- - check-run
outputs:
repo_url: ${{ steps.gen_vars.outputs.repo_url }}
adj_build_number: ${{ steps.gen_vars.outputs.adj_build_number }}
node_version: ${{ steps.retrieve-node-version.outputs.node_version }}
+ has_secrets: ${{ steps.check-secrets.outputs.has_secrets }}
steps:
- name: Check out repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -74,6 +69,14 @@ jobs:
NODE_VERSION=${NODE_NVMRC/v/''}
echo "node_version=$NODE_VERSION" >> $GITHUB_OUTPUT
+ - name: Check secrets
+ id: check-secrets
+ env:
+ AZURE_KV_CI_SERVICE_PRINCIPAL: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
+ run: |
+ has_secrets=${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL != '' }}
+ echo "has_secrets=$has_secrets" >> $GITHUB_OUTPUT
+
locales-test:
name: Locales Test
@@ -169,7 +172,7 @@ jobs:
zip -r browser-source.zip browser-source
- name: Upload browser source
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: browser-source-${{ env._BUILD_NUMBER }}.zip
path: browser-source.zip
@@ -196,11 +199,7 @@ jobs:
- name: "edge"
npm_command: "dist:edge"
archive_name: "dist-edge.zip"
- artifact_name: "dist-edge"
- - name: "edge-mv3"
- npm_command: "dist:edge:mv3"
- archive_name: "dist-edge.zip"
- artifact_name: "DO-NOT-USE-FOR-PROD-dist-edge-MV3"
+ artifact_name: "dist-edge-MV3"
- name: "firefox"
npm_command: "dist:firefox"
archive_name: "dist-firefox.zip"
@@ -209,14 +208,10 @@ jobs:
npm_command: "dist:firefox:mv3"
archive_name: "dist-firefox.zip"
artifact_name: "DO-NOT-USE-FOR-PROD-dist-firefox-MV3"
- - name: "opera"
- npm_command: "dist:opera"
- archive_name: "dist-opera.zip"
- artifact_name: "dist-opera"
- name: "opera-mv3"
npm_command: "dist:opera:mv3"
archive_name: "dist-opera.zip"
- artifact_name: "DO-NOT-USE-FOR-PROD-dist-opera-MV3"
+ artifact_name: "dist-opera-MV3"
steps:
- name: Check out repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -272,7 +267,7 @@ jobs:
working-directory: browser-source/apps/browser
- name: Upload extension artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: ${{ matrix.artifact_name }}-${{ env._BUILD_NUMBER }}.zip
path: browser-source/apps/browser/dist/${{ matrix.archive_name }}
@@ -285,6 +280,7 @@ jobs:
needs:
- setup
- locales-test
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
env:
_BUILD_NUMBER: ${{ needs.setup.outputs.adj_build_number }}
_NODE_VERSION: ${{ needs.setup.outputs.node_version }}
@@ -409,7 +405,7 @@ jobs:
ls -la
- name: Upload Safari artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: dist-safari-${{ env._BUILD_NUMBER }}.zip
path: apps/browser/dist/dist-safari.zip
diff --git a/.github/workflows/build-cli-target.yml b/.github/workflows/build-cli-target.yml
new file mode 100644
index 00000000000..81ec4178681
--- /dev/null
+++ b/.github/workflows/build-cli-target.yml
@@ -0,0 +1,33 @@
+name: Build CLI on PR Target
+
+on:
+ pull_request:
+ types: [opened, synchronize]
+ branches-ignore:
+ - 'l10n_master'
+ - 'cf-pages'
+ paths:
+ - 'apps/cli/**'
+ - 'libs/**'
+ - '*'
+ - '!*.md'
+ - '!*.txt'
+ - '.github/workflows/build-cli.yml'
+ - 'bitwarden_license/bit-cli/**'
+
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ check-run:
+ name: Check PR run
+ uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main
+
+ run-workflow:
+ name: Run Build CLI on PR Target
+ needs: check-run
+ if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
+ uses: ./.github/workflows/build-cli.yml
+ secrets: inherit
+
diff --git a/.github/workflows/build-cli.yml b/.github/workflows/build-cli.yml
index 02432e0a5f4..8599a699d9d 100644
--- a/.github/workflows/build-cli.yml
+++ b/.github/workflows/build-cli.yml
@@ -1,7 +1,7 @@
name: Build CLI
on:
- pull_request_target:
+ pull_request:
types: [opened, synchronize]
branches-ignore:
- 'l10n_master'
@@ -27,6 +27,8 @@ on:
- '!*.txt'
- '.github/workflows/build-cli.yml'
- 'bitwarden_license/bit-cli/**'
+ workflow_call:
+ inputs: {}
workflow_dispatch:
inputs:
sdk_branch:
@@ -39,18 +41,13 @@ defaults:
working-directory: apps/cli
jobs:
- check-run:
- name: Check PR run
- uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main
-
setup:
name: Setup
runs-on: ubuntu-22.04
- needs:
- - check-run
outputs:
package_version: ${{ steps.retrieve-package-version.outputs.package_version }}
node_version: ${{ steps.retrieve-node-version.outputs.node_version }}
+ has_secrets: ${{ steps.check-secrets.outputs.has_secrets }}
steps:
- name: Check out repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -71,15 +68,24 @@ jobs:
NODE_VERSION=${NODE_NVMRC/v/''}
echo "node_version=$NODE_VERSION" >> $GITHUB_OUTPUT
+ - name: Check secrets
+ id: check-secrets
+ env:
+ AZURE_KV_CI_SERVICE_PRINCIPAL: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
+ run: |
+ has_secrets=${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL != '' }}
+ echo "has_secrets=$has_secrets" >> $GITHUB_OUTPUT
+
cli:
- name: CLI ${{ matrix.os.base }} - ${{ matrix.license_type.readable }}
+ name: CLI ${{ matrix.os.base }}${{ matrix.os.target_suffix }} - ${{ matrix.license_type.readable }}
strategy:
matrix:
os:
- [
- { base: "linux", distro: "ubuntu-22.04" },
- { base: "mac", distro: "macos-13" }
- ]
+ [
+ { base: "linux", distro: "ubuntu-22.04", target_suffix: "" },
+ { base: "mac", distro: "macos-13", target_suffix: "" },
+ { base: "mac", distro: "macos-14", target_suffix: "-arm64" }
+ ]
license_type:
[
{ build_prefix: "oss", artifact_prefix: "-oss", readable: "open source license" },
@@ -117,7 +123,7 @@ jobs:
working-directory: ./
- name: Download SDK Artifacts
- if: ${{ inputs.sdk_branch != '' }}
+ if: ${{ inputs.sdk_branch != '' && needs.setup.outputs.has_secrets == 'true' }}
uses: bitwarden/gh-actions/download-artifacts@main
with:
github_token: ${{secrets.GITHUB_TOKEN}}
@@ -130,23 +136,23 @@ jobs:
if_no_artifact_found: fail
- name: Override SDK
- if: ${{ inputs.sdk_branch != '' }}
+ if: ${{ inputs.sdk_branch != '' && needs.setup.outputs.has_secrets == 'true' }}
working-directory: ./
run: |
ls -l ../
npm link ../sdk-internal
- name: Build & Package Unix
- run: npm run dist:${{ matrix.license_type.build_prefix }}:${{ env.SHORT_RUNNER_OS }} --quiet
+ run: npm run dist:${{ matrix.license_type.build_prefix }}:${{ env.SHORT_RUNNER_OS }}${{ matrix.os.target_suffix }} --quiet
- name: Zip Unix
run: |
- cd ./dist/${{ matrix.license_type.build_prefix }}/${{ env.LOWER_RUNNER_OS }}
- zip ../../bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}-${{ env._PACKAGE_VERSION }}.zip ./bw
+ cd ./dist/${{ matrix.license_type.build_prefix }}/${{ env.LOWER_RUNNER_OS }}${{ matrix.os.target_suffix }}
+ zip ../../bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}${{ matrix.os.target_suffix }}-${{ env._PACKAGE_VERSION }}.zip ./bw
- name: Version Test
run: |
- unzip "./dist/bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}-${{ env._PACKAGE_VERSION }}.zip" -d "./test"
+ unzip "./dist/bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}${{ matrix.os.target_suffix }}-${{ env._PACKAGE_VERSION }}.zip" -d "./test"
testVersion=$(./test/bw -v)
echo "version: $_PACKAGE_VERSION"
echo "testVersion: $testVersion"
@@ -158,22 +164,22 @@ jobs:
- name: Create checksums Unix
run: |
cd ./dist
- shasum -a 256 bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}-${{ env._PACKAGE_VERSION }}.zip \
+ shasum -a 256 bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}${{ matrix.os.target_suffix }}-${{ env._PACKAGE_VERSION }}.zip \
| awk '{split($0, a); print a[1]}' > bw${{
- matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}-sha256-${{ env._PACKAGE_VERSION }}.txt
+ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}${{ matrix.os.target_suffix }}-sha256-${{ env._PACKAGE_VERSION }}.txt
- name: Upload unix zip asset
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
- name: bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}-${{ env._PACKAGE_VERSION }}.zip
- path: apps/cli/dist/bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}-${{ env._PACKAGE_VERSION }}.zip
+ name: bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}${{ matrix.os.target_suffix }}-${{ env._PACKAGE_VERSION }}.zip
+ path: apps/cli/dist/bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}${{ matrix.os.target_suffix }}-${{ env._PACKAGE_VERSION }}.zip
if-no-files-found: error
- name: Upload unix checksum asset
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
- name: bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}-sha256-${{ env._PACKAGE_VERSION }}.txt
- path: apps/cli/dist/bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}-sha256-${{ env._PACKAGE_VERSION }}.txt
+ name: bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}${{ matrix.os.target_suffix }}-sha256-${{ env._PACKAGE_VERSION }}.txt
+ path: apps/cli/dist/bw${{ matrix.license_type.artifact_prefix }}-${{ env.LOWER_RUNNER_OS }}${{ matrix.os.target_suffix }}-sha256-${{ env._PACKAGE_VERSION }}.txt
if-no-files-found: error
cli-windows:
@@ -199,6 +205,9 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha }}
+ - name: Install AST
+ run: dotnet tool install --global AzureSignTool --version 4.0.1
+
- name: Setup Windows builder
run: |
choco install checksum --no-progress
@@ -267,12 +276,30 @@ jobs:
ResourceHacker -open version-info.rc -save version-info.res -action compile
ResourceHacker -open %WIN_PKG_BUILT% -save %WIN_PKG_BUILT% -action addoverwrite -resource version-info.res
+ - name: Login to Azure
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0
+ with:
+ creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
+
+ - name: Retrieve secrets
+ id: retrieve-secrets
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: bitwarden/gh-actions/get-keyvault-secrets@main
+ with:
+ keyvault: "bitwarden-ci"
+ secrets: "code-signing-vault-url,
+ code-signing-client-id,
+ code-signing-tenant-id,
+ code-signing-client-secret,
+ code-signing-cert-name"
+
- name: Install
run: npm ci
working-directory: ./
- name: Download SDK Artifacts
- if: ${{ inputs.sdk_branch != '' }}
+ if: ${{ inputs.sdk_branch != '' && needs.setup.outputs.has_secrets == 'true' }}
uses: bitwarden/gh-actions/download-artifacts@main
with:
github_token: ${{secrets.GITHUB_TOKEN}}
@@ -285,7 +312,7 @@ jobs:
if_no_artifact_found: fail
- name: Override SDK
- if: ${{ inputs.sdk_branch != '' }}
+ if: ${{ inputs.sdk_branch != '' && needs.setup.outputs.has_secrets == 'true' }}
working-directory: ./
run: |
ls -l ../
@@ -294,6 +321,18 @@ jobs:
- name: Build & Package Windows
run: npm run dist:${{ matrix.license_type.build_prefix }}:win --quiet
+ - name: Sign executable
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ shell: pwsh
+ env:
+ SIGNING_VAULT_URL: ${{ steps.retrieve-secrets.outputs.code-signing-vault-url }}
+ SIGNING_CLIENT_ID: ${{ steps.retrieve-secrets.outputs.code-signing-client-id }}
+ SIGNING_TENANT_ID: ${{ steps.retrieve-secrets.outputs.code-signing-tenant-id }}
+ SIGNING_CLIENT_SECRET: ${{ steps.retrieve-secrets.outputs.code-signing-client-secret }}
+ SIGNING_CERT_NAME: ${{ steps.retrieve-secrets.outputs.code-signing-cert-name }}
+ EXE_PATH: dist/${{ matrix.license_type.build_prefix }}/windows/bw.exe
+ run: . .\scripts\sign-cli.ps1
+
- name: Package Chocolatey
shell: pwsh
if: ${{ matrix.license_type.build_prefix == 'bit' }}
@@ -324,14 +363,14 @@ jobs:
-t sha256 | Out-File -Encoding ASCII ./dist/bw${{ matrix.license_type.artifact_prefix }}-windows-sha256-${env:_PACKAGE_VERSION}.txt
- name: Upload windows zip asset
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bw${{ matrix.license_type.artifact_prefix }}-windows-${{ env._PACKAGE_VERSION }}.zip
path: apps/cli/dist/bw${{ matrix.license_type.artifact_prefix }}-windows-${{ env._PACKAGE_VERSION }}.zip
if-no-files-found: error
- name: Upload windows checksum asset
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bw${{ matrix.license_type.artifact_prefix }}-windows-sha256-${{ env._PACKAGE_VERSION }}.txt
path: apps/cli/dist/bw${{ matrix.license_type.artifact_prefix }}-windows-sha256-${{ env._PACKAGE_VERSION }}.txt
@@ -339,7 +378,7 @@ jobs:
- name: Upload Chocolatey asset
if: matrix.license_type.build_prefix == 'bit'
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden-cli.${{ env._PACKAGE_VERSION }}.nupkg
path: apps/cli/dist/chocolatey/bitwarden-cli.${{ env._PACKAGE_VERSION }}.nupkg
@@ -350,7 +389,7 @@ jobs:
- name: Upload NPM Build Directory asset
if: matrix.license_type.build_prefix == 'bit'
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden-cli-${{ env._PACKAGE_VERSION }}-npm-build.zip
path: apps/cli/bitwarden-cli-${{ env._PACKAGE_VERSION }}-npm-build.zip
@@ -421,14 +460,14 @@ jobs:
run: sudo snap remove bw
- name: Upload snap asset
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bw_${{ env._PACKAGE_VERSION }}_amd64.snap
path: apps/cli/dist/snap/bw_${{ env._PACKAGE_VERSION }}_amd64.snap
if-no-files-found: error
- name: Upload snap checksum asset
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bw-snap-sha256-${{ env._PACKAGE_VERSION }}.txt
path: apps/cli/dist/snap/bw-snap-sha256-${{ env._PACKAGE_VERSION }}.txt
diff --git a/.github/workflows/build-desktop-target.yml b/.github/workflows/build-desktop-target.yml
new file mode 100644
index 00000000000..8c26f991174
--- /dev/null
+++ b/.github/workflows/build-desktop-target.yml
@@ -0,0 +1,32 @@
+name: Build Desktop on PR Target
+
+on:
+ pull_request:
+ types: [opened, synchronize]
+ branches-ignore:
+ - 'l10n_master'
+ - 'cf-pages'
+ paths:
+ - 'apps/desktop/**'
+ - 'libs/**'
+ - '*'
+ - '!*.md'
+ - '!*.txt'
+ - '.github/workflows/build-desktop.yml'
+
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ check-run:
+ name: Check PR run
+ uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main
+
+ run-workflow:
+ name: Run Build Desktop on PR Target
+ needs: check-run
+ if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
+ uses: ./.github/workflows/build-desktop.yml
+ secrets: inherit
+
diff --git a/.github/workflows/build-desktop.yml b/.github/workflows/build-desktop.yml
index b27d1486bd2..48ecca540e8 100644
--- a/.github/workflows/build-desktop.yml
+++ b/.github/workflows/build-desktop.yml
@@ -1,7 +1,7 @@
name: Build Desktop
on:
- pull_request_target:
+ pull_request:
types: [opened, synchronize]
branches-ignore:
- 'l10n_master'
@@ -25,6 +25,8 @@ on:
- '!*.md'
- '!*.txt'
- '.github/workflows/build-desktop.yml'
+ workflow_call:
+ inputs: {}
workflow_dispatch:
inputs:
sdk_branch:
@@ -37,15 +39,9 @@ defaults:
shell: bash
jobs:
- check-run:
- name: Check PR run
- uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main
-
electron-verify:
name: Verify Electron Version
runs-on: ubuntu-22.04
- needs:
- - check-run
steps:
- name: Check out repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -67,8 +63,6 @@ jobs:
setup:
name: Setup
runs-on: ubuntu-22.04
- needs:
- - check-run
outputs:
package_version: ${{ steps.retrieve-version.outputs.package_version }}
release_channel: ${{ steps.release-channel.outputs.channel }}
@@ -76,6 +70,7 @@ jobs:
rc_branch_exists: ${{ steps.branch-check.outputs.rc_branch_exists }}
hotfix_branch_exists: ${{ steps.branch-check.outputs.hotfix_branch_exists }}
node_version: ${{ steps.retrieve-node-version.outputs.node_version }}
+ has_secrets: ${{ steps.check-secrets.outputs.has_secrets }}
defaults:
run:
working-directory: apps/desktop
@@ -138,14 +133,22 @@ jobs:
NODE_VERSION=${NODE_NVMRC/v/''}
echo "node_version=$NODE_VERSION" >> $GITHUB_OUTPUT
+ - name: Check secrets
+ id: check-secrets
+ env:
+ AZURE_KV_CI_SERVICE_PRINCIPAL: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
+ run: |
+ has_secrets=${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL != '' }}
+ echo "has_secrets=$has_secrets" >> $GITHUB_OUTPUT
+
linux:
name: Linux Build
# Note, before updating the ubuntu version of the workflow, ensure the snap base image
# is equal or greater than the new version. Otherwise there might be GLIBC version issues.
# The snap base for desktop is defined in `apps/desktop/electron-builder.json`
- # We are currently running on 20.04 until the Ubuntu 24.04 release is available, as moving
- # to 22.04 now breaks users who are on 20.04 due to mismatched GLIBC versions.
- runs-on: ubuntu-20.04
+ # We intentionally keep this runner on the oldest supported OS in GitHub Actions
+ # for maximum compatibility across GLIBC versions
+ runs-on: ubuntu-22.04
needs: setup
env:
_PACKAGE_VERSION: ${{ needs.setup.outputs.package_version }}
@@ -232,42 +235,42 @@ jobs:
run: npm run dist:lin
- name: Upload .deb artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-amd64.deb
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-amd64.deb
if-no-files-found: error
- name: Upload .rpm artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.rpm
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.rpm
if-no-files-found: error
- name: Upload .freebsd artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-x64.freebsd
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64.freebsd
if-no-files-found: error
- name: Upload .snap artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden_${{ env._PACKAGE_VERSION }}_amd64.snap
path: apps/desktop/dist/bitwarden_${{ env._PACKAGE_VERSION }}_amd64.snap
if-no-files-found: error
- name: Upload .AppImage artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.AppImage
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.AppImage
if-no-files-found: error
- name: Upload auto-update artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: ${{ needs.setup.outputs.release_channel }}-linux.yml
path: apps/desktop/dist/${{ needs.setup.outputs.release_channel }}-linux.yml
@@ -280,7 +283,7 @@ jobs:
sudo npm run pack:lin:flatpak
- name: Upload flatpak artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: com.bitwarden.desktop.flatpak
path: apps/desktop/dist/com.bitwarden.desktop.flatpak
@@ -333,12 +336,14 @@ jobs:
rustup show
- name: Login to Azure
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0
with:
creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
- name: Retrieve secrets
id: retrieve-secrets
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
uses: bitwarden/gh-actions/get-keyvault-secrets@main
with:
keyvault: "bitwarden-ci"
@@ -353,7 +358,7 @@ jobs:
working-directory: ./
- name: Download SDK Artifacts
- if: ${{ inputs.sdk_branch != '' }}
+ if: ${{ inputs.sdk_branch != '' && needs.setup.outputs.has_secrets == 'true' }}
uses: bitwarden/gh-actions/download-artifacts@main
with:
github_token: ${{secrets.GITHUB_TOKEN}}
@@ -366,7 +371,7 @@ jobs:
if_no_artifact_found: fail
- name: Override SDK
- if: ${{ inputs.sdk_branch != '' }}
+ if: ${{ inputs.sdk_branch != '' && needs.setup.outputs.has_secrets == 'true' }}
working-directory: ./
run: |
ls -l ../
@@ -386,7 +391,16 @@ jobs:
working-directory: apps/desktop/desktop_native
run: node build.js cross-platform
- - name: Build & Sign (dev)
+ - name: Build
+ run: npm run build
+
+ - name: Pack
+ if: ${{ needs.setup.outputs.has_secrets == 'false' }}
+ run: |
+ npm run pack:win
+
+ - name: Pack & Sign (dev)
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
env:
ELECTRON_BUILDER_SIGN: 1
SIGNING_VAULT_URL: ${{ steps.retrieve-secrets.outputs.code-signing-vault-url }}
@@ -395,10 +409,10 @@ jobs:
SIGNING_CLIENT_SECRET: ${{ steps.retrieve-secrets.outputs.code-signing-client-secret }}
SIGNING_CERT_NAME: ${{ steps.retrieve-secrets.outputs.code-signing-cert-name }}
run: |
- npm run build
npm run pack:win
- name: Rename appx files for store
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
run: |
Copy-Item "./dist/Bitwarden-${{ env._PACKAGE_VERSION }}-ia32.appx" `
-Destination "./dist/Bitwarden-${{ env._PACKAGE_VERSION }}-ia32-store.appx"
@@ -408,6 +422,7 @@ jobs:
-Destination "./dist/Bitwarden-${{ env._PACKAGE_VERSION }}-arm64-store.appx"
- name: Package for Chocolatey
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
run: |
Copy-Item -Path ./stores/chocolatey -Destination ./dist/chocolatey -Recurse
Copy-Item -Path ./dist/nsis-web/Bitwarden-Installer-${{ env._PACKAGE_VERSION }}.exe `
@@ -419,6 +434,7 @@ jobs:
choco pack ./dist/chocolatey/bitwarden.nuspec --version "$env:_PACKAGE_VERSION" --out ./dist/chocolatey
- name: Fix NSIS artifact names for auto-updater
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
run: |
Rename-Item -Path .\dist\nsis-web\Bitwarden-${{ env._PACKAGE_VERSION }}-ia32.nsis.7z `
-NewName bitwarden-${{ env._PACKAGE_VERSION }}-ia32.nsis.7z
@@ -428,91 +444,103 @@ jobs:
-NewName bitwarden-${{ env._PACKAGE_VERSION }}-arm64.nsis.7z
- name: Upload portable exe artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-Portable-${{ env._PACKAGE_VERSION }}.exe
path: apps/desktop/dist/Bitwarden-Portable-${{ env._PACKAGE_VERSION }}.exe
if-no-files-found: error
- name: Upload installer exe artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-Installer-${{ env._PACKAGE_VERSION }}.exe
path: apps/desktop/dist/nsis-web/Bitwarden-Installer-${{ env._PACKAGE_VERSION }}.exe
if-no-files-found: error
- name: Upload appx ia32 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-ia32.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-ia32.appx
if-no-files-found: error
- name: Upload store appx ia32 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-ia32-store.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-ia32-store.appx
if-no-files-found: error
- name: Upload NSIS ia32 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden-${{ env._PACKAGE_VERSION }}-ia32.nsis.7z
path: apps/desktop/dist/nsis-web/bitwarden-${{ env._PACKAGE_VERSION }}-ia32.nsis.7z
if-no-files-found: error
- name: Upload appx x64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-x64.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64.appx
if-no-files-found: error
- name: Upload store appx x64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-x64-store.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64-store.appx
if-no-files-found: error
- name: Upload NSIS x64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden-${{ env._PACKAGE_VERSION }}-x64.nsis.7z
path: apps/desktop/dist/nsis-web/bitwarden-${{ env._PACKAGE_VERSION }}-x64.nsis.7z
if-no-files-found: error
- name: Upload appx ARM64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-arm64.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-arm64.appx
if-no-files-found: error
- name: Upload store appx ARM64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-arm64-store.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-arm64-store.appx
if-no-files-found: error
- name: Upload NSIS ARM64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden-${{ env._PACKAGE_VERSION }}-arm64.nsis.7z
path: apps/desktop/dist/nsis-web/bitwarden-${{ env._PACKAGE_VERSION }}-arm64.nsis.7z
if-no-files-found: error
- name: Upload nupkg artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden.${{ env._PACKAGE_VERSION }}.nupkg
path: apps/desktop/dist/chocolatey/bitwarden.${{ env._PACKAGE_VERSION }}.nupkg
if-no-files-found: error
- name: Upload auto-update artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: ${{ needs.setup.outputs.release_channel }}.yml
path: apps/desktop/dist/nsis-web/${{ needs.setup.outputs.release_channel }}.yml
@@ -574,11 +602,13 @@ jobs:
key: ${{ runner.os }}-${{ github.run_id }}-safari-extension
- name: Login to Azure
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0
with:
creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
- name: Download Provisioning Profiles secrets
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
env:
ACCOUNT_NAME: bitwardenci
CONTAINER_NAME: profiles
@@ -591,6 +621,7 @@ jobs:
--output none
- name: Get certificates
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
run: |
mkdir -p $HOME/certificates
@@ -613,6 +644,7 @@ jobs:
jq -r .value | base64 -d > $HOME/certificates/macdev-cert.p12
- name: Set up keychain
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
env:
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
run: |
@@ -642,6 +674,7 @@ jobs:
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $KEYCHAIN_PASSWORD build.keychain
- name: Set up provisioning profiles
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
run: |
cp $HOME/secrets/bitwarden_desktop_appstore.provisionprofile \
$GITHUB_WORKSPACE/apps/desktop/bitwarden_desktop_appstore.provisionprofile
@@ -661,7 +694,7 @@ jobs:
working-directory: ./
- name: Download SDK Artifacts
- if: ${{ inputs.sdk_branch != '' }}
+ if: ${{ inputs.sdk_branch != '' && needs.setup.outputs.has_secrets == 'true' }}
uses: bitwarden/gh-actions/download-artifacts@main
with:
github_token: ${{secrets.GITHUB_TOKEN}}
@@ -674,7 +707,7 @@ jobs:
if_no_artifact_found: fail
- name: Override SDK
- if: ${{ inputs.sdk_branch != '' }}
+ if: ${{ inputs.sdk_branch != '' && needs.setup.outputs.has_secrets == 'true' }}
working-directory: ./
run: |
ls -l ../
@@ -701,6 +734,7 @@ jobs:
browser-build:
name: Browser Build
needs: setup
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
uses: ./.github/workflows/build-browser.yml
secrets: inherit
@@ -708,6 +742,7 @@ jobs:
macos-package-github:
name: MacOS Package GitHub Release Assets
runs-on: macos-13
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
needs:
- browser-build
- macos-build
@@ -918,28 +953,28 @@ jobs:
run: npm run pack:mac
- name: Upload .zip artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal-mac.zip
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-universal-mac.zip
if-no-files-found: error
- name: Upload .dmg artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg
if-no-files-found: error
- name: Upload .dmg blockmap artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg.blockmap
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg.blockmap
if-no-files-found: error
- name: Upload auto-update artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: ${{ needs.setup.outputs.release_channel }}-mac.yml
path: apps/desktop/dist/${{ needs.setup.outputs.release_channel }}-mac.yml
@@ -949,6 +984,7 @@ jobs:
macos-package-mas:
name: MacOS Package Prod Release Asset
runs-on: macos-13
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
needs:
- browser-build
- macos-build
@@ -1166,7 +1202,7 @@ jobs:
run: npm run pack:mac:mas
- name: Upload .pkg artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal.pkg
path: apps/desktop/dist/mas-universal/Bitwarden-${{ env._PACKAGE_VERSION }}-universal.pkg
@@ -1217,6 +1253,7 @@ jobs:
macos-package-dev:
name: MacOS Package Dev Release Asset
runs-on: macos-13
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
needs:
- browser-build
- macos-build
@@ -1425,7 +1462,7 @@ jobs:
zip -r Bitwarden-${{ env._PACKAGE_VERSION }}-masdev-universal.zip Bitwarden.app
- name: Upload masdev artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-masdev-universal.zip
path: apps/desktop/dist/mas-dev-universal/Bitwarden-${{ env._PACKAGE_VERSION }}-masdev-universal.zip
diff --git a/.github/workflows/build-web-target.yml b/.github/workflows/build-web-target.yml
new file mode 100644
index 00000000000..fb7074292b5
--- /dev/null
+++ b/.github/workflows/build-web-target.yml
@@ -0,0 +1,32 @@
+name: Build Web on PR Target
+
+on:
+ pull_request:
+ types: [opened, synchronize]
+ branches-ignore:
+ - 'l10n_master'
+ - 'cf-pages'
+ paths:
+ - 'apps/web/**'
+ - 'libs/**'
+ - '*'
+ - '!*.md'
+ - '!*.txt'
+ - '.github/workflows/build-web.yml'
+
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ check-run:
+ name: Check PR run
+ uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main
+
+ run-workflow:
+ name: Run Build Web on PR Target
+ needs: check-run
+ if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
+ uses: ./.github/workflows/build-web.yml
+ secrets: inherit
+
diff --git a/.github/workflows/build-web.yml b/.github/workflows/build-web.yml
index 73ae0e14962..e91fba2e87a 100644
--- a/.github/workflows/build-web.yml
+++ b/.github/workflows/build-web.yml
@@ -1,7 +1,7 @@
name: Build Web
on:
- pull_request_target:
+ pull_request:
types: [opened, synchronize]
branches-ignore:
- 'l10n_master'
@@ -27,6 +27,8 @@ on:
- '.github/workflows/build-web.yml'
release:
types: [published]
+ workflow_call:
+ inputs: {}
workflow_dispatch:
inputs:
custom_tag_extension:
@@ -41,18 +43,13 @@ env:
_AZ_REGISTRY: bitwardenprod.azurecr.io
jobs:
- check-run:
- name: Check PR run
- uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main
-
setup:
name: Setup
runs-on: ubuntu-22.04
- needs:
- - check-run
outputs:
version: ${{ steps.version.outputs.value }}
node_version: ${{ steps.retrieve-node-version.outputs.node_version }}
+ has_secrets: ${{ steps.check-secrets.outputs.has_secrets }}
steps:
- name: Check out repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -70,6 +67,14 @@ jobs:
NODE_VERSION=${NODE_NVMRC/v/''}
echo "node_version=$NODE_VERSION" >> $GITHUB_OUTPUT
+ - name: Check secrets
+ id: check-secrets
+ env:
+ AZURE_KV_CI_SERVICE_PRINCIPAL: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
+ run: |
+ has_secrets=${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL != '' }}
+ echo "has_secrets=$has_secrets" >> $GITHUB_OUTPUT
+
build-artifacts:
name: Build artifacts
runs-on: ubuntu-22.04
@@ -128,7 +133,7 @@ jobs:
run: npm ci
- name: Download SDK Artifacts
- if: ${{ inputs.sdk_branch != '' }}
+ if: ${{ inputs.sdk_branch != '' && needs.setup.outputs.has_secrets == 'true' }}
uses: bitwarden/gh-actions/download-artifacts@main
with:
github_token: ${{secrets.GITHUB_TOKEN}}
@@ -141,7 +146,7 @@ jobs:
if_no_artifact_found: fail
- name: Override SDK
- if: ${{ inputs.sdk_branch != '' }}
+ if: ${{ inputs.sdk_branch != '' && needs.setup.outputs.has_secrets == 'true' }}
working-directory: ./
run: |
ls -l ../
@@ -164,7 +169,7 @@ jobs:
run: zip -r web-${{ env._VERSION }}-${{ matrix.name }}.zip build
- name: Upload ${{ matrix.name }} artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: web-${{ env._VERSION }}-${{ matrix.name }}.zip
path: apps/web/web-${{ env._VERSION }}-${{ matrix.name }}.zip
@@ -213,19 +218,23 @@ jobs:
########## ACRs ##########
- name: Login to Prod Azure
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0
with:
creds: ${{ secrets.AZURE_PROD_KV_CREDENTIALS }}
- name: Log into Prod container registry
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
run: az acr login -n bitwardenprod
- name: Login to Azure - CI Subscription
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0
with:
creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
- name: Retrieve github PAT secrets
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
id: retrieve-secret-pat
uses: bitwarden/gh-actions/get-keyvault-secrets@main
with:
@@ -242,7 +251,7 @@ jobs:
- name: Generate Docker image tag
id: tag
run: |
- if [[ "${GITHUB_EVENT_NAME}" == "pull_request_target" ]]; then
+ if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
IMAGE_TAG=$(echo "${GITHUB_HEAD_REF}" | sed "s#/#-#g")
else
IMAGE_TAG=$(echo "${GITHUB_REF_NAME}" | sed "s#/#-#g")
@@ -273,8 +282,9 @@ jobs:
run: echo "name=$_AZ_REGISTRY/${PROJECT_NAME}:${IMAGE_TAG}" >> $GITHUB_OUTPUT
- name: Build Docker image
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
id: build-docker
- uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
+ uses: docker/build-push-action@67a2d409c0a876cbe6b11854e3e25193efe4e62d # v6.12.0
with:
context: apps/web
file: apps/web/Dockerfile
@@ -283,7 +293,7 @@ jobs:
tags: ${{ steps.image-name.outputs.name }}
secrets: |
"GH_PAT=${{ steps.retrieve-secret-pat.outputs.github-pat-bitwarden-devops-bot-repo-scope }}"
-
+
- name: Install Cosign
if: github.event_name != 'pull_request_target' && github.ref == 'refs/heads/main'
uses: sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0
@@ -302,6 +312,7 @@ jobs:
cosign sign --yes ${images}
- name: Scan Docker image
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
id: container-scan
uses: anchore/scan-action@869c549e657a088dc0441b08ce4fc0ecdac2bb65 # v5.3.0
with:
@@ -310,9 +321,12 @@ jobs:
output-format: sarif
- name: Upload Grype results to GitHub
- uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
+ if: ${{ needs.setup.outputs.has_secrets == 'true' }}
+ uses: github/codeql-action/upload-sarif@d68b2d4edb4189fd2a5366ac14e72027bd4b37dd # v3.28.2
with:
sarif_file: ${{ steps.container-scan.outputs.sarif }}
+ sha: ${{ contains(github.event_name, 'pull_request') && github.event.pull_request.head.sha || github.sha }}
+ ref: ${{ contains(github.event_name, 'pull_request') && format('refs/pull/{0}/head', github.event.pull_request.number) || github.ref }}
- name: Log out of Docker
run: docker logout
diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml
index a5ebd363f63..75a07431942 100644
--- a/.github/workflows/chromatic.yml
+++ b/.github/workflows/chromatic.yml
@@ -56,7 +56,7 @@ jobs:
run: npm run build-storybook:ci
- name: Publish to Chromatic
- uses: chromaui/action@64a9c0ca3bfb724389b0d536e544f56b7b5ff5b3 # v11.20.2
+ uses: chromaui/action@8a12962215a66cd05b1ac5b0f1c08768d1aab155 # v11.25.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 867de3844e7..4fbef027c7c 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -1,12 +1,20 @@
name: Lint
on:
- push:
+ pull_request:
+ types: [opened, synchronize]
branches-ignore:
- 'l10n_master'
- 'cf-pages'
paths-ignore:
- '.github/workflows/**'
+ push:
+ branches:
+ - 'main'
+ - 'rc'
+ - 'hotfix-rc-*'
+ paths-ignore:
+ - '.github/workflows/**'
workflow_dispatch:
inputs: {}
@@ -34,6 +42,7 @@ jobs:
! -path "*/.DS_Store" \
! -path "*/*locales/*" \
! -path "./.github/*" \
+ ! -path "*/README.md" \
! -path "*/Cargo.toml" \
! -path "*/Cargo.lock" \
! -path "./apps/desktop/macos/*" \
diff --git a/.github/workflows/publish-cli.yml b/.github/workflows/publish-cli.yml
index ff85a30d3f6..d758e6f11c9 100644
--- a/.github/workflows/publish-cli.yml
+++ b/.github/workflows/publish-cli.yml
@@ -222,7 +222,7 @@ jobs:
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'success'
- deployment_id: ${{ needs.setup.outputs.deployment_id }}
+ deployment-id: ${{ needs.setup.outputs.deployment_id }}
- name: Update deployment status to Failure
if: ${{ inputs.publish_type != 'Dry Run' && failure() }}
@@ -230,4 +230,4 @@ jobs:
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'failure'
- deployment_id: ${{ needs.setup.outputs.deployment_id }}
+ deployment-id: ${{ needs.setup.outputs.deployment_id }}
diff --git a/.github/workflows/publish-desktop.yml b/.github/workflows/publish-desktop.yml
index 69ccd841065..ae631165db9 100644
--- a/.github/workflows/publish-desktop.yml
+++ b/.github/workflows/publish-desktop.yml
@@ -7,19 +7,18 @@ on:
publish_type:
description: 'Publish Options'
required: true
- default: 'Initial Publish'
+ default: 'Publish'
type: choice
options:
- - Initial Publish
- - Republish
+ - Publish
- Dry Run
version:
description: 'Version to publish (default: latest desktop release)'
required: true
type: string
default: latest
- rollout_percentage:
- description: 'Staged Rollout Percentage'
+ electron_rollout_percentage:
+ description: 'Staged Rollout Percentage for Electron'
required: true
default: '10'
type: string
@@ -137,7 +136,7 @@ jobs:
- name: Set staged rollout percentage
env:
RELEASE_CHANNEL: ${{ needs.setup.outputs.release_channel }}
- ROLLOUT_PCT: ${{ inputs.rollout_percentage }}
+ ROLLOUT_PCT: ${{ inputs.electron_rollout_percentage }}
run: |
echo "stagingPercentage: ${ROLLOUT_PCT}" >> apps/desktop/artifacts/${RELEASE_CHANNEL}.yml
echo "stagingPercentage: ${ROLLOUT_PCT}" >> apps/desktop/artifacts/${RELEASE_CHANNEL}-linux.yml
@@ -163,7 +162,7 @@ jobs:
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'success'
- deployment_id: ${{ needs.setup.outputs.deployment_id }}
+ deployment-id: ${{ needs.setup.outputs.deployment_id }}
- name: Update deployment status to Failure
if: ${{ inputs.publish_type != 'Dry Run' && failure() }}
@@ -171,7 +170,7 @@ jobs:
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'failure'
- deployment_id: ${{ needs.setup.outputs.deployment_id }}
+ deployment-id: ${{ needs.setup.outputs.deployment_id }}
snap:
name: Deploy Snap
@@ -284,7 +283,7 @@ jobs:
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'success'
- deployment_id: ${{ needs.setup.outputs.deployment_id }}
+ deployment-id: ${{ needs.setup.outputs.deployment_id }}
- name: Update deployment status to Failure
if: ${{ inputs.publish_type != 'Dry Run' && failure() }}
@@ -292,4 +291,4 @@ jobs:
with:
token: '${{ secrets.GITHUB_TOKEN }}'
state: 'failure'
- deployment_id: ${{ needs.setup.outputs.deployment_id }}
+ deployment-id: ${{ needs.setup.outputs.deployment_id }}
diff --git a/.github/workflows/release-browser.yml b/.github/workflows/release-browser.yml
index 7e8722dc79f..498f8748959 100644
--- a/.github/workflows/release-browser.yml
+++ b/.github/workflows/release-browser.yml
@@ -40,7 +40,7 @@ jobs:
- name: Check Release Version
id: version
- uses: bitwarden/gh-actions/release_version-check@main
+ uses: bitwarden/gh-actions/release-version-check@main
with:
release-type: ${{ github.event.inputs.release_type }}
project-type: ts
@@ -128,7 +128,7 @@ jobs:
- name: Create release
if: ${{ github.event.inputs.release_type != 'Dry Run' }}
- uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0
+ uses: ncipollo/release-action@cdcc88a9acf3ca41c16c37bb7d21b9ad48560d87 # v1.15.0
with:
artifacts: 'browser-source-${{ needs.setup.outputs.release_version }}.zip,
dist-chrome-${{ needs.setup.outputs.release_version }}.zip,
diff --git a/.github/workflows/release-cli.yml b/.github/workflows/release-cli.yml
index d16cd744d7d..519fee1989b 100644
--- a/.github/workflows/release-cli.yml
+++ b/.github/workflows/release-cli.yml
@@ -40,7 +40,7 @@ jobs:
- name: Check Release Version
id: version
- uses: bitwarden/gh-actions/release_version-check@main
+ uses: bitwarden/gh-actions/release-version-check@main
with:
release-type: ${{ inputs.release_type }}
project-type: ts
@@ -73,7 +73,7 @@ jobs:
- name: Create release
if: ${{ inputs.release_type != 'Dry Run' }}
- uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0
+ uses: ncipollo/release-action@cdcc88a9acf3ca41c16c37bb7d21b9ad48560d87 # v1.15.0
env:
PKG_VERSION: ${{ needs.setup.outputs.release_version }}
with:
@@ -83,8 +83,12 @@ jobs:
apps/cli/bw-windows-sha256-${{ env.PKG_VERSION }}.txt,
apps/cli/bw-oss-macos-${{ env.PKG_VERSION }}.zip,
apps/cli/bw-oss-macos-sha256-${{ env.PKG_VERSION }}.txt,
+ apps/cli/bw-oss-macos-arm64-${{ env.PKG_VERSION }}.zip,
+ apps/cli/bw-oss-macos-arm64-sha256-${{ env.PKG_VERSION }}.txt,
apps/cli/bw-macos-${{ env.PKG_VERSION }}.zip,
apps/cli/bw-macos-sha256-${{ env.PKG_VERSION }}.txt,
+ apps/cli/bw-macos-arm64-${{ env.PKG_VERSION }}.zip,
+ apps/cli/bw-macos-arm64-sha256-${{ env.PKG_VERSION }}.txt,
apps/cli/bw-oss-linux-${{ env.PKG_VERSION }}.zip,
apps/cli/bw-oss-linux-sha256-${{ env.PKG_VERSION }}.txt,
apps/cli/bw-linux-${{ env.PKG_VERSION }}.zip,
diff --git a/.github/workflows/release-desktop-beta.yml b/.github/workflows/release-desktop-beta.yml
index 08174dc552e..a5e374395d8 100644
--- a/.github/workflows/release-desktop-beta.yml
+++ b/.github/workflows/release-desktop-beta.yml
@@ -47,7 +47,7 @@ jobs:
- name: Check Release Version
id: version
- uses: bitwarden/gh-actions/release_version-check@main
+ uses: bitwarden/gh-actions/release-version-check@main
with:
release-type: 'Initial Release'
project-type: ts
@@ -158,42 +158,42 @@ jobs:
run: npm run dist:lin
- name: Upload .deb artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-amd64.deb
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-amd64.deb
if-no-files-found: error
- name: Upload .rpm artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.rpm
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.rpm
if-no-files-found: error
- name: Upload .freebsd artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-x64.freebsd
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64.freebsd
if-no-files-found: error
- name: Upload .snap artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden_${{ env._PACKAGE_VERSION }}_amd64.snap
path: apps/desktop/dist/bitwarden_${{ env._PACKAGE_VERSION }}_amd64.snap
if-no-files-found: error
- name: Upload .AppImage artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.AppImage
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.AppImage
if-no-files-found: error
- name: Upload auto-update artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: ${{ needs.setup.outputs.release_channel }}-linux.yml
path: apps/desktop/dist/${{ needs.setup.outputs.release_channel }}-linux.yml
@@ -299,91 +299,91 @@ jobs:
-NewName bitwarden-${{ env._PACKAGE_VERSION }}-arm64.nsis.7z
- name: Upload portable exe artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-Portable-${{ env._PACKAGE_VERSION }}.exe
path: apps/desktop/dist/Bitwarden-Portable-${{ env._PACKAGE_VERSION }}.exe
if-no-files-found: error
- name: Upload installer exe artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-Installer-${{ env._PACKAGE_VERSION }}.exe
path: apps/desktop/dist/nsis-web/Bitwarden-Installer-${{ env._PACKAGE_VERSION }}.exe
if-no-files-found: error
- name: Upload appx ia32 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-ia32.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-ia32.appx
if-no-files-found: error
- name: Upload store appx ia32 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-ia32-store.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-ia32-store.appx
if-no-files-found: error
- name: Upload NSIS ia32 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden-${{ env._PACKAGE_VERSION }}-ia32.nsis.7z
path: apps/desktop/dist/nsis-web/bitwarden-${{ env._PACKAGE_VERSION }}-ia32.nsis.7z
if-no-files-found: error
- name: Upload appx x64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-x64.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64.appx
if-no-files-found: error
- name: Upload store appx x64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-x64-store.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64-store.appx
if-no-files-found: error
- name: Upload NSIS x64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden-${{ env._PACKAGE_VERSION }}-x64.nsis.7z
path: apps/desktop/dist/nsis-web/bitwarden-${{ env._PACKAGE_VERSION }}-x64.nsis.7z
if-no-files-found: error
- name: Upload appx ARM64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-arm64.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-arm64.appx
if-no-files-found: error
- name: Upload store appx ARM64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-arm64-store.appx
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-arm64-store.appx
if-no-files-found: error
- name: Upload NSIS ARM64 artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden-${{ env._PACKAGE_VERSION }}-arm64.nsis.7z
path: apps/desktop/dist/nsis-web/bitwarden-${{ env._PACKAGE_VERSION }}-arm64.nsis.7z
if-no-files-found: error
- name: Upload nupkg artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: bitwarden.${{ env._PACKAGE_VERSION }}.nupkg
path: apps/desktop/dist/chocolatey/bitwarden.${{ env._PACKAGE_VERSION }}.nupkg
if-no-files-found: error
- name: Upload auto-update artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: ${{ needs.setup.outputs.release_channel }}.yml
path: apps/desktop/dist/nsis-web/${{ needs.setup.outputs.release_channel }}.yml
@@ -707,28 +707,28 @@ jobs:
run: npm run pack:mac
- name: Upload .zip artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal-mac.zip
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-universal-mac.zip
if-no-files-found: error
- name: Upload .dmg artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg
if-no-files-found: error
- name: Upload .dmg blockmap artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg.blockmap
path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg.blockmap
if-no-files-found: error
- name: Upload auto-update artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: ${{ needs.setup.outputs.release_channel }}-mac.yml
path: apps/desktop/dist/${{ needs.setup.outputs.release_channel }}-mac.yml
@@ -915,7 +915,7 @@ jobs:
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
- name: Upload .pkg artifact
- uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal.pkg
path: apps/desktop/dist/mas-universal/Bitwarden-${{ env._PACKAGE_VERSION }}-universal.pkg
diff --git a/.github/workflows/release-desktop.yml b/.github/workflows/release-desktop.yml
index ba934235b44..57143747a86 100644
--- a/.github/workflows/release-desktop.yml
+++ b/.github/workflows/release-desktop.yml
@@ -40,7 +40,7 @@ jobs:
- name: Check Release Version
id: version
- uses: bitwarden/gh-actions/release_version-check@main
+ uses: bitwarden/gh-actions/release-version-check@main
with:
release-type: ${{ inputs.release_type }}
project-type: ts
@@ -96,7 +96,7 @@ jobs:
file_path: "apps/desktop/artifacts/sha256-checksums.txt"
- name: Create Release
- uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0
+ uses: ncipollo/release-action@cdcc88a9acf3ca41c16c37bb7d21b9ad48560d87 # v1.15.0
if: ${{ steps.release_channel.outputs.channel == 'latest' && github.event.inputs.release_type != 'Dry Run' }}
env:
PKG_VERSION: ${{ steps.version.outputs.version }}
diff --git a/.github/workflows/release-web.yml b/.github/workflows/release-web.yml
index faa398f6d67..0301b814796 100644
--- a/.github/workflows/release-web.yml
+++ b/.github/workflows/release-web.yml
@@ -81,7 +81,7 @@ jobs:
- name: Create release
if: ${{ github.event.inputs.release_type != 'Dry Run' }}
- uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0
+ uses: ncipollo/release-action@cdcc88a9acf3ca41c16c37bb7d21b9ad48560d87 # v1.15.0
with:
name: "Web v${{ needs.setup.outputs.release_version }}"
commit: ${{ github.sha }}
diff --git a/.github/workflows/scan.yml b/.github/workflows/scan.yml
index b0874b38cbf..77b66ba8bf1 100644
--- a/.github/workflows/scan.yml
+++ b/.github/workflows/scan.yml
@@ -46,9 +46,11 @@ jobs:
--output-path . ${{ env.INCREMENTAL }}
- name: Upload Checkmarx results to GitHub
- uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
+ uses: github/codeql-action/upload-sarif@d68b2d4edb4189fd2a5366ac14e72027bd4b37dd # v3.28.2
with:
sarif_file: cx_result.sarif
+ sha: ${{ contains(github.event_name, 'pull_request') && github.event.pull_request.head.sha || github.sha }}
+ ref: ${{ contains(github.event_name, 'pull_request') && format('refs/pull/{0}/head', github.event.pull_request.number) || github.ref }}
quality:
name: Quality scan
@@ -66,10 +68,9 @@ jobs:
ref: ${{ github.event.pull_request.head.sha }}
- name: Scan with SonarCloud
- uses: sonarsource/sonarcloud-github-action@02ef91109b2d589e757aefcfb2854c2783fd7b19 # v4.0.0
+ uses: sonarsource/sonarqube-scan-action@bfd4e558cda28cda6b5defafb9232d191be8c203 # v4.2.1
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: >
-Dsonar.organization=${{ github.repository_owner }}
@@ -78,3 +79,4 @@ jobs:
-Dsonar.sources=.
-Dsonar.test.inclusions=**/*.spec.ts
-Dsonar.exclusions=**/*.spec.ts
+ -Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
diff --git a/.github/workflows/staged-rollout-desktop.yml b/.github/workflows/staged-rollout-desktop.yml
index 91250a443f2..4ec3af3be97 100644
--- a/.github/workflows/staged-rollout-desktop.yml
+++ b/.github/workflows/staged-rollout-desktop.yml
@@ -1,4 +1,5 @@
name: Staged Rollout Desktop
+run-name: Staged Rollout Desktop - ${{ inputs.rollout_percentage }}%
on:
workflow_dispatch:
diff --git a/.github/workflows/stale-bot.yml b/.github/workflows/stale-bot.yml
index 6caa7b99331..abb292f53f3 100644
--- a/.github/workflows/stale-bot.yml
+++ b/.github/workflows/stale-bot.yml
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: 'Run stale action'
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
+ uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
with:
stale-issue-label: 'needs-reply'
stale-pr-label: 'needs-changes'
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 72bc3594beb..0b039315b30 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -11,28 +11,10 @@ on:
types: [opened, synchronize]
jobs:
- check-test-secrets:
- name: Check for test secrets
- runs-on: ubuntu-22.04
- outputs:
- available: ${{ steps.check-test-secrets.outputs.available }}
- permissions:
- contents: read
-
- steps:
- - name: Check
- id: check-test-secrets
- run: |
- if [ "${{ secrets.CODECOV_TOKEN }}" != '' ]; then
- echo "available=true" >> $GITHUB_OUTPUT;
- else
- echo "available=false" >> $GITHUB_OUTPUT;
- fi
testing:
name: Run tests
runs-on: ubuntu-22.04
- needs: check-test-secrets
permissions:
checks: write
contents: read
@@ -77,7 +59,7 @@ jobs:
- name: Report test results
uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 # v1.9.1
- if: ${{ needs.check-test-secrets.outputs.available == 'true' && !cancelled() }}
+ if: ${{ github.event.pull_request.head.repo.full_name == github.repository && !cancelled() }}
with:
name: Test Results
path: "junit.xml"
@@ -85,14 +67,10 @@ jobs:
fail-on-error: true
- name: Upload coverage to codecov.io
- uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0
- if: ${{ needs.check-test-secrets.outputs.available == 'true' }}
- env:
- CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
+ uses: codecov/codecov-action@1e68e06f1dbfde0e4cefc87efeba9e4643565303 # v5.1.2
- name: Upload results to codecov.io
- uses: codecov/test-results-action@9739113ad922ea0a9abb4b2c0f8bf6a4aa8ef820 # v1.0.1
- if: ${{ needs.check-test-secrets.outputs.available == 'true' }}
+ uses: codecov/test-results-action@4e79e65778be1cecd5df25e14af1eafb6df80ea9 # v1.0.2
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -106,15 +84,15 @@ jobs:
matrix:
os:
- ubuntu-22.04
- - macos-latest
- - windows-latest
+ - macos-14
+ - windows-2022
steps:
- name: Check Rust version
run: rustup --version
- name: Install gnome-keyring
- if: ${{ matrix.os=='ubuntu-latest' }}
+ if: ${{ matrix.os=='ubuntu-22.04' }}
run: |
sudo apt-get update
sudo apt-get install -y gnome-keyring dbus-x11
@@ -127,7 +105,7 @@ jobs:
run: cargo build
- name: Test Ubuntu
- if: ${{ matrix.os=='ubuntu-latest' }}
+ if: ${{ matrix.os=='ubuntu-22.04' }}
working-directory: ./apps/desktop/desktop_native
run: |
eval "$(dbus-launch --sh-syntax)"
@@ -138,11 +116,41 @@ jobs:
cargo test -- --test-threads=1
- name: Test macOS
- if: ${{ matrix.os=='macos-latest' }}
+ if: ${{ matrix.os=='macos-14' }}
working-directory: ./apps/desktop/desktop_native
run: cargo test -- --test-threads=1
- name: Test Windows
- if: ${{ matrix.os=='windows-latest'}}
+ if: ${{ matrix.os=='windows-2022'}}
working-directory: ./apps/desktop/desktop_native/core
run: cargo test -- --test-threads=1
+
+ rust-coverage:
+ name: Rust Coverage
+ runs-on: macos-14
+ steps:
+ - name: Checkout
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+
+ - name: Install rust
+ uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c # stable
+ with:
+ toolchain: stable
+ components: llvm-tools
+
+ - name: Cache cargo registry
+ uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab # v2.7.5
+ with:
+ workspaces: "apps/desktop/desktop_native -> target"
+
+ - name: Install cargo-llvm-cov
+ run: cargo install cargo-llvm-cov --version 0.6.16
+
+ - name: Generate coverage
+ working-directory: ./apps/desktop/desktop_native
+ run: cargo llvm-cov --all-features --lcov --output-path lcov.info --workspace --no-cfg-coverage
+
+ - name: Upload to codecov.io
+ uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1
+ with:
+ files: ./apps/desktop/desktop_native/lcov.info
diff --git a/.storybook/main.ts b/.storybook/main.ts
index b48a86ba2b2..9583d1fc6f2 100644
--- a/.storybook/main.ts
+++ b/.storybook/main.ts
@@ -1,7 +1,8 @@
import { dirname, join } from "path";
+
import { StorybookConfig } from "@storybook/angular";
-import TsconfigPathsPlugin from "tsconfig-paths-webpack-plugin";
import remarkGfm from "remark-gfm";
+import TsconfigPathsPlugin from "tsconfig-paths-webpack-plugin";
const config: StorybookConfig = {
stories: [
@@ -28,7 +29,10 @@ const config: StorybookConfig = {
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",
options: {
mdxPluginOptions: {
diff --git a/.storybook/manager.js b/.storybook/manager.js
index 409f93ec505..e0ec04fd375 100644
--- a/.storybook/manager.js
+++ b/.storybook/manager.js
@@ -50,10 +50,14 @@ const darkTheme = create({
});
export const getPreferredColorScheme = () => {
- if (!globalThis || !globalThis.matchMedia) return "light";
+ if (!globalThis || !globalThis.matchMedia) {
+ return "light";
+ }
const isDarkThemePreferred = globalThis.matchMedia("(prefers-color-scheme: dark)").matches;
- if (isDarkThemePreferred) return "dark";
+ if (isDarkThemePreferred) {
+ return "dark";
+ }
return "light";
};
diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx
index d1ba27e108d..6bd28cfe809 100644
--- a/.storybook/preview.tsx
+++ b/.storybook/preview.tsx
@@ -1,96 +1,30 @@
import { setCompodocJson } from "@storybook/addon-docs/angular";
+import { withThemeByClassName } from "@storybook/addon-themes";
import { componentWrapperDecorator } from "@storybook/angular";
import type { Preview } from "@storybook/angular";
import docJson from "../documentation.json";
setCompodocJson(docJson);
-const decorator = componentWrapperDecorator(
- (story) => {
- return `
-
-
- ${story}
-
-
-
-
- ${story}
-
-
-
-
- ${story}
-
-
-
-
- ${story}
-
-
-
-
-
-
-
+const wrapperDecorator = componentWrapperDecorator((story) => {
+ return /*html*/ `
+
+ ${story}
+
`;
- },
- ({ globals }) => {
- return { theme: `${globals["theme"]}` };
- },
-);
+});
const preview: Preview = {
- decorators: [decorator],
- globalTypes: {
- theme: {
- description: "Global theme for components",
- defaultValue: "both",
- toolbar: {
- title: "Theme",
- icon: "circlehollow",
- items: [
- {
- title: "Light & Dark",
- value: "both",
- icon: "sidebyside",
- },
- {
- title: "Light",
- value: "light",
- icon: "sun",
- },
- {
- title: "Dark",
- value: "dark",
- icon: "moon",
- },
- {
- title: "Nord",
- value: "nord",
- left: "⛰",
- },
- {
- title: "Solarized",
- value: "solarized",
- left: "☯",
- },
- ],
- dynamicTitle: true,
+ decorators: [
+ withThemeByClassName({
+ themes: {
+ light: "theme_light",
+ dark: "theme_dark",
},
- },
- },
+ defaultTheme: "light",
+ }),
+ wrapperDecorator,
+ ],
parameters: {
controls: {
matchers: {
@@ -105,6 +39,9 @@ const preview: Preview = {
},
},
docs: { source: { type: "dynamic", excludeDecorators: true } },
+ backgrounds: {
+ disable: true,
+ },
},
tags: ["autodocs"],
};
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 6b31121e17b..295c290a37a 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -7,5 +7,6 @@
"**/_locales/*[^n]/messages.json": true
},
"rust-analyzer.linkedProjects": ["apps/desktop/desktop_native/Cargo.toml"],
- "typescript.tsdk": "node_modules/typescript/lib"
+ "typescript.tsdk": "node_modules/typescript/lib",
+ "eslint.useFlatConfig": true
}
diff --git a/angular.json b/angular.json
index 7053050262e..665d810cf4e 100644
--- a/angular.json
+++ b/angular.json
@@ -147,6 +147,10 @@
"./tsconfig.json",
"-e",
"json",
+ "--disableInternal",
+ "--disableLifeCycleHooks",
+ "--disablePrivate",
+ "--disableProtected",
"-d",
".",
"--disableRoutesGraph"
@@ -165,6 +169,10 @@
"./tsconfig.json",
"-e",
"json",
+ "--disableInternal",
+ "--disableLifeCycleHooks",
+ "--disablePrivate",
+ "--disableProtected",
"-d",
".",
"--disableRoutesGraph"
diff --git a/apps/browser/.eslintrc.json b/apps/browser/.eslintrc.json
deleted file mode 100644
index ba960511839..00000000000
--- a/apps/browser/.eslintrc.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "env": {
- "browser": true,
- "webextensions": true
- },
- "overrides": [
- {
- "files": ["src/**/*.ts"],
- "excludedFiles": [
- "src/**/{content,popup,spec}/**/*.ts",
- "src/**/autofill/{notification,overlay}/**/*.ts",
- "src/**/autofill/**/{autofill-overlay-content,collect-autofill-content,dom-element-visibility,insert-autofill-content}.service.ts",
- "src/**/*.spec.ts"
- ],
- "rules": {
- "no-restricted-globals": [
- "error",
- {
- "name": "window",
- "message": "The `window` object is not available in service workers and may not be available within the background script. Consider using `self`, `globalThis`, or another global property instead."
- }
- ]
- }
- }
- ]
-}
diff --git a/apps/browser/package.json b/apps/browser/package.json
index 3adeb292b6d..5a8ddd03b41 100644
--- a/apps/browser/package.json
+++ b/apps/browser/package.json
@@ -1,35 +1,35 @@
{
"name": "@bitwarden/browser",
- "version": "2025.1.0",
+ "version": "2025.3.1",
"scripts": {
"build": "npm run build:chrome",
- "build:chrome": "cross-env BROWSER=chrome MANIFEST_VERSION=3 webpack",
- "build:edge": "cross-env BROWSER=edge webpack",
- "build:firefox": "cross-env BROWSER=firefox webpack",
- "build:opera": "cross-env BROWSER=opera webpack",
- "build:safari": "cross-env BROWSER=safari webpack",
+ "build:chrome": "cross-env BROWSER=chrome MANIFEST_VERSION=3 NODE_OPTIONS=\"--max-old-space-size=8192\" webpack",
+ "build:edge": "cross-env BROWSER=edge MANIFEST_VERSION=3 NODE_OPTIONS=\"--max-old-space-size=8192\" webpack",
+ "build:firefox": "cross-env BROWSER=firefox NODE_OPTIONS=\"--max-old-space-size=8192\" webpack",
+ "build:opera": "cross-env BROWSER=opera MANIFEST_VERSION=3 NODE_OPTIONS=\"--max-old-space-size=8192\" webpack",
+ "build:safari": "cross-env BROWSER=safari NODE_OPTIONS=\"--max-old-space-size=8192\" webpack",
"build:watch": "npm run build:watch:chrome",
"build:watch:chrome": "npm run build:chrome -- --watch",
"build:watch:edge": "npm run build:edge -- --watch",
"build:watch:firefox": "npm run build:firefox -- --watch",
"build:watch:opera": "npm run build:opera -- --watch",
"build:watch:safari": "npm run build:safari -- --watch",
- "build:prod:chrome": "cross-env NODE_ENV=production NODE_OPTIONS=\"--max-old-space-size=8192\" npm run build:chrome",
- "build:prod:edge": "cross-env NODE_ENV=production NODE_OPTIONS=\"--max-old-space-size=8192\" npm run build:edge",
- "build:prod:firefox": "cross-env NODE_ENV=production NODE_OPTIONS=\"--max-old-space-size=8192\" npm run build:firefox",
- "build:prod:opera": "cross-env NODE_ENV=production NODE_OPTIONS=\"--max-old-space-size=8192\" npm run build:opera",
- "build:prod:safari": "cross-env NODE_ENV=production NODE_OPTIONS=\"--max-old-space-size=8192\" npm run build:safari",
+ "build:prod:chrome": "cross-env NODE_ENV=production npm run build:chrome",
+ "build:prod:edge": "cross-env NODE_ENV=production npm run build:edge",
+ "build:prod:firefox": "cross-env NODE_ENV=production npm run build:firefox",
+ "build:prod:opera": "cross-env NODE_ENV=production npm run build:opera",
+ "build:prod:safari": "cross-env NODE_ENV=production npm run build:safari",
"dist:chrome": "npm run build:prod:chrome && mkdir -p dist && ./scripts/compress.ps1 dist-chrome.zip",
"dist:edge": "npm run build:prod:edge && mkdir -p dist && ./scripts/compress.ps1 dist-edge.zip",
"dist:firefox": "npm run build:prod:firefox && mkdir -p dist && ./scripts/compress.ps1 dist-firefox.zip",
"dist:opera": "npm run build:prod:opera && mkdir -p dist && ./scripts/compress.ps1 dist-opera.zip",
"dist:safari": "npm run build:prod:safari && ./scripts/package-safari.ps1",
- "dist:edge:mv3": "cross-env MANIFEST_VERSION=3 npm run dist:edge",
"dist:firefox:mv3": "cross-env MANIFEST_VERSION=3 npm run dist:firefox",
"dist:opera:mv3": "cross-env MANIFEST_VERSION=3 npm run dist:opera",
"dist:safari:mv3": "cross-env MANIFEST_VERSION=3 npm run dist:safari",
"test": "jest",
"test:watch": "jest --watch",
- "test:watch:all": "jest --watchAll"
+ "test:watch:all": "jest --watchAll",
+ "test:clearCache": "jest --clear-cache"
}
}
diff --git a/apps/browser/postcss.config.js b/apps/browser/postcss.config.js
index c4513687e89..5657df3afcf 100644
--- a/apps/browser/postcss.config.js
+++ b/apps/browser/postcss.config.js
@@ -1,4 +1,9 @@
-/* eslint-disable no-undef */
+/* eslint-disable @typescript-eslint/no-require-imports */
module.exports = {
- plugins: [require("tailwindcss"), require("autoprefixer"), require("postcss-nested")],
+ plugins: [
+ require("postcss-import"),
+ require("postcss-nested"),
+ require("tailwindcss"),
+ require("autoprefixer"),
+ ],
};
diff --git a/apps/browser/scripts/package-safari.ps1 b/apps/browser/scripts/package-safari.ps1
index 075ed606070..ce208478098 100755
--- a/apps/browser/scripts/package-safari.ps1
+++ b/apps/browser/scripts/package-safari.ps1
@@ -52,7 +52,7 @@ foreach ($subBuildPath in $subBuildPaths) {
"--verbose",
"--force",
"--sign",
- "E7C9978F6FBCE0553429185C405E61F5380BE8EB",
+ "4B9662CAB74E8E4F4ECBDD9EDEF2543659D95E3C",
"--entitlements",
$entitlementsPath
)
diff --git a/apps/browser/src/_locales/ar/messages.json b/apps/browser/src/_locales/ar/messages.json
index 46f119bdafe..4c051d455ac 100644
--- a/apps/browser/src/_locales/ar/messages.json
+++ b/apps/browser/src/_locales/ar/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "تلميح كلمة المرور الرئيسية (إختياري)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "انضم إلى المنظمة"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "نسخ الملاحظات"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "ملء",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "أدخل عنوان البريد الإلكتروني لحسابك وسيُرسل تلميح كلمة المرور الخاصة بك إليك"
},
- "passwordHint": {
- "message": "تلميح كلمة المرور"
- },
- "enterEmailToGetHint": {
- "message": "أدخل عنوان البريد الإلكتروني لحسابك للحصول على تلميح كلمة المرور الرئيسية."
- },
"getMasterPasswordHint": {
"message": "احصل على تلميح كلمة المرور الرئيسية"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "تحرير المجلّد"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "مجلد جديد"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "توليد عبارة المرور"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "إعادة توليد كلمة المرور"
},
@@ -454,22 +482,6 @@
"length": {
"message": "الطول"
},
- "uppercase": {
- "message": "أحرف كبيرة (من A إلى Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "أحرف كبيرة (من a إلى z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "الأرقام (من 0 الى 9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "الأحرف الخاصة (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "تضمين",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "تضمين أحرف خاصة",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "عدد الكلمات"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "متصفح الويب الخاص بك لا يدعم خاصية النسخ السهل. يرجى استخدام النسخ اليدوي."
},
- "verifyIdentity": {
- "message": "قم بتأكيد هويتك"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "خزانتك مقفلة. قم بتأكيد هويتك للمتابعة."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "تسجيل الدخول إلى Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "إعادة التسجيل"
},
@@ -875,6 +904,9 @@
"no": {
"message": "لا"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "حدث خطأ غير متوقع."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "اطلب إضافة عنصر إذا لم يتم العثور على عنصر في المخزن الخاص بك. ينطبق على جميع حسابات تسجيل الدخول."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "أظهر البطاقات في صفحة التبويبات"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "قائمة عناصر البطاقة في صفحة التبويب لسهولة التعبئة التلقائية."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "إظهار الهويات على صفحة التبويب"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "مسح الحافظة",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "حفظ"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "اسأل عن تحديث تسجيل الدخول الحالي"
},
@@ -1084,10 +1169,6 @@
"message": "فاتح",
"description": "Light color"
},
- "solarizedDark": {
- "message": "داكن مُشمس",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "التصدير من"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "شراء العضوية المميزة"
},
- "premiumPurchaseAlert": {
- "message": "يمكنك شراء العضوية المتميزة على bitwarden.com على خزانة الويب. هل تريد زيارة الموقع الآن؟"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "تذكرني"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "إرسال رمز التحقق إلى البريد الإلكتروني مرة أخرى"
},
"useAnotherTwoStepMethod": {
"message": "استخدام طريقة أخرى لتسجيل الدخول بخطوتين"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "أدخل YubiKey الخاص بك في منفذ USB في كمبيوترك، ثم المس الزر."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "فتح علامة تبويب جديدة"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "مصادقة WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "تسجيل الدخول غير متاح"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "خيارات تسجيل الدخول بخطوتين"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "هل تفقد الوصول إلى جميع مزودي التحقق بعاملين؟ استخدم رمز الاسترداد الخاص بك لتعطيل جميع مزودي التحقق بعاملين من حسابك."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "البيئة المستضافة ذاتيا"
},
- "selfHostedEnvironmentFooter": {
- "message": "حدد عنوان URL الأساسي لتثبيت Bitwarden المستضاف محليًا."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "بيئة مخصصة"
},
- "customEnvironmentFooter": {
- "message": "للمستخدمين المتقدمين. يمكنك تحديد عنوان URL الأساسي لكل خدمة بشكل مستقل."
- },
"baseUrl": {
"message": "رابط الخادم"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "اسحب للفرز"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "نص"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "مولد اسم المستخدم"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "استخدم كلمة المرور هذه"
},
@@ -2063,12 +2163,24 @@
"message": "لإنشاء كلمة مرور فريدة قوية",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "إجراء مهلة المخزن"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "قفل",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "النطاقات",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "النطاقات المستبعدة"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden لن يطلب حفظ تفاصيل تسجيل الدخول لهذه النطافات لجميع الحسابات مسجلة الدخول. يجب عليك تحديث الصفحة لكي تصبح التغييرات نافذة المفعول."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "الموقع $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "تم حفظ تغييرات استبعاد النطاقات"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "خطأ"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "إنشاء اسم المستخدم"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "تم تعديل الإعدادات"
- },
- "environmentEditedClick": {
- "message": "انقر هنا"
- },
- "environmentEditedReset": {
- "message": "لإعادة تعيين الإعدادات المُعدة مسبقاً"
- },
"serverVersion": {
"message": "إصدار الخادم"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "تسجيل الدخول باستخدام كلمة المرور الرئيسية"
},
- "loggingInAs": {
- "message": "تسجيل الدخول كـ"
- },
- "notYou": {
- "message": "ليس حسابك؟"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "تسجيل الدخول بالجهاز"
},
- "loginWithDeviceEnabledInfo": {
- "message": "يجب إعداد تسجيل الدخول بالجهاز في إعدادات تطبيق Bitwarden. هل تحتاج إلى خِيار آخر؟"
- },
"fingerprintPhraseHeader": {
"message": "عبارة بصمة الإصبع"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "تم إرسال إشعار إلى جهازك."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "بَدْء تسجيل الدخول"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "كلمة المرور الرئيسية مكشوفة"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "طلب موافقة المدير"
},
- "approveWithMasterPassword": {
- "message": "الموافقة بواسطة كلمة المرور الرئيسية"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "استيراد بياناتك إلى Bitwarden؟",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "حماية بياناتك الأخيرة واستيرادك إلى Bitwarden؟",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "حفظ كملف غير مشفر",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "استيراد إلى Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "جارِ الاستيراد...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "لقد تم استيراد البيانات بنجاح!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "خطأ في الاستيراد. تحقق من وحدة التحكم للحصول على التفاصيل.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "تم مواجهة خطأ في الشبكة أثناء الاستيراد.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "الاسم البديل للنطاق"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/az/messages.json b/apps/browser/src/_locales/az/messages.json
index 51bfe95a48a..6f3ace453ae 100644
--- a/apps/browser/src/_locales/az/messages.json
+++ b/apps/browser/src/_locales/az/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Ana parol ipucu (ixtiyari)"
},
+ "passwordStrengthScore": {
+ "message": "Parolun güc xalı: $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Təşkilata qoşul"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Notları kopyala"
},
+ "copy": {
+ "message": "Kopyala",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Doldur",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Hesabınızın e-poçt ünvanını daxil edin və parolunuz üçün ipucu sizə göndəriləcək"
},
- "passwordHint": {
- "message": "Parol ipucu"
- },
- "enterEmailToGetHint": {
- "message": "Ana parol ipucunuzu alacağınız hesabınızın e-poçt ünvanını daxil edin."
- },
"getMasterPasswordHint": {
"message": "Ana parol üçün ipucu alın"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Qovluğa düzəliş et"
},
+ "editFolderWithName": {
+ "message": "Qovluğa düzəliş et: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Yeni qovluq"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Keçid ifadələri yarat"
},
+ "passwordGenerated": {
+ "message": "Parol yaradıldı."
+ },
+ "passphraseGenerated": {
+ "message": "Keçid ifadəsi yaradıldı"
+ },
+ "usernameGenerated": {
+ "message": "İstifadəçi adı yaradıldı"
+ },
+ "emailGenerated": {
+ "message": "E-poçt yaradıldı"
+ },
"regeneratePassword": {
"message": "Parolu yenidən yarat"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Uzunluq"
},
- "uppercase": {
- "message": "Böyük hərf (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Kiçik hərf (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Rəqəmlər (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Xüsusi simvollar (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Daxil et",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Xüsusi xarakterləri daxil et",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Söz sayı"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Veb brauzeriniz lövhəyə kopyalamağı dəstəkləmir. Əvəzində əllə kopyalayın."
},
- "verifyIdentity": {
- "message": "Kimliyi doğrula"
+ "verifyYourIdentity": {
+ "message": "Kimliyinizi doğrulayın"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Bu cihazı tanımırıq. Kimliyinizi doğrulamaq üçün e-poçtunuza göndərilən kodu daxil edin."
+ },
+ "continueLoggingIn": {
+ "message": "Giriş etməyə davam"
},
"yourVaultIsLocked": {
"message": "Seyfiniz kilidlənib. Davam etmək üçün kimliyinizi doğrulayın."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Bitwarden-ə giriş edin"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "E-poçtunuza göndərilən kodu daxil edin"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Kimlik doğrulayıcı tətbiqinizdəki kodu daxil edin"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Kimliyi doğrulamaq üçün YubiKey-inizə basın"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Hesabınız üçün Duo iki addımlı giriş tələb olunur. Giriş prosesini tamamlamaq üçün aşağıdakı addımları izləyin."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Giriş prosesini tamamlamaq üçün aşağıdakı addımları izləyin."
+ },
"restartRegistration": {
"message": "Qeydiyyatı yenidən başlat"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Xeyr"
},
+ "location": {
+ "message": "Yerləşmə"
+ },
"unexpectedError": {
"message": "Gözlənilməz bir xəta baş verdi."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Seyfinizdə tapılmayan elementin əlavə edilməsi soruşulsun. Giriş etmiş bütün hesablara aiddir."
},
- "showCardsInVaultView": {
- "message": "Kartları, Seyf görünüşündə Avto-doldurma təklifləri olaraq göstər"
+ "showCardsInVaultViewV2": {
+ "message": "Kartları, Seyf görünüşündə Avto-doldurma təklifləri olaraq həmişə göstər"
},
"showCardsCurrentTab": {
"message": "Kartları Vərəq səhifəsində göstər"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Asan avto-doldurma üçün Vərəq səhifəsində kart elementlərini sadalayın."
},
- "showIdentitiesInVaultView": {
- "message": "Kimlikləri, Seyf görünüşündə Avto-doldurma təklifləri olaraq göstər"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Kimlikləri, Seyf görünüşündə Avto-doldurma təklifləri olaraq həmişə göstər"
},
"showIdentitiesCurrentTab": {
"message": "Vərəq səhifəsində kimlikləri göstər"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Seyf görünüşündə avto-doldurmaq üçün elementlərə klikləyin"
},
+ "clickToAutofill": {
+ "message": "Avto-doldurma təkliflərində elementləri doldurmaq üçün klikləyin"
+ },
"clearClipboard": {
"message": "Lövhəni təmizlə",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Saxla"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ Bitwarden-də saxlanıldı.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ Bitwarden-də güncəlləndi.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Yeni giriş kimi saxla",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Giriş məlumatlarını güncəllə",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Giriş məlumatları saxlanılsın?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Mövcud giriş məlumatları güncəllənsin?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Giriş məlumatları saxlanıldı",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Giriş məlumatları güncəlləndi",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Saxlama xətası",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Bunu saxlaya bilmədik. Məlumatları manual daxil etməyə çalışın.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Mövcud girişin güncəllənməsini soruş"
},
@@ -1084,10 +1169,6 @@
"message": "Açıq",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Günəşli tünd",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Buradan xaricə köçür"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Premium satın al"
},
- "premiumPurchaseAlert": {
- "message": "Premium üzvlüyü bitwarden.com veb seyfində satın ala bilərsiniz. İndi saytı ziyarət etmək istəyirsiniz?"
- },
"premiumPurchaseAlertV2": {
"message": "Bitwarden veb tətbiqindəki hesab ayarlarınızda Premium satın ala bilərsiniz."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Məni xatırla"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Bu cihazda 30 gün ərzində soruşulmasın"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Doğrulama kodu olan e-poçtu yenidən göndər"
},
"useAnotherTwoStepMethod": {
"message": "Başqa bir iki addımlı giriş üsulu istifadə edin"
},
+ "selectAnotherMethod": {
+ "message": "Başqa üsul seçin",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Geri qaytarma kodunuzu istifadə edin"
+ },
"insertYubiKey": {
"message": "\"YubiKey\"i kompüterinizin USB portuna taxın, daha sonra düyməsinə toxunun."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Yeni vərəq aç"
},
+ "openInNewTab": {
+ "message": "Yeni vərəqdə aç"
+ },
"webAuthnAuthenticate": {
"message": "WebAuthn kimlik doğrulama"
},
+ "readSecurityKey": {
+ "message": "Güvənlik açarını oxu"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Güvənlik açarı ilə əlaqə gözlənilir..."
+ },
"loginUnavailable": {
"message": "Giriş edilə bilmir"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "İki addımlı giriş seçimləri"
},
+ "selectTwoStepLoginMethod": {
+ "message": "İki addımlı giriş üsulunu seçin"
+ },
"recoveryCodeDesc": {
"message": "İki faktorlu provayderlərinə müraciəti itirmisiniz? Geri qaytarma kodunuzu istifadə edərək hesabınızdakı bütün iki faktorlu provayderləri sıradan çıxarda bilərsiniz."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted mühit"
},
- "selfHostedEnvironmentFooter": {
- "message": "Öz-özünə sahiblik edən Bitwarden quraşdırmasının təməl URL-sini müəyyənləşdirin."
- },
"selfHostedBaseUrlHint": {
"message": "Öz-özünə sahiblik edən Bitwarden quraşdırmasının təməl URL-sini müəyyənləşdirin. Nümunə: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Özəl mühit"
},
- "customEnvironmentFooter": {
- "message": "Qabaqcıl istifadəçilər üçündür. Hər xidmətin baza URL-sini müstəqil olaraq müəyyənləşdirə bilərsiniz."
- },
"baseUrl": {
"message": "Server URL-si"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Sıralamaq üçün sürüklə"
},
+ "dragToReorder": {
+ "message": "Yenidən sıralamaq üçün sürüklə"
+ },
"cfTypeText": {
"message": "Mətn"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "İstifadəçi adı yaradıcı"
},
+ "useThisEmail": {
+ "message": "Bu e-poçtu istifadə et"
+ },
"useThisPassword": {
"message": "Bu parolu istifadə et"
},
@@ -2063,12 +2163,24 @@
"message": "Daha unikal parollar yarat",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Seyf özəlləşdirməsi"
+ },
"vaultTimeoutAction": {
"message": "Seyf vaxtının bitmə əməliyyatı"
},
"vaultTimeoutAction1": {
"message": "Vaxt bitmə əməliyyatı"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Yeni özəlləşdirmə seçimləri"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Cəld kopyalama fəaliyyəti, yığcam rejim və daha çoxu ilə seyf təcrübənizi özəlləşdirin!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Bütün Görünüş ayarlarına bax"
+ },
"lock": {
"message": "Kilidlə",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domenlər",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Əngəllənmiş domenlər"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Əngəllənmiş domenlər barədə daha ətraflı"
+ },
"excludedDomains": {
"message": "İstisna edilən domenlər"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden, giriş etmiş bütün hesablar üçün bu domenlərin giriş detallarını saxlamağı soruşmayacaq. Dəyişikliklərin qüvvəyə minməsi üçün səhifəni təzələməlisiniz."
},
+ "blockedDomainsDesc": {
+ "message": "Bu veb saytlar üçün avto-doldurma və digər əlaqəli özəlliklər təklif olunmayacaq. Dəyişikliklərin qüvvəyə minməsi üçün səhifəni təzələməlisiniz."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Bu veb sayt üçün avto-doldurma əngəllənib."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Bunu ayarlarda dəyişdir"
+ },
+ "change": {
+ "message": "Dəyişdir"
+ },
+ "changeButtonTitle": {
+ "message": "Parolu dəyişdir - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Riskli parollar"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$, sizdən bir parolu dəyişdirməyinizi tələb edir, çünki risk altındadır.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$, sizdən $COUNT$ parolu dəyişdirməyinizi tələb edir, çünki risk altındadır.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Təşkilatlarınız, sizdən $COUNT$ parolu dəyişdirməyinizi tələb edir, çünki risk altındadır.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Riskli bir parolu incələ və dəyişdir"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Riskli $COUNT$ parolu incələ və dəyişdir",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Riskli parolları daha tez dəyişdir"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Cəld şəkildə parollarınızı avto-doldura və yenilərini yarada bilməyiniz üçün ayarlarınızı güncəlləyin"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Risk altındakı giriş məlumatlarını incələ"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Risk altındakı parolları incələ"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Təşkilatınız parolları zəif, təkrar istifadə olunduğu və/və ya ifşa olunduğu üçün risk altındadır.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Risk altındakı girişlərin olduğu siyahının təsviri"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Risk altında olan saytda Bitwarden avto-doldurma menyusu ilə güclü, unikal parolları cəld yaradın.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Yaradılan parolları göstərən Bitwarden avto-doldurma menyusunun təsviri"
+ },
+ "updateInBitwarden": {
+ "message": "Bitwarden-də güncəllə"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden, daha sonra parol menecerində parolu güncəlləməyinizi istəyəcək.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "İstifadəçidən giriş məlumatlarını güncəlləməsini istəyən Bitwarden bildirişinin təsviri"
+ },
+ "turnOnAutofill": {
+ "message": "Avto-doldurmanı işə sal"
+ },
+ "turnedOnAutofill": {
+ "message": "Avto-doldurma işə salındı"
+ },
+ "dismiss": {
+ "message": "Rədd et"
+ },
"websiteItemLabel": {
"message": "Veb sayt $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Əngəllənmiş domen dəyişiklikləri saxlanıldı"
+ },
"excludedDomainsSavedSuccess": {
"message": "İstisna domen dəyişikliyi saxlanıldı"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Xəta"
},
+ "decryptionError": {
+ "message": "Şifrə açma xətası"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden, aşağıda sadalanan seyf element(lər)inin şifrəsini aça bilmədi."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Əlavə data itkisini önləmək üçün",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "müştəri dəstəyi ilə əlaqə saxlayın.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "İstifadəçi adı yarat"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ tələbinizə rədd cavabı verdi. Lütfən kömək üçün xidmət provayderinizlə əlaqə saxlayın.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ tələbinizə rədd cavabı verdi: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "$SERVICENAME$ maskalı e-poçt hesab kimliyi alına bilmir.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Ayarlara düzəliş edildi"
- },
- "environmentEditedClick": {
- "message": "Bura klikləyin"
- },
- "environmentEditedReset": {
- "message": "ön konfiqurasiyalı ayarları sıfırlamaq üçün"
- },
"serverVersion": {
"message": "Server versiyası"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Ana parolla giriş et"
},
- "loggingInAs": {
- "message": "Giriş et"
- },
- "notYou": {
- "message": "Siz deyilsiniz?"
- },
"newAroundHere": {
"message": "Burada yenisiniz?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Cihazla giriş et"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Cihazla giriş, Bitwarden tətbiqinin ayarlarında qurulmalıdır. Başqa bir seçimə ehtiyacınız var?"
- },
"fingerprintPhraseHeader": {
"message": "Barmaq izi ifadəsi"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Bütün giriş seçimlərinə bax"
},
- "viewAllLoginOptionsV1": {
- "message": "Bütün giriş seçimlərinə bax"
- },
"notificationSentDevice": {
"message": "Cihazınıza bir bildiriş göndərildi."
},
+ "notificationSentDevicePart1": {
+ "message": "Cihazınızda Bitwarden kilidini açın, ya da "
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "veb tətbiqinizdə"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Təsdiqləməzdən əvvəl Barmaq izi ifadəsinin aşağıdakı ifadə ilə uyuşduğuna əmin olun."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Cihazınıza bir bildiriş göndərildi"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Hesabınızın kilidinin açıq olduğuna və barmaq izi ifadəsinin digər cihazda uyuşduğuna əmin olun"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Tələbiniz təsdiqləndikdə bildiriş alacaqsınız"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Giriş başladıldı"
},
+ "logInRequestSent": {
+ "message": "Tələb göndərildi"
+ },
"exposedMasterPassword": {
"message": "İfşa olunmuş ana parol"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Admin təsdiqini tələb et"
},
- "approveWithMasterPassword": {
- "message": "Ana parolla təsdiqlə"
- },
"ssoIdentifierRequired": {
"message": "Təşkilat SSO identifikatoru tələb olunur."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Tələbiniz admininizə göndərildi."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Təsdiqləndikdən sonra məlumatlandırılacaqsınız."
- },
"troubleLoggingIn": {
"message": "Girişdə problem var?"
},
@@ -3396,38 +3649,6 @@
"message": "Yığcamlaşdırmanı aç/bağla",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Datanız Bitwarden-ə köçürülsün?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "LastPass datanızı qoruyub Bitwarden-ə köçürürsünüz?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Şifrələnməmiş fayl olaraq saxla",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Bitwarden-ə köçür",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Daxilə köçürülür...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data uğurla daxilə köçürüldü!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Daxilə köçürmə xətası. Detallar üçün konsolu yoxlayın.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Daxilə köçürmə zamanı şəbəkə xətası baş verdi.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Domen ləqəbi"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktiv hesab"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden hesabı"
+ },
"availableAccounts": {
"message": "Mövcud hesablar"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Avto-doldurma təklifləri"
},
+ "itemSuggestions": {
+ "message": "Təklif olunan elementlər"
+ },
"autofillSuggestionsTip": {
"message": "Bu saytın avto-doldurması üçün giriş elementini saxlayın"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Kopyala: $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Kopyalanacaq dəyər yoxdur"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Element adı"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "\"Yalnız baxma\" icazələrinə sahib kolleksiyaları silə bilməzsiniz: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Təşkilat deaktiv edildi"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Veb sayt URI-yını yenidən sırala. Ox düyməsi ilə elementi yuxarı və ya aşağı daşıyın."
+ },
"reorderFieldUp": {
"message": "$LABEL$ yuxarı daşındı, mövqeyi $INDEX$/$LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Heç nə seçməmisiniz."
},
- "movedItemsToOrg": {
- "message": "Seçilən elementlər $ORGNAME$ təşkilatına daşınıldı",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Elementlər bura daşındı: $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Mətn \"Send\"ləri"
},
- "bitwardenNewLook": {
- "message": "Bitwarden-in yeni bir görünüşü var!"
- },
- "bitwardenNewLookDesc": {
- "message": "Seyf vərəqindən avto-doldurma və axtarış etmə artıq daha asan və intuitivdir. Nəzər salın!"
- },
"accountActions": {
"message": "Hesab fəaliyyətləri"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Bu elementə düzəliş etmə icazəniz yoxdur"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Əvvəlcə PIN və ya parol ilə kilid açma tələb olunduğu üçün biometrik ilə kilid açma əlçatmazdır."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometrik kilid açma indi əlçatmazdır."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Yanlış konfiqurasiya edilmiş sistem fayllarına görə biometrik kilid açma əlçatmazdır."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Yanlış konfiqurasiya edilmiş sistem fayllarına görə biometrik kilid açma əlçatmazdır."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Bitwarden masaüstü tətbiqi bağlı olduğu üçün biometrik kilid açma əlçatmazdır."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Bitwarden masaüstü tətbiqində $EMAIL$ üçün fəal olmadığına görə biometrik kilid açma əlçatmazdır.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Bilinməyən bilinməyən bir səbəbə görə biometrik kilid açma əlçatmazdır."
+ },
"authenticating": {
"message": "Kimlik doğrulama"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Ekstra enli"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Daxil etdiyiniz parol yanlışdır."
+ },
+ "importSshKey": {
+ "message": "Daxilə köçür"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Parolu təsdiqlə"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "SSH açarı üçün parolu daxil edin."
+ },
+ "enterSshKeyPassword": {
+ "message": "Parolu daxil edin"
+ },
+ "invalidSshKey": {
+ "message": "SSH açarı yararsızdır"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "SSH açar növü dəstəklənmir"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Açarı lövhədən daxilə köçür"
+ },
+ "sshKeyImported": {
+ "message": "SSH açarı uğurla daxilə köçürüldü"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "\"Yalnız baxma\" icazələrinə sahib kolleksiyaları silə bilməzsiniz: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Lütfən masaüstü tətbiqinizi güncəlləyin"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Biometrik kilid açmanı istifadə etmək üçün lütfən masaüstü tətbiqinizi güncəlləyin, ya da masaüstü ayarlarında barmaq izi ilə kilid açmanı sıradan çıxardın."
+ },
+ "changeAtRiskPassword": {
+ "message": "Riskli parolları dəyişdir"
}
}
diff --git a/apps/browser/src/_locales/be/messages.json b/apps/browser/src/_locales/be/messages.json
index 46c804d27d9..905f6b6ac1d 100644
--- a/apps/browser/src/_locales/be/messages.json
+++ b/apps/browser/src/_locales/be/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Падказка да асноўнага пароля (неабавязкова)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Далучыцца да арганізацыі"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Скапіяваць нататкі"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Запоўніць",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Падказка да пароля"
- },
- "enterEmailToGetHint": {
- "message": "Увядзіце адрас электроннай пошты ўліковага запісу для атрымання падказкі да асноўнага пароля."
- },
"getMasterPasswordHint": {
"message": "Атрымаць падказку да асноўнага пароля"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Рэдагаваць папку"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Новая папка"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Згенерыраваць парольную фразу"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Паўторна генерыраваць пароль"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Даўжыня"
},
- "uppercase": {
- "message": "Вялікія літары (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Маленькія літары (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Лічбы (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Спецыяльныя сімвалы (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Уключыць",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Уключыце спецыяльныя сімвалы",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Колькасць слоў"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Ваш вэб-браўзер не падтрымлівае капіяванне даных у буфер абмену. Скапіюйце іх уручную."
},
- "verifyIdentity": {
- "message": "Праверыць асобу"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Ваша сховішча заблакіравана. Каб працягнуць, пацвердзіце сваю асобу."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Увайсці ў Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Не"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Адбылася нечаканая памылка."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Паказваць карткі на старонцы з укладкамі"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Спіс элементаў картак на старонцы з укладкамі для лёгкага аўтазапаўнення."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Паказваць пасведчанні на старонцы з укладкамі"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Ачыстка буфера абмену",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Захаваць"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Пытацца пра абнаўленні існуючага лагіна"
},
@@ -1084,10 +1169,6 @@
"message": "Светлая",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Экспартаванне з"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Купіць прэміум"
},
- "premiumPurchaseAlert": {
- "message": "Вы можаце купіць прэміяльны статус на bitwarden.com. Перайсці на вэб-сайт зараз?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Запомніць мяне"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Адправіць праверачны код яшчэ раз"
},
"useAnotherTwoStepMethod": {
"message": "Выкарыстоўваць іншы метад двухэтапнага ўваходу"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Устаўце свой YubiKey у порт USB камп'ютара, а потым націсніце на кнопку."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Адкрыць новую ўкладку"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Аўтэнтыфікацыя WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Уваход недаступны"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Параметры двухэтапнага ўваходу"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Згубілі доступ да ўсіх варыянтаў доступу пастаўшчыкоў двухэтапнай аўтэнтыфікацыі? Скарыстайцеся кодам аднаўлення, каб адключыць праверку пастаўшчыкоў двухэтапнай аўтэнтыфікацыі для вашага ўліковага запісу."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Асяроддзе ўласнага хостынгу"
},
- "selfHostedEnvironmentFooter": {
- "message": "Увядзіце асноўны URL-адрас вашага лакальнага размяшчэння ўсталяванага Bitwarden."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Карыстальніцкае асяроддзе"
},
- "customEnvironmentFooter": {
- "message": "Для дасведчаных карыстальнікаў. Можна ўвесці URL-адрасы асобна для кожнай службы."
- },
"baseUrl": {
"message": "URL-адрас сервера"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Перацягніце для сартавання"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Тэкст"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Генератар імені карыстальніка"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Выкарыстоўваць гэты пароль"
},
@@ -2063,12 +2163,24 @@
"message": "каб стварыць надзейны ўнікальны пароль",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Дзеянне пасля заканчэння часу чакання сховішча"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Заблакіраваць",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Дамены",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Выключаныя дамены"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Вэб-сайт $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Памылка"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Генерыраваць імя карыстальніка"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Налады былі адрэдагаваныя"
- },
- "environmentEditedClick": {
- "message": "Націсніце тут"
- },
- "environmentEditedReset": {
- "message": "для скіду да прадвызначаных наладаў"
- },
"serverVersion": {
"message": "Версія сервера"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Увайсці з асноўным паролем"
},
- "loggingInAs": {
- "message": "Увайсці як"
- },
- "notYou": {
- "message": "Не вы?"
- },
"newAroundHere": {
"message": "Упершыню тут?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Уваход з прыладай"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Неабходна наладзіць уваход з прыладай у наладах мабільнай праграмы Bitwarden. Патрабуецца іншы варыянт?"
- },
"fingerprintPhraseHeader": {
"message": "Фраза адбітка пальца"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "Апавяшчэнне было адпраўлена на вашу прыладу."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Ініцыяваны ўваход"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Скампраметаваны асноўны пароль"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Запытаць ухваленне адміністратара"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Ваш запыт адпраўлены адміністратару."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Вы атрымаеце апавяшчэння пасля яго ўхвалення."
- },
"troubleLoggingIn": {
"message": "Праблемы з уваходам?"
},
@@ -3396,38 +3649,6 @@
"message": "Згарнуць/Разгарнуць",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Імпартаванне...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Даныя паспяхова імпартаваны!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Мянушка дамена"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Назва элемента"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Вы пакуль нічога не выбралі."
},
- "movedItemsToOrg": {
- "message": "Выбраныя элементы перамешчаны ў $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/bg/messages.json b/apps/browser/src/_locales/bg/messages.json
index 7cbbdc07be4..226e63e32cb 100644
--- a/apps/browser/src/_locales/bg/messages.json
+++ b/apps/browser/src/_locales/bg/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Подсказване за главната парола (по избор)"
},
+ "passwordStrengthScore": {
+ "message": "Оценка на сложността на паролата: $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Присъединяване към организацията"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Копиране на бележките"
},
+ "copy": {
+ "message": "Копиране",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Попълване",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Въведете е-пощата на регистрацията си и подсказката за паролата ще Ви бъде изпратена"
},
- "passwordHint": {
- "message": "Подсказка за паролата"
- },
- "enterEmailToGetHint": {
- "message": "Въведете адреса на имейла си, за да получите подсказка за главната си парола."
- },
"getMasterPasswordHint": {
"message": "Подсказка за главната парола"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Редактиране на папка"
},
+ "editFolderWithName": {
+ "message": "Редактиране на папка: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Нова папка"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Генериране на парола-фраза"
},
+ "passwordGenerated": {
+ "message": "Паролата е генерирана"
+ },
+ "passphraseGenerated": {
+ "message": "Паролата-фраза е генерирана"
+ },
+ "usernameGenerated": {
+ "message": "Потребителското име е генерирано"
+ },
+ "emailGenerated": {
+ "message": "Е-пощата е генерирана"
+ },
"regeneratePassword": {
"message": "Регенериране на паролата"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Дължина"
},
- "uppercase": {
- "message": "Главни букви (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Малки букви (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Числа (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Специални знаци (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Включване",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Включване на специални знаци",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Брой думи"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Браузърът не поддържа копиране в буфера, затова копирайте на ръка."
},
- "verifyIdentity": {
- "message": "Потвърждаване на самоличността"
+ "verifyYourIdentity": {
+ "message": "Потвърдете самоличността си"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Това устройство е непознато. Въведете кода изпратен на е-пощата Ви, за да потвърдите самоличността си."
+ },
+ "continueLoggingIn": {
+ "message": "Продължаване с вписването"
},
"yourVaultIsLocked": {
"message": "Трезорът е заключен — въведете главната си парола, за да продължите."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Впишете се в Битуорден"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Въведете кода изпратен на е-пощата Ви"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Въведете кода от Вашето приложение за удостоверяване"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Натиснете бутона на своя YubiKey за удостоверяване"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Вашият акаунт изисква вписване чрез двустепенно удостоверяване с Duo. Следвайте стъпките по-долу, за да завършите вписването."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Следвайте стъпките по-долу, за да завършите вписването."
+ },
"restartRegistration": {
"message": "Рестартиране на регистрацията"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Не"
},
+ "location": {
+ "message": "Местоположение"
+ },
"unexpectedError": {
"message": "Възникна неочаквана грешка."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Питане за добавяне на елемент, ако такъв не бъде намерен в трезора. Прилага се за всички регистрации, в които сте вписан(а)."
},
- "showCardsInVaultView": {
- "message": "Показване на картите като предложения за авт. попълване в изгледа на трезора"
+ "showCardsInVaultViewV2": {
+ "message": "Картите да се показват винаги като предложения за авт. попълване в изгледа на трезора"
},
"showCardsCurrentTab": {
"message": "Показване на карти в страницата с разделите"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Показване на картите в страницата с разделите, за лесно автоматично попълване."
},
- "showIdentitiesInVaultView": {
- "message": "Показване на самоличности като предложения за автоматично попълване в изгледа на трезора"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Самоличностите да се показват винаги като предложения за автоматично попълване в изгледа на трезора"
},
"showIdentitiesCurrentTab": {
"message": "Показване на самоличности в страницата с разделите"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Щракнете върху елементите в трезора за автоматично попълване"
},
+ "clickToAutofill": {
+ "message": "Щракнете върху елементите в предложениета за автоматично попълване"
+ },
"clearClipboard": {
"message": "Изчистване на буфера",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Да, нека се запише сега"
},
+ "loginSaveSuccessDetails": {
+ "message": "Запазено в Битуорден: $USERNAME$.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "Обновено в Битуорден: $USERNAME$.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Запазване като нов елемент за вписване",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Обновяване на данните за вписване",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Запазване на данните за вписване?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Да се обновят ли текущите данни за вписване?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Данните за вписване са запазени",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Данните за вписване са обновени",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Грешка при запазването",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "О, не! Запазването не беше успешно. Опитайте да въведете данните ръчно.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Питане за обновяване на съществуващ запис"
},
@@ -1084,10 +1169,6 @@
"message": "Светъл",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Преекспонирано тъмен",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Изнасяне от"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Покупка на платен абонамент"
},
- "premiumPurchaseAlert": {
- "message": "Може да платите абонамента си през сайта bitwarden.com. Искате ли да го посетите сега?"
- },
"premiumPurchaseAlertV2": {
"message": "Можете да закупите платената версия от настройките на регистрацията си, в приложението по уеб на Битуорден."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Запомняне"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Не ме питайте отново на това устройство за 30 дни"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Повторно изпращане на писмото за потвърждение"
},
"useAnotherTwoStepMethod": {
"message": "Използвайте друг начин на двустепенно удостоверяване"
},
+ "selectAnotherMethod": {
+ "message": "Изберете друг метод",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Използване на код за възстановяване"
+ },
"insertYubiKey": {
"message": "Поставете устройството на YubiKey в USB порт на компютъра и натиснете бутона на устройството."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Отваряне на нов раздел"
},
+ "openInNewTab": {
+ "message": "Отваряне в нов раздел"
+ },
"webAuthnAuthenticate": {
"message": "Идентификация WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Прочитане на ключа за сигурност"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Изчакване на действие с ключ за сигурност…"
+ },
"loginUnavailable": {
"message": "Записът липсва"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Настройки на двустепенното удостоверяване"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Изберете начин за двустепенно удостоверяване"
+ },
"recoveryCodeDesc": {
"message": "Ако сте загубили достъп до двустепенното удостоверяване, може да използвате код за възстановяване, за да изключите двустепенното удостоверяване в абонамента си."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Собствена среда"
},
- "selfHostedEnvironmentFooter": {
- "message": "Укажете базовия адрес за собствената ви инсталирана среда на Bitwarden."
- },
"selfHostedBaseUrlHint": {
"message": "Посочете базовия адрес на Вашата собствена инсталация на Битуорден. Пример: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Специална среда"
},
- "customEnvironmentFooter": {
- "message": "За специални случаи. Може да укажете основните адреси на всяка ползвана услуга поотделно."
- },
"baseUrl": {
"message": "Адрес на сървъра"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Подредба чрез влачене"
},
+ "dragToReorder": {
+ "message": "Плъзнете за пренареждане"
+ },
"cfTypeText": {
"message": "Текст"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Генератор на потребителски имена"
},
+ "useThisEmail": {
+ "message": "Използване на тази е-поща"
+ },
"useThisPassword": {
"message": "Използване на тази парола"
},
@@ -2063,12 +2163,24 @@
"message": "за да създадете сигурна и уникална парола",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Персонализиране на трезора"
+ },
"vaultTimeoutAction": {
"message": "Действие при изтичане на времето"
},
"vaultTimeoutAction1": {
"message": "Действие при изтичането на времето за достъп"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Нови възможности за персонализиране"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Персонализирайте трезора си с бързи действия за копиране, компактен режим и още!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Преглед на всички настройки за външния вид"
+ },
"lock": {
"message": "Заключване",
"description": "Verb form: to make secure or inaccessible by"
@@ -2285,7 +2397,7 @@
"message": "Потребителят е заключен или отписан"
},
"biometricsNotUnlockedDesc": {
- "message": "Отключете потребителя в настолното приложение и опитайте отново."
+ "message": "Отключете потребителя в самостоятелното приложение и опитайте отново."
},
"biometricsNotAvailableTitle": {
"message": "Отключването чрез биометрични данни не е налично"
@@ -2324,6 +2436,12 @@
"message": "Домейни",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Блокирани домейни"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Научете повече за блокираните домейни"
+ },
"excludedDomains": {
"message": "Изключени домейни"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Битуорден няма да пита дали да запазва данните за вход в тези сайтове за всички регистрации, в които сте вписан(а). За да влезе правилото в сила, презаредете страницата."
},
+ "blockedDomainsDesc": {
+ "message": "Автоматичното попълване и други свързани функции няма да бъдат предлагани за тези уеб сайтове. Трябва да презаредите страницата, за да влязат в сила промените."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Автоматичното попълване е блокирано за този уеб сайт."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Променете това в настройките"
+ },
+ "change": {
+ "message": "Промяна"
+ },
+ "changeButtonTitle": {
+ "message": "Промяна на паролата – $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Пароли в риск"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ изисква да промените една парола, тъй като е в риск.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ изисква да промените $COUNT$ пароли, тъй като са в риск.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Вашата организация изисква да промените $COUNT$ пароли, тъй като са в риск.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Преглед и промяна на една парола в риск"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Преглед и промяна на $COUNT$ пароли в риск",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "По-бърза промяна на паролите в риск"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Променете настройките си, така че да можете бързо да попълвате автоматично паролите си, както и да генерирате нови"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Преглед на елементите за вписване в риск"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Преглед на паролите в риск"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Паролите в организацията Ви са в риск, защото са слаби, преизползвани и/или разкрити.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Илюстрация на списък с елементи за вписване, които са в риск"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Генерирайте бързо сложна и уникална парола от менюто за автоматично попълване на Битуорден, на уеб сайта, който е в риск.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Илюстрация на автоматичното попълване на Битуорден, показващо генерирана парола"
+ },
+ "updateInBitwarden": {
+ "message": "Обновяване в Битуорден"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "След това Битуорден ще попита дали искате да обновите паролата в управителя на пароли.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Илюстрация на известието на Битуорден, чрез което пита потребителя дали да се обновят данните за вписване"
+ },
+ "turnOnAutofill": {
+ "message": "Включване на автоматичното попълване"
+ },
+ "turnedOnAutofill": {
+ "message": "Автоматичното попълване беше включено"
+ },
+ "dismiss": {
+ "message": "Отхвърляне"
+ },
"websiteItemLabel": {
"message": "Уеб сайт $number$ (адрес)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Промените на блокираните домейни са запазени"
+ },
"excludedDomainsSavedSuccess": {
"message": "Промените на изключените домейни са запазени"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Грешка"
},
+ "decryptionError": {
+ "message": "Грешка при дешифриране"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Битоурден не може да дешифрира елементите от трезора посочени по-долу."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Свържете се с поддръжката",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "за да избегнете загубата на данни.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Генериране на потр. име"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ отказа заявката Ви. Свържете се с доставчика на услугата за съдействие.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ отказа заявката Ви: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Не може да бъде получен идентификатор на маскиран чрез е-поща акаунт от $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Настройките баха променени"
- },
- "environmentEditedClick": {
- "message": "Щракнете тук"
- },
- "environmentEditedReset": {
- "message": "за да върнете предварително зададените настройки"
- },
"serverVersion": {
"message": "Версия на сървъра"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Вписване с главната парола"
},
- "loggingInAs": {
- "message": "Вписване като"
- },
- "notYou": {
- "message": "Това не сте Вие?"
- },
"newAroundHere": {
"message": "За пръв път ли сте тук?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Вписване с устройство"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Вписването с устройство трябва да е включено в настройките на приложението на Битуорден. Друга настройка ли търсите?"
- },
"fingerprintPhraseHeader": {
"message": "Уникална фраза"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Вижте всички възможности за вписване"
},
- "viewAllLoginOptionsV1": {
- "message": "Вижте всички възможности за вписване"
- },
"notificationSentDevice": {
"message": "Към устройството Ви е изпратено известие."
},
+ "notificationSentDevicePart1": {
+ "message": "Отключете Битоурден на устройството си или в"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "приложението по уеб"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Уверете се, че уникалната фраза съвпада с тази по-долу, преди да одобрите."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Към устройството Ви е изпратено известие"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Уверете се, че регистрацията Ви е отключена и че уникалната фраза съвпада с другото устройство"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Ще получите уведомление когато заявката бъде одобрена"
},
@@ -3091,8 +3347,11 @@
"loginInitiated": {
"message": "Вписването е стартирано"
},
+ "logInRequestSent": {
+ "message": "Заявката е изпратена"
+ },
"exposedMasterPassword": {
- "message": "Разобличена главна парола"
+ "message": "Разкрита главна парола"
},
"exposedMasterPasswordDesc": {
"message": "Паролата е намерена в пробив на данни. Използвайте уникална парола, за да защитите вашия акаунт. Наистина ли искате да използвате слаба парола?"
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Подаване на заявка за одобрение от администратор"
},
- "approveWithMasterPassword": {
- "message": "Одобряване с главната парола"
- },
"ssoIdentifierRequired": {
"message": "Идентификаторът за еднократна идентификация на организация е задължителен."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Вашата заявка беше изпратена до администратора Ви."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Ще получите известие, когато тя бъде одобрена."
- },
"troubleLoggingIn": {
"message": "Имате проблем с вписването?"
},
@@ -3396,38 +3649,6 @@
"message": "Превключване на свиването",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Внасяне на данните Ви в Битуорден?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Защитаване на данните Ви от LastPass и внасяне в Битуорден?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Запазване като нешифрован файл",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Внасяне в Битуорден",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Внасяне…",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Данните бяха внесени успешно!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Грешка при внасянето. Вижте конзолата за подробности.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "По време на внасянето възникна мрежова грешка.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Псевдонимен домейн"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Активиране на регистрацията"
},
+ "bitwardenAccount": {
+ "message": "Акаунт в Битуорден"
+ },
"availableAccounts": {
"message": "Налични регистрации"
},
@@ -3979,7 +4203,10 @@
"message": "Секретният ключ е премахнат"
},
"autofillSuggestions": {
- "message": "Автоматично попълване на предложения"
+ "message": "Предложения за авт. попълване"
+ },
+ "itemSuggestions": {
+ "message": "Препоръчани елементи"
},
"autofillSuggestionsTip": {
"message": "Запазване на елемент за вписване за този уеб сайт, за авт. попълване"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Копиране на $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Няма стойности за копиране"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Име на елемента"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Не можете да премахвате колекции с права „Само за преглед“: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Организацията е деактивирана"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Преместване на адреса на уеб сайта. Използвайте стрелките, за да преместите елемента нагоре или надолу."
+ },
"reorderFieldUp": {
"message": "Преместено нагоре: $LABEL$. Позиция $INDEX$ от $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Не сте избрали нищо."
},
- "movedItemsToOrg": {
- "message": "Избраните записи бяха преместени в $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Елементите са преместени в $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Текстови изпращания"
},
- "bitwardenNewLook": {
- "message": "Биуорден има нов облик!"
- },
- "bitwardenNewLookDesc": {
- "message": "Сега е по-лесно и интуитивно от всякога да използвате автоматичното попълване и да търсите в раздела на трезора. Разгледайте!"
- },
"accountActions": {
"message": "Действия по регистрацията"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Нямате право за редактиране на този елемент"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Отключването с биометрични данни не е налично, тъй като първо се изисква отключване чрез ПИН или парола."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Отключването с биометрични данни не е налично в момента."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Отключването с биометрични данни не е налично поради неправилно настроени системни файлове."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Отключването с биометрични данни не е налично поради неправилно настроени системни файлове."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Отключването с биометрични данни не е налично, тъй като приложението на Биуорден за компютър не работи."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Отключването с биометрични данни не е налично, тъй като не е включено за $EMAIL$ в приложението на Битуорден за компютър.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Отключването с биометрични данни не е налично по неизвестна причина."
+ },
"authenticating": {
"message": "Удостоверяване"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Много широко"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Въведената парола е неправилна."
+ },
+ "importSshKey": {
+ "message": "Внасяне"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Потвърждаване на паролата"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Въведете паролата за SSH-ключа."
+ },
+ "enterSshKeyPassword": {
+ "message": "Въведете паролата"
+ },
+ "invalidSshKey": {
+ "message": "SSH ключът е неправилен"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Типът на SSH ключа не се поддържа"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Внасяне на ключ от буфера за обмен"
+ },
+ "sshKeyImported": {
+ "message": "SSH ключът е внесен успешно"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Не можете да премахвате колекции с права „Само за преглед“: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Моля, обновете самостоятелното приложение"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "За да използвате отключването чрез биометрични данни, обновете самостоятелното приложение или изключете отключването чрез пръстов отпечатък в настройките му."
+ },
+ "changeAtRiskPassword": {
+ "message": "Промяна на парола в риск"
}
}
diff --git a/apps/browser/src/_locales/bn/messages.json b/apps/browser/src/_locales/bn/messages.json
index 2da7b40554c..983b9fadde4 100644
--- a/apps/browser/src/_locales/bn/messages.json
+++ b/apps/browser/src/_locales/bn/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "মূল পাসওয়ার্ড ইঙ্গিত (ঐচ্ছিক)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "পাসওয়ার্ড ইঙ্গিত"
- },
- "enterEmailToGetHint": {
- "message": "আপনার মূল পাসওয়ার্ডের ইঙ্গিতটি পেতে আপনার অ্যাকাউন্টের ইমেল ঠিকানা প্রবেশ করুন।"
- },
"getMasterPasswordHint": {
"message": "মূল পাসওয়ার্ডের ইঙ্গিত পান"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "ফোল্ডার সম্পাদনা"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "পাসওয়ার্ড পুনঃতৈরি করুন"
},
@@ -454,22 +482,6 @@
"length": {
"message": "দৈর্ঘ্য"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "শব্দের সংখ্যা"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "আপনার ওয়েব ব্রাউজার সহজে ক্লিপবোর্ড অনুলিপি সমর্থন করে না। পরিবর্তে এটি নিজেই অনুলিপি করুন।"
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "আপনার ভল্ট লক করা আছে। চালিয়ে যেতে আপনার মূল পাসওয়ার্ডটি যাচাই করান।"
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "না"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "একটি অপ্রত্যাশিত ত্রুটি ঘটেছে।"
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "ক্লিপবোর্ড পরিষ্কার",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "হ্যাঁ, এখনই সংরক্ষণ করুন"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "উজ্জ্বল",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "প্রিমিয়াম কিনুন"
},
- "premiumPurchaseAlert": {
- "message": "আপনি bitwarden.com ওয়েব ভল্টে প্রিমিয়াম সদস্যতা কিনতে পারেন। আপনি কি এখনই ওয়েবসাইটটি দেখতে চান?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "আমাকে মনে রাখবেন"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "আবার যাচাইকরণ কোড ইমেইলে প্রেরণ করুন"
},
"useAnotherTwoStepMethod": {
"message": "অন্য দ্বি-পদক্ষেপ প্রবেশ পদ্ধতি ব্যবহার করুন"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "আপনার কম্পিউটারের ইউএসবি পোর্টে আপনার YubiKey ঢোকান, তারপরে তার বোতামটি স্পর্শ করুন।"
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "লগইন অনুপলব্ধ"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "দ্বি-পদক্ষেপ লগইন বিকল্প"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "আপনার সমস্ত দ্বি-গুণক সরবরাহকারীদের অ্যাক্সেস হারিয়েছেন? আপনার অ্যাকাউন্ট থেকে সমস্ত দ্বি-গুণক সরবরাহকারীদের অক্ষম করতে আপনার পুনরুদ্ধার কোডটি ব্যবহার করুন।"
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "স্ব-হোস্টকৃত পরিবেশ"
},
- "selfHostedEnvironmentFooter": {
- "message": "আপনার অন-প্রাঙ্গনে হোস্টকৃত Bitwarden ইনস্টলেশনটির বেস URL উল্লেখ করুন।"
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "পছন্দসই পরিবেশ"
},
- "customEnvironmentFooter": {
- "message": "উন্নত ব্যবহারকারীদের জন্য। আপনি স্বতন্ত্রভাবে প্রতিটি পরিষেবার মূল URL নির্দিষ্ট করতে পারেন।"
- },
"baseUrl": {
"message": "সার্ভার URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "বাছাই করতে টানুন"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "পাঠ্য"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "ভল্টের সময়সীমা কর্ম"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "লক",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/bs/messages.json b/apps/browser/src/_locales/bs/messages.json
index 9f5a610c351..08fedb6f10a 100644
--- a/apps/browser/src/_locales/bs/messages.json
+++ b/apps/browser/src/_locales/bs/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Nagovještaj lozinke"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Length"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Zaključaj",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/ca/messages.json b/apps/browser/src/_locales/ca/messages.json
index b38783abc82..14e4a577440 100644
--- a/apps/browser/src/_locales/ca/messages.json
+++ b/apps/browser/src/_locales/ca/messages.json
@@ -20,16 +20,16 @@
"message": "Crea un compte"
},
"newToBitwarden": {
- "message": "New to Bitwarden?"
+ "message": "Nou a Bitwarden?"
},
"logInWithPasskey": {
- "message": "Log in with passkey"
+ "message": "Inicieu sessió amb la clau de pas"
},
"useSingleSignOn": {
- "message": "Use single sign-on"
+ "message": "Inici de sessió únic"
},
"welcomeBack": {
- "message": "Welcome back"
+ "message": "Benvingut/da de nou"
},
"setAStrongPassword": {
"message": "Estableix una contrasenya segura"
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Pista de la contrasenya mestra (opcional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Uneix-te a l'organització"
},
@@ -120,7 +129,7 @@
"message": "Copia contrasenya"
},
"copyPassphrase": {
- "message": "Copy passphrase"
+ "message": "Copia frase de pas"
},
"copyNote": {
"message": "Copia nota"
@@ -153,13 +162,13 @@
"message": "Copia el número de llicència"
},
"copyPrivateKey": {
- "message": "Copy private key"
+ "message": "Copia la clau privada"
},
"copyPublicKey": {
- "message": "Copy public key"
+ "message": "Copieu la clau pública"
},
"copyFingerprint": {
- "message": "Copy fingerprint"
+ "message": "Copia l'empremta digital"
},
"copyCustomField": {
"message": "Copia $FIELD$",
@@ -176,8 +185,12 @@
"copyNotes": {
"message": "Copia notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
- "message": "Fill",
+ "message": "Emplena",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
},
"autoFill": {
@@ -193,10 +206,10 @@
"message": "Emplena automàticament l'identitat"
},
"fillVerificationCode": {
- "message": "Fill verification code"
+ "message": "Emplena el codi de verificació"
},
"fillVerificationCodeAria": {
- "message": "Fill Verification Code",
+ "message": "Emplena el codi de verificació",
"description": "Aria label for the heading displayed the inline menu for totp code autofill"
},
"generatePasswordCopied": {
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Introduïu l'adreça de correu electrònic del compte i se us enviarà la pista de contrasenya"
},
- "passwordHint": {
- "message": "Pista de la contrasenya"
- },
- "enterEmailToGetHint": {
- "message": "Introduïu l'adreça electrònica del vostre compte per rebre la contrasenya mestra."
- },
"getMasterPasswordHint": {
"message": "Obteniu la pista de la contrasenya mestra"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edita la carpeta"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Carpeta nova"
},
@@ -443,7 +459,19 @@
"message": "Genera contrasenya"
},
"generatePassphrase": {
- "message": "Generate passphrase"
+ "message": "Genera frase de pas"
+ },
+ "passwordGenerated": {
+ "message": "Contrasenya generada"
+ },
+ "passphraseGenerated": {
+ "message": "Frase de pas generada"
+ },
+ "usernameGenerated": {
+ "message": "Nom d'usuari generat"
+ },
+ "emailGenerated": {
+ "message": "Correu electrònic generat"
},
"regeneratePassword": {
"message": "Regenera contrasenya"
@@ -454,22 +482,6 @@
"length": {
"message": "Longitud"
},
- "uppercase": {
- "message": "Majúscula (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Minúscula (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Números (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Caràcters especials (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Inclou",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Inclou caràcters especials",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Nombre de paraules"
},
@@ -530,7 +538,7 @@
"description": "Label for the avoid ambiguous characters checkbox."
},
"generatorPolicyInEffect": {
- "message": "Enterprise policy requirements have been applied to your generator options.",
+ "message": "Els requisits de la política empresarial s'han aplicat a les opcions del generador.",
"description": "Indicates that a policy limits the credential generator screen."
},
"searchVault": {
@@ -576,7 +584,7 @@
"message": "Notes"
},
"privateNote": {
- "message": "Private note"
+ "message": "Nota privada"
},
"note": {
"message": "Nota"
@@ -600,7 +608,7 @@
"message": "Obri la web"
},
"launchWebsiteName": {
- "message": "Launch website $ITEMNAME$",
+ "message": "Inicia el lloc web $ITEMNAME$",
"placeholders": {
"itemname": {
"content": "$1",
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "El vostre navegador web no admet la còpia fàcil del porta-retalls. Copieu-ho manualment."
},
- "verifyIdentity": {
- "message": "Verifica identitat"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "No reconeixem aquest dispositiu. Introduïu el codi que us hem enviat al correu electrònic per verificar la identitat."
+ },
+ "continueLoggingIn": {
+ "message": "Continua l'inici de sessió"
},
"yourVaultIsLocked": {
"message": "La caixa forta està bloquejada. Comproveu la contrasenya mestra per continuar."
@@ -682,7 +696,7 @@
"message": "Temps d'espera de la caixa forta"
},
"vaultTimeout1": {
- "message": "Timeout"
+ "message": "Temps d'espera"
},
"lockNow": {
"message": "Bloqueja ara"
@@ -779,10 +793,10 @@
"message": "El vostre compte s'ha creat correctament. Ara ja podeu iniciar sessió."
},
"newAccountCreated2": {
- "message": "Your new account has been created!"
+ "message": "S'ha creat el vostre compte nou!"
},
"youHaveBeenLoggedIn": {
- "message": "You have been logged in!"
+ "message": "Heu iniciat sessió!"
},
"youSuccessfullyLoggedIn": {
"message": "Heu iniciat sessió correctament"
@@ -831,10 +845,10 @@
"message": "Bitwarden pot emmagatzemar i omplir codis de verificació en dos passos. Copieu i enganxeu la clau en aquest camp."
},
"totpHelperWithCapture": {
- "message": "Bitwarden can store and fill 2-step verification codes. Select the camera icon to take a screenshot of this website's authenticator QR code, or copy and paste the key into this field."
+ "message": "Bitwarden pot emmagatzemar i omplir codis de verificació en dos passos. Seleccioneu la icona de la càmera per fer una captura de pantalla del codi QR de l'autenticador d'aquest lloc web o copieu i enganxeu la clau en aquest camp."
},
"learnMoreAboutAuthenticators": {
- "message": "Learn more about authenticators"
+ "message": "Més informació sobre els autenticadors"
},
"copyTOTP": {
"message": "Copia la clau de l'autenticador (TOTP)"
@@ -843,7 +857,7 @@
"message": "Sessió tancada"
},
"loggedOutDesc": {
- "message": "You have been logged out of your account."
+ "message": "Heu tancat la sessió del compte."
},
"loginExpired": {
"message": "La vostra sessió ha caducat."
@@ -852,19 +866,34 @@
"message": "Inicia sessió"
},
"logInToBitwarden": {
- "message": "Log in to Bitwarden"
+ "message": "Inicia sessió a Bitwarden"
+ },
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
},
"restartRegistration": {
- "message": "Restart registration"
+ "message": "Reinicia el registre"
},
"expiredLink": {
- "message": "Expired link"
+ "message": "Enllaç caducat"
},
"pleaseRestartRegistrationOrTryLoggingIn": {
- "message": "Please restart registration or try logging in."
+ "message": "Reinicieu el registre o proveu d'iniciar sessió."
},
"youMayAlreadyHaveAnAccount": {
- "message": "You may already have an account"
+ "message": "És possible que ja tingueu un compte"
},
"logOutConfirmation": {
"message": "Segur que voleu tancar la sessió?"
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "S'ha produït un error inesperat."
},
@@ -888,10 +920,10 @@
"message": "L'inici de sessió en dues passes fa que el vostre compte siga més segur, ja que obliga a verificar el vostre inici de sessió amb un altre dispositiu, com ara una clau de seguretat, una aplicació autenticadora, un SMS, una trucada telefònica o un correu electrònic. Es pot habilitar l'inici de sessió en dues passes a la caixa forta web de bitwarden.com. Voleu visitar el lloc web ara?"
},
"twoStepLoginConfirmationContent": {
- "message": "Make your account more secure by setting up two-step login in the Bitwarden web app."
+ "message": "Fes que el vostre compte siga més segur configurant l'inici de sessió en dos passos a l'aplicació web de Bitwarden."
},
"twoStepLoginConfirmationTitle": {
- "message": "Continue to web app?"
+ "message": "Continua cap a l'aplicació web?"
},
"editedFolder": {
"message": "Carpeta guardada"
@@ -978,7 +1010,7 @@
"message": "Demana d'afegir els inicis de sessió"
},
"vaultSaveOptionsTitle": {
- "message": "Save to vault options"
+ "message": "Opcions de guardar a la caixa forta"
},
"addLoginNotificationDesc": {
"message": "La \"Notificació per afegir inicis de sessió\" demana automàticament que guardeu els nous inicis de sessió a la vostra caixa forta quan inicieu la sessió per primera vegada."
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Demana afegir un element si no se'n troba cap a la caixa forta. S'aplica a tots els comptes connectats."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Mostra sempre les targetes com a suggeriments d'emplenament automàtic a la vista de la caixa forta"
},
"showCardsCurrentTab": {
"message": "Mostra les targetes a la pàgina de pestanya"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Llista els elements de la targeta a la pàgina de pestanya per facilitar l'autoemplenat."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Mostra sempre les identitats com a suggeriments d'emplenament automàtic a la vista de la caixa forta"
},
"showIdentitiesCurrentTab": {
"message": "Mostra les identitats a la pàgina de pestanya"
@@ -1005,7 +1037,10 @@
"message": "Llista els elements d'identitat de la pestanya de la pàgina per facilitar l'autoemplenat."
},
"clickToAutofillOnVault": {
- "message": "Click items to autofill on Vault view"
+ "message": "Feu clic als elements per emplenar automàticament a la vista de la caixa forta"
+ },
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
},
"clearClipboard": {
"message": "Buida el porta-retalls",
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Guarda"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Demana d'actualitzar els inicis de sessió existents"
},
@@ -1084,10 +1169,6 @@
"message": "Clar",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solaritzat fosc",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exporta des de"
},
@@ -1098,7 +1179,7 @@
"message": "Format de fitxer"
},
"fileEncryptedExportWarningDesc": {
- "message": "This file export will be password protected and require the file password to decrypt."
+ "message": "Aquesta exportació de fitxers estarà protegida amb contrasenya i requerirà la contrasenya del fitxer per desxifrar-la."
},
"filePassword": {
"message": "Contrasenya del fitxer"
@@ -1122,11 +1203,11 @@
"message": "\"Contrasenya del fitxer\" i \"Confirma contrasenya del fitxer\" no coincideixen."
},
"warning": {
- "message": "ADVERTIMENT",
+ "message": "AVÍS",
"description": "WARNING (should stay in capitalized letters if the language permits)"
},
"warningCapitalized": {
- "message": "Warning",
+ "message": "Advertència",
"description": "Warning (should maintain locale-relevant capitalization)"
},
"confirmVaultExport": {
@@ -1148,7 +1229,7 @@
"message": "Compartit"
},
"bitwardenForBusinessPageDesc": {
- "message": "Bitwarden for Business allows you to share your vault items with others by using an organization. Learn more on the bitwarden.com website."
+ "message": "Bitwarden per empreses us permet compartir els elements de la vostra caixa forta amb altres usuaris mitjançant una organització. Més informació al lloc web bitwarden.com."
},
"moveToOrganization": {
"message": "Desplaça a l'organització"
@@ -1206,7 +1287,7 @@
"message": "Fitxer"
},
"fileToShare": {
- "message": "File to share"
+ "message": "Fitxer per compartir"
},
"selectFile": {
"message": "Seleccioneu un fitxer"
@@ -1242,7 +1323,7 @@
"message": "1 GB d'emmagatzematge xifrat per als fitxers adjunts."
},
"premiumSignUpEmergency": {
- "message": "Emergency access."
+ "message": "Accés d’emergència."
},
"premiumSignUpTwoStepOptions": {
"message": "Opcions propietàries de doble factor com ara YubiKey i Duo."
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Compra Premium"
},
- "premiumPurchaseAlert": {
- "message": "Podeu comprar la vostra subscripció a la caixa forta web de bitwarden.com. Voleu visitar el lloc web ara?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1287,7 +1365,7 @@
}
},
"premiumPriceV2": {
- "message": "All for just $PRICE$ per year!",
+ "message": "Tot per només per $PRICE$ a l'any!",
"placeholders": {
"price": {
"content": "$1",
@@ -1317,10 +1395,10 @@
"message": "Introduïu el codi de verificació de 6 dígits de l'aplicació autenticadora."
},
"authenticationTimeout": {
- "message": "Authentication timeout"
+ "message": "Temps d'espera d'autenticació"
},
"authenticationSessionTimedOut": {
- "message": "The authentication session timed out. Please restart the login process."
+ "message": "La sessió d'autenticació s'ha esgotat. Reinicieu el procés d'inici de sessió."
},
"enterVerificationCodeEmail": {
"message": "Introduïu el codi de verificació de 6 dígits que s'ha enviat per correu electrònic a $EMAIL$.",
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Recorda'm"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Envia el codi de verificació altra vegada"
},
"useAnotherTwoStepMethod": {
"message": "Utilitzeu un altre mètode d'inici de sessió en dues passes"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Introduïu la vostra YubiKey al port USB de l'ordinador i, a continuació, premeu el seu botó."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Obri una pestanya nova"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Autenticar WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Inici de sessió no disponible"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Opcions d'inici de sessió en dues passes"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Heu perdut l'accés a tots els vostres proveïdors de dos factors? Utilitzeu el vostre codi de recuperació per desactivar tots els proveïdors de dos factors del vostre compte."
},
@@ -1390,7 +1490,7 @@
"description": "'Bitwarden Authenticator' is a product name and should not be translated."
},
"yubiKeyTitleV2": {
- "message": "Yubico OTP Security Key"
+ "message": "Clau de seguretat OTP de Yubico"
},
"yubiKeyDesc": {
"message": "Utilitzeu una YubiKey per accedir al vostre compte. Funciona amb els dispositius YubiKey 4, 4 Nano, 4C i NEO."
@@ -1413,19 +1513,16 @@
"message": "Correu electrònic"
},
"emailDescV2": {
- "message": "Enter a code sent to your email."
+ "message": "Introduïu el codi que us hem enviat al correu electrònic."
},
"selfHostedEnvironment": {
"message": "Entorn d'allotjament propi"
},
- "selfHostedEnvironmentFooter": {
- "message": "Especifiqueu l'URL base de la vostra instal·lació de Bitwarden allotjada en un entorn propi."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
"selfHostedCustomEnvHeader": {
- "message": "For advanced configuration, you can specify the base URL of each service independently."
+ "message": "Per a la configuració avançada, podeu especificar l'URL base de cada servei de manera independent."
},
"selfHostedEnvFormInvalid": {
"message": "You must add either the base Server URL or at least one custom environment."
@@ -1433,14 +1530,11 @@
"customEnvironment": {
"message": "Entorn personalitzat"
},
- "customEnvironmentFooter": {
- "message": "Per a usuaris avançats. Podeu especificar l'URL base de cada servei independentment."
- },
"baseUrl": {
"message": "URL del servidor"
},
"selfHostBaseUrl": {
- "message": "Self-host server URL",
+ "message": "URL del servidor autoallotjat",
"description": "Label for field requesting a self-hosted integration service URL"
},
"apiUrl": {
@@ -1466,10 +1560,10 @@
"description": "Represents the message for allowing the user to enable the autofill overlay"
},
"autofillSuggestionsSectionTitle": {
- "message": "Autofill suggestions"
+ "message": "Suggeriments d'emplenament automàtic"
},
"showInlineMenuLabel": {
- "message": "Show autofill suggestions on form fields"
+ "message": "Mostra suggeriments d'emplenament automàtic als camps del formulari"
},
"showInlineMenuIdentitiesLabel": {
"message": "Display identities as suggestions"
@@ -1478,10 +1572,10 @@
"message": "Display cards as suggestions"
},
"showInlineMenuOnIconSelectionLabel": {
- "message": "Display suggestions when icon is selected"
+ "message": "Mostra suggeriments quan la icona està seleccionada"
},
"showInlineMenuOnFormFieldsDescAlt": {
- "message": "Applies to all logged in accounts."
+ "message": "S'aplica a tots els comptes connectats."
},
"turnOffBrowserBuiltInPasswordManagerSettings": {
"message": "Desactiveu la configuració integrada del gestor de contrasenyes del vostre navegador per evitar conflictes."
@@ -1502,7 +1596,7 @@
"description": "Overlay appearance select option for showing the field on click of the overlay icon"
},
"enableAutoFillOnPageLoadSectionTitle": {
- "message": "Autofill on page load"
+ "message": "Emplenament automàtic a la càrrega de la pàgina"
},
"enableAutoFillOnPageLoad": {
"message": "Habilita l'emplenament automàtic en carregar la pàgina"
@@ -1514,7 +1608,7 @@
"message": "Els llocs web compromesos o no fiables poden aprofitar-se de l'emplenament automàtic en carregar de la pàgina."
},
"learnMoreAboutAutofillOnPageLoadLinkText": {
- "message": "Learn more about risks"
+ "message": "Més informació sobre riscs"
},
"learnMoreAboutAutofill": {
"message": "Obteniu més informació sobre l'emplenament automàtic"
@@ -1544,13 +1638,13 @@
"message": "Obri la caixa forta a la barra lateral"
},
"commandAutofillLoginDesc": {
- "message": "Autofill the last used login for the current website"
+ "message": "Emplenament automàtic amb l'últim inici de sessió utilitzat per al lloc web actual"
},
"commandAutofillCardDesc": {
- "message": "Autofill the last used card for the current website"
+ "message": "Emplenament automàtic amb l'última targeta utilitzada per al lloc web actual"
},
"commandAutofillIdentityDesc": {
- "message": "Autofill the last used identity for the current website"
+ "message": "Emplenament automàtic amb l'última identitat utilitzada per al lloc web actual"
},
"commandGeneratePasswordDesc": {
"message": "Genera i copia una nova contrasenya aleatòria al porta-retalls."
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Arrossega per ordenar"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -1768,10 +1865,10 @@
"message": "Identitat"
},
"typeSshKey": {
- "message": "SSH key"
+ "message": "Clau SSH"
},
"newItemHeader": {
- "message": "New $TYPE$",
+ "message": "Nou $TYPE$",
"placeholders": {
"type": {
"content": "$1",
@@ -1780,7 +1877,7 @@
}
},
"editItemHeader": {
- "message": "Edit $TYPE$",
+ "message": "Edita $TYPE$",
"placeholders": {
"type": {
"content": "$1",
@@ -1789,7 +1886,7 @@
}
},
"viewItemHeader": {
- "message": "View $TYPE$",
+ "message": "Mostra $TYPE$",
"placeholders": {
"type": {
"content": "$1",
@@ -1801,13 +1898,13 @@
"message": "Historial de les contrasenyes"
},
"generatorHistory": {
- "message": "Generator history"
+ "message": "Historial del generador"
},
"clearGeneratorHistoryTitle": {
- "message": "Clear generator history"
+ "message": "Neteja l'historial del generador"
},
"cleargGeneratorHistoryDescription": {
- "message": "If you continue, all entries will be permanently deleted from generator's history. Are you sure you want to continue?"
+ "message": "Si continueu, totes les entrades se suprimiran permanentment de l'historial del generador. Esteu segur que voleu continuar?"
},
"back": {
"message": "Arrere"
@@ -1816,7 +1913,7 @@
"message": "Col·leccions"
},
"nCollections": {
- "message": "$COUNT$ collections",
+ "message": "$COUNT$ col·leccions",
"placeholders": {
"count": {
"content": "$1",
@@ -1846,7 +1943,7 @@
"message": "Notes segures"
},
"sshKeys": {
- "message": "SSH Keys"
+ "message": "Claus SSH"
},
"clear": {
"message": "Esborra",
@@ -1872,7 +1969,7 @@
"description": "Domain name. Ex. website.com"
},
"baseDomainOptionRecommended": {
- "message": "Base domain (recommended)",
+ "message": "Domini base (recomanat)",
"description": "Domain name. Ex. website.com"
},
"domainName": {
@@ -1926,10 +2023,10 @@
"message": "No hi ha cap contrasenya a llistar."
},
"clearHistory": {
- "message": "Clear history"
+ "message": "Neteja l'historial"
},
"nothingToShow": {
- "message": "Nothing to show"
+ "message": "Res a mostrar"
},
"nothingGeneratedRecently": {
"message": "You haven't generated anything recently"
@@ -1993,10 +2090,10 @@
"message": "Desbloqueja amb codi PIN"
},
"setYourPinTitle": {
- "message": "Set PIN"
+ "message": "Estableix el PIN"
},
"setYourPinButton": {
- "message": "Set PIN"
+ "message": "Estableix el PIN"
},
"setYourPinCode": {
"message": "Configureu el vostre codi PIN per desbloquejar Bitwarden. La configuració del PIN es restablirà si tanqueu la sessió definitivament."
@@ -2017,7 +2114,7 @@
"message": "Desbloqueja amb biomètrica"
},
"unlockWithMasterPassword": {
- "message": "Unlock with master password"
+ "message": "Desbloqueja amb contrasenya mestra"
},
"awaitDesktop": {
"message": "S’espera confirmació des de l’escriptori"
@@ -2029,7 +2126,7 @@
"message": "Bloqueja amb la contrasenya mestra en reiniciar el navegador"
},
"lockWithMasterPassOnRestart1": {
- "message": "Require master password on browser restart"
+ "message": "Sol·licita la contrasenya mestra en reiniciar el navegador"
},
"selectOneCollection": {
"message": "Heu d'escollir com a mínim una col·lecció."
@@ -2041,16 +2138,19 @@
"message": "Clona"
},
"passwordGenerator": {
- "message": "Password generator"
+ "message": "Generador de contrasenyes"
},
"usernameGenerator": {
- "message": "Username generator"
+ "message": "Generador de nom d'usuari"
+ },
+ "useThisEmail": {
+ "message": "Utilitza aquest correu"
},
"useThisPassword": {
- "message": "Use this password"
+ "message": "Utilitzeu aquesta contrasenya"
},
"useThisUsername": {
- "message": "Use this username"
+ "message": "Utilitzeu aquest nom d'usuari"
},
"securePasswordGenerated": {
"message": "Secure password generated! Don't forget to also update your password on the website."
@@ -2063,11 +2163,23 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Acció quan acabe el temps d'espera de la caixa forta"
},
"vaultTimeoutAction1": {
- "message": "Timeout action"
+ "message": "Acció després del temps d'espera"
+ },
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
},
"lock": {
"message": "Bloqueja",
@@ -2096,7 +2208,7 @@
"message": "Element restaurat"
},
"alreadyHaveAccount": {
- "message": "Already have an account?"
+ "message": "Ja teniu un compte?"
},
"vaultTimeoutLogOutConfirmation": {
"message": "En tancar la sessió s'eliminarà tot l'accés a la vostra caixa forta i es requerirà una autenticació en línia després del període de temps d'espera. Esteu segur que voleu utilitzar aquesta configuració?"
@@ -2108,7 +2220,7 @@
"message": "Ompli automàticament i guarda"
},
"fillAndSave": {
- "message": "Fill and save"
+ "message": "Ompli i guarda"
},
"autoFillSuccessAndSavedUri": {
"message": "Element emplenat automàticament i URI guardat"
@@ -2195,10 +2307,10 @@
"message": "Anul·la subscripció"
},
"atAnyTime": {
- "message": "at any time."
+ "message": "en qualsevol moment."
},
"byContinuingYouAgreeToThe": {
- "message": "By continuing, you agree to the"
+ "message": "En continuar, acceptes el"
},
"and": {
"message": "i"
@@ -2324,6 +2436,12 @@
"message": "Dominis",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Dominis bloquejats"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Dominis exclosos"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden no demanarà que es guarden les dades d'inici de sessió d'aquests dominis per a tots els comptes iniciats. Heu d'actualitzar la pàgina perquè els canvis tinguen efecte."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Canvieu-ho a la configuració"
+ },
+ "change": {
+ "message": "Canvia"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Descarta"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2376,7 +2609,7 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendDetails": {
- "message": "Detalls de l'enviament",
+ "message": "Detalls del Send",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendTypeText": {
@@ -2393,7 +2626,7 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"hideTextByDefault": {
- "message": "Ocultar el text per defecte"
+ "message": "Amaga el text per defecte"
},
"expired": {
"message": "Caducat"
@@ -2440,7 +2673,7 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"deleteSendPermanentConfirmation": {
- "message": "Are you sure you want to permanently delete this Send?",
+ "message": "Esteu segur que voleu suprimir permanentment aquest Send?",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"editSend": {
@@ -2451,7 +2684,7 @@
"message": "Data de supressió"
},
"deletionDateDescV2": {
- "message": "L'enviament s'esborrarà permanentment en aquesta data.",
+ "message": "El Send se suprimirà permanentment en aquesta data.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"expirationDate": {
@@ -2496,7 +2729,7 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"createdSendSuccessfully": {
- "message": "Send created successfully!",
+ "message": "Send creat correctament!",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendExpiresInHoursSingle": {
@@ -2589,7 +2822,7 @@
"message": "Es requereix verificació del correu electrònic"
},
"emailVerifiedV2": {
- "message": "Email verified"
+ "message": "Correu electrònic verificat"
},
"emailVerificationRequiredDesc": {
"message": "Heu de verificar el correu electrònic per utilitzar aquesta característica. Podeu verificar el vostre correu electrònic a la caixa forta web."
@@ -2631,7 +2864,7 @@
"description": "Used as a card title description on the set password page to explain why the user is there"
},
"cardMetrics": {
- "message": "out of $TOTAL$",
+ "message": "de $TOTAL$",
"placeholders": {
"total": {
"content": "$1",
@@ -2775,10 +3008,10 @@
}
},
"exportingOrganizationVaultTitle": {
- "message": "Exporting organization vault"
+ "message": "S'està exportant la caixa forta de l’organització"
},
"exportingOrganizationVaultDesc": {
- "message": "Only the organization vault associated with $ORGANIZATION$ will be exported. Items in individual vaults or other organizations will not be included.",
+ "message": "Només s'exportarà la caixa forta de l'organització associada a $ORGANIZATION$. No s'inclouran els elements de les caixes fortes individuals ni d'altres organitzacions.",
"placeholders": {
"organization": {
"content": "$1",
@@ -2789,14 +3022,28 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Error de desxifrat"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden no ha pogut desxifrar els elements de la caixa forta que s'indiquen a continuació."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contacteu amb el servei d'atenció al client",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "per evitar la pèrdua de dades addicionals.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Genera un nom d'usuari"
},
"generateEmail": {
- "message": "Generate email"
+ "message": "Genera correu electrònic"
},
"spinboxBoundariesHint": {
- "message": "Value must be between $MIN$ and $MAX$.",
+ "message": "El valor ha d'estar entre $MIN$ i $MAX$.",
"description": "Explains spin box minimum and maximum values to the user",
"placeholders": {
"min": {
@@ -2810,7 +3057,7 @@
}
},
"passwordLengthRecommendationHint": {
- "message": " Use $RECOMMENDED$ characters or more to generate a strong password.",
+ "message": " Utilitzeu $RECOMMENDED$ caràcters o més per generar una contrasenya segura.",
"description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).",
"placeholders": {
"recommended": {
@@ -2820,7 +3067,7 @@
}
},
"passphraseNumWordsRecommendationHint": {
- "message": " Use $RECOMMENDED$ words or more to generate a strong passphrase.",
+ "message": " Utilitzeu $RECOMMENDED$ paraules o més per generar una frase de pas segura.",
"description": "Appended to `spinboxBoundariesHint` to recommend a number of words to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).",
"placeholders": {
"recommended": {
@@ -2861,7 +3108,7 @@
"message": "Genera un àlies de correu electrònic amb un servei de reenviament extern."
},
"forwarderDomainName": {
- "message": "Email domain",
+ "message": "Domini del correu electrònic",
"description": "Labels the domain name email forwarder service option"
},
"forwarderDomainNameHint": {
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "La configuració s'ha editat"
- },
- "environmentEditedClick": {
- "message": "Feu clic ací"
- },
- "environmentEditedReset": {
- "message": "per restablir els paràmetres preconfigurats"
- },
"serverVersion": {
"message": "Versió del servidor"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Inici de sessió amb contrasenya mestra"
},
- "loggingInAs": {
- "message": "Has iniciat sessió com"
- },
- "notYou": {
- "message": "No sou vosaltres?"
- },
"newAroundHere": {
"message": "Nou per ací?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Inici de sessió amb dispositiu"
},
- "loginWithDeviceEnabledInfo": {
- "message": "L'inici de sessió amb el dispositiu ha d'estar activat a la configuració de l'aplicació Bitwarden. Necessiteu una altra opció?"
- },
"fingerprintPhraseHeader": {
"message": "Frase d'empremta digital"
},
@@ -3068,29 +3321,35 @@
"message": "Torna a enviar la notificació"
},
"viewAllLogInOptions": {
- "message": "View all log in options"
- },
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
+ "message": "Veure totes les opcions d'inici de sessió"
},
"notificationSentDevice": {
"message": "S'ha enviat una notificació al vostre dispositiu."
},
- "aNotificationWasSentToYourDevice": {
- "message": "A notification was sent to your device"
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
+ "notificationSentDeviceAnchor": {
+ "message": "aplicació web"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
+ "aNotificationWasSentToYourDevice": {
+ "message": "S'ha enviat una notificació al vostre dispositiu"
},
"youWillBeNotifiedOnceTheRequestIsApproved": {
- "message": "You will be notified once the request is approved"
+ "message": "Se us notificarà un vegada s'haja aprovat la sol·licitud"
},
"needAnotherOptionV1": {
- "message": "Need another option?"
+ "message": "Necessiteu una altra opció?"
},
"loginInitiated": {
"message": "S'ha iniciat la sessió"
},
+ "logInRequestSent": {
+ "message": "Sol·licitud enviada"
+ },
"exposedMasterPassword": {
"message": "Contrasenya mestra exposada"
},
@@ -3146,22 +3405,22 @@
"message": "Configuració d'emplenament automàtic"
},
"autofillKeyboardShortcutSectionTitle": {
- "message": "Autofill shortcut"
+ "message": "Drecera d'emplenament automàtic"
},
"autofillKeyboardShortcutUpdateLabel": {
- "message": "Change shortcut"
+ "message": "Canvia la drecera"
},
"autofillKeyboardManagerShortcutsLabel": {
- "message": "Manage shortcuts"
+ "message": "Gestiona les dreceres"
},
"autofillShortcut": {
"message": "Drecera de teclat d'emplenament automàtic"
},
"autofillLoginShortcutNotSet": {
- "message": "The autofill login shortcut is not set. Change this in the browser's settings."
+ "message": "La drecera d'inici de sessió no està configurada. Canvieu-ho a la configuració del navegador."
},
"autofillLoginShortcutText": {
- "message": "The autofill login shortcut is $COMMAND$. Manage all shortcuts in the browser's settings.",
+ "message": "La drecera d'emplenament automàtic és $COMMAND$. Gestioneu totes les dreceres a la configuració del navegador.",
"placeholders": {
"command": {
"content": "$1",
@@ -3205,32 +3464,29 @@
"requestAdminApproval": {
"message": "Sol·liciteu l'aprovació de l'administrador"
},
- "approveWithMasterPassword": {
- "message": "Aprova amb contrasenya mestra"
- },
"ssoIdentifierRequired": {
"message": "Es requereix un identificador SSO de l'organització."
},
"creatingAccountOn": {
- "message": "Creating account on"
+ "message": "Creant compte en"
},
"checkYourEmail": {
- "message": "Check your email"
+ "message": "Comprova el correu"
},
"followTheLinkInTheEmailSentTo": {
- "message": "Follow the link in the email sent to"
+ "message": "Seguiu l'enllaç del correu electrònic enviat a"
},
"andContinueCreatingYourAccount": {
- "message": "and continue creating your account."
+ "message": "i continua creant el compte."
},
"noEmail": {
- "message": "No email?"
+ "message": "Sense correu electrònic?"
},
"goBack": {
"message": "Torna arrere"
},
"toEditYourEmailAddress": {
- "message": "to edit your email address."
+ "message": "per editar l'adreça de correu electrònic."
},
"eu": {
"message": "UE",
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "La vostra sol·licitud s'ha enviat a l'administrador."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Se us notificarà una vegada aprovat."
- },
"troubleLoggingIn": {
"message": "Teniu problemes per iniciar la sessió?"
},
@@ -3273,11 +3526,11 @@
"message": "Dispositiu de confiança"
},
"sendsNoItemsTitle": {
- "message": "No active Sends",
+ "message": "No hi ha Sends actius",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendsNoItemsMessage": {
- "message": "Use Send to securely share encrypted information with anyone.",
+ "message": "Utilitzeu Send per compartir informació xifrada de manera segura amb qualsevol persona.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"inputRequired": {
@@ -3354,10 +3607,10 @@
}
},
"singleFieldNeedsAttention": {
- "message": "1 field needs your attention."
+ "message": "1 camp necessita la vostra atenció."
},
"multipleFieldsNeedAttention": {
- "message": "$COUNT$ fields need your attention.",
+ "message": "$COUNT$ camps necessiten la vostra atenció.",
"placeholders": {
"count": {
"content": "$1",
@@ -3396,38 +3649,6 @@
"message": "Redueix/Amplia",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Voleu importar les vostres dades a Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protegiu les vostres dades de LastPass i importeu-les a Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Guarda com a fitxer sense xifrar",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importa a Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "S'està important...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Les dades s'han importat correctament!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "S'ha produït un error en importar. Consulteu la consola per obtenir més informació.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "S'ha trobat un error de xarxa durant la importació.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alies de domini"
},
@@ -3444,7 +3665,7 @@
"description": "Message appearing below the autofill on load message when master password reprompt is set for a vault item."
},
"toggleSideNavigation": {
- "message": "Toggle side navigation"
+ "message": "Canvia a la navegació lateral"
},
"skipToContent": {
"message": "Vés al contingut"
@@ -3506,7 +3727,7 @@
"description": "Screen reader text (aria-label) for new item button in overlay"
},
"newLogin": {
- "message": "New login",
+ "message": "Inici de sessió nou",
"description": "Button text to display within inline menu when there are no matching items on a login field"
},
"addNewLoginItemAria": {
@@ -3522,7 +3743,7 @@
"description": "Screen reader text (aria-label) for new card button within inline menu"
},
"newIdentity": {
- "message": "New identity",
+ "message": "Identitat nova",
"description": "Button text to display within inline menu when there are no matching items on an identity field"
},
"addNewIdentityItemAria": {
@@ -3616,7 +3837,7 @@
}
},
"duoHealthCheckResultsInNullAuthUrlError": {
- "message": "Error connecting with the Duo service. Use a different two-step login method or contact Duo for assistance."
+ "message": "S'ha produït un error en connectar amb el servei Duo. Utilitzeu un mètode d'inici de sessió en dos passos diferent o poseu-vos en contacte amb Duo per obtenir ajuda."
},
"launchDuoAndFollowStepsToFinishLoggingIn": {
"message": "Inicieu DUO i seguiu els passos per finalitzar la sessió."
@@ -3711,10 +3932,10 @@
"message": "Clau de pas"
},
"accessing": {
- "message": "Accessing"
+ "message": "Accedint a"
},
"loggedInExclamation": {
- "message": "Logged in!"
+ "message": "Connectat!"
},
"passkeyNotCopied": {
"message": "La clau de pas no es copiarà"
@@ -3726,7 +3947,7 @@
"message": "Verificació requerida pel lloc iniciador. Aquesta funció encara no s'ha implementat per als comptes sense contrasenya mestra."
},
"logInWithPasskeyQuestion": {
- "message": "Log in with passkey?"
+ "message": "Inici de sessió amb clau de pas?"
},
"passkeyAlreadyExists": {
"message": "Ja hi ha una clau de pas per a aquesta aplicació."
@@ -3741,7 +3962,7 @@
"message": "No matching logins for this site"
},
"searchSavePasskeyNewLogin": {
- "message": "Search or save passkey as new login"
+ "message": "Cerca o guarda la clau de pas com a nou inici de sessió"
},
"confirm": {
"message": "Confirma-ho"
@@ -3753,7 +3974,7 @@
"message": "Guarda la clau de pas com a nou inici de sessió"
},
"chooseCipherForPasskeySave": {
- "message": "Choose a login to save this passkey to"
+ "message": "Trieu un inici de sessió per guardar aquesta clau de pas"
},
"chooseCipherForPasskeyAuth": {
"message": "Choose a passkey to log in with"
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Activa el compte"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Comptes disponibles"
},
@@ -3902,11 +4126,11 @@
"description": "Label indicating the most common import formats"
},
"confirmContinueToBrowserSettingsTitle": {
- "message": "Continue to browser settings?",
+ "message": "Voleu continuar a la configuració del navegador?",
"description": "Title for dialog which asks if the user wants to proceed to a relevant browser settings page"
},
"confirmContinueToHelpCenter": {
- "message": "Continue to Help Center?",
+ "message": "Voleu continuar cap al Centre d'ajuda?",
"description": "Title for dialog which asks if the user wants to proceed to a relevant Help Center page"
},
"confirmContinueToHelpCenterPasswordManagementContent": {
@@ -3954,7 +4178,7 @@
"description": "Notification message for when saving credentials has succeeded."
},
"passwordSaved": {
- "message": "Password saved!",
+ "message": "Contrasenya guardada!",
"description": "Notification message for when saving credentials has succeeded."
},
"updateCipherAttemptSuccess": {
@@ -3962,7 +4186,7 @@
"description": "Notification message for when updating credentials has succeeded."
},
"passwordUpdated": {
- "message": "Password updated!",
+ "message": "Contrasenya actualitzada!",
"description": "Notification message for when updating credentials has succeeded."
},
"saveCipherAttemptFailed": {
@@ -3979,22 +4203,25 @@
"message": "Clau de pas suprimida"
},
"autofillSuggestions": {
- "message": "Autofill suggestions"
+ "message": "Suggeriments d'emplenament automàtic"
+ },
+ "itemSuggestions": {
+ "message": "Suggested items"
},
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
"yourVaultIsEmpty": {
- "message": "Your vault is empty"
+ "message": "La caixa forta està buida"
},
"noItemsMatchSearch": {
- "message": "No items match your search"
+ "message": "No s'ha trobat cap element que coincidisca amb la cerca"
},
"clearFiltersOrTryAnother": {
"message": "Clear filters or try another search term"
},
"copyInfoTitle": {
- "message": "Copy info - $ITEMNAME$",
+ "message": "Copia info - $ITEMNAME$",
"description": "Title for a button that opens a menu with options to copy information from an item.",
"placeholders": {
"itemname": {
@@ -4014,7 +4241,7 @@
}
},
"moreOptionsLabel": {
- "message": "More options, $ITEMNAME$",
+ "message": "Més opcions, $ITEMNAME$",
"description": "Aria label for a button that opens a menu with more options for an item.",
"placeholders": {
"itemname": {
@@ -4024,7 +4251,7 @@
}
},
"moreOptionsTitle": {
- "message": "More options - $ITEMNAME$",
+ "message": "Més opcions - $ITEMNAME$",
"description": "Title for a button that opens a menu with more options for an item.",
"placeholders": {
"itemname": {
@@ -4053,32 +4280,46 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
"assignToCollections": {
- "message": "Assign to collections"
+ "message": "Assigna a col·leccions"
},
"copyEmail": {
- "message": "Copy email"
+ "message": "Copia el correu electrònic"
},
"copyPhone": {
- "message": "Copy phone"
+ "message": "Copia telèfon"
},
"copyAddress": {
- "message": "Copy address"
+ "message": "Copia l'adreça"
},
"adminConsole": {
"message": "Consola d'administració"
},
"accountSecurity": {
- "message": "Account security"
+ "message": "Seguretat del compte"
},
"notifications": {
- "message": "Notifications"
+ "message": "Notificacions"
},
"appearance": {
- "message": "Appearance"
+ "message": "Aparença"
},
"errorAssigningTargetCollection": {
"message": "S'ha produït un error en assignar la col·lecció de destinació."
@@ -4087,7 +4328,7 @@
"message": "S'ha produït un error en assignar la carpeta de destinació."
},
"viewItemsIn": {
- "message": "View items in $NAME$",
+ "message": "Mostra elements en $NAME$",
"description": "Button to view the contents of a folder or collection",
"placeholders": {
"name": {
@@ -4097,7 +4338,7 @@
}
},
"backTo": {
- "message": "Back to $NAME$",
+ "message": "Torna a $NAME$",
"description": "Navigate back to a previous folder or collection",
"placeholders": {
"name": {
@@ -4110,7 +4351,7 @@
"message": "Nou"
},
"removeItem": {
- "message": "Remove $NAME$",
+ "message": "Suprimeix $NAME$",
"description": "Remove a selected option, such as a folder or collection",
"placeholders": {
"name": {
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Nom d'element"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4154,7 +4386,7 @@
"message": "Informació addicional"
},
"itemHistory": {
- "message": "Item history"
+ "message": "Historial d'elements"
},
"lastEdited": {
"message": "Última edició"
@@ -4166,19 +4398,19 @@
"message": "Enllaçat"
},
"copySuccessful": {
- "message": "Copy Successful"
+ "message": "Còpia correcta"
},
"upload": {
- "message": "Upload"
+ "message": "Puja"
},
"addAttachment": {
- "message": "Add attachment"
+ "message": "Afegeix adjunt"
},
"maxFileSizeSansPunctuation": {
- "message": "Maximum file size is 500 MB"
+ "message": "La mida màxima del fitxer és de 500 MB"
},
"deleteAttachmentName": {
- "message": "Delete attachment $NAME$",
+ "message": "Suprimeix adjunt $NAME$",
"placeholders": {
"name": {
"content": "$1",
@@ -4196,7 +4428,7 @@
}
},
"permanentlyDeleteAttachmentConfirmation": {
- "message": "Are you sure you want to permanently delete this attachment?"
+ "message": "Esteu segur que voleu suprimir definitivament aquest adjunt?"
},
"premium": {
"message": "Premium"
@@ -4208,7 +4440,7 @@
"message": "Filtres"
},
"filterVault": {
- "message": "Filter vault"
+ "message": "Filtra dades"
},
"filterApplied": {
"message": "One filter applied"
@@ -4304,16 +4536,16 @@
}
},
"autoFillOnPageLoad": {
- "message": "Autofill on page load?"
+ "message": "Habilita l'emplenament automàtic en carregar la pàgina?"
},
"cardExpiredTitle": {
- "message": "Expired card"
+ "message": "Targeta de crèdit caducada"
},
"cardExpiredMessage": {
"message": "If you've renewed it, update the card's information"
},
"cardDetails": {
- "message": "Card details"
+ "message": "Dades de la targeta"
},
"cardBrandDetails": {
"message": "$BRAND$ details",
@@ -4328,7 +4560,7 @@
"message": "Enable animations"
},
"showAnimations": {
- "message": "Show animations"
+ "message": "Mostra animacions"
},
"addAccount": {
"message": "Afig compte"
@@ -4340,15 +4572,15 @@
"message": "Dades"
},
"passkeys": {
- "message": "Passkeys",
+ "message": "Claus de pas",
"description": "A section header for a list of passkeys."
},
"passwords": {
- "message": "Passwords",
+ "message": "Contrasenyes",
"description": "A section header for a list of passwords."
},
"logInWithPasskeyAriaLabel": {
- "message": "Log in with passkey",
+ "message": "Inicieu sessió amb la clau de pas",
"description": "ARIA label for the inline menu button that logs in with a passkey."
},
"assign": {
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4493,22 +4728,13 @@
}
},
"successfullyAssignedCollections": {
- "message": "Successfully assigned collections"
+ "message": "Col·leccions assignades correctament"
},
"nothingSelected": {
- "message": "You have not selected anything."
- },
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
+ "message": "No heu seleccionat res."
},
"itemsMovedToOrg": {
- "message": "Items moved to $ORGNAME$",
+ "message": "S'han desplaçat elements a $ORGNAME$",
"placeholders": {
"orgname": {
"content": "$1",
@@ -4517,7 +4743,7 @@
}
},
"itemMovedToOrg": {
- "message": "Item moved to $ORGNAME$",
+ "message": "S'ha desplaçat un element a $ORGNAME$",
"placeholders": {
"orgname": {
"content": "$1",
@@ -4546,49 +4772,43 @@
"message": "Item Location"
},
"fileSend": {
- "message": "File Send"
+ "message": "Send de fitxer"
},
"fileSends": {
- "message": "File Sends"
+ "message": "Sends de fitxer"
},
"textSend": {
- "message": "Text Send"
+ "message": "Send de text"
},
"textSends": {
- "message": "Text Sends"
- },
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
+ "message": "Sends de text"
},
"accountActions": {
- "message": "Account actions"
+ "message": "Accions del compte"
},
"showNumberOfAutofillSuggestions": {
- "message": "Show number of login autofill suggestions on extension icon"
+ "message": "Mostra el nombre de suggeriments d'emplenament automàtic d'inici de sessió a la icona d'extensió"
},
"showQuickCopyActions": {
- "message": "Show quick copy actions on Vault"
+ "message": "Mostra accions de còpia ràpida a la caixa forta"
},
"systemDefault": {
- "message": "System default"
+ "message": "Per defecte del sistema"
},
"enterprisePolicyRequirementsApplied": {
- "message": "Enterprise policy requirements have been applied to this setting"
+ "message": "Els requisits de la política empresarial s'han aplicat a aquesta configuració"
},
"sshPrivateKey": {
- "message": "Private key"
+ "message": "Clau privada"
},
"sshPublicKey": {
- "message": "Public key"
+ "message": "Clau pública"
},
"sshFingerprint": {
- "message": "Fingerprint"
+ "message": "Empremta digital"
},
"sshKeyAlgorithm": {
- "message": "Key type"
+ "message": "Tipus de clau"
},
"sshKeyAlgorithmED25519": {
"message": "ED25519"
@@ -4603,10 +4823,10 @@
"message": "RSA 4096-Bit"
},
"retry": {
- "message": "Retry"
+ "message": "Torneu-ho a provar"
},
"vaultCustomTimeoutMinimum": {
- "message": "Minimum custom timeout is 1 minute."
+ "message": "El temps d'espera personalitzat mínim és d'1 minut."
},
"additionalContentAvailable": {
"message": "Additional content is available"
@@ -4615,10 +4835,10 @@
"message": "File saved to device. Manage from your device downloads."
},
"showCharacterCount": {
- "message": "Show character count"
+ "message": "Mostra el recompte de caràcters"
},
"hideCharacterCount": {
- "message": "Hide character count"
+ "message": "Amaga el recompte de caràcters"
},
"itemsInTrash": {
"message": "Items in trash"
@@ -4630,26 +4850,53 @@
"message": "Items you delete will appear here and be permanently deleted after 30 days"
},
"trashWarning": {
- "message": "Items that have been in trash more than 30 days will automatically be deleted"
+ "message": "Els elements que porten més de 30 dies a la paperera se suprimiran automàticament"
},
"restore": {
- "message": "Restore"
+ "message": "Restaura"
},
"deleteForever": {
- "message": "Delete forever"
+ "message": "Suprimeix per sempre"
},
"noEditPermissions": {
- "message": "You don't have permission to edit this item"
+ "message": "No tens permisos per editar aquest fitxer"
+ },
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
},
"authenticating": {
- "message": "Authenticating"
+ "message": "S'està autenticant"
},
"fillGeneratedPassword": {
"message": "Fill generated password",
"description": "Heading for the password generator within the inline menu"
},
"passwordRegenerated": {
- "message": "Password regenerated",
+ "message": "Contrasenya regenerada",
"description": "Notification message for when a password has been regenerated"
},
"saveLoginToBitwarden": {
@@ -4657,11 +4904,11 @@
"description": "Confirmation message for saving a login to Bitwarden"
},
"spaceCharacterDescriptor": {
- "message": "Space",
+ "message": "Espai",
"description": "Represents the space key in screen reader content as a readable word"
},
"tildeCharacterDescriptor": {
- "message": "Tilde",
+ "message": "Accent",
"description": "Represents the ~ key in screen reader content as a readable word"
},
"backtickCharacterDescriptor": {
@@ -4669,7 +4916,7 @@
"description": "Represents the ` key in screen reader content as a readable word"
},
"exclamationCharacterDescriptor": {
- "message": "Exclamation mark",
+ "message": "Signe d'exclamació",
"description": "Represents the ! key in screen reader content as a readable word"
},
"atSignCharacterDescriptor": {
@@ -4681,7 +4928,7 @@
"description": "Represents the # key in screen reader content as a readable word"
},
"dollarSignCharacterDescriptor": {
- "message": "Dollar sign",
+ "message": "Signe del dòlar",
"description": "Represents the $ key in screen reader content as a readable word"
},
"percentSignCharacterDescriptor": {
@@ -4689,7 +4936,7 @@
"description": "Represents the % key in screen reader content as a readable word"
},
"caretCharacterDescriptor": {
- "message": "Caret",
+ "message": "Circumflex",
"description": "Represents the ^ key in screen reader content as a readable word"
},
"ampersandCharacterDescriptor": {
@@ -4697,23 +4944,23 @@
"description": "Represents the & key in screen reader content as a readable word"
},
"asteriskCharacterDescriptor": {
- "message": "Asterisk",
+ "message": "Asterisc",
"description": "Represents the * key in screen reader content as a readable word"
},
"parenLeftCharacterDescriptor": {
- "message": "Left parenthesis",
+ "message": "Parèntesi esquerre",
"description": "Represents the ( key in screen reader content as a readable word"
},
"parenRightCharacterDescriptor": {
- "message": "Right parenthesis",
+ "message": "Parèntesi dret",
"description": "Represents the ) key in screen reader content as a readable word"
},
"hyphenCharacterDescriptor": {
- "message": "Underscore",
+ "message": "Subratllat",
"description": "Represents the _ key in screen reader content as a readable word"
},
"underscoreCharacterDescriptor": {
- "message": "Hyphen",
+ "message": "Guió",
"description": "Represents the - key in screen reader content as a readable word"
},
"plusCharacterDescriptor": {
@@ -4725,19 +4972,19 @@
"description": "Represents the = key in screen reader content as a readable word"
},
"braceLeftCharacterDescriptor": {
- "message": "Left brace",
+ "message": "Clau esquerra",
"description": "Represents the { key in screen reader content as a readable word"
},
"braceRightCharacterDescriptor": {
- "message": "Right brace",
+ "message": "Clau dreta",
"description": "Represents the } key in screen reader content as a readable word"
},
"bracketLeftCharacterDescriptor": {
- "message": "Left bracket",
+ "message": "Claudàtor esquerra",
"description": "Represents the [ key in screen reader content as a readable word"
},
"bracketRightCharacterDescriptor": {
- "message": "Right bracket",
+ "message": "Claudàtor dret",
"description": "Represents the ] key in screen reader content as a readable word"
},
"pipeCharacterDescriptor": {
@@ -4745,7 +4992,7 @@
"description": "Represents the | key in screen reader content as a readable word"
},
"backSlashCharacterDescriptor": {
- "message": "Back slash",
+ "message": "Barra Invertida",
"description": "Represents the back slash key in screen reader content as a readable word"
},
"colonCharacterDescriptor": {
@@ -4753,7 +5000,7 @@
"description": "Represents the : key in screen reader content as a readable word"
},
"semicolonCharacterDescriptor": {
- "message": "Semicolon",
+ "message": "Punt i coma",
"description": "Represents the ; key in screen reader content as a readable word"
},
"doubleQuoteCharacterDescriptor": {
@@ -4765,23 +5012,23 @@
"description": "Represents the ' key in screen reader content as a readable word"
},
"lessThanCharacterDescriptor": {
- "message": "Less than",
+ "message": "Menor que",
"description": "Represents the < key in screen reader content as a readable word"
},
"greaterThanCharacterDescriptor": {
- "message": "Greater than",
+ "message": "Major que",
"description": "Represents the > key in screen reader content as a readable word"
},
"commaCharacterDescriptor": {
- "message": "Comma",
+ "message": "Coma",
"description": "Represents the , key in screen reader content as a readable word"
},
"periodCharacterDescriptor": {
- "message": "Period",
+ "message": "Punt",
"description": "Represents the . key in screen reader content as a readable word"
},
"questionCharacterDescriptor": {
- "message": "Question mark",
+ "message": "Signe d'interrogació",
"description": "Represents the ? key in screen reader content as a readable word"
},
"forwardSlashCharacterDescriptor": {
@@ -4789,22 +5036,22 @@
"description": "Represents the / key in screen reader content as a readable word"
},
"lowercaseAriaLabel": {
- "message": "Lowercase"
+ "message": "Minúscules"
},
"uppercaseAriaLabel": {
- "message": "Uppercase"
+ "message": "Majúscules"
},
"generatedPassword": {
- "message": "Generated password"
+ "message": "Contrasenya generada"
},
"compactMode": {
- "message": "Compact mode"
+ "message": "Mode compacte"
},
"beta": {
"message": "Beta"
},
"importantNotice": {
- "message": "Important notice"
+ "message": "Noticia important"
},
"setupTwoStepLogin": {
"message": "Set up two-step login"
@@ -4816,7 +5063,7 @@
"message": "You can set up two-step login as an alternative way to protect your account or change your email to one you can access."
},
"remindMeLater": {
- "message": "Remind me later"
+ "message": "Recorda-m'ho més tard"
},
"newDeviceVerificationNoticePageOneFormContent": {
"message": "Do you have reliable access to your email, $EMAIL$?",
@@ -4828,24 +5075,69 @@
}
},
"newDeviceVerificationNoticePageOneEmailAccessNo": {
- "message": "No, I do not"
+ "message": "No, jo no"
},
"newDeviceVerificationNoticePageOneEmailAccessYes": {
"message": "Yes, I can reliably access my email"
},
"turnOnTwoStepLogin": {
- "message": "Turn on two-step login"
+ "message": "Activa l'inici de sessió en dos passos"
},
"changeAcctEmail": {
"message": "Change account email"
},
"extensionWidth": {
- "message": "Extension width"
+ "message": "Amplada d'extensió"
},
"wide": {
- "message": "Wide"
+ "message": "Ample"
},
"extraWide": {
- "message": "Extra wide"
+ "message": "Extra ample"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/cs/messages.json b/apps/browser/src/_locales/cs/messages.json
index bcc7020ffb3..e106d371d57 100644
--- a/apps/browser/src/_locales/cs/messages.json
+++ b/apps/browser/src/_locales/cs/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Nápověda k hlavnímu heslu (volitelné)"
},
+ "passwordStrengthScore": {
+ "message": "Skóre síly hesla: $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Přidat se k organizaci"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Kopírovat poznámky"
},
+ "copy": {
+ "message": "Kopírovat",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Vyplnit",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Zadejte svou e-mailovou adresu, na kterou Vám zašleme nápovědu k heslu"
},
- "passwordHint": {
- "message": "Nápověda pro heslo"
- },
- "enterEmailToGetHint": {
- "message": "Zadejte e-mailovou adresu pro zaslání nápovědy k hlavnímu heslu."
- },
"getMasterPasswordHint": {
"message": "Zaslat nápovědu k hlavnímu heslu"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Upravit složku"
},
+ "editFolderWithName": {
+ "message": "Upravit složku: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Nová složka"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Vygenerovat heslovou frázi"
},
+ "passwordGenerated": {
+ "message": "Heslo bylo vygenerováno"
+ },
+ "passphraseGenerated": {
+ "message": "Heslová fráze byla vygenerována"
+ },
+ "usernameGenerated": {
+ "message": "Uživatelské jméno bylo vygenerováno"
+ },
+ "emailGenerated": {
+ "message": "E-mail byl vygenerován"
+ },
"regeneratePassword": {
"message": "Vygenerovat jiné heslo"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Délka"
},
- "uppercase": {
- "message": "Velká písmena (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Malá písmena (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Číslice (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Speciální znaky (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Zahrnout",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Zahrnout speciální znaky",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Počet slov"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Váš webový prohlížeč nepodporuje automatické kopírování do schránky. Musíte ho zkopírovat ručně."
},
- "verifyIdentity": {
- "message": "Ověřit identitu"
+ "verifyYourIdentity": {
+ "message": "Ověřte svou totožnost"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Toto zařízení nepoznáváme. Zadejte kód zaslaný na Váš e-mail pro ověření Vaší totožnosti."
+ },
+ "continueLoggingIn": {
+ "message": "Pokračovat v přihlášení"
},
"yourVaultIsLocked": {
"message": "Váš trezor je uzamčen. Pro pokračování musíte zadat hlavní heslo."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Přihlásit se do Bitwardenu"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Zadejte kód odeslaný na Váš e-mail"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Zadejte kód z Vaší ověřovací aplikace"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Stiskněte svůj YubiKey pro ověření"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Pro Váš účet je nutné dvoufázové přihlášení. Pro dokončení přihlášení postupujte podle následujících kroků."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Postupujte podle kroků níže pro dokončení přihlášení."
+ },
"restartRegistration": {
"message": "Restartovat registraci"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Ne"
},
+ "location": {
+ "message": "Umístění"
+ },
"unexpectedError": {
"message": "Vyskytla se neočekávaná chyba."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Požádá o přidání položky, pokud nebyla nalezena v trezoru. Platí pro všechny přihlášené účty."
},
- "showCardsInVaultView": {
- "message": "Zobrazit karty jako návrhy automatického vyplňování v zobrazení trezoru"
+ "showCardsInVaultViewV2": {
+ "message": "Vždy zobrazit karty jako návrhy automatického vyplňování v zobrazení trezoru"
},
"showCardsCurrentTab": {
"message": "Zobrazit platební karty na obrazovce Karta"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Pro snadné vyplnění zobrazí platební karty na obrazovce Karta."
},
- "showIdentitiesInVaultView": {
- "message": "Zobrazit identity jako návrhy automatického vyplňování v zobrazení trezoru"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Vždy zobrazit identity jako návrhy automatického vyplňování v zobrazení trezoru"
},
"showIdentitiesCurrentTab": {
"message": "Zobrazit identity na obrazovce Karta"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Klepněte na položky pro automatické vyplnění v zobrazení trezoru"
},
+ "clickToAutofill": {
+ "message": "Klepněte na položky v návrhu automatického vyplňování pro vyplnění"
+ },
"clearClipboard": {
"message": "Vymazat schránku",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Uložit"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ uloženo do Bitwardenu.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ aktualizováno v Bitwardenu.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Uložit jako nové přihlašovací údaje",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Aktualizovat přihlašovací údaje",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Uložit přihlašovací údaje?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Aktualizovat existující přihlašovací údaje?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Přihlašovací údaje byly uloženy",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Přihlašovací údaje byly aktualizovány",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Chyba při ukládání",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Ale ne! Nemohli jsme to uložit. Zkuste zadat podrobnosti ručně.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Zeptat se na aktualizaci existujícího přihlášení"
},
@@ -1084,10 +1169,6 @@
"message": "Světlý",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Tmavý (solarizovaný)",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exportovat z"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Zakoupit členství Premium"
},
- "premiumPurchaseAlert": {
- "message": "Prémiové členství můžete zakoupit na webové stránce bitwarden.com. Chcete tuto stránku nyní otevřít?"
- },
"premiumPurchaseAlertV2": {
"message": "Premium si můžete zakoupit v nastavení účtu ve webové aplikaci Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Zapamatovat mě"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Neptat se na tomto zařízení 30 dnů"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Znovu zaslat ověřovací kód na e-mail"
},
"useAnotherTwoStepMethod": {
"message": "Použít jinou metodu dvoufázového přihlášení"
},
+ "selectAnotherMethod": {
+ "message": "Vybrat jinou metodu",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Použít obnovovací kód"
+ },
"insertYubiKey": {
"message": "Vložte YubiKey do USB portu Vašeho počítače a stiskněte jeho tlačítko."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Otevřít novou kartu"
},
+ "openInNewTab": {
+ "message": "Otevřít v nové kartě"
+ },
"webAuthnAuthenticate": {
"message": "Ověřit WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Přečíst bezpečnostní klíč"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Čeká se na interakci s bezpečnostním klíčem..."
+ },
"loginUnavailable": {
"message": "Přihlášení není dostupné"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Volby dvoufázového přihlášení"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Vyberte metodu dvoufázového přihlášení"
+ },
"recoveryCodeDesc": {
"message": "Ztratili jste přístup ke všem nastaveným poskytovatelům dvoufázového přihlášení? Použijte obnovovací kód pro vypnutí dvoufázového přihlášení."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Vlastní hostované prostředí"
},
- "selfHostedEnvironmentFooter": {
- "message": "Zadejte základní URL adresu vlastní hostované aplikace Bitwarden."
- },
"selfHostedBaseUrlHint": {
"message": "Zadejte základní URL adresu Vaší vlastní hostované aplikace Bitwarden. Příklad: https://bitwarden.spolecnost.cz"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Vlastní prostředí"
},
- "customEnvironmentFooter": {
- "message": "Pro pokročilé uživatele. Můžete zadat základní URL adresu každé služby zvlášť."
- },
"baseUrl": {
"message": "URL serveru"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Přetáhnutím seřadíte"
},
+ "dragToReorder": {
+ "message": "Přesuňte tažením"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Generátor uživatelského jména"
},
+ "useThisEmail": {
+ "message": "Použít tento e-mail"
+ },
"useThisPassword": {
"message": "Použít toto heslo"
},
@@ -2063,12 +2163,24 @@
"message": "pro vytvoření silného jedinečného hesla",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Přizpůsobení trezoru"
+ },
"vaultTimeoutAction": {
"message": "Akce při vypršení časového limitu"
},
"vaultTimeoutAction1": {
"message": "Akce vypršení časového limitu"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Nové volby přizpůsobení"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Přizpůsobte si svůj trezor s rychlými kopírovacími akcemi, kompaktním režimem a dalším!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Zobrazit všechna nastavení vzhledu"
+ },
"lock": {
"message": "Zamknout",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domény",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blokované domény"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Zjistěte více o blokovaných doménách"
+ },
"excludedDomains": {
"message": "Vyloučené domény"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden nebude žádat o uložení přihlašovacích údajů pro tyto domény pro všechny přihlášené účty. Aby se změny projevily, musíte stránku obnovit."
},
+ "blockedDomainsDesc": {
+ "message": "Automatické vyplňování a další související funkce nebudou pro tyto webové stránky nabízeny. Aby se změny projevily, musíte stránku aktualizovat."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Automatické vyplňování je pro tuto stránku zablokováno."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Změňte to v nastavení"
+ },
+ "change": {
+ "message": "Změnit"
+ },
+ "changeButtonTitle": {
+ "message": "Změnit heslo - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Ohrožená hesla"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ Vás žádá o změnu 1 hesla, protože je v ohrožení.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ Vás žádá o změnu $COUNT$ hesel, protože jsou v ohrožení.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Vaše organizace Vás žádají o změnu $COUNT$ hesel, protože jsou v ohrožení.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Zkontrolovat a změnit jedno ohrožené heslo"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Zkontrolovat a změnit $COUNT$ ohrožených hesel",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Změnit ohrožená hesla rychleji"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Aktualizujte svá nastavení, abyste mohli rychle automaticky vyplňovat hesla a generovat nová hesla."
+ },
+ "reviewAtRiskLogins": {
+ "message": "Kontrola rizikových přihlášení"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Kontrola rizikových hesel"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Hesla Vaší organizace jsou ohrožena, protože jsou slabá, opakovaně používaná nebo odhalená.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Ilustrace seznamu přihlášení, která jsou riziková"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Rychle vygeneruje silné, unikátní heslo s nabídkou automatického vyplňování Bitwarden na rizikových stránkách.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Ilustrace nabídky automatického vyplňování Bitwarden zobrazující vygenerované heslo"
+ },
+ "updateInBitwarden": {
+ "message": "Aktualizovat v Bitwardenu"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden Vás poté požádá o aktualizaci hesla ve správci hesel.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Ilustrace oznámení v Bitwardenu, která uživatele vyzývá k aktualizaci přihlášení"
+ },
+ "turnOnAutofill": {
+ "message": "Zapnout automatické vyplňování"
+ },
+ "turnedOnAutofill": {
+ "message": "Automatické vyplňování bylo zapnuto"
+ },
+ "dismiss": {
+ "message": "Zavřít"
+ },
"websiteItemLabel": {
"message": "Webová stránka $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Změny v zablokovaných doménách byly uloženy"
+ },
"excludedDomainsSavedSuccess": {
"message": "Vyloučené změny domény byly uloženy"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Chyba"
},
+ "decryptionError": {
+ "message": "Chyba dešifrování"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden nemohl dešifrovat níže uvedené položky v trezoru."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Kontaktujte zákaznickou podporu,",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "abyste zabránili ztrátě dat.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Vygenerovat uživatelské jméno"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ odmítl Váš požadavek. Kontaktujte svého poskytovatele služeb o pomoc.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ odmítl Váš požadavek: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Nelze získat maskované ID e-mailového účtu $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Nastavení byla upravena"
- },
- "environmentEditedClick": {
- "message": "Klepněte zde"
- },
- "environmentEditedReset": {
- "message": "pro obnovení do přednastavených nastavení"
- },
"serverVersion": {
"message": "Verze serveru"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Přihlásit se pomocí hlavního hesla"
},
- "loggingInAs": {
- "message": "Přihlašování jako"
- },
- "notYou": {
- "message": "Nejste to Vy?"
- },
"newAroundHere": {
"message": "Jste tu noví?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Přihlásit se zařízením"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Přihlášení zařízením musí být nastaveno v aplikaci Bitwarden pro počítač. Potřebujete další volby?"
- },
"fingerprintPhraseHeader": {
"message": "Fráze otisku prstu"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Zobrazit všechny volby přihlášení"
},
- "viewAllLoginOptionsV1": {
- "message": "Zobrazit všechny volby přihlášení"
- },
"notificationSentDevice": {
"message": "Na Vaše zařízení bylo odesláno oznámení."
},
+ "notificationSentDevicePart1": {
+ "message": "Odemknout Bitwarden na Vašem zařízení nebo na"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "webová aplikace"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Před schválením se ujistěte, že fráze otisku prstu odpovídá frázi níže."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Na Vaše zařízení bylo odesláno oznámení"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Ujistěte se, že je Váš trezor odemčen a fráze otisku prstu se shodují s druhým zařízením"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Budete upozorněni, jakmile bude žádost schválena"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Bylo zahájeno přihlášení"
},
+ "logInRequestSent": {
+ "message": "Požadavek odeslán"
+ },
"exposedMasterPassword": {
"message": "Odhalené hlavní heslo"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Žádost o schválení správcem"
},
- "approveWithMasterPassword": {
- "message": "Schválit hlavním heslem"
- },
"ssoIdentifierRequired": {
"message": "Je vyžadován SSO identifikátor organizace."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Váš požadavek byl odeslán Vašemu správci."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Po schválení budete upozorněni."
- },
"troubleLoggingIn": {
"message": "Potíže s přihlášením?"
},
@@ -3396,38 +3649,6 @@
"message": "Přepnout sbalení",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Importovat data do Bitwardenu?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Chránit Vaše data LastPass a importovat do Bitwardenu?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Uložit jako nešifrovaný soubor",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importovat do Bitwardenu",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importování...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data byla úspěšně importována!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Chyba při importu. Podrobnosti naleznete v konzoli.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Při importu došlo k chybě sítě.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Doména aliasu"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktivní účet"
},
+ "bitwardenAccount": {
+ "message": "Účet Bitwarden"
+ },
"availableAccounts": {
"message": "Dostupné účty"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Návrhy automatického vyplňování"
},
+ "itemSuggestions": {
+ "message": "Navrhované položky"
+ },
"autofillSuggestionsTip": {
"message": "Uložit přihlašovací údaje pro tuto stránku do automatického vyplňování"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Kopírovat $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Žádné hodnoty ke zkopírování"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Název položky"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Nemůžete odebrat kolekce s oprávněními jen pro zobrazení: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organizace je deaktivována"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Změnit pořadí URI webové stránky. Použijte šipky pro posunutí položky nahoru nebo dolů."
+ },
"reorderFieldUp": {
"message": "$LABEL$ - přesunuto nahoru, pozice $INDEX$ z $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Nevybrali jste žádné položky."
},
- "movedItemsToOrg": {
- "message": "Vybrané položky přesunuty do $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Položky přesunuty do $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Sends s texty"
},
- "bitwardenNewLook": {
- "message": "Bitwarden má nový vzhled!"
- },
- "bitwardenNewLookDesc": {
- "message": "Je snazší a intuitivnější než kdy jindy automaticky vyplňovat a vyhledávat z karty trezor. Mrkněte se!"
- },
"accountActions": {
"message": "Činnosti účtu"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Nemáte oprávnění upravit tuto položku"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometrické odemknutí je nedostupné, protože je potřeba nejprve odemknout pomocí PIN nebo hesla."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometrické odemknutí je momentálně nedostupné."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometrické odemknutí není dostupné kvůli chybnému nastavení systémových souborů."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometrické odemknutí není dostupné kvůli chybnému nastavení systémových souborů."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometrické odemknutí není dostupné, protože je aplikace Bitwarden zavřena."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometrické odemknutí není dostupné, protože není povoleno pro $EMAIL$ v desktopové aplikaci Bitwarden.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometrické odemknutí je momentálně z neznámého důvodu nedostupné."
+ },
"authenticating": {
"message": "Ověřování"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra široký"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Zadané heslo není správné."
+ },
+ "importSshKey": {
+ "message": "Importovat"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Potvrdit heslo"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Zadejte heslo pro SSH klíč."
+ },
+ "enterSshKeyPassword": {
+ "message": "Zadejte heslo"
+ },
+ "invalidSshKey": {
+ "message": "SSH klíč je neplatný"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Typ SSH klíče není podporován"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Importovat klíč ze schránky"
+ },
+ "sshKeyImported": {
+ "message": "SSH klíč byl úspěšně importován"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Nemůžete odebrat kolekce s oprávněními jen pro zobrazení: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Aktualizujte aplikaci pro stolní počítač"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Chcete-li použít biometrické odemknutí, aktualizujte aplikaci pro stolní počítač nebo v nastavení vypněte odemknutí otiskem prstů."
+ },
+ "changeAtRiskPassword": {
+ "message": "Změnit ohrožené heslo"
}
}
diff --git a/apps/browser/src/_locales/cy/messages.json b/apps/browser/src/_locales/cy/messages.json
index 3bc85b10fb5..83d09d13273 100644
--- a/apps/browser/src/_locales/cy/messages.json
+++ b/apps/browser/src/_locales/cy/messages.json
@@ -3,11 +3,11 @@
"message": "Bitwarden"
},
"extName": {
- "message": "Bitwarden Password Manager",
+ "message": "Rheolydd cyfrineiriau Bitwarden",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
- "message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
+ "message": "Gartref, yn y gweithle, neu ar fynd, mae Bitwarden yn diogelu eich holl gyfrineiriau a gwybodaeth sensitif",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
@@ -20,7 +20,7 @@
"message": "Creu cyfrif"
},
"newToBitwarden": {
- "message": "New to Bitwarden?"
+ "message": "Newydd i Bitwarden?"
},
"logInWithPasskey": {
"message": "Log in with passkey"
@@ -29,7 +29,7 @@
"message": "Use single sign-on"
},
"welcomeBack": {
- "message": "Welcome back"
+ "message": "Croeso nôl"
},
"setAStrongPassword": {
"message": "Gosod cyfrinair cryf"
@@ -80,11 +80,20 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
"joinOrganizationName": {
- "message": "Join $ORGANIZATIONNAME$",
+ "message": "Ymuno â $ORGANIZATIONNAME$",
"placeholders": {
"organizationName": {
"content": "$1",
@@ -162,7 +171,7 @@
"message": "Copy fingerprint"
},
"copyCustomField": {
- "message": "Copy $FIELD$",
+ "message": "Copïo $FIELD$",
"placeholders": {
"field": {
"content": "$1",
@@ -171,13 +180,17 @@
}
},
"copyWebsite": {
- "message": "Copy website"
+ "message": "Copïo'r wefan"
},
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copïo",
+ "description": "Copy to clipboard"
+ },
"fill": {
- "message": "Fill",
+ "message": "Llenwi",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
},
"autoFill": {
@@ -203,7 +216,7 @@
"message": "Cynhyrchu cyfrinair (wedi'i gopïo)"
},
"copyElementIdentifier": {
- "message": "Copy custom field name"
+ "message": "Copïo enw maes addasedig"
},
"noMatchingLogins": {
"message": "No matching logins"
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Anfon awgrym o'ch prif gyfrinair"
},
@@ -310,19 +317,19 @@
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
},
"twoStepLogin": {
- "message": "Mewngofnodi dau agm"
+ "message": "Mewngofnodi dau gam"
},
"logOut": {
"message": "Allgofnodi"
},
"aboutBitwarden": {
- "message": "About Bitwarden"
+ "message": "Ynghylch Bitwarden"
},
"about": {
"message": "Ynghylch"
},
"moreFromBitwarden": {
- "message": "More from Bitwarden"
+ "message": "Mwy gan Bitwarden"
},
"continueToBitwardenDotCom": {
"message": "Continue to bitwarden.com?"
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Golygu ffolder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Ffolder newydd"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Ailgynhyrchu cyfrinair"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Hyd"
},
- "uppercase": {
- "message": "Priflythrennau (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Llythrennau bach (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Rhifau (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Nodau arbennig (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -499,13 +511,9 @@
"description": "Label for the password generator numbers checkbox"
},
"specialCharactersDescription": {
- "message": "Include special characters",
+ "message": "Cynnwys nodau arbennig",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Nifer o eiriau"
},
@@ -526,7 +534,7 @@
"message": "Isafswm nodau arbennig"
},
"avoidAmbiguous": {
- "message": "Avoid ambiguous characters",
+ "message": "Osgoi nodau amwys",
"description": "Label for the avoid ambiguous characters checkbox."
},
"generatorPolicyInEffect": {
@@ -576,7 +584,7 @@
"message": "Nodiadau"
},
"privateNote": {
- "message": "Private note"
+ "message": "Nodyn preifat"
},
"note": {
"message": "Nodyn"
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Dyw eich porwr gwe ddim yn cefnogi copïo drwy'r clipfwrdd yn hawdd. Copïwch â llaw yn lle."
},
- "verifyIdentity": {
- "message": "Gwirio'ch hunaniaeth"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Mae eich cell ar glo. Gwiriwch eich hunaniaeth i barhau."
@@ -779,7 +793,7 @@
"message": "Mae eich cyfrif newydd wedi cael ei greu! Gallwch bellach fewngofnodi."
},
"newAccountCreated2": {
- "message": "Your new account has been created!"
+ "message": "Mae eich cyfrif wedi cael ei greu!"
},
"youHaveBeenLoggedIn": {
"message": "You have been logged in!"
@@ -849,10 +863,25 @@
"message": "Mae eich sesiwn wedi dod i ben."
},
"logIn": {
- "message": "Log in"
+ "message": "Mewngofnodi"
},
"logInToBitwarden": {
- "message": "Log in to Bitwarden"
+ "message": "Mewngofnodi i Bitwarden"
+ },
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
},
"restartRegistration": {
"message": "Restart registration"
@@ -875,6 +904,9 @@
"no": {
"message": "Na"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clirio'r clipfwrdd",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Cadw"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Cadw fel manylion mewngofnodi newydd",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Golau",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Prynu aelodaeth uwch"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Fy nghofio i"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Anfon ebost â chod dilysu eto"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Rhowch eich YubiKey i mewn i borth USB eich cyfrifiadur, yna gwasgwch y botwm."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Agor tab newydd"
},
+ "openInNewTab": {
+ "message": "Agor mewn tab newydd"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Dewisiadau mewngofnodi dau gam"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Amgylchedd addasedig"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1553,7 +1647,7 @@
"message": "Autofill the last used identity for the current website"
},
"commandGeneratePasswordDesc": {
- "message": "Generate and copy a new random password to the clipboard"
+ "message": "Cynhyrchu a chopïo cyfrinair hap newydd i'r clipfwrdd"
},
"commandLockVaultDesc": {
"message": "Cloi'r gell"
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Testun"
},
@@ -1768,10 +1865,10 @@
"message": "Hunaniaeth"
},
"typeSshKey": {
- "message": "SSH key"
+ "message": "Allwedd SSH"
},
"newItemHeader": {
- "message": "New $TYPE$",
+ "message": "$TYPE$ newydd",
"placeholders": {
"type": {
"content": "$1",
@@ -1846,7 +1943,7 @@
"message": "Nodiadau diogel"
},
"sshKeys": {
- "message": "SSH Keys"
+ "message": "Allweddi SSH"
},
"clear": {
"message": "Clirio",
@@ -2041,16 +2138,19 @@
"message": "Clone"
},
"passwordGenerator": {
- "message": "Password generator"
+ "message": "Cynhyrchydd cyfrineiriau"
},
"usernameGenerator": {
- "message": "Username generator"
+ "message": "Cynhyrychydd enwau defnyddiwr"
+ },
+ "useThisEmail": {
+ "message": "Defnyddio'r ebost hwn"
},
"useThisPassword": {
- "message": "Use this password"
+ "message": "Defnyddio'r cyfrinair hwn"
},
"useThisUsername": {
- "message": "Use this username"
+ "message": "Defnyddio'r enw defnyddiwr hwn"
},
"securePasswordGenerated": {
"message": "Secure password generated! Don't forget to also update your password on the website."
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Cloi",
"description": "Verb form: to make secure or inaccessible by"
@@ -2096,7 +2208,7 @@
"message": "Item restored"
},
"alreadyHaveAccount": {
- "message": "Already have an account?"
+ "message": "Oes gennych chi gyfrif eisoes?"
},
"vaultTimeoutLogOutConfirmation": {
"message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?"
@@ -2108,7 +2220,7 @@
"message": "Llenwi'n awtomatig a chadw"
},
"fillAndSave": {
- "message": "Fill and save"
+ "message": "Llenwi a chadw"
},
"autoFillSuccessAndSavedUri": {
"message": "Item autofilled and URI saved"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Parthau wedi'u heithrio"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Gwall"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Cynhyrchu enw defnyddiwr"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Cliciwch yma"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Fersiwn y gweinydd"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Mewngofnodi â'ch prif gyfrinair"
},
- "loggingInAs": {
- "message": "Yn mewngofnodi fel"
- },
- "notYou": {
- "message": "Nid chi?"
- },
"newAroundHere": {
"message": "Ydych chi'n newydd?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Mewngofnodi â dyfais"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Ymadrodd unigryw"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trafferth mewngofnodi?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Hoffech chi fewnforio'ch data i Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Yn mewnforio...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Cafodd y data ei fewnforio'n llwyddiannus!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3506,7 +3727,7 @@
"description": "Screen reader text (aria-label) for new item button in overlay"
},
"newLogin": {
- "message": "New login",
+ "message": "Manylion mewngofnodi newydd",
"description": "Button text to display within inline menu when there are no matching items on a login field"
},
"addNewLoginItemAria": {
@@ -3514,7 +3735,7 @@
"description": "Screen reader text (aria-label) for new login button within inline menu"
},
"newCard": {
- "message": "New card",
+ "message": "Cerdyn newydd",
"description": "Button text to display within inline menu when there are no matching items on a credit card field"
},
"addNewCardItemAria": {
@@ -3522,7 +3743,7 @@
"description": "Screen reader text (aria-label) for new card button within inline menu"
},
"newIdentity": {
- "message": "New identity",
+ "message": "Hunaniaeth newydd",
"description": "Button text to display within inline menu when there are no matching items on an identity field"
},
"addNewIdentityItemAria": {
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Cyfrif gweithredol"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Cyfrifon ar gael"
},
@@ -3979,7 +4203,10 @@
"message": "Passkey removed"
},
"autofillSuggestions": {
- "message": "Autofill suggestions"
+ "message": "Awgrymiadau"
+ },
+ "itemSuggestions": {
+ "message": "Suggested items"
},
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4072,10 +4313,10 @@
"message": "Admin Console"
},
"accountSecurity": {
- "message": "Account security"
+ "message": "Diogelwch eich cyfrif"
},
"notifications": {
- "message": "Notifications"
+ "message": "Hysbysiadau"
},
"appearance": {
"message": "Golwg"
@@ -4107,7 +4348,7 @@
}
},
"new": {
- "message": "New"
+ "message": "Newydd"
},
"removeItem": {
"message": "Remove $NAME$",
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4403,7 +4635,7 @@
"message": "Edit field"
},
"editFieldLabel": {
- "message": "Edit $LABEL$",
+ "message": "Golygu $LABEL$",
"placeholders": {
"label": {
"content": "$1",
@@ -4412,7 +4644,7 @@
}
},
"deleteCustomField": {
- "message": "Delete $LABEL$",
+ "message": "Dileu $LABEL$",
"placeholders": {
"label": {
"content": "$1",
@@ -4421,7 +4653,7 @@
}
},
"fieldAdded": {
- "message": "$LABEL$ added",
+ "message": "Ychwanegwyd $LABEL$",
"placeholders": {
"label": {
"content": "$1",
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4579,16 +4799,16 @@
"message": "Enterprise policy requirements have been applied to this setting"
},
"sshPrivateKey": {
- "message": "Private key"
+ "message": "Allwedd breifat"
},
"sshPublicKey": {
- "message": "Public key"
+ "message": "Allwedd gyhoeddus"
},
"sshFingerprint": {
"message": "Fingerprint"
},
"sshKeyAlgorithm": {
- "message": "Key type"
+ "message": "Math o allwedd"
},
"sshKeyAlgorithmED25519": {
"message": "ED25519"
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4819,7 +5066,7 @@
"message": "Remind me later"
},
"newDeviceVerificationNoticePageOneFormContent": {
- "message": "Do you have reliable access to your email, $EMAIL$?",
+ "message": "A oes gennych chi fynediad dibynadwy i'ch ebost, $EMAIL$?",
"placeholders": {
"email": {
"content": "$1",
@@ -4828,10 +5075,10 @@
}
},
"newDeviceVerificationNoticePageOneEmailAccessNo": {
- "message": "No, I do not"
+ "message": "Nac oes"
},
"newDeviceVerificationNoticePageOneEmailAccessYes": {
- "message": "Yes, I can reliably access my email"
+ "message": "Oes, mae gen i fynediad dibynadwy i fy ebost"
},
"turnOnTwoStepLogin": {
"message": "Turn on two-step login"
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/da/messages.json b/apps/browser/src/_locales/da/messages.json
index 433cdebbb17..69c8b28d29a 100644
--- a/apps/browser/src/_locales/da/messages.json
+++ b/apps/browser/src/_locales/da/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Hovedadgangskodetip (valgfrit)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Bliv medlem af organisation"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Kopiér notater"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Udfyld",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Angiv kontoens e-mailadresse og få et adgangskodetip fremsendt"
},
- "passwordHint": {
- "message": "Adgangskodetip"
- },
- "enterEmailToGetHint": {
- "message": "Indtast din kontos e-mailadresse for at modtage dit hovedadgangskodetip."
- },
"getMasterPasswordHint": {
"message": "Få hovedadgangskodetip"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Redigér mappe"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Ny mappe"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generér adgangssætning"
},
+ "passwordGenerated": {
+ "message": "Adgangskode genereret"
+ },
+ "passphraseGenerated": {
+ "message": "Adgangssætning genereret"
+ },
+ "usernameGenerated": {
+ "message": "Brugernavn genereret"
+ },
+ "emailGenerated": {
+ "message": "E-mail genereret"
+ },
"regeneratePassword": {
"message": "Regenerér adgangskode"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Længde"
},
- "uppercase": {
- "message": "Store bogstaver (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Små bogstaver (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Tal (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Specialtegn (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Inkludér",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Inkludér specialtegn",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Antal ord"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Din webbrowser understøtter ikke udklipsholder kopiering. Kopiér det manuelt i stedet."
},
- "verifyIdentity": {
- "message": "Bekræft identitet"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Denne enhed er ikke genkendt. Angiv koden i den tilsendte e-mail for at bekræfte identiteten."
+ },
+ "continueLoggingIn": {
+ "message": "Fortsæt med at logge ind"
},
"yourVaultIsLocked": {
"message": "Din boks er låst. Bekræft din identitet for at fortsætte."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log ind på Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Genstart registrering"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Nej"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Der opstod en uventet fejl."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Anmod om at tilføje et emne, hvis intet ikke findes i boksen. Gælder alle indloggede konti."
},
- "showCardsInVaultView": {
- "message": "Vis kort som Autoudfyldningsforslag ved Boks-visning"
+ "showCardsInVaultViewV2": {
+ "message": "Vis altid kort som Autoudfyldningsforslag ved Boks-visning"
},
"showCardsCurrentTab": {
"message": "Vis kort på fanebladet"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Vis kortemner på siden Fane for nem autoudfyldning."
},
- "showIdentitiesInVaultView": {
- "message": "Vis identiteter som Autoudfyldningsforslag ved Boks-visning"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Vis altid identiteter som Autoudfyldningsforslag ved Boks-visning"
},
"showIdentitiesCurrentTab": {
"message": "Vis identiteter på fanebladet"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Klik på emner for at autoudfylde i Boks-visning"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Ryd udklipsholder",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Gem"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Bed om at opdatere eksisterende login"
},
@@ -1084,10 +1169,6 @@
"message": "Lys",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solariseret mørk",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Eksportér fra"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Køb premium"
},
- "premiumPurchaseAlert": {
- "message": "Du kan købe premium-medlemskab i bitwarden.com web-boksen. Vil du besøge hjemmesiden nu?"
- },
"premiumPurchaseAlertV2": {
"message": "Der kan købes Premium fra kontoindstillingerne via Bitwarden web-appen."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Husk mig"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verifikationskode-email igen"
},
"useAnotherTwoStepMethod": {
"message": "Brug en anden to-trins login metode"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Indsæt din YubiKey i din computers USB-port, og tryk derefter på dens knap."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Åbn ny fane"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Godkend WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login ikke tilgængelig"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "To-trins-login indstillinger"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Mistet adgang til alle dine to-faktor-udbydere? Brug din genoprettelseskode til at deaktivere alle to-faktor udbydere på din konto."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Selv-hosted miljø"
},
- "selfHostedEnvironmentFooter": {
- "message": "Angiv grund-URL'en i din lokal-hostede Bitwarden-installation."
- },
"selfHostedBaseUrlHint": {
"message": "Angiv basis-URL'en for den lokalt-hosted Bitwarden-installation. Eks.: https://bitwarden.firma.dk"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Brugerdefineret miljø"
},
- "customEnvironmentFooter": {
- "message": "Til avancerede brugere. Du kan angive grund-URL'en for hver service uafhængigt."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Træk for at sortere"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Tekst"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Brugernavngenerator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Anvend denne adgangskode"
},
@@ -2063,12 +2163,24 @@
"message": "til at oprette en stærk, unik adgangskode",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Boks timeout-handling"
},
"vaultTimeoutAction1": {
"message": "Timeouthandling"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lås",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domæner",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blokerede domæner"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Ekskluderede domæner"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden vil ikke anmode om at gemme login-detaljer for disse domæner for alle indloggede konti. Siden skal opfriskes for at effektuere ændringerne."
},
+ "blockedDomainsDesc": {
+ "message": "Autofyldning og andre relaterede funktioner tilbydes ikke på disse websteder. Siden skal opdateres for at effektuere ændringerne."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autoudfyldning blokeret for dette websted."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Ændr dette i Indstillinger"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Websted $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blokeret domæne-ændringer gemt"
+ },
"excludedDomainsSavedSuccess": {
"message": "Ekskluderet domæne-ændringer gemt"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Fejl"
},
+ "decryptionError": {
+ "message": "Dekrypteringsfejl"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden kunne ikke dekryptere boks-emne(r) anført nedenfor."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Kontakt kundeservice",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "for at undgå yderligere tab af data.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generér brugernavn"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Kan ikke få $SERVICENAME$ maskeret e-mailkonto-ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Indstillinger er blevet redigeret"
- },
- "environmentEditedClick": {
- "message": "Klik her"
- },
- "environmentEditedReset": {
- "message": "for at nulstille til forudkonfigurerede indstillinger"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log ind med hovedadgangskode"
},
- "loggingInAs": {
- "message": "Logger ind som"
- },
- "notYou": {
- "message": "Ikke dig?"
- },
"newAroundHere": {
"message": "Ny her?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log ind med enhed"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log ind med enhed skal være opsat i indstillingerne i Bitwarden mobil-appen. Behov for en anden mulighed?"
- },
"fingerprintPhraseHeader": {
"message": "Fingeraftrykssætning"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Vis alle indlogningsmuligheder"
},
- "viewAllLoginOptionsV1": {
- "message": "Vis alle indlogningsmuligheder"
- },
"notificationSentDevice": {
"message": "En notifikation er sendt til din enhed."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "En notifikation er sendt til enheden"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Sørg for, at boksen er oplåst, samt at fingeraftrykssætningen matcher på den anden enhed"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Man vil få besked, når anmodningen er godkendt"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Indlogning påbegyndt"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Kompromitteret hovedadgangskode"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Anmod om admin-godkendelse"
},
- "approveWithMasterPassword": {
- "message": "Godkend med hovedadgangskode"
- },
"ssoIdentifierRequired": {
"message": "Organisations SSO-identifikator kræves."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Anmodningen er sendt til din admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Du underrettes, når godkendelse foreligger."
- },
"troubleLoggingIn": {
"message": "Problemer med at logge ind?"
},
@@ -3396,38 +3649,6 @@
"message": "Fold sammen/ud",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Importér data til Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Beskyt LastPass-data og importér dem til Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Gem som ukrypteret fil",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importér til Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importerer...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data er nu importeret!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Fejl under import. Tjek konsollen for detaljer.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Netværksfejl opstod under import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Aliasdomæne"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktiv konto"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Tilgængelige konti"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autoudfyldningsforslag"
},
+ "itemSuggestions": {
+ "message": "Foreslåede emner"
+ },
"autofillSuggestionsTip": {
"message": "Gem et loginemne for dette websted til autoudfyldning"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Ingen værdier at kopiere"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Emnenavn"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Samlinger med kun tilladelsen Vis kan ikke fjernes: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organisation er deaktiveret"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ flyttet op, position $INDEX$ af $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Ingenting er valgt."
},
- "movedItemsToOrg": {
- "message": "Valgte emner flyttet til $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Emner flyttet til $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Tekst-Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden har fået et nyt look!"
- },
- "bitwardenNewLookDesc": {
- "message": "Det er lettere og mere intuitivt end nogensinde at autoudfylde og søge via fanen Boks. Tag et kig omkring!"
- },
"accountActions": {
"message": "Kontohandlinger"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Ingen tilladelse til at redigere dette emne"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometrisk oplåsning er utilgængelig, da PIN- eller adgangskode kræves først."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometrisk oplåsning er p.t. utilgængelig."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometrisk oplåsning er utilgængelig grundet fejlopsatte systemfiler."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometrisk oplåsning er utilgængelig grundet fejlopsatte systemfiler."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometrisk oplåsning er utilgængelig, da Bitwarden-appen er lukket."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometrisk oplåsning er utilgængelig, da det ikke er aktiveret for $EMAIL$ i Bitwarden computer-appen.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometrisk oplåsning er p.t. utilgængelig grundet en ukendt årsag."
+ },
"authenticating": {
"message": "Godkender"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Ekstra bred"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Samlinger med kun tilladelsen Vis kan ikke fjernes: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Opdatér venligst computerapplikationen"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "For brug af biometrisk oplåsning skal computerapplikationen opdateres eller fingeraftryksoplåsning deaktiveres i computerindstillingerne."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/de/messages.json b/apps/browser/src/_locales/de/messages.json
index 2fc5297205a..a7439db6432 100644
--- a/apps/browser/src/_locales/de/messages.json
+++ b/apps/browser/src/_locales/de/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master-Passwort-Hinweis (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Bewertung der Passwortstärke $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Organisation beitreten"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Notizen kopieren"
},
+ "copy": {
+ "message": "Kopieren",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Ausfüllen",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Gib deine E-Mail-Adresse ein und dein Passwort-Hinweis wird dir zugesandt"
},
- "passwordHint": {
- "message": "Passwort-Hinweis"
- },
- "enterEmailToGetHint": {
- "message": "Gib die E-Mail-Adresse deines Kontos ein, um den Hinweis für dein Master-Passwort zu erhalten."
- },
"getMasterPasswordHint": {
"message": "Hinweis zum Masterpasswort erhalten"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Ordner bearbeiten"
},
+ "editFolderWithName": {
+ "message": "Ordner bearbeiten: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Neuer Ordner"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Passphrase generieren"
},
+ "passwordGenerated": {
+ "message": "Passwort generiert"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generiert"
+ },
+ "usernameGenerated": {
+ "message": "Benutzername generiert"
+ },
+ "emailGenerated": {
+ "message": "E-Mail-Adresse generiert"
+ },
"regeneratePassword": {
"message": "Passwort neu generieren"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Länge"
},
- "uppercase": {
- "message": "Großbuchstaben (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Kleinbuchstaben (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Zahlen (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Sonderzeichen (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Einschließen",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Sonderzeichen einschließen",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Anzahl der Wörter"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Den Browser unterstützt das einfache Kopieren nicht. Bitte kopiere es manuell."
},
- "verifyIdentity": {
- "message": "Identität verifizieren"
+ "verifyYourIdentity": {
+ "message": "Verifiziere deine Identität"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Wir erkennen dieses Gerät nicht. Gib den an deine E-Mail-Adresse gesendeten Code ein, um deine Identität zu verifizieren."
+ },
+ "continueLoggingIn": {
+ "message": "Anmeldung fortsetzen"
},
"yourVaultIsLocked": {
"message": "Dein Tresor ist gesperrt. Verifiziere deine Identität, um fortzufahren."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Bei Bitwarden anmelden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Gib den an deine E-Mail-Adresse gesendeten Code ein"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Gib den Code aus deiner Authenticator-App ein"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Drücke zum Authentifizieren auf deinen YubiKey"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Die Duo-Zwei-Faktor-Authentifizierung ist für dein Konto erforderlich. Folge den Schritten unten, um die Anmeldung abzuschließen."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Folge den Schritten unten, um die Anmeldung abzuschließen."
+ },
"restartRegistration": {
"message": "Registrierung neu starten"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Nein"
},
+ "location": {
+ "message": "Standort"
+ },
"unexpectedError": {
"message": "Ein unerwarteter Fehler ist aufgetreten."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Nach dem Hinzufügen eines Eintrags fragen, wenn er nicht in deinem Tresor gefunden wurde. Gilt für alle angemeldeten Konten."
},
- "showCardsInVaultView": {
- "message": "Karten als Vorschläge zum Auto-Ausfüllen in der Tresor-Ansicht anzeigen"
+ "showCardsInVaultViewV2": {
+ "message": "Karten immer als Auto-Ausfüllen-Vorschläge in der Tresor-Ansicht anzeigen"
},
"showCardsCurrentTab": {
"message": "Karten auf Tab Seite anzeigen"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Karten-Einträge auf der Tab Seite anzeigen, um das Auto-Ausfüllen zu vereinfachen."
},
- "showIdentitiesInVaultView": {
- "message": "Identitäten als Vorschläge zum Auto-Ausfüllen in der Tresor-Ansicht anzeigen"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Identitäten immer als Auto-Ausfüllen-Vorschläge in der Tresor-Ansicht anzeigen"
},
"showIdentitiesCurrentTab": {
"message": "Identitäten auf Tab Seite anzeigen"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Klicke auf Einträge zum automatischen Ausfüllen in der Tresor-Ansicht"
},
+ "clickToAutofill": {
+ "message": "Klick auf Einträge im Auto-Ausfüllen-Vorschlag zum Ausfüllen"
+ },
"clearClipboard": {
"message": "Zwischenablage leeren",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Ja, jetzt speichern"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ in Bitwarden gespeichert.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ in Bitwarden aktualisiert.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Als neue Zugangsdaten speichern",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Zugangsdaten aktualisieren",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Zugangsdaten speichern?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Bestehende Zugangsdaten aktualisieren?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Zugangsdaten gespeichert",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Zugangsdaten aktualisiert",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Fehler beim Speichern",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh nein! Das konnten wir nicht speichern. Versuch, die Details manuell einzugeben.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Nach dem Aktualisieren bestehender Zugangsdaten fragen"
},
@@ -1084,10 +1169,6 @@
"message": "Hell",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized Dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export aus"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Premium-Mitgliedschaft kaufen"
},
- "premiumPurchaseAlert": {
- "message": "Du kannst deine Premium-Mitgliedschaft im Bitwarden.com Web-Tresor kaufen. Möchtest du die Website jetzt besuchen?"
- },
"premiumPurchaseAlertV2": {
"message": "Du kannst Premium über deine Kontoeinstellungen in der Bitwarden Web-App kaufen."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Angemeldet bleiben"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Für 30 Tage auf diesem Gerät nicht mehr fragen"
+ },
"sendVerificationCodeEmailAgain": {
"message": "E-Mail mit Bestätigungscode erneut versenden"
},
"useAnotherTwoStepMethod": {
"message": "Verwende eine andere zweistufige Login-Methode"
},
+ "selectAnotherMethod": {
+ "message": "Wähle eine andere Methode",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Verwende deinen Wiederherstellungscode"
+ },
"insertYubiKey": {
"message": "Stecke deinen YubiKey in den USB-Port Ihres Computers, dann berühre den Button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Neuen Tab öffnen"
},
+ "openInNewTab": {
+ "message": "In neuem Tab öffnen"
+ },
"webAuthnAuthenticate": {
"message": "Authentifiziere WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Sicherheitsschlüssel auslesen"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Warte auf Sicherheitsschlüssel-Interaktion..."
+ },
"loginUnavailable": {
"message": "Anmeldung nicht verfügbar"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Optionen für Zwei-Faktor-Authentifizierung"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Zwei-Faktor-Authentifizierungsmethode auswählen"
+ },
"recoveryCodeDesc": {
"message": "Zugang zu allen Zwei-Faktor Anbietern verloren? Benutze deinen Wiederherstellungscode, um alle Zwei-Faktor Anbieter in deinem Konto zu deaktivieren."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Selbst gehostete Umgebung"
},
- "selfHostedEnvironmentFooter": {
- "message": "Bitte gib die Basis-URL deiner selbst gehosteten Bitwarden-Installation an."
- },
"selfHostedBaseUrlHint": {
"message": "Gib die Basis-URL deiner vor Ort gehosteten Bitwarden-Installation an. Beispiel: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Benutzerdefinierte Umgebung"
},
- "customEnvironmentFooter": {
- "message": "Für fortgeschrittene Benutzer. Du kannst die Basis-URL der jeweiligen Dienste unabhängig voneinander festlegen."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Zum Sortieren ziehen"
},
+ "dragToReorder": {
+ "message": "Ziehen zum Umsortieren"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Benutzernamen-Generator"
},
+ "useThisEmail": {
+ "message": "Diese E-Mail-Adresse verwenden"
+ },
"useThisPassword": {
"message": "Dieses Passwort verwenden"
},
@@ -2063,12 +2163,24 @@
"message": ", um ein starkes einzigartiges Passwort zu erstellen",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Tresor-Personalisierung"
+ },
"vaultTimeoutAction": {
"message": "Aktion bei Tresor-Timeout"
},
"vaultTimeoutAction1": {
"message": "Timeout-Aktion"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Neue Personalisierungs-Optionen"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Personalisiere deinen Tresor mit Schnellkopier-Aktionen, Kompaktmodus und mehr!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Alle Aussehen-Einstellungen anzeigen"
+ },
"lock": {
"message": "Sperren",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Gesperrte Domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Erfahre mehr über blockierte Domains"
+ },
"excludedDomains": {
"message": "Ausgeschlossene Domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden wird für alle angemeldeten Konten nicht danach fragen Zugangsdaten für diese Domains speichern. Du musst die Seite neu laden, damit die Änderungen wirksam werden."
},
+ "blockedDomainsDesc": {
+ "message": "Automatisches Ausfüllen und andere zugehörige Funktionen werden für diese Webseiten nicht angeboten. Du musst die Seite neu laden, damit die Änderungen wirksam werden."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Automatisches Ausfüllen ist für diese Website gesperrt."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Dies in den Einstellungen ändern"
+ },
+ "change": {
+ "message": "Ändern"
+ },
+ "changeButtonTitle": {
+ "message": "Passwort ändern - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Gefährdete Passwörter"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ fordert dich auf, ein Passwort zu ändern, da es gefährdet ist.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ fordert dich auf, diese $COUNT$ Passwörter zu ändern, da diese gefährdet sind.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Deine Organisationen fordern dich auf, diese $COUNT$ Passwörter zu ändern, da diese gefährdet sind.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Überprüfe und ändere ein gefährdetes Passwort"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Überprüfe und ändere $COUNT$ gefährdete Passwörter",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Ändere gefährdete Passwörter schneller"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Aktualisiere deine Einstellungen, damit du deine Passwörter schnell automatisch ausfüllen kannst und neue generieren kannst"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Überprüfung gefährdeter Zugangsdaten"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Überprüfung gefährdeter Passwörter"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Die Passwörter deiner Organisationen sind gefährdet, weil sie schwach, wiederverwendet und/oder kompromittiert sind.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration einer Liste gefährdeter Zugangsdaten"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Generiere schnell ein starkes, einzigartiges Passwort mit dem Bitwarden Auto-Ausfüllen-Menü auf der gefährdeten Website.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration des Bitwarden Auto-Ausfüllen-Menüs, das ein generiertes Passwort anzeigt"
+ },
+ "updateInBitwarden": {
+ "message": "In Bitwarden aktualisieren"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden wird dich dann auffordern, das Passwort im Passwort-Manager zu aktualisieren.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration einer Bitwarden-Benachrichtigung, die den Benutzer dazu auffordert, die Zugangsdaten zu aktualisieren"
+ },
+ "turnOnAutofill": {
+ "message": "Auto-Ausfüllen aktivieren"
+ },
+ "turnedOnAutofill": {
+ "message": "Auto-Ausfüllen aktiviert"
+ },
+ "dismiss": {
+ "message": "Verwerfen"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Änderungen gesperrter Domains gespeichert"
+ },
"excludedDomainsSavedSuccess": {
"message": "Änderungen der ausgeschlossenen Domain gespeichert"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Fehler"
},
+ "decryptionError": {
+ "message": "Entschlüsselungsfehler"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden konnte folgende(n) Tresor-Eintrag/Einträge nicht entschlüsseln."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Kontaktiere unser Customer Success Team",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": ", um zusätzlichen Datenverlust zu vermeiden.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Benutzername generieren"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ hat deine Anfrage abgelehnt. Bitte wende dich an deinen Dienstanbieter für Unterstützung.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ hat deine Anfrage abgelehnt: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Maskierte E-Mail-Konto-ID für $SERVICENAME$ konnte nicht abgerufen werden.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Einstellungen wurden bearbeitet"
- },
- "environmentEditedClick": {
- "message": "Hier klicken"
- },
- "environmentEditedReset": {
- "message": "um auf vorkonfigurierte Einstellungen zurückzusetzen"
- },
"serverVersion": {
"message": "Server-Version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Mit Master-Passwort anmelden"
},
- "loggingInAs": {
- "message": "Anmelden als"
- },
- "notYou": {
- "message": "Nicht du?"
- },
"newAroundHere": {
"message": "Neu hier?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Mit Gerät anmelden"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Die Anmeldung über ein Gerät muss in den Einstellungen der Bitwarden App eingerichtet werden. Benötigst du eine andere Option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerabdruck-Phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Alle Anmeldeoptionen anzeigen"
},
- "viewAllLoginOptionsV1": {
- "message": "Alle Anmeldeoptionen anzeigen"
- },
"notificationSentDevice": {
"message": "Eine Benachrichtigung wurde an dein Gerät gesendet."
},
+ "notificationSentDevicePart1": {
+ "message": "Entsperre Bitwarden auf deinem Gerät oder mit der"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "Web-App"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Stelle vor der Genehmigung sicher, dass die Fingerabdruck-Phrase mit der unten stehenden übereinstimmt."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Eine Benachrichtigung wurde an dein Gerät gesendet"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Stelle sicher, dass dein Konto entsperrt ist und die Fingerabdruck-Phrase mit der vom anderen Gerät übereinstimmt"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Du wirst benachrichtigt, sobald die Anfrage genehmigt wurde"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Anmeldung eingeleitet"
},
+ "logInRequestSent": {
+ "message": "Anfrage gesendet"
+ },
"exposedMasterPassword": {
"message": "Kompromittiertes Master-Passwort"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Admin-Genehmigung anfragen"
},
- "approveWithMasterPassword": {
- "message": "Mit Master-Passwort genehmigen"
- },
"ssoIdentifierRequired": {
"message": "SSO-Kennung der Organisation erforderlich."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Deine Anfrage wurde an deinen Administrator gesendet."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Nach einer Genehmigung wirst du benachrichtigt."
- },
"troubleLoggingIn": {
"message": "Probleme beim Anmelden?"
},
@@ -3396,38 +3649,6 @@
"message": "Ein-/ausklappen",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Deine Daten in Bitwarden importieren?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Deine LastPass-Daten schützen und in Bitwarden importieren?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Als unverschlüsselte Datei speichern",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "In Bitwarden importieren",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Wird importiert...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Daten erfolgreich importiert!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Fehler beim Importieren. Überprüfe die Konsole für Details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Netzwerkfehler beim Importieren.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias-Domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktives Konto"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden-Konto"
+ },
"availableAccounts": {
"message": "Verfügbare Konten"
},
@@ -3930,7 +4154,7 @@
"description": "Dialog title facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutofillDescription": {
- "message": "Das Ignorieren dieser Option kann zu Konflikten zwischen dem Bitwarden Auto-Ausfüllen Menü und dem Browser führen.",
+ "message": "Das Ignorieren dieser Option kann zu Konflikten zwischen den Bitwarden Vorschlägen zum Auto-Ausfüllen und denen deines Browsers führen.",
"description": "Dialog message facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutoFillSettings": {
@@ -3979,10 +4203,13 @@
"message": "Passkey entfernt"
},
"autofillSuggestions": {
- "message": "Vorschläge zum Auto-Ausfüllen"
+ "message": "Auto-Ausfüllen-Vorschläge"
+ },
+ "itemSuggestions": {
+ "message": "Vorgeschlagene Einträge"
},
"autofillSuggestionsTip": {
- "message": "Speichere einen Login-Eintrag für diese Seite zum automatischen Ausfüllen"
+ "message": "Speichere einen Zugangsdaten-Eintrag für diese Seite zum automatischen Ausfüllen"
},
"yourVaultIsEmpty": {
"message": "Dein Tresor hat keine Einträge"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "$FIELD$, $VALUE$ kopieren",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Keine Werte zum Kopieren"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Eintrags-Name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Du kannst Sammlungen mit Leseberechtigung nicht entfernen: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organisation ist deaktiviert"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Website-URI umsortieren. Verwende die Pfeiltasten, um den Eintrag nach oben oder unten zu bewegen."
+ },
"reorderFieldUp": {
"message": "$LABEL$ nach oben verschoben, Position $INDEX$ von $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Du hast nichts ausgewählt."
},
- "movedItemsToOrg": {
- "message": "Ausgewählte Einträge in $ORGNAME$ verschoben",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Einträge verschoben nach $ORGNAME$",
"placeholders": {
@@ -4557,17 +4783,11 @@
"textSends": {
"message": "Text-Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden hat einen neuen Look!"
- },
- "bitwardenNewLookDesc": {
- "message": "Auto-Ausfüllen und Suchen vom Tresor-Tab ist einfacher und intuitiver als je zuvor. Schau dich um!"
- },
"accountActions": {
"message": "Konto-Aktionen"
},
"showNumberOfAutofillSuggestions": {
- "message": "Anzahl der Vorschläge zum Auto-Ausfüllen von Zugangsdaten auf dem Erweiterungssymbol anzeigen"
+ "message": "Anzahl der Auto-Ausfüllen-Vorschläge von Zugangsdaten auf dem Erweiterungssymbol anzeigen"
},
"showQuickCopyActions": {
"message": "Schnellkopier-Aktionen im Tresor anzeigen"
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Du bist nicht berechtigt, diesen Eintrag zu bearbeiten"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometrisches Entsperren ist nicht verfügbar, da zuerst mit PIN oder Passwort entsperrt werden muss."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometrisches Entsperren ist derzeit nicht verfügbar."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometrisches Entsperren ist aufgrund falsch konfigurierter Systemdateien nicht verfügbar."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometrisches Entsperren ist aufgrund falsch konfigurierter Systemdateien nicht verfügbar."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometrisches Entsperren ist nicht verfügbar, da die Bitwarden Desktop-App geschlossen ist."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometrisches Entsperren ist nicht verfügbar, da es für $EMAIL$ in der Bitwarden Desktop-App nicht aktiviert ist.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometrisches Entsperren ist derzeit aus einem unbekannten Grund nicht verfügbar."
+ },
"authenticating": {
"message": "Authentifizierung"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra breit"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Dein eingegebenes Passwort ist falsch."
+ },
+ "importSshKey": {
+ "message": "Importieren"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Passwort bestätigen"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Gib das Passwort für den SSH-Schlüssel ein."
+ },
+ "enterSshKeyPassword": {
+ "message": "Passwort eingeben"
+ },
+ "invalidSshKey": {
+ "message": "Der SSH-Schlüssel ist ungültig"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Der SSH-Schlüsseltyp wird nicht unterstützt"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Schlüssel aus Zwischenablage importieren"
+ },
+ "sshKeyImported": {
+ "message": "SSH-Schlüssel erfolgreich importiert"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Du kannst Sammlungen mit Leseberechtigung nicht entfernen: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Bitte aktualisiere deine Desktop-Anwendung"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Um biometrisches Entsperren zu verwenden, aktualisiere bitte deine Desktop-Anwendung oder deaktiviere die Entsperrung per Fingerabdruck in den Desktop-Einstellungen."
+ },
+ "changeAtRiskPassword": {
+ "message": "Gefährdetes Passwort ändern"
}
}
diff --git a/apps/browser/src/_locales/el/messages.json b/apps/browser/src/_locales/el/messages.json
index a33bc4d0e20..fc07f12a48f 100644
--- a/apps/browser/src/_locales/el/messages.json
+++ b/apps/browser/src/_locales/el/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Υπόδειξη κύριου κωδικού πρόσβασης (προαιρετικό)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Συμμετοχή στον οργανισμό"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Αντιγραφή σημειώσεων"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Συμπλήρωση",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Εισαγάγετε τη διεύθυνση email του λογαριασμού σας και θα σας αποσταλεί η υπόδειξη για τον κωδικό πρόσβασης"
},
- "passwordHint": {
- "message": "Υπόδειξη κωδικού πρόσβασης"
- },
- "enterEmailToGetHint": {
- "message": "Εισαγάγετε τη διεύθυνση email του λογαριασμού σας, για να λάβετε την υπόδειξη του κύριου κωδικού."
- },
"getMasterPasswordHint": {
"message": "Λήψη υπόδειξης κύριου κωδικού"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Επεξεργασία φακέλου"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Νέος φάκελος"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Δημιουργία φράσης πρόσβασης"
},
+ "passwordGenerated": {
+ "message": "Ο κωδικός δημιουργήθηκε"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Επαναδημιουργία κωδικού πρόσβασης"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Μήκος"
},
- "uppercase": {
- "message": "Κεφαλαία (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Πεζά (α-ω)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Αριθμοί (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Ειδικοί χαρακτήρες (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Συμπερίληψη",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Συμπερίληψη ειδικών χαρακτήρων",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Αριθμός λέξεων"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Το πρόγραμμα περιήγησης ιστού δεν υποστηρίζει εύκολη αντιγραφή πρόχειρου. Αντιγράψτε το με το χέρι αντ'αυτού."
},
- "verifyIdentity": {
- "message": "Επιβεβαίωση ταυτότητας"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Το vault σας είναι κλειδωμένο. Επαληθεύστε τον κύριο κωδικό πρόσβασης για να συνεχίσετε."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Σύνδεση στο Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Επανεκκίνηση εγγραφής"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Όχι"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Παρουσιάστηκε ένα μη αναμενόμενο σφάλμα."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ζητήστε να προσθέσετε ένα αντικείμενο αν δε βρεθεί στο θησαυ/κιό σας. Ισχύει για όλους τους συνδεδεμένους λογαριασμούς."
},
- "showCardsInVaultView": {
- "message": "Εμφάνιση καρτών ως προτάσεις αυτόματης συμπλήρωσης στην προβολή Θησαυ/κίου"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Εμφάνιση καρτών στη σελίδα Καρτέλας"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Εμφάνισε τα αντικείμενα κάρτες στη σελίδα Καρτέλα για εύκολη αυτόματη συμπλήρωση."
},
- "showIdentitiesInVaultView": {
- "message": "Εμφάνιση ταυτοτήτων ως προτάσεις αυτόματης συμπλήρωσης στην προβολή Θησαυ/κίου"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Εμφάνιση ταυτοτήτων στη σελίδα καρτέλας"
@@ -1005,7 +1037,10 @@
"message": "Λίστα στοιχείων ταυτότητας στη σελίδα Καρτέλας για εύκολη αυτόματη συμπλήρωση."
},
"clickToAutofillOnVault": {
- "message": "Click items to autofill on Vault view"
+ "message": "Κάντε κλικ στα αντικείμενα για αυτόματη συμπλήρωση στην προβολή Θησαυ/κίου"
+ },
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
},
"clearClipboard": {
"message": "Εκκαθάριση Πρόχειρου",
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Ναι, Αποθήκευση Τώρα"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ζητήστε να ενημερώσετε την υπάρχουσα σύνδεση"
},
@@ -1084,10 +1169,6 @@
"message": "Φωτεινό",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized Σκούρο",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Εξαγωγή από"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Αγορά Premium έκδοσης"
},
- "premiumPurchaseAlert": {
- "message": "Μπορείτε να αγοράσετε συνδρομή Premium στο διαδικτυακό θησαυ/κιο του bitwarden.com. Θέλετε να επισκεφθείτε την ιστοσελίδα τώρα;"
- },
"premiumPurchaseAlertV2": {
"message": "Μπορείτε να αγοράσετε το Premium από τις ρυθμίσεις του λογαριασμού σας στην διαδικτυακή εφαρμογή Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Να με θυμάσαι"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Αποστολή email κωδικού επαλήθευσης ξανά"
},
"useAnotherTwoStepMethod": {
"message": "Χρήση άλλης μεθόδου σύνδεσης δύο παραγόντων"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Τοποθετήστε το YubiKey στη θύρα USB του υπολογιστή σας και έπειτα κάντε κλικ στο κουμπί του."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Άνοιγμα νέας καρτέλας"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Ταυτοποίηση WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Μη διαθέσιμη σύνδεση"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Επιλογές σύνδεσης δύο βημάτων"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Έχετε χάσει την πρόσβαση σε όλους τους παρόχους δύο παραγόντων; Χρησιμοποιήστε τον κωδικό ανάκτησης για να απενεργοποιήσετε όλους τους παρόχους δύο παραγόντων από το λογαριασμό σας."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Αυτο-φιλοξενούμενο περιβάλλον"
},
- "selfHostedEnvironmentFooter": {
- "message": "Καθορίστε τη βασική διεύθυνση URL, της εγκατάστασης του Bitwarden που φιλοξενείται στο χώρο σας."
- },
"selfHostedBaseUrlHint": {
"message": "Καθορίστε το βασικό URL της εγκατάστασης Bitwarden στο χώρο σας. Παράδειγμα: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Προσαρμοσμένο περιβάλλον"
},
- "customEnvironmentFooter": {
- "message": "Για προχωρημένους χρήστες. Μπορείτε να ορίσετε ανεξάρτητα τη βασική διεύθυνση URL κάθε υπηρεσίας."
- },
"baseUrl": {
"message": "URL Διακομιστή"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Σύρετε για ταξινόμηση"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Κείμενο"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Γεννήτρια ονόματος χρήστη"
},
+ "useThisEmail": {
+ "message": "Χρήση αυτού του email"
+ },
"useThisPassword": {
"message": "Χρήση αυτού του κωδικού πρόσβασης"
},
@@ -2063,12 +2163,24 @@
"message": "για να δημιουργήσετε έναν ισχυρό μοναδικό κωδικό πρόσβασης",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Ενέργεια Χρόνου Λήξης Vault"
},
"vaultTimeoutAction1": {
"message": "Ενέργεια κατά τη λήξη χρονικού ορίου"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Κλείδωμα",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Τομείς",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Αποκλεισμένοι τομείς"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Εξαιρούμενοι Τομείς"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Το Bitwarden δε θα ρωτήσει για να αποθηκεύσετε τα στοιχεία σύνδεσης για αυτούς τους τομείς, για όλους τους συνδεδεμένους λογαριασμούς. Πρέπει να ανανεώσετε τη σελίδα για να τεθούν σε ισχύ οι αλλαγές."
},
+ "blockedDomainsDesc": {
+ "message": "Η αυτόματη συμπλήρωση και άλλες σχετικές λειτουργίες δεν θα προσφερθούν για αυτούς τους ιστότοπους. Πρέπει να ανανεώσετε τη σελίδα για να τεθούν σε ισχύ οι αλλαγές."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Αλλαγή"
+ },
+ "changeButtonTitle": {
+ "message": "Αλλαγή κωδικού πρόσβασης - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Κωδικοί πρόσβασης σε κίνδυνο"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Ενεργοποίηση αυτόματης συμπλήρωσης"
+ },
+ "turnedOnAutofill": {
+ "message": "Απενεργοποίηση αυτόματης συμπλήρωσης"
+ },
+ "dismiss": {
+ "message": "Απόρριψη"
+ },
"websiteItemLabel": {
"message": "Ιστοσελίδα $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Οι αλλαγές αποκλεισμένων τομέων αποθηκεύτηκαν"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Σφάλμα"
},
+ "decryptionError": {
+ "message": "Σφάλμα αποκρυπτογράφησης"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Το Bitwarden δεν μπόρεσε να αποκρυπτογραφήσει τα αντικείμενα θησαυ/κίου που αναφέρονται παρακάτω."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Δημιουργία ονόματος χρήστη"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Αδύνατη η απόκτηση του $SERVICENAME$ καμουφλαρισμένου ID διεύθυνσης ηλ. ταχυδρομείου.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Οι ρυθμίσεις έχουν επεξεργαστεί"
- },
- "environmentEditedClick": {
- "message": "Κάντε κλικ εδώ"
- },
- "environmentEditedReset": {
- "message": "επαναφορά στις προ-ρυθμισμένες ρυθμίσεις"
- },
"serverVersion": {
"message": "Έκδοση διακομιστή"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Συνδεθείτε με τον κύριο κωδικό πρόσβασης"
},
- "loggingInAs": {
- "message": "Σύνδεση ως"
- },
- "notYou": {
- "message": "Δεν είστε εσείς;"
- },
"newAroundHere": {
"message": "Είστε νέος/α εδώ;"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Σύνδεση με τη χρήση συσκευής"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Η σύνδεση με τη χρήση συσκευής πρέπει να οριστεί στις ρυθμίσεις της εφαρμογής Bitwarden. Χρειάζεστε κάποια άλλη επιλογή;"
- },
"fingerprintPhraseHeader": {
"message": "Φράση δακτυλικού αποτυπώματος"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Δείτε όλες τις επιλογές σύνδεσης"
},
- "viewAllLoginOptionsV1": {
- "message": "Δείτε όλες τις επιλογές σύνδεσης"
- },
"notificationSentDevice": {
"message": "Μια ειδοποίηση έχει σταλεί στη συσκευή σας."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Μια ειδοποίηση στάλθηκε στη συσκευή σας"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Βεβαιωθείτε ότι ο λογαριασμός σας είναι ξεκλείδωτος και ότι η φράση δακτυλικού αποτυπώματος ταιριάζει στην άλλη συσκευή"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Θα ειδοποιηθείτε μόλις εγκριθεί η αίτηση"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Η σύνδεση ξεκίνησε"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Εκτεθειμένος Κύριος Κωδικός Πρόσβασης"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Αίτηση έγκρισης διαχειριστή"
},
- "approveWithMasterPassword": {
- "message": "Έγκριση με κύριο κωδικό πρόσβασης"
- },
"ssoIdentifierRequired": {
"message": "Απαιτείται αναγνωριστικό οργανισμού SSO."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Το αίτημά σας εστάλη στον διαχειριστή σας."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Θα ειδοποιηθείτε μόλις εγκριθεί."
- },
"troubleLoggingIn": {
"message": "Δεν μπορείτε να συνδεθείτε;"
},
@@ -3396,38 +3649,6 @@
"message": "Εναλλαγή σύμπτυξης",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Εισαγωγή των δεδομένων σας στο Bitwarden;",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Προστατέψτε τα δεδομένα LastPass και εισαγάγετε στο Bitwarden;",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Αποθήκευση ως μη κρυπτογραφημένο αρχείο",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Εισαγωγή στο Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Εισαγωγή...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Επιτυχής εισαγωγή δεδομένων!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Σφάλμα εισαγωγής. Ελέγξτε την κονσόλα για λεπτομέρειες.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Εμφανίστηκε σφάλμα δικτύου κατά την εισαγωγή.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Ψευδώνυμο τομέα"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Ενεργός λογαριασμός"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Διαθέσιμοι λογαριασμοί"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Προτάσεις αυτόματης συμπλήρωσης"
},
+ "itemSuggestions": {
+ "message": "Προτεινόμενα στοιχεία"
+ },
"autofillSuggestionsTip": {
"message": "Αποθηκεύστε ένα αντικείμενο σύνδεσης για την αυτόματη συμπλήρωση αυτού του ιστοτόπου"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Δεν υπάρχουν τιμές για αντιγραφή"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Όνομα αντικειμένου"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Δεν μπορείτε να αφαιρέσετε συλλογές που έχουν μόνο δικαιώματα Προβολής: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Ο οργανισμός απενεργοποιήθηκε"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ μετακινήθηκε πάνω, θέση $INDEX$ από $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Δεν έχετε επιλέξει τίποτα."
},
- "movedItemsToOrg": {
- "message": "Τα επιλεγμένα αντικείμενα μετακινήθηκαν στο $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Τα αντικείμενα μεταφέρθηκαν στο $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Send κειμένων"
},
- "bitwardenNewLook": {
- "message": "Το Bitwarden έχει μια νέα εμφάνιση!"
- },
- "bitwardenNewLookDesc": {
- "message": "Είναι πιο ευκολότερο και πιο διαισθητικό από ποτέ στην αυτόματη συμπλήρωση και αναζήτηση από την καρτέλα Θησαυ/κιο. Ρίξτε μια ματιά τριγύρω!"
- },
"accountActions": {
"message": "Ενέργειες λογαριασμού"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Δεν έχετε δικαίωμα να επεξεργαστείτε αυτό το αντικείμενο"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Το βιομετρικό ξεκλείδωμα δεν είναι διαθέσιμο επειδή απαιτείται πρώτα το ξεκλείδωμα με PIN ή κωδικό πρόσβασης."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Το βιομετρικό ξεκλείδωμα δεν είναι διαθέσιμο προς το παρόν."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Το βιομετρικό ξεκλείδωμα δεν είναι διαθέσιμο λόγω εσφαλμένων ρυθμίσεων αρχείων συστήματος."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Το βιομετρικό ξεκλείδωμα δεν είναι διαθέσιμο λόγω εσφαλμένων ρυθμίσεων αρχείων συστήματος."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Το βιομετρικό ξεκλείδωμα δεν είναι διαθέσιμο επειδή η εφαρμογή Bitwarden επιφάνειας εργασίας είναι κλειστή."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Ταυτοποίηση"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Εξαιρετικά φαρδύ"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Δεν μπορείτε να αφαιρέσετε συλλογές που έχουν μόνο δικαιώματα Προβολής: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/en/messages.json b/apps/browser/src/_locales/en/messages.json
index b72a909252b..16f462b7f17 100644
--- a/apps/browser/src/_locales/en/messages.json
+++ b/apps/browser/src/_locales/en/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill":{
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Length"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2327,6 +2439,9 @@
"blockedDomains": {
"message": "Blocked domains"
},
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2339,11 +2454,114 @@
"blockedDomainsDesc": {
"message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
},
- "autofillBlockedNotice": {
- "message": "Autofill is blocked for this website. Review or change this in settings."
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
},
- "autofillBlockedTooltip": {
- "message": "Autofill is blocked on this website. Review in settings."
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
},
"websiteItemLabel": {
"message": "Website $number$ (URI)",
@@ -2949,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3030,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3069,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3084,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3099,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3120,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3234,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3283,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3425,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3887,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -4010,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4082,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4157,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4467,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4527,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4586,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4903,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/en_GB/messages.json b/apps/browser/src/_locales/en_GB/messages.json
index 2c13f1b9259..1381afbdc6e 100644
--- a/apps/browser/src/_locales/en_GB/messages.json
+++ b/apps/browser/src/_locales/en_GB/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organisation"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Length"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognise this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy auto-fill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premise hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customisation"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customisation options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customise your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organisations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organisation passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organisation SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3979,7 +4203,10 @@
"message": "Passkey removed"
},
"autofillSuggestions": {
- "message": "Auto-fill suggestions"
+ "message": "Autofill suggestions"
+ },
+ "itemSuggestions": {
+ "message": "Suggested items"
},
"autofillSuggestionsTip": {
"message": "Save a login item for this site to auto-fill"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organisation is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/en_IN/messages.json b/apps/browser/src/_locales/en_IN/messages.json
index b6031381d2d..6b14a358148 100644
--- a/apps/browser/src/_locales/en_IN/messages.json
+++ b/apps/browser/src/_locales/en_IN/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organisation"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Length"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special Characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify Identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognise this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy auto-fill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identifies as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Yes, save now"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarised Dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premise hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customisation"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customisation options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customise your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded Domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organisations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organisation passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate Username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server Version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organisation SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3979,7 +4203,10 @@
"message": "Passkey removed"
},
"autofillSuggestions": {
- "message": "Auto-fill suggestions"
+ "message": "Autofill suggestions"
+ },
+ "itemSuggestions": {
+ "message": "Suggested items"
},
"autofillSuggestionsTip": {
"message": "Save a login item for this site to auto-fill"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organisation is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/es/messages.json b/apps/browser/src/_locales/es/messages.json
index d26716dd909..4d430d23337 100644
--- a/apps/browser/src/_locales/es/messages.json
+++ b/apps/browser/src/_locales/es/messages.json
@@ -23,10 +23,10 @@
"message": "¿Nuevo en Bitwarden?"
},
"logInWithPasskey": {
- "message": "Log in with passkey"
+ "message": "Iniciar sesión con clave de acceso"
},
"useSingleSignOn": {
- "message": "Use single sign-on"
+ "message": "Usar inicio de sesión único"
},
"welcomeBack": {
"message": "Bienvenido de nuevo"
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Pista de contraseña maestra (opcional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Incorporarse a la organización"
},
@@ -120,7 +129,7 @@
"message": "Copiar contraseña"
},
"copyPassphrase": {
- "message": "Copy passphrase"
+ "message": "Copiar frase de contraseña"
},
"copyNote": {
"message": "Copiar nota"
@@ -153,13 +162,13 @@
"message": "Copiar número de licencia"
},
"copyPrivateKey": {
- "message": "Copy private key"
+ "message": "Copiar llave privada"
},
"copyPublicKey": {
- "message": "Copy public key"
+ "message": "Copiar llave pública"
},
"copyFingerprint": {
- "message": "Copy fingerprint"
+ "message": "Copiar huella"
},
"copyCustomField": {
"message": "Copiar $FIELD$",
@@ -176,8 +185,12 @@
"copyNotes": {
"message": "Copiar notas"
},
+ "copy": {
+ "message": "Copiar",
+ "description": "Copy to clipboard"
+ },
"fill": {
- "message": "Fill",
+ "message": "Rellenar",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
},
"autoFill": {
@@ -193,10 +206,10 @@
"message": "Autocompletar identidad"
},
"fillVerificationCode": {
- "message": "Fill verification code"
+ "message": "Rellenar código de verificación"
},
"fillVerificationCodeAria": {
- "message": "Fill Verification Code",
+ "message": "Rellenar código de verificación",
"description": "Aria label for the heading displayed the inline menu for totp code autofill"
},
"generatePasswordCopied": {
@@ -248,13 +261,7 @@
"message": "Solicitar pista de la contraseña"
},
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
- "message": "Enter your account email address and your password hint will be sent to you"
- },
- "passwordHint": {
- "message": "Pista de contraseña"
- },
- "enterEmailToGetHint": {
- "message": "Introduce el correo electrónico de tu cuenta para recibir la pista de tu contraseña maestra."
+ "message": "Introduce la dirección de correo electrónico de tu cuenta y se te enviará la pista de tu contraseña"
},
"getMasterPasswordHint": {
"message": "Obtener pista de la contraseña maestra"
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Editar carpeta"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Carpeta nueva"
},
@@ -379,13 +395,13 @@
"message": "Nombre de carpeta"
},
"folderHintText": {
- "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums"
+ "message": "Anida una carpeta añadiendo el nombre de la carpeta padre seguido de un “/”. Ejemplo: Social/Foros"
},
"noFoldersAdded": {
"message": "Ninguna carpeta añadida"
},
"createFoldersToOrganize": {
- "message": "Create folders to organize your vault items"
+ "message": "Crear carpetas para organizar los elementos de la caja fuerte"
},
"deleteFolderPermanently": {
"message": "¿Confirma que quiere eliminar permanentemente esta carpeta?"
@@ -443,7 +459,19 @@
"message": "Generar contraseña"
},
"generatePassphrase": {
- "message": "Generate passphrase"
+ "message": "Generar frase de contraseña"
+ },
+ "passwordGenerated": {
+ "message": "Contraseña generada"
+ },
+ "passphraseGenerated": {
+ "message": "Frase de contraseña generada"
+ },
+ "usernameGenerated": {
+ "message": "Nombre de usuario generado"
+ },
+ "emailGenerated": {
+ "message": "Correo electrónico generado"
},
"regeneratePassword": {
"message": "Regenerar contraseña"
@@ -454,22 +482,6 @@
"length": {
"message": "Longitud"
},
- "uppercase": {
- "message": "Mayúsculas (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Minúsculas (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Números (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Caracteres especiales (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Incluir",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Incluir caracteres especiales",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Número de palabras"
},
@@ -530,7 +538,7 @@
"description": "Label for the avoid ambiguous characters checkbox."
},
"generatorPolicyInEffect": {
- "message": "Enterprise policy requirements have been applied to your generator options.",
+ "message": "Los requisitos de política empresarial se han aplicado a las opciones de generador.",
"description": "Indicates that a policy limits the credential generator screen."
},
"searchVault": {
@@ -600,7 +608,7 @@
"message": "Iniciar página web"
},
"launchWebsiteName": {
- "message": "Launch website $ITEMNAME$",
+ "message": "Iniciar sitio web $ITEMNAME$",
"placeholders": {
"itemname": {
"content": "$1",
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Tu navegador web no soporta copiar al portapapeles facilmente. Cópialo manualmente."
},
- "verifyIdentity": {
- "message": "Verificar identidad"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "No reconocemos este dispositivo. Introduce el código enviado a tu correo electrónico para verificar tu identidad."
+ },
+ "continueLoggingIn": {
+ "message": "Continuar el inicio de sesión"
},
"yourVaultIsLocked": {
"message": "Tu caja fuerte está bloqueada. Verifica tu identidad para continuar."
@@ -779,10 +793,10 @@
"message": "¡Tu nueva cuenta ha sido creada! Ahora puedes acceder."
},
"newAccountCreated2": {
- "message": "Your new account has been created!"
+ "message": "¡Tu nueva cuenta ha sido creada!"
},
"youHaveBeenLoggedIn": {
- "message": "You have been logged in!"
+ "message": "¡Has iniciado sesión!"
},
"youSuccessfullyLoggedIn": {
"message": "Accedió correctamente a su cuenta"
@@ -797,7 +811,7 @@
"message": "Código de verificación requerido."
},
"webauthnCancelOrTimeout": {
- "message": "The authentication was cancelled or took too long. Please try again."
+ "message": "La autenticación fue cancelada o tardó demasiado. Por favor, inténtalo de nuevo."
},
"invalidVerificationCode": {
"message": "Código de verificación no válido"
@@ -825,16 +839,16 @@
"message": "Escanee el código QR del autenticador desde la página web actual"
},
"totpHelperTitle": {
- "message": "Make 2-step verification seamless"
+ "message": "Hacer la verificación en dos pasos sencilla"
},
"totpHelper": {
- "message": "Bitwarden can store and fill 2-step verification codes. Copy and paste the key into this field."
+ "message": "Bitwarden puede almacenar y rellenar códigos de verificación en dos pasos. Copia y pega la clave en este campo."
},
"totpHelperWithCapture": {
- "message": "Bitwarden can store and fill 2-step verification codes. Select the camera icon to take a screenshot of this website's authenticator QR code, or copy and paste the key into this field."
+ "message": "Bitwarden puede almacenar y llenar códigos de verificación en dos pasos. Seleccione el icono de la cámara para tomar una captura de pantalla del código QR de este sitio web, o copie y pegue la clave en este campo."
},
"learnMoreAboutAuthenticators": {
- "message": "Learn more about authenticators"
+ "message": "Más información sobre los autenticadores"
},
"copyTOTP": {
"message": "Copiar clave de autenticador (TOTP)"
@@ -852,7 +866,22 @@
"message": "Acceder"
},
"logInToBitwarden": {
- "message": "Log in to Bitwarden"
+ "message": "Iniciar sesión en Bitwarden"
+ },
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
},
"restartRegistration": {
"message": "Reiniciar registro"
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Ha ocurrido un error inesperado."
},
@@ -888,10 +920,10 @@
"message": "La autenticación en dos pasos hace que tu cuenta sea mucho más segura, requiriendo que introduzcas un código de seguridad de una aplicación de autenticación cada vez que accedes. La autenticación en dos pasos puede ser habilitada en la caja fuerte web de bitwarden.com. ¿Quieres visitar ahora el sitio web?"
},
"twoStepLoginConfirmationContent": {
- "message": "Make your account more secure by setting up two-step login in the Bitwarden web app."
+ "message": "Haz tu cuenta más segura al configurar el inicio de sesión en dos pasos en la aplicación web de Bitwarden."
},
"twoStepLoginConfirmationTitle": {
- "message": "Continue to web app?"
+ "message": "¿Continuar en la aplicación web?"
},
"editedFolder": {
"message": "Carpeta editada"
@@ -978,7 +1010,7 @@
"message": "Pedir que se añada el inicio de sesión"
},
"vaultSaveOptionsTitle": {
- "message": "Save to vault options"
+ "message": "Guardar en opciones de caja fuerte"
},
"addLoginNotificationDesc": {
"message": "La opción \"Notificación para añadir entradas\" pregunta automáticamente si quieres guardar nuevas entradas en tu caja fuerte cuando te identificas en un sitio web por primera vez."
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Pide que se agregue un elemento si no se encuentra uno en su caja fuerte. Se aplica a todas las cuentas que hayan iniciado sesión."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Mostrar siempre las tarjetas como sugerencias de autorrelleno en la vista de caja fuerte"
},
"showCardsCurrentTab": {
"message": "Mostrar las tarjetas en la pestaña"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Listar los elementos de tarjetas en la página para facilitar el auto-rellenado."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Mostrar siempre identidades como sugerencias de autorrelleno en la vista de caja fuerte"
},
"showIdentitiesCurrentTab": {
"message": "Mostrar las identidades en la página"
@@ -1005,7 +1037,10 @@
"message": "Listar los elementos de identidad en la página para facilitar el auto-rellenado."
},
"clickToAutofillOnVault": {
- "message": "Click items to autofill on Vault view"
+ "message": "Haga clic en los elementos para autocompletar en la vista de caja fuerte"
+ },
+ "clickToAutofill": {
+ "message": "Haz clic en los elementos de la sugerencia de autorrelleno para rellenar"
},
"clearClipboard": {
"message": "Vaciar portapapeles",
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Guardar"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Solicitar la actualización de los datos de inicio de sesión existentes"
},
@@ -1084,10 +1169,6 @@
"message": "Claro",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized Dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exportar desde"
},
@@ -1206,7 +1287,7 @@
"message": "Archivo"
},
"fileToShare": {
- "message": "File to share"
+ "message": "Archivo a compartir"
},
"selectFile": {
"message": "Selecciona un archivo."
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Comprar Premium"
},
- "premiumPurchaseAlert": {
- "message": "Puedes comprar la membresía Premium en la caja fuerte web de bitwarden.com. ¿Quieres visitar el sitio web ahora?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1275,7 +1353,7 @@
"message": "Gracias por apoyar el desarrollo de Bitwarden."
},
"premiumFeatures": {
- "message": "Upgrade to Premium and receive:"
+ "message": "Actualiza a Premium y recibe:"
},
"premiumPrice": {
"message": "¡Todo por solo %price% /año!",
@@ -1287,7 +1365,7 @@
}
},
"premiumPriceV2": {
- "message": "All for just $PRICE$ per year!",
+ "message": "¡Todo por sólo $PRICE$/año!",
"placeholders": {
"price": {
"content": "$1",
@@ -1317,10 +1395,10 @@
"message": "Introduce el código de verificación de 6 dígitos de tu aplicación autenticadora."
},
"authenticationTimeout": {
- "message": "Authentication timeout"
+ "message": "Tiempo de autenticación agotado"
},
"authenticationSessionTimedOut": {
- "message": "The authentication session timed out. Please restart the login process."
+ "message": "Se ha agotado el tiempo de la sesión de autenticación. Por favor, inicie nuevamente el proceso de inicio de sesión."
},
"enterVerificationCodeEmail": {
"message": "Introduce el código de verificación de 6 dígitos que te ha sido enviado por correo electrónico",
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Recordarme"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Reenviar código de verificación por correo electrónico"
},
"useAnotherTwoStepMethod": {
"message": "Utilizar otro método de autenticación en dos pasos"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Inserta tu YubiKey en el puerto USB de tu equipo y posteriormente pulsa su botón."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Abrir nueva pestaña"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Autenticar WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Entrada no disponible"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Opciones de la autenticación en dos pasos"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "¿Has perdido el acceso a todos tus métodos de autenticación en dos pasos? Utiliza tu código de recuperación para deshabilitar todos los métodos de autenticación en dos pasos de tu cuenta."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Entorno de alojamiento propio"
},
- "selfHostedEnvironmentFooter": {
- "message": "Especifica la URL base de tu instalación de Bitwarden de alojamiento propio."
- },
"selfHostedBaseUrlHint": {
"message": "Especifica la dirección URL base de la instalación de Bitwarden alojada localmente. Ejemplo: https://bitwarden.company.com"
},
@@ -1433,14 +1530,11 @@
"customEnvironment": {
"message": "Entorno personalizado"
},
- "customEnvironmentFooter": {
- "message": "Para usuarios avanzados. Puedes especificar la URL base de cada servicio de forma independiente."
- },
"baseUrl": {
"message": "URL del servidor"
},
"selfHostBaseUrl": {
- "message": "Self-host server URL",
+ "message": "URL del servidor autoalojado",
"description": "Label for field requesting a self-hosted integration service URL"
},
"apiUrl": {
@@ -1466,7 +1560,7 @@
"description": "Represents the message for allowing the user to enable the autofill overlay"
},
"autofillSuggestionsSectionTitle": {
- "message": "Autofill suggestions"
+ "message": "Sugerencias de autocompletar"
},
"showInlineMenuLabel": {
"message": "Show autofill suggestions on form fields"
@@ -1502,7 +1596,7 @@
"description": "Overlay appearance select option for showing the field on click of the overlay icon"
},
"enableAutoFillOnPageLoadSectionTitle": {
- "message": "Autofill on page load"
+ "message": "Autocompletar al cargar la página"
},
"enableAutoFillOnPageLoad": {
"message": "Habilitar autorrellenar al cargar la página"
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Arrastrar para ordenar"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Texto"
},
@@ -1768,7 +1865,7 @@
"message": "Identidad"
},
"typeSshKey": {
- "message": "SSH key"
+ "message": "Llave SSH"
},
"newItemHeader": {
"message": "Nuevo $TYPE$",
@@ -1801,10 +1898,10 @@
"message": "Historial de contraseñas"
},
"generatorHistory": {
- "message": "Generator history"
+ "message": "Historial del generador"
},
"clearGeneratorHistoryTitle": {
- "message": "Clear generator history"
+ "message": "Borrar historial del generador"
},
"cleargGeneratorHistoryDescription": {
"message": "If you continue, all entries will be permanently deleted from generator's history. Are you sure you want to continue?"
@@ -1846,7 +1943,7 @@
"message": "Notas seguras"
},
"sshKeys": {
- "message": "SSH Keys"
+ "message": "Llaves SSH"
},
"clear": {
"message": "Limpiar",
@@ -1926,13 +2023,13 @@
"message": "No hay contraseñas que listar."
},
"clearHistory": {
- "message": "Clear history"
+ "message": "Limpiar historial"
},
"nothingToShow": {
- "message": "Nothing to show"
+ "message": "No se encontraron resultados"
},
"nothingGeneratedRecently": {
- "message": "You haven't generated anything recently"
+ "message": "No has generado nada recientemente"
},
"remove": {
"message": "Eliminar"
@@ -1993,16 +2090,16 @@
"message": "Desbloquear con PIN"
},
"setYourPinTitle": {
- "message": "Set PIN"
+ "message": "Establecer PIN"
},
"setYourPinButton": {
- "message": "Set PIN"
+ "message": "Establecer PIN"
},
"setYourPinCode": {
"message": "Establece tu código PIN para desbloquear Bitwarden. Tus ajustes de PIN se reiniciarán si alguna vez cierras tu sesión completamente de la aplicación."
},
"setYourPinCode1": {
- "message": "Your PIN will be used to unlock Bitwarden instead of your master password. Your PIN will reset if you ever fully log out of Bitwarden."
+ "message": "Su PIN se utilizará para desbloquear Bitwarden en lugar de su contraseña maestra. Su PIN se restablecerá si alguna vez cierra completamente la sesión de Bitwarden."
},
"pinRequired": {
"message": "Código PIN requerido."
@@ -2017,7 +2114,7 @@
"message": "Desbloquear con biométricos"
},
"unlockWithMasterPassword": {
- "message": "Unlock with master password"
+ "message": "Desbloquear con contraseña maestra"
},
"awaitDesktop": {
"message": "Esperando la confirmación por parte del escritorio"
@@ -2029,7 +2126,7 @@
"message": "Bloquear con contraseña maestra al reiniciar el navegador"
},
"lockWithMasterPassOnRestart1": {
- "message": "Require master password on browser restart"
+ "message": "Bloquear con contraseña maestra al reiniciar el navegador"
},
"selectOneCollection": {
"message": "Debes seleccionar al menos una colección."
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Generador de nombres de usuario"
},
+ "useThisEmail": {
+ "message": "Usar esta dirección de correo electrónico"
+ },
"useThisPassword": {
"message": "Usar esta contraseña"
},
@@ -2053,21 +2153,33 @@
"message": "Usar este nombre de usuario"
},
"securePasswordGenerated": {
- "message": "Secure password generated! Don't forget to also update your password on the website."
+ "message": "¡Contraseña segura generada! No olvide actualizar su contraseña en el sitio web."
},
"useGeneratorHelpTextPartOne": {
- "message": "Use the generator",
+ "message": "Usar el generador",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
"useGeneratorHelpTextPartTwo": {
- "message": "to create a strong unique password",
+ "message": "para crear una contraseña única fuerte",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Personalización de la caja fuerte"
+ },
"vaultTimeoutAction": {
"message": "Acción de tiempo de espera de la caja fuerte"
},
"vaultTimeoutAction1": {
- "message": "Timeout action"
+ "message": "Acción de tiempo agotado"
+ },
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
},
"lock": {
"message": "Bloquear",
@@ -2189,7 +2301,7 @@
"message": "Su nueva contraseña maestra no cumple con los requisitos de la política."
},
"receiveMarketingEmailsV2": {
- "message": "Get advice, announcements, and research opportunities from Bitwarden in your inbox."
+ "message": "Obtenga consejos, anuncios y oportunidades de investigación de Bitwarden en su bandeja de entrada."
},
"unsubscribe": {
"message": "Cancelar suscripción"
@@ -2264,7 +2376,7 @@
"message": "Las cuentas son distintas"
},
"nativeMessagingWrongUserKeyTitle": {
- "message": "Biometric key missmatch"
+ "message": "Desajuste de clave biométrica"
},
"nativeMessagingWrongUserKeyDesc": {
"message": "Biometric unlock failed. The biometric secret key failed to unlock the vault. Please try to set up biometrics again."
@@ -2324,6 +2436,12 @@
"message": "Dominios",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Dominios bloqueados"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Más información sobre dominios bloqueados"
+ },
"excludedDomains": {
"message": "Dominios excluidos"
},
@@ -2333,8 +2451,120 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden no pedirá que se guarden los datos de acceso para estos dominios en todas las sesiones iniciadas. Debe actualizar la página para que los cambios surtan efecto."
},
+ "blockedDomainsDesc": {
+ "message": "El autorrelleno y otras funcionalidades relacionadas no se ofrecerán para estos sitios web. Debe actualizar la página para que los cambios surtan efecto."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autorelleno está desactivado para este sitio web."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Cambia esto en los ajustes"
+ },
+ "change": {
+ "message": "Cambiar"
+ },
+ "changeButtonTitle": {
+ "message": "Cambiar contraseña - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Contraseñas de riesgo"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Activar autorrelleno"
+ },
+ "turnedOnAutofill": {
+ "message": "Autorrelleno activado"
+ },
+ "dismiss": {
+ "message": "Ignorar"
+ },
"websiteItemLabel": {
- "message": "Website $number$ (URI)",
+ "message": "Sitio web $number$ (URI)",
"placeholders": {
"number": {
"content": "$1",
@@ -2351,14 +2581,17 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Cambios de dominio bloqueados guardados"
+ },
"excludedDomainsSavedSuccess": {
- "message": "Excluded domain changes saved"
+ "message": "Cambios de dominio excluidos guardados"
},
"limitSendViews": {
- "message": "Limit views"
+ "message": "Limitar visualizaciones"
},
"limitSendViewsHint": {
- "message": "No one can view this Send after the limit is reached.",
+ "message": "Nadie puede ver este envío después de que se alcance el límite.",
"description": "Displayed under the limit views field on Send"
},
"limitSendViewsCount": {
@@ -2553,7 +2786,7 @@
"message": "Para elegir un archivo usando Safari, salga a una nueva ventana haciendo clic en este anouncio."
},
"popOut": {
- "message": "Pop out"
+ "message": "Salir"
},
"sendFileCalloutHeader": {
"message": "Antes de empezar"
@@ -2574,7 +2807,7 @@
"message": "Hubo un error al guardar las fechas de eliminación y caducidad."
},
"hideYourEmail": {
- "message": "Hide your email address from viewers."
+ "message": "Ocultar mi dirección de correo electrónico a los destinatarios."
},
"passwordPrompt": {
"message": "Volver a preguntar contraseña maestra"
@@ -2607,7 +2840,7 @@
"message": "Su contraseña maestra no cumple con una o más de las políticas de su organización. Para acceder a la caja fuerte, debe actualizar su contraseña maestra ahora. Proceder le desconectará de su sesión actual, requiriendo que vuelva a iniciar sesión. Las sesiones activas en otros dispositivos pueden seguir estando activas durante hasta una hora."
},
"tdeDisabledMasterPasswordRequired": {
- "message": "Your organization has disabled trusted device encryption. Please set a master password to access your vault."
+ "message": "Tu organización ha deshabilitado el cifrado de dispositivos de confianza. Por favor, establece una contraseña maestra para acceder a tu caja fuerte."
},
"resetPasswordPolicyAutoEnroll": {
"message": "Inscripción automática"
@@ -2631,7 +2864,7 @@
"description": "Used as a card title description on the set password page to explain why the user is there"
},
"cardMetrics": {
- "message": "out of $TOTAL$",
+ "message": "de $TOTAL$",
"placeholders": {
"total": {
"content": "$1",
@@ -2789,14 +3022,28 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Error de descifrado"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden no pudo descifrar el/los elemento(s) de la bóveda listados a continuación."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contacto con atención al cliente",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "para evitar pérdida de datos adicionales.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generar nombre de usuario"
},
"generateEmail": {
- "message": "Generate email"
+ "message": "Crear correo electrónico"
},
"spinboxBoundariesHint": {
- "message": "Value must be between $MIN$ and $MAX$.",
+ "message": "El valor debe estar entre $MIN$ y $MAX$.",
"description": "Explains spin box minimum and maximum values to the user",
"placeholders": {
"min": {
@@ -2810,7 +3057,7 @@
}
},
"passwordLengthRecommendationHint": {
- "message": " Use $RECOMMENDED$ characters or more to generate a strong password.",
+ "message": " Usa $RECOMMENDED$ caracteres o más para generar una contraseña segura.",
"description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).",
"placeholders": {
"recommended": {
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "No se puede obtener el ID de la cuenta de correo electrónico enmascarado de $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Se han editado los ajustes"
- },
- "environmentEditedClick": {
- "message": "Haga click aquí"
- },
- "environmentEditedReset": {
- "message": "para restablecer a los ajustes por defecto"
- },
"serverVersion": {
"message": "Versión del servidor"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Iniciar sesión con contraseña maestra"
},
- "loggingInAs": {
- "message": "Iniciando sesión como"
- },
- "notYou": {
- "message": "¿No eres tú?"
- },
"newAroundHere": {
"message": "¿Nuevo por aquí?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Acceder con un dispositivo"
},
- "loginWithDeviceEnabledInfo": {
- "message": "El acceso con dispositivo debe prepararse en la configuración de la aplicación Bitwarden. ¿Necesita otra opción?"
- },
"fingerprintPhraseHeader": {
"message": "Frase de huella"
},
@@ -3068,29 +3321,35 @@
"message": "Reenviar notificación"
},
"viewAllLogInOptions": {
- "message": "View all log in options"
- },
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
+ "message": "Ver todas las opciones de inicio de sesión"
},
"notificationSentDevice": {
"message": "Se ha enviado una notificación a tu dispositivo."
},
- "aNotificationWasSentToYourDevice": {
- "message": "A notification was sent to your device"
+ "notificationSentDevicePart1": {
+ "message": "Desbloquear Bitwarden en tu dispositivo o en el"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Asegúrese de que la frase de huella digital coincide con la siguiente antes de aprobar."
+ },
+ "aNotificationWasSentToYourDevice": {
+ "message": "Se ha enviado una notificación a tu dispositivo."
},
"youWillBeNotifiedOnceTheRequestIsApproved": {
- "message": "You will be notified once the request is approved"
+ "message": "Serás notificado una vez que la solicitud sea aprobada"
},
"needAnotherOptionV1": {
- "message": "Need another option?"
+ "message": "¿Necesitas otra opción?"
},
"loginInitiated": {
"message": "Inicio de sesión en proceso"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Contraseña maestra comprometida"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Solicitar aprobación del administrador"
},
- "approveWithMasterPassword": {
- "message": "Aprobar con contraseña maestra"
- },
"ssoIdentifierRequired": {
"message": "Se requiere un identificador único de inicio de sesión de la organización."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Su solicitud ha sido enviada a su administrador."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Se le notificará una vez aprobado."
- },
"troubleLoggingIn": {
"message": "¿Problemas para iniciar sesión?"
},
@@ -3396,38 +3649,6 @@
"message": "Colapsar/Expandir",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "¿Quiere importar sus datos a Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "¿Quiere proteger sus datos de LastPass e importarlos a Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Guardar como archivo no cifrado",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importar a Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importando...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Se importaron los datos correctamente.",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Se produjo un error al importar. Revise la consola para obtener detalles.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Se produjo un error de red durante la importación.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Seudónimo del dominio"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Cuenta activa"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Cuentas disponibles"
},
@@ -3962,7 +4186,7 @@
"description": "Notification message for when updating credentials has succeeded."
},
"passwordUpdated": {
- "message": "Password updated!",
+ "message": "Contraseña actualizada",
"description": "Notification message for when updating credentials has succeeded."
},
"saveCipherAttemptFailed": {
@@ -3979,7 +4203,10 @@
"message": "Clave de acceso eliminada"
},
"autofillSuggestions": {
- "message": "Autocompletar sugerencias"
+ "message": "Autofill suggestions"
+ },
+ "itemSuggestions": {
+ "message": "Suggested items"
},
"autofillSuggestionsTip": {
"message": "Guarda un elemento de inicio de sesión para este sitio para autocompletar"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No hay valores para copiar"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Nombre del elemento"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "No puedes eliminar colecciones con permisos de solo visualización: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "La organización está desactivada"
},
@@ -4241,11 +4473,11 @@
}
},
"cardNumberEndsWith": {
- "message": "card number ends with",
+ "message": "el número de tarjeta termina en",
"description": "Used within the inline menu to provide an aria description when users are attempting to fill a card cipher."
},
"loginCredentials": {
- "message": "Login credentials"
+ "message": "Credenciales de inicio de sesión"
},
"authenticatorKey": {
"message": "Authenticator key"
@@ -4270,13 +4502,13 @@
"message": "Website added"
},
"addWebsite": {
- "message": "Add website"
+ "message": "Añadir página web"
},
"deleteWebsite": {
- "message": "Delete website"
+ "message": "Eliminar página web"
},
"defaultLabel": {
- "message": "Default ($VALUE$)",
+ "message": "Por defecto ($VALUE$)",
"description": "A label that indicates the default value for a field with the current default value in parentheses.",
"placeholders": {
"value": {
@@ -4304,10 +4536,10 @@
}
},
"autoFillOnPageLoad": {
- "message": "Autofill on page load?"
+ "message": "¿Autocompletar al cargar la página?"
},
"cardExpiredTitle": {
- "message": "Expired card"
+ "message": "Tarjeta caducada"
},
"cardExpiredMessage": {
"message": "If you've renewed it, update the card's information"
@@ -4348,11 +4580,11 @@
"description": "A section header for a list of passwords."
},
"logInWithPasskeyAriaLabel": {
- "message": "Log in with passkey",
+ "message": "Iniciar sesión con clave de acceso",
"description": "ARIA label for the inline menu button that logs in with a passkey."
},
"assign": {
- "message": "Assign"
+ "message": "Asignar"
},
"bulkCollectionAssignmentDialogDescriptionSingular": {
"message": "Only organization members with access to these collections will be able to see the item."
@@ -4412,7 +4644,7 @@
}
},
"deleteCustomField": {
- "message": "Delete $LABEL$",
+ "message": "Eliminar $LABEL$",
"placeholders": {
"label": {
"content": "$1",
@@ -4421,7 +4653,7 @@
}
},
"fieldAdded": {
- "message": "$LABEL$ added",
+ "message": "$LABEL$ añadido",
"placeholders": {
"label": {
"content": "$1",
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4471,7 +4706,7 @@
}
},
"personalItemWithOrgTransferWarningSingular": {
- "message": "1 item will be permanently transferred to $ORG$. You will no longer own this item.",
+ "message": "1 elemento será transferido permanentemente a $ORG$. Ya no tendrás este objeto.",
"placeholders": {
"org": {
"content": "$1",
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden tiene un aspecto nuevo."
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Acciones de cuenta"
},
@@ -4603,13 +4823,13 @@
"message": "RSA 4096-Bit"
},
"retry": {
- "message": "Retry"
+ "message": "Reintentar"
},
"vaultCustomTimeoutMinimum": {
- "message": "Minimum custom timeout is 1 minute."
+ "message": "El tiempo de espera mínimo personalizado es de 1 minuto."
},
"additionalContentAvailable": {
- "message": "Additional content is available"
+ "message": "Contenido adicional disponible"
},
"fileSavedToDevice": {
"message": "File saved to device. Manage from your device downloads."
@@ -4641,55 +4861,82 @@
"noEditPermissions": {
"message": "No tiene permiso de editar este elemento"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
- "message": "Authenticating"
+ "message": "Autenticando"
},
"fillGeneratedPassword": {
- "message": "Fill generated password",
+ "message": "Rellenar contraseña generada",
"description": "Heading for the password generator within the inline menu"
},
"passwordRegenerated": {
- "message": "Password regenerated",
+ "message": "Contraseña generada",
"description": "Notification message for when a password has been regenerated"
},
"saveLoginToBitwarden": {
- "message": "Save login to Bitwarden?",
+ "message": "¿Guardar inicio de sesión en Bitwarden?",
"description": "Confirmation message for saving a login to Bitwarden"
},
"spaceCharacterDescriptor": {
- "message": "Space",
+ "message": "Espacio",
"description": "Represents the space key in screen reader content as a readable word"
},
"tildeCharacterDescriptor": {
- "message": "Tilde",
+ "message": "Virgulilla",
"description": "Represents the ~ key in screen reader content as a readable word"
},
"backtickCharacterDescriptor": {
- "message": "Backtick",
+ "message": "tilde invertida",
"description": "Represents the ` key in screen reader content as a readable word"
},
"exclamationCharacterDescriptor": {
- "message": "Exclamation mark",
+ "message": "Signo de exclamación",
"description": "Represents the ! key in screen reader content as a readable word"
},
"atSignCharacterDescriptor": {
- "message": "At sign",
+ "message": "Arroba",
"description": "Represents the @ key in screen reader content as a readable word"
},
"hashSignCharacterDescriptor": {
- "message": "Hash sign",
+ "message": "Almohadilla",
"description": "Represents the # key in screen reader content as a readable word"
},
"dollarSignCharacterDescriptor": {
- "message": "Dollar sign",
+ "message": "Signo de dólar",
"description": "Represents the $ key in screen reader content as a readable word"
},
"percentSignCharacterDescriptor": {
- "message": "Percent sign",
+ "message": "Signo de porcentaje",
"description": "Represents the % key in screen reader content as a readable word"
},
"caretCharacterDescriptor": {
- "message": "Caret",
+ "message": "Acento circunflejo",
"description": "Represents the ^ key in screen reader content as a readable word"
},
"ampersandCharacterDescriptor": {
@@ -4697,108 +4944,108 @@
"description": "Represents the & key in screen reader content as a readable word"
},
"asteriskCharacterDescriptor": {
- "message": "Asterisk",
+ "message": "Asterisco",
"description": "Represents the * key in screen reader content as a readable word"
},
"parenLeftCharacterDescriptor": {
- "message": "Left parenthesis",
+ "message": "Paréntesis de apertura",
"description": "Represents the ( key in screen reader content as a readable word"
},
"parenRightCharacterDescriptor": {
- "message": "Right parenthesis",
+ "message": "Paréntesis de cierre",
"description": "Represents the ) key in screen reader content as a readable word"
},
"hyphenCharacterDescriptor": {
- "message": "Underscore",
+ "message": "Barra baja",
"description": "Represents the _ key in screen reader content as a readable word"
},
"underscoreCharacterDescriptor": {
- "message": "Hyphen",
+ "message": "Guión",
"description": "Represents the - key in screen reader content as a readable word"
},
"plusCharacterDescriptor": {
- "message": "Plus",
+ "message": "Más",
"description": "Represents the + key in screen reader content as a readable word"
},
"equalsCharacterDescriptor": {
- "message": "Equals",
+ "message": "Igual",
"description": "Represents the = key in screen reader content as a readable word"
},
"braceLeftCharacterDescriptor": {
- "message": "Left brace",
+ "message": "Abrir llave",
"description": "Represents the { key in screen reader content as a readable word"
},
"braceRightCharacterDescriptor": {
- "message": "Right brace",
+ "message": "Cerrar llave",
"description": "Represents the } key in screen reader content as a readable word"
},
"bracketLeftCharacterDescriptor": {
- "message": "Left bracket",
+ "message": "Abrir corchete",
"description": "Represents the [ key in screen reader content as a readable word"
},
"bracketRightCharacterDescriptor": {
- "message": "Right bracket",
+ "message": "Cerrar corchete",
"description": "Represents the ] key in screen reader content as a readable word"
},
"pipeCharacterDescriptor": {
- "message": "Pipe",
+ "message": "Barra vertical",
"description": "Represents the | key in screen reader content as a readable word"
},
"backSlashCharacterDescriptor": {
- "message": "Back slash",
+ "message": "Barra invertida",
"description": "Represents the back slash key in screen reader content as a readable word"
},
"colonCharacterDescriptor": {
- "message": "Colon",
+ "message": "Dos puntos",
"description": "Represents the : key in screen reader content as a readable word"
},
"semicolonCharacterDescriptor": {
- "message": "Semicolon",
+ "message": "Punto y coma",
"description": "Represents the ; key in screen reader content as a readable word"
},
"doubleQuoteCharacterDescriptor": {
- "message": "Double quote",
+ "message": "Comilla Doble",
"description": "Represents the double quote key in screen reader content as a readable word"
},
"singleQuoteCharacterDescriptor": {
- "message": "Single quote",
+ "message": "Comillas simples",
"description": "Represents the ' key in screen reader content as a readable word"
},
"lessThanCharacterDescriptor": {
- "message": "Less than",
+ "message": "Menor que",
"description": "Represents the < key in screen reader content as a readable word"
},
"greaterThanCharacterDescriptor": {
- "message": "Greater than",
+ "message": "Mayor que",
"description": "Represents the > key in screen reader content as a readable word"
},
"commaCharacterDescriptor": {
- "message": "Comma",
+ "message": "Coma",
"description": "Represents the , key in screen reader content as a readable word"
},
"periodCharacterDescriptor": {
- "message": "Period",
+ "message": "Punto",
"description": "Represents the . key in screen reader content as a readable word"
},
"questionCharacterDescriptor": {
- "message": "Question mark",
+ "message": "Signo de interrogación",
"description": "Represents the ? key in screen reader content as a readable word"
},
"forwardSlashCharacterDescriptor": {
- "message": "Forward slash",
+ "message": "Barra diagonal",
"description": "Represents the / key in screen reader content as a readable word"
},
"lowercaseAriaLabel": {
- "message": "Lowercase"
+ "message": "Minúscula"
},
"uppercaseAriaLabel": {
- "message": "Uppercase"
+ "message": "Mayúsculas"
},
"generatedPassword": {
- "message": "Generated password"
+ "message": "Contraseña generada"
},
"compactMode": {
- "message": "Compact mode"
+ "message": "Modo compacto"
},
"beta": {
"message": "Beta"
@@ -4831,21 +5078,66 @@
"message": "No, I do not"
},
"newDeviceVerificationNoticePageOneEmailAccessYes": {
- "message": "Yes, I can reliably access my email"
+ "message": "Sí, puedo acceder a mi correo electrónico de forma fiable"
},
"turnOnTwoStepLogin": {
- "message": "Turn on two-step login"
+ "message": "Activar inicio de sesión en dos pasos"
},
"changeAcctEmail": {
- "message": "Change account email"
+ "message": "Cambiar la cuenta de correo electrónico"
},
"extensionWidth": {
- "message": "Extension width"
+ "message": "Ancho de extensión"
},
"wide": {
- "message": "Wide"
+ "message": "Ancho"
},
"extraWide": {
- "message": "Extra wide"
+ "message": "Extraancho"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "No puedes eliminar colecciones con permisos de solo visualización: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Por favor, actualiza tu aplicación de escritorio"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Para utilizar el desbloqueo biométrico, por favor actualice su aplicación de escritorio o desactive el desbloqueo de huella dactilar en los ajustes del escritorio."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/et/messages.json b/apps/browser/src/_locales/et/messages.json
index 069135ddb08..2daf5f9d7f0 100644
--- a/apps/browser/src/_locales/et/messages.json
+++ b/apps/browser/src/_locales/et/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Ülemparooli vihje (ei ole kohustuslik)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Liitu organisatsiooniga"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Parooli vihje"
- },
- "enterEmailToGetHint": {
- "message": "Ülemparooli vihje saamiseks sisesta oma konto e-posti aadress."
- },
"getMasterPasswordHint": {
"message": "Tuleta ülemparool vihjega meelde"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Muuda kausta"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Uus kaust"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Genereeri parool uuesti"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Pikkus"
},
- "uppercase": {
- "message": "Suurtäht (A-Z) ",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Väiketäht (a-z) ",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbrid (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Erimärgid (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Kasuta",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Kasuta sümboleid",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Sõnade arv"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Kasutatav brauser ei toeta lihtsat lõikelaua kopeerimist. Kopeeri see käsitsi."
},
- "verifyIdentity": {
- "message": "Identiteedi kinnitamine"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Hoidla on lukus. Jätkamiseks sisesta ülemparool."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Alusta registreerimist uuesti"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Ei"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Tekkis ootamatu viga."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Kuva \"Kaart\" vaates kaardiandmed"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Kuvab \"Kaart\" vaates kaardiandmeid, et neid saaks kiiresti sisestada"
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Kuva \"Kaart\" vaates identiteete"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Lõikelaua sisu kustutamine",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Jah, salvesta see"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Paku olemasolevate andmete uuendamist"
},
@@ -1084,10 +1169,6 @@
"message": "Hele",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized tume",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Osta Premium"
},
- "premiumPurchaseAlert": {
- "message": "Bitwardeni premium versiooni saab osta bitwarden.com veebihoidlas. Avan veebihoidla?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Jäta mind meelde"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Saada kinnituskood uuesti e-postile"
},
"useAnotherTwoStepMethod": {
"message": "Kasuta teist kaheastmelist sisselogimise meetodit"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Sisesta oma YubiKey arvuti USB porti ja kliki sellele nupule."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Ava uus vahekaart"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "WebAuthn kinnitamine"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Sisselogimine ei ole saadaval"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Kaheastmelise sisselogimise valikud"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Puudub ligipääs kaheastmelise kinnitamise teenusele? Kasuta Taastamise koodi, et kaheastmeline kinnitamine oma kontol välja lülitada."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted Environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premise hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Kohandatud keskkond"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Serveri URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Lohista sorteerimiseks"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Tekst"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Kasutajanime genereerija"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Kasuta seda parooli"
},
@@ -2063,12 +2163,24 @@
"message": "et luua tugev ja ainulaadne parool",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Hoidla ajalõpu tegevus"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lukusta",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Väljajäetud domeenid"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Viga"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Genereeri kasutajanimi"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Seaded on uuendatud"
- },
- "environmentEditedClick": {
- "message": "Kliki siia,"
- },
- "environmentEditedReset": {
- "message": "et taastada eelseadistatud seaded"
- },
"serverVersion": {
"message": "Serveri versioon"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Logi sisse ülemparooliga"
},
- "loggingInAs": {
- "message": "Sisselogimas kui"
- },
- "notYou": {
- "message": "Pole sina?"
- },
"newAroundHere": {
"message": "Oled siin uus?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Logi sisse seadme kaudu"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Bitwardeni rakenduse seadistuses peab olema konfigureeritud sisselogimine läbi seadme. Vajad teist valikut?"
- },
"fingerprintPhraseHeader": {
"message": "Unikaalne sõnajada"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "Sinu seadmesse saadeti teavitus."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Sisselogimine on käivitatud"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Ülemparool on haavatav"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Küsi admini kinnitust"
},
- "approveWithMasterPassword": {
- "message": "Kinnita ülemparooliga"
- },
"ssoIdentifierRequired": {
"message": "Nõutav on organisatsiooni SSO identifikaator."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Kinnituspäring saadeti adminile."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Kinnitamise järel saad selle kohta teavituse."
- },
"troubleLoggingIn": {
"message": "Kas sisselogimisel on probleeme?"
},
@@ -3396,38 +3649,6 @@
"message": "Peida",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Impordin andmed Bitwardenisse?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Kaitse oma LastPassi andmeid ja impordi need Bitwardenisse?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Salvesta ilma krüpteeringuta failina",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Impordi Bitwardenisse",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importimine...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Andmed on edukalt imporditud!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Ilmnes viga. Vaata täpsemaid andmeid konsoolist.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Importimisel ilmnes võrgu viga.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domeen"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/eu/messages.json b/apps/browser/src/_locales/eu/messages.json
index 47a56583c64..b1e1ca3526b 100644
--- a/apps/browser/src/_locales/eu/messages.json
+++ b/apps/browser/src/_locales/eu/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Pasahitz nagusirako pista (aukerakoa)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Pasahitza gogoratzeko pista"
- },
- "enterEmailToGetHint": {
- "message": "Sartu zure kontuko emaila pasahitz nagusiaren pista jasotzeko."
- },
"getMasterPasswordHint": {
"message": "Jaso pasahitz nagusiaren pista"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Editatu Karpeta"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Berrezarri pasahitza"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Luzera"
},
- "uppercase": {
- "message": "Letra larria (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Letra txikia (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Zenbakiak (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Karaktere bereziak (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Hitz kopurua"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Zure web nabigatzaileak ez du onartzen arbelean erraz kopiatzea. Eskuz kopiatu."
},
- "verifyIdentity": {
- "message": "Zure identitatea egiaztatu"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Zure kutxa gotorra blokeatuta dago. Egiaztatu zure identitatea jarraitzeko."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Ez"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Ustekabeko akatsa gertatu da."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Erakutsi txartelak fitxa orrian"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Erakutsi elementuen txartelak fitxa orrian, erraz auto-betetzeko."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Erakutsi identitateak fitxa orrian"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Hustu arbela",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Gorde"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Galdetu uneko saio-hasiera eguneratzeko"
},
@@ -1084,10 +1169,6 @@
"message": "Argia",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized iluna",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Premium erosi"
},
- "premiumPurchaseAlert": {
- "message": "Zure premium bazkidetza bitwarden.com webguneko kutxa gotorrean ordaindu dezakezu. Orain bisitatu nahi duzu webgunea?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Gogora nazazu"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Berbidali email bidezko egiaztatze-kodea."
},
"useAnotherTwoStepMethod": {
"message": "Erabili bi urratseko saio hasierarako beste modu bat"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Sartu zure YubiKey-a ordenagailuko USB atakan, ondoren, sakatu bere botoia."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Ireki fitxa berria"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "WebAuthn autentifikatu"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Ez dago eskuragarri saio-hasierarik"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Bi urratseko saio hasieraren aukerak"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Bi urratseko egiaztatzeko modu guztietarako sarbidea galdu duzu? Erabili zure berreskuratze-kodea zure kontuko bi urratseko egiaztatze hornitzaile guztiak desaktibatzeko."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Ostatze ingurune propioa"
},
- "selfHostedEnvironmentFooter": {
- "message": "Bitwarden instalatzeko, zehaztu ostatatze propioaren oinarrizko URL-a."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Ingurune pertsonalizatua"
},
- "customEnvironmentFooter": {
- "message": "Erabiltzaile aurreratuentzat. Zerbitzu bakoitzarentzako oinarrizko URL-a zehaztu dezakezu independienteki."
- },
"baseUrl": {
"message": "Zerbitzariaren URL-a"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Arrastatu txukuntzeko"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Testua"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Kutxa gotorraren itxaronaldiaren ekintza"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Blokeatu",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Kanporatutako domeinuak"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Akatsa"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Sortu erabiltzaile izena"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Ezarpenak editatu dira"
- },
- "environmentEditedClick": {
- "message": "Sakatu hemen"
- },
- "environmentEditedReset": {
- "message": "ezarpen lehenetsiak ezartzeko"
- },
"serverVersion": {
"message": "Zerbitzariaren bertsioa"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Hasi saioa pasahitz nagusiarekin"
},
- "loggingInAs": {
- "message": "Honela hasi saioa"
- },
- "notYou": {
- "message": "Ez zara zu?"
- },
"newAroundHere": {
"message": "Berria hemendik?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Eskatu administratzailearen onarpena"
},
- "approveWithMasterPassword": {
- "message": "Onartu pasahitz nagusiarekin"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Zure eskaera zure administratzaileari bidali zaio."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Jakinaraziko zaizu onartzen denean."
- },
"troubleLoggingIn": {
"message": "Arazoak saioa hasterakoan?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Inportatzen...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Datuak zuzen inportatu dira!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Errorea gertatu da inportatzean. Begiratu xehetasunak kontsolan.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Sareko errorea gertatu da inportatzerakoan.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/fa/messages.json b/apps/browser/src/_locales/fa/messages.json
index 2b8a5e20da1..2b3d66ad104 100644
--- a/apps/browser/src/_locales/fa/messages.json
+++ b/apps/browser/src/_locales/fa/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "یادآور کلمه عبور اصلی (اختیاری)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "یادآور کلمه عبور"
- },
- "enterEmailToGetHint": {
- "message": "برای دریافت یادآور کلمه عبور اصلی خود نشانی ایمیلتان را وارد کنید."
- },
"getMasterPasswordHint": {
"message": "دریافت یادآور کلمه عبور اصلی"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "ويرايش پوشه"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "تولید مجدد کلمه عبور"
},
@@ -454,22 +482,6 @@
"length": {
"message": "طول"
},
- "uppercase": {
- "message": "حروف بزرگ (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "حروف کوچک (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "اعداد (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "نویسههای ویژه (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "تعداد کلمات"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "مرورگر شما از کپی کلیپ بورد آسان پشتیبانی نمیکند. به جای آن به صورت دستی کپی کنید."
},
- "verifyIdentity": {
- "message": "تأیید هویت"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "گاوصندوق شما قفل شده است. برای ادامه هویت خود را تأیید کنید."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "خیر"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "یک خطای غیر منتظره رخ داده است."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "نمایش کارتها در صفحه برگه"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "برای پر کردن خودکار آسان، موارد کارت را در صفحه برگه فهرست کن."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "نشان دادن هویت در صفحه برگه"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "پاکسازی کلیپ بورد",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "ذخیره"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "درخواست برای بهروزرسانی ورود به سیستم موجود"
},
@@ -1084,10 +1169,6 @@
"message": "روشن",
"description": "Light color"
},
- "solarizedDark": {
- "message": "تاریک خورشیدی",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "صادرات از"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "خرید پرمیوم"
},
- "premiumPurchaseAlert": {
- "message": "شما میتوانید عضویت پرمیوم را از گاوصندوق وب bitwarden.com خریداری کنید. مایلید اکنون از وبسایت بازید کنید؟"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "مرا به خاطر بسپار"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "ارسال دوباره ایمیل کد تأیید"
},
"useAnotherTwoStepMethod": {
"message": "استفاده از روش ورود دو مرحلهای دیگر"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "YubiKey خود را وارد پورت USB رایانه کنید، بعد دکمه آن را بفشارید."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "باز کردن زبانه جدید"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "تأیید اعتبار در WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "ورود به سیستم در دسترس نیست"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "گزینههای ورود دو مرحلهای"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "دسترسی به تمامی ارائهدهندگان دو مرحلهای را از دست دادهاید؟ از کد بازیابی خود برای غیرفعالسازی ارائهدهندگان دو مرحلهای از حسابتان استفاده کنید."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "محیط خود میزبان"
},
- "selfHostedEnvironmentFooter": {
- "message": "نشانی اینترنتی پایه فرضی نصب Bitwarden میزبانی شده را مشخص کنید."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "محیط سفارشی"
},
- "customEnvironmentFooter": {
- "message": "برای کاربران پیشرفته. شما میتوانید نشانی پایه هر سرویس را مستقلاً تعیین کنید."
- },
"baseUrl": {
"message": "نشانی اینترنتی سرور"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "برای مرتبسازی بکشید"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "متن"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "عمل متوقف شدن گاوصندوق"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "قفل",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "دامنه های مستثنی"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "خطا"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "ایجاد نام کاربری"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "تنظیمات ویرایش شده اند"
- },
- "environmentEditedClick": {
- "message": "اینجا کلیک کنید"
- },
- "environmentEditedReset": {
- "message": "برای بازنشانی به تنظیمات از پیش پیکربندی شده"
- },
"serverVersion": {
"message": "نسخه سرور"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "با کلمه عبور اصلی وارد شوید"
},
- "loggingInAs": {
- "message": "در حال ورود به عنوان"
- },
- "notYou": {
- "message": "شما نیستید؟"
- },
"newAroundHere": {
"message": "اینجا تازه واردی؟"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "ورود با دستگاه"
},
- "loginWithDeviceEnabledInfo": {
- "message": "ورود به سیستم با دستگاه باید در تنظیمات برنامهی Bitwarden تنظیم شود. به گزینه دیگری نیاز دارید؟"
- },
"fingerprintPhraseHeader": {
"message": "عبارت اثر انگشت"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "یک اعلان به دستگاه شما ارسال شده است."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "ورود به سیستم آغاز شد"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "کلمه عبور اصلی افشا شده"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "درخواست تأیید مدیر"
},
- "approveWithMasterPassword": {
- "message": "تأیید با کلمه عبور اصلی"
- },
"ssoIdentifierRequired": {
"message": "شناسه سازمان SSO مورد نیاز است."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "درخواست شما به مدیرتان فرستاده شد."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "به محض تأیید مطلع خواهید شد."
- },
"troubleLoggingIn": {
"message": "در ورود مشکلی دارید؟"
},
@@ -3396,38 +3649,6 @@
"message": "دکمه بستن",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "دامنه مستعار"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/fi/messages.json b/apps/browser/src/_locales/fi/messages.json
index 718c0631156..a37bd0235c1 100644
--- a/apps/browser/src/_locales/fi/messages.json
+++ b/apps/browser/src/_locales/fi/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Pääsalasanan vihje (valinnainen)"
},
+ "passwordStrengthScore": {
+ "message": "Salasanan vahvuusluokitus on $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Liity organisaatioon"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Kopioi merkinnät"
},
+ "copy": {
+ "message": "Kopioi",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Täytä",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Syötä tilisi sähköpostiosoite, niin salasanavihjeesi lähetetään sinulle sähköpostitse"
},
- "passwordHint": {
- "message": "Salasanavihje"
- },
- "enterEmailToGetHint": {
- "message": "Syötä tilisi sähköpostiosoite saadaksesi pääsalasanan vihjeen."
- },
"getMasterPasswordHint": {
"message": "Pyydä pääsalasanan vihjettä"
},
@@ -302,11 +309,11 @@
"message": "Voit vaihtaa pääsalasanasi Bitwardenin verkkosovelluksessa."
},
"fingerprintPhrase": {
- "message": "Tunnistelauseke",
+ "message": "Tunnistelause",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
},
"yourAccountsFingerprint": {
- "message": "Tilisi tunnistelauseke",
+ "message": "Tilisi tunnistelause",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
},
"twoStepLogin": {
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Muokkaa kansiota"
},
+ "editFolderWithName": {
+ "message": "Muokkaa kansiota: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Uusi kansio"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Luo salalause"
},
+ "passwordGenerated": {
+ "message": "Salasana luotiin"
+ },
+ "passphraseGenerated": {
+ "message": "Salalause luotiin"
+ },
+ "usernameGenerated": {
+ "message": "Käyttäjätunnus luotiin"
+ },
+ "emailGenerated": {
+ "message": "Sähköpostiosoite luotiin"
+ },
"regeneratePassword": {
"message": "Luo uusi salasana"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Pituus"
},
- "uppercase": {
- "message": "Isot kirjaimet (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Pienet kirjaimet (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numerot (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Erikoismerkit (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Sisällytys",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Sisällytä erikoismerkkejä",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Sanojen määrä"
},
@@ -530,7 +538,7 @@
"description": "Label for the avoid ambiguous characters checkbox."
},
"generatorPolicyInEffect": {
- "message": "Yrityskäytännön säännöt vaikuttavat generaattoriasetuksiisi.",
+ "message": "Yrityskäytännön säännöt vaikuttavat generaattorisi asetuksiin.",
"description": "Indicates that a policy limits the credential generator screen."
},
"searchVault": {
@@ -558,7 +566,7 @@
"message": "Todennuksen salaisuus"
},
"passphrase": {
- "message": "Salauslauseke"
+ "message": "Salalause"
},
"favorite": {
"message": "Suosikki"
@@ -644,9 +652,15 @@
"browserNotSupportClipboard": {
"message": "Selaimesi ei tue helppoa leikepöydälle kopiointia. Kopioi kohde manuaalisesti."
},
- "verifyIdentity": {
+ "verifyYourIdentity": {
"message": "Vahvista henkilöllisyytesi"
},
+ "weDontRecognizeThisDevice": {
+ "message": "Laitetta ei tunnistettu. Vahvista henkilöllisyytesi syöttämällä sähköpostitse saamasi koodi."
+ },
+ "continueLoggingIn": {
+ "message": "Jatka kirjautumista"
+ },
"yourVaultIsLocked": {
"message": "Holvisi on lukittu. Jatka vahvistamalla henkilöllisyytesi."
},
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Kirjaudu Bitwardeniin"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Syötä sähköpostitse saamasi koodi"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Syötä todennussovelluksesi näyttämä koodi"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Tunnistaudu koskettamalla YubiKeytäsi"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo edellyttää tililtäsi kaksivaiheista tunnistautumista. Viimeistele kirjautuminen seuraamalla seuraavia vaiheita."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Viimeistele kirjautuminen seuraamalla seuraavia vaiheita."
+ },
"restartRegistration": {
"message": "Aloita rekisteröityminen alusta"
},
@@ -875,6 +904,9 @@
"no": {
"message": "En"
},
+ "location": {
+ "message": "Sijainti"
+ },
"unexpectedError": {
"message": "Tapahtui odottamaton virhe."
},
@@ -986,26 +1018,29 @@
"addLoginNotificationDescAlt": {
"message": "Ehdota kohteen tallennusta, jos holvistasi ei vielä löydy vastaavaa kohdetta. Koskee kaikkia kirjautuneita tilejä."
},
- "showCardsInVaultView": {
- "message": "Näytä kortit automaattitäytön ehdotuksina Holvi-näkymässä"
+ "showCardsInVaultViewV2": {
+ "message": "Näytä kortit aina automaattitäytön ehdotuksina Holvi-näkymässä"
},
"showCardsCurrentTab": {
"message": "Näytä kortit välilehtiosiossa"
},
"showCardsCurrentTabDesc": {
- "message": "Näytä kortit Välilehti-sivulla automaattitäytön helpottamiseksi."
+ "message": "Näytä kortit Välilehti-näkymässä automaattitäytön helpottamiseksi."
},
- "showIdentitiesInVaultView": {
- "message": "Näytä henkilöllisyydet automaattitäytön ehdotuksina Holvi-sivulla."
+ "showIdentitiesInVaultViewV2": {
+ "message": "Näytä henkilöllisyydet aina automaattitäytön ehdotuksina Holvi-näkymässä"
},
"showIdentitiesCurrentTab": {
"message": "Näytä henkilöllisyydet välilehtiosiossa"
},
"showIdentitiesCurrentTabDesc": {
- "message": "Näytä henkilöllisyydet Välilehti-sivulla automaattitäytön helpottamiseksi."
+ "message": "Näytä henkilöllisyydet Välilehti-näkymässä automaattitäytön helpottamiseksi."
},
"clickToAutofillOnVault": {
- "message": "Click items to autofill on Vault view"
+ "message": "Täytä kohteet Holvi-näkymästä klikkaamalla niitä"
+ },
+ "clickToAutofill": {
+ "message": "Täytä automaattitäytön ehdotus napsauttamalla sitä"
},
"clearClipboard": {
"message": "Tyhjennä leikepöytä",
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Tallenna"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ tallennettiin Bitwardeniin.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ päivitettiin Bitwardeniin.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Tallenna uutena kirjautumistietona",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Päivitä kirjautumistieto",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Tallennetaanko kirjautumistieto?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Päivitetäänkö olemassaoleva kirjautumistieto?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Kirjautumistieto tallennettiin",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Kirjautumistieto päivitettiin",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Virhe tallennettaessa",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Voi ei! Emme voineet tallentaa tätä. Yritä syöttää tiedot manuaalisesti.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Kysy päivitetäänkö kirjautumistieto"
},
@@ -1084,10 +1169,6 @@
"message": "Vaalea",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized, tumma",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Vie lähteestä"
},
@@ -1245,7 +1326,7 @@
"message": "Varmuuskäyttö"
},
"premiumSignUpTwoStepOptions": {
- "message": "Omisteiset kaksivaiheisen kirjautumisen vaihtoehdot, kuten YubiKey ja Duo."
+ "message": "Kaksivaiheisen kirjautumisen erikoisvaihtoehdot, kuten YubiKey ja Duo."
},
"ppremiumSignUpReports": {
"message": "Salasanahygienian, tilin terveyden ja tietovuotojen raportointitoiminnot pitävät holvisi turvassa."
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Osta Premium"
},
- "premiumPurchaseAlert": {
- "message": "Voit ostaa Premium-jäsenyyden bitwarden.com-verkkoholvista. Haluatko avata sivuston nyt?"
- },
"premiumPurchaseAlertV2": {
"message": "Voit ostaa Premiumin tiliasetuksistasi Bitwardenin verkkosovelluksen kautta."
},
@@ -1343,14 +1421,24 @@
"rememberMe": {
"message": "Muista minut"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Älä kysy uudelleen tällä laitteella 30 päivään"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Lähetä todennuskoodi sähköpostitse uudelleen"
},
"useAnotherTwoStepMethod": {
"message": "Käytä vaihtoehtoista todennustapaa"
},
+ "selectAnotherMethod": {
+ "message": "Valitse vaihtoehtoinen tapa",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Käytä palautuskoodiasi"
+ },
"insertYubiKey": {
- "message": "Kytke YubiKey-todennuslaitteesi tietokoneen USB-porttiin ja paina sen painiketta."
+ "message": "Kytke YubiKey-suojausavaimesi tietokoneen USB-porttiin ja kosketa sen painiketta."
},
"insertU2f": {
"message": "Kytke suojausavaimesi tietokoneen USB-porttiin. Jos laitteessa on painike, paina sitä."
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Avaa uusi välilehti"
},
+ "openInNewTab": {
+ "message": "Avaa uudessa välilehdessä"
+ },
"webAuthnAuthenticate": {
"message": "WebAuthn-todennus"
},
+ "readSecurityKey": {
+ "message": "Lue suojausavain"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Odotetaan suojausavaimen aktivointia..."
+ },
"loginUnavailable": {
"message": "Kirjautuminen ei ole käytettävissä"
},
@@ -1376,8 +1473,11 @@
"twoStepOptions": {
"message": "Kaksivaiheisen kirjautumisen asetukset"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Valitse todennustapa"
+ },
"recoveryCodeDesc": {
- "message": "Etkö pysty käyttämään kaksivaiheisen kirjautumisen todentajiasi? Poista kaikki tilillesi määritetyt todentajat käytöstä palautuskoodillasi."
+ "message": "Etkö voi käyttää kaksivaiheisen kirjautumisen todentajiasi? Poista kaikki tilillesi määritetyt todentajat käytöstä palautuskoodillasi."
},
"recoveryCodeTitle": {
"message": "Palautuskoodi"
@@ -1393,7 +1493,7 @@
"message": "Yubico OTP -suojausavain"
},
"yubiKeyDesc": {
- "message": "Käytä YubiKey-todennuslaitetta tilisi avaukseen. Toimii YubiKey 4, 4 Nano, 4C sekä NEO -laitteiden kanssa."
+ "message": "Käytä YubiKey-suojausavainta tilisi avaukseen. Toimii YubiKey 4, 4 Nano, 4C ja NEO -laitteiden kanssa."
},
"duoDescV2": {
"message": "Syötä Duo Securityn luoma koodi.",
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Itse ylläpidetty palvelinympäristö"
},
- "selfHostedEnvironmentFooter": {
- "message": "Määritä omassa palvelinympäristössäsi suoritettavan Bitwarden-asennuksen perusosoite."
- },
"selfHostedBaseUrlHint": {
"message": "Määritä itse ylläpitämäsi Bitwarden-asennuksen perusosoite. Esimerkki: https://bitwarden.yritys.fi."
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Mukautettu palvelinympäristö"
},
- "customEnvironmentFooter": {
- "message": "Edistyneille käyttäjille. Voit määrittää jokaiselle palvelulle oman perusosoitteen."
- },
"baseUrl": {
"message": "Palvelimen URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Järjestä raahaamalla"
},
+ "dragToReorder": {
+ "message": "Järjestä vetämällä"
+ },
"cfTypeText": {
"message": "Teksti"
},
@@ -1597,7 +1694,7 @@
"message": "Painallus ponnahdusikkunan ulkopuolelle todennuskoodin sähköpostista noutoa varten sulkee ikkunan. Haluatko avata näkymän uuteen ikkunaan, jotta se pysyy avoinna?"
},
"popupU2fCloseMessage": {
- "message": "Tämä selain ei voi käsitellä U2F-pyyntöjä tässä ponnahdusikkunassa. Haluatko avata näkymän uuteen ikkunaan, jotta voit vahvistaa kirjautumisen U2F-todennuslaitteella?"
+ "message": "Tämä selain ei voi käsitellä U2F-pyyntöjä tässä ponnahdusikkunassa. Haluatko avata näkymän uuteen ikkunaan vahvistaaksesi kirjautumisen U2F-suojausavaimella?"
},
"enableFavicon": {
"message": "Näytä verkkosivustojen kuvakkeet"
@@ -1983,7 +2080,7 @@
"message": "Heikko pääsalasana"
},
"weakMasterPasswordDesc": {
- "message": "Valitsemasi pääsalasana on heikko. Sinun tulisi käyttää vahvaa pääsalasanaa (tai salauslauseketta) suojataksesi Bitwarden-tilisi kunnolla. Haluatko varmasti käyttää tätä pääsalasanaa?"
+ "message": "Valitsemasi pääsalasana on heikko. Sinun tulisi käyttää vahvaa pääsalasanaa (tai salauslausetta) suojataksesi Bitwarden-tilisi kunnolla. Haluatko varmasti käyttää tätä pääsalasanaa?"
},
"pin": {
"message": "PIN",
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Käyttäjätunnusgeneraattori"
},
+ "useThisEmail": {
+ "message": "Käytä tätä sähköpostia"
+ },
"useThisPassword": {
"message": "Käytä tätä salasanaa"
},
@@ -2063,12 +2163,24 @@
"message": "luodaksesi vahvan ainutlaatuisen salasanan",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Holvin mukautus"
+ },
"vaultTimeoutAction": {
"message": "Holvin aikakatkaisutoiminto"
},
"vaultTimeoutAction1": {
"message": "Aikakatkaisutoiminto"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Uusia mukautusvaihtoehtoja"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Mukauta holvikokemustasi pikakopiointitoiminnoilla, kompaktilla tilalla ja muulla!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Näytä kaikki ulkoasuasetukset"
+ },
"lock": {
"message": "Lukitse",
"description": "Verb form: to make secure or inaccessible by"
@@ -2150,7 +2262,7 @@
"message": "Yksi tai useampi organisaatiokäytäntö edellyttää, että pääsalasanasi täyttää seuraavat vaatimukset:"
},
"policyInEffectMinComplexity": {
- "message": "Monimutkaisuuden vähimmäispistemäärä on $SCORE$",
+ "message": "Monimutkaisuuden vähimmäisluokitus on $SCORE$",
"placeholders": {
"score": {
"content": "$1",
@@ -2324,6 +2436,12 @@
"message": "Verkkotunnukset",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Estetyt verkkotunnukset"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Lisätietoja estetyistä verkkotunnuksista"
+ },
"excludedDomains": {
"message": "Ohitettavat verkkotunnukset"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden ei pyydä kirjautumistietojen tallennusta näillä verkkotunnuksilla. Koskee kaikkia kirjautuneita tilejä. Ota muutokset käyttöön päivittämällä sivu."
},
+ "blockedDomainsDesc": {
+ "message": "Näille sivustoille ei tarjota automaattista täyttöä eikä muita siihen liittyviä ominaisuuksia. Sinun on päivitettävä sivu, jotta muutokset tulevat voimaan."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Automaattitäyttö on estetty tällä sivustolla."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Muuta tätä asetuksissa"
+ },
+ "change": {
+ "message": "Vaihda"
+ },
+ "changeButtonTitle": {
+ "message": "Vaihda salasana - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Vaarantuneet salasanat"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ pyytää sinua vaihtamaan yhden salasanan, koska se on vaarassa.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ pyytää sinua vaihtamaan nämä $COUNT$ salasanaa, koska ne ovat vaarassa.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Organisaatiosi pyytävät sinua vaihtamaan nämä $COUNT$ salasanaa, koska ne ovat vaarassa.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Tarkasta ja vaihda yksi vaarantunut salasana"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Tarkasta ja vaihda $COUNT$ vaarantunutta salasanaa",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Vaihda vaarantuneet salasanat nopeammin"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Päivitä asetuksesi, jotta voit täyttää salasanasi ja luoda uusia nopeasti."
+ },
+ "reviewAtRiskLogins": {
+ "message": "Tarkista vaarantuneet kirjautumistiedot"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Tarkista vaarantuneet salasanat"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Organisaatiosalasanasi ovat vaarantuneet, koska ne ovat heikkoja, toistuvasti käytettyjä ja/tai paljastuneita.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Kuvitus vaarantuneiden kirjautumistietojen luettelosta"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Luo vahva ja ainutlaatuinen salasana nopeasti Bitwardenin automaattitäytön valikosta vaarantuneella sivustolla.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Kuvitus Bitwardenin automaattitäytön valikosta, luodulla salasanalla"
+ },
+ "updateInBitwarden": {
+ "message": "Päivitä Bitwardenissa"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden pyytää sinua sitten päivittämään salasanan salasanahallinnassa.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Kuvitus ilmoituksesta, jossa Bitwarden tarjoaa kirjautumistiedon päivitystä"
+ },
+ "turnOnAutofill": {
+ "message": "Ota automaattitäyttö käyttöön"
+ },
+ "turnedOnAutofill": {
+ "message": "Automaattitäyttö otettiin käyttöön"
+ },
+ "dismiss": {
+ "message": "Sulje"
+ },
"websiteItemLabel": {
"message": "Verkkotunnus $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Estetyn verkkotunnuksen muutokset tallennettu"
+ },
"excludedDomainsSavedSuccess": {
"message": "Rajoitettujen verkkotunnusten muutokset tallennettiin"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Virhe"
},
+ "decryptionError": {
+ "message": "Salauksen purkuvirhe"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden ei pystynyt purkamaan alla lueteltuja holvin kohteita."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Ota yhteyttä asiakkaaseen",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "lisätietojen menettämisen välttämiseksi.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Luo käyttäjätunnus"
},
@@ -2820,7 +3067,7 @@
}
},
"passphraseNumWordsRecommendationHint": {
- "message": " Käytä $RECOMMENDED$ tai useampaa sanaa vahvan salalauseen luomiseen.",
+ "message": " Käytä vahvaan salalauseeseen ainakin $RECOMMENDED$ sanaa.",
"description": "Appended to `spinboxBoundariesHint` to recommend a number of words to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).",
"placeholders": {
"recommended": {
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ hylkäsi pyyntösi. Ole yhteydessä palveluntarjoajaasi saadaksesi apua.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ hylkäsi pyyntösi: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "$SERVICENAME$ -palvelun peittämän sähköpostitilin tunnusta ei saatu.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Asetuksia on muokattu"
- },
- "environmentEditedClick": {
- "message": "Paina tästä"
- },
- "environmentEditedReset": {
- "message": "palauttaaksesi oletusasetukset"
- },
"serverVersion": {
"message": "Palvelimen versio"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Kirjaudu pääsalasanalla"
},
- "loggingInAs": {
- "message": "Kirjaudutaan tunnuksella"
- },
- "notYou": {
- "message": "Etkö se ollut sinä?"
- },
"newAroundHere": {
"message": "Oletko uusi täällä?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Laitteella kirjautuminen"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Laitteella kirjautuminen on määritettävä Bitwarden-sovelluksen asetuksista. Tarvitsetko eri vaihtoehdon?"
- },
"fingerprintPhraseHeader": {
"message": "Tunnistelauseke"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Näytä kaikki kirjautumisvaihtoehdot"
},
- "viewAllLoginOptionsV1": {
- "message": "Näytä kaikki kirjautumisvaihtoehdot"
- },
"notificationSentDevice": {
"message": "Laitteellesi on lähetetty ilmoitus."
},
+ "notificationSentDevicePart1": {
+ "message": "Avaa Bitwarden laitteellasi tai"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "verkkosovelluksena"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Ennen hyväksyntää varmista, että tunnistelause vastaa alla olevaa lausetta."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Laitteeseesi lähetettiin ilmoitus"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Varmista, että vahvistavan laitteen holvi on avattu ja että se näyttää saman tunnistelausekkeen"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Sinulle ilmoitetaan, kun pyyntö on hyväksytty"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Kirjautuminen aloitettu"
},
+ "logInRequestSent": {
+ "message": "Pyyntö lähetetty"
+ },
"exposedMasterPassword": {
"message": "Paljastunut pääsalasana"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Pyydä hyväksyntää ylläpidolta"
},
- "approveWithMasterPassword": {
- "message": "Hyväksy pääsalasanalla"
- },
"ssoIdentifierRequired": {
"message": "Organisaation kertakirjautumistunniste tarvitaan."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Pyyntösi on välitetty ylläpidollesi."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Saat ilmoituksen kun se on hyväksytty."
- },
"troubleLoggingIn": {
"message": "Ongelmia kirjautumisessa?"
},
@@ -3396,38 +3649,6 @@
"message": "Laajenna tai supista",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Haluatko tuoda tietosi Bitwardeniin?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Haluatko suojata LastPass-tietosi tuomalla ne Bitwardeniin?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Tallenna salaamattomana tiedostona",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Tuo Bitwardeniin",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Tuodaan...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Tietojen tuonti onnistui.",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Tuontivirhe. Näet isätietoja hallinnasta.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Verkkovirhe tuonnin aikana.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Aliaksen verkkotunnus"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktiivinen tili"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden-tili"
+ },
"availableAccounts": {
"message": "Käytettävissä olevat tilit"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Automaattitäytön ehdotukset"
},
+ "itemSuggestions": {
+ "message": "Ehdotetut kohteet"
+ },
"autofillSuggestionsTip": {
"message": "Tallenna tälle sivustolle automaattisesti täytettävä kirjautumistieto."
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Kopioi $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Ei kopioitavia arvoja"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Kohteen nimi"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Et voi poistaa kokoelmia, joihin sinulla on vain tarkasteluoikeus: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organisaatio on poistettu käytöstä"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Siirrä verkkosivuston URIa. Liikuta kohdetta ylös- tai alaspäin nuolinäppäimillä."
+ },
"reorderFieldUp": {
"message": "$LABEL$ siirrettiin ylemmäs, sijainti: $INDEX$/$LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Et ole valinnut mitään."
},
- "movedItemsToOrg": {
- "message": "Valitut kohteet siirrettiin organisaatiolle $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Kohteet siirrettiin organisaatiolle $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Teksti-Sendit"
},
- "bitwardenNewLook": {
- "message": "Bitwardenilla on uusi ulkoasu!"
- },
- "bitwardenNewLookDesc": {
- "message": "Automaattinen täyttö ja sisällön haku Holvi-välilehdeltä on nyt entistä helpompaa ja luontevampaa. Kokeile nyt!"
- },
"accountActions": {
"message": "Tilitoiminnot"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Sinulla ei ole oikeutta muokata tätä kohdetta"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometrinen avaus ei ole käytettävissä, koska PIN-koodi tai salasanan lukituksen avaus vaaditaan ensin."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometrinen avaus ei tällä hetkellä ole käytettävissä."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometrinen avaus ei ole käytettävissä, koska järjestelmätiedostoja ei ole määritetty."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometrinen avaus ei ole käytettävissä, koska järjestelmätiedostoja ei ole määritetty."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometrinen avaus ei ole käytettävissä, koska Bitwardenin työpöytäsovellus on suljettu."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometrinen avaus ei ole käytettävissä, koska sitä ei ole otettu käyttöön osoitteelle $EMAIL$ Bitwardenin työpöytäsovelluksessa.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometrinen avaus ei ole tällä hetkellä käytettävissä tuntemattomasta syystä."
+ },
"authenticating": {
"message": "Todennetaan"
},
@@ -4798,7 +5045,7 @@
"message": "Luotu salasana"
},
"compactMode": {
- "message": "Pienikokoinen tila"
+ "message": "Kompakti tila"
},
"beta": {
"message": "Beta"
@@ -4813,13 +5060,13 @@
"message": "Bitwarden lähettää tilisi sähköpostiosoitteeseen koodin, jolla voit vahvistaa kirjautumiset uusista laitteista helmikuusta 2025 alkaen."
},
"newDeviceVerificationNoticeContentPage2": {
- "message": "You can set up two-step login as an alternative way to protect your account or change your email to one you can access."
+ "message": "Voit määrittää kaksivaiheisen kirjautumisen tilisi vaihtoehtoiseksi suojaustavaksi tai vaihtaa sähköpostiosoitteesi sellaiseen, johon sinulla on pääsy."
},
"remindMeLater": {
"message": "Muistuta myöhemmin"
},
"newDeviceVerificationNoticePageOneFormContent": {
- "message": "Do you have reliable access to your email, $EMAIL$?",
+ "message": "Onko sinulla luotettava pääsy sähköpostiisi, $EMAIL$?",
"placeholders": {
"email": {
"content": "$1",
@@ -4828,10 +5075,10 @@
}
},
"newDeviceVerificationNoticePageOneEmailAccessNo": {
- "message": "No, I do not"
+ "message": "Ei ole"
},
"newDeviceVerificationNoticePageOneEmailAccessYes": {
- "message": "Yes, I can reliably access my email"
+ "message": "Kyllä on"
},
"turnOnTwoStepLogin": {
"message": "Ota kaksivaiheinen kirjautuminen käyttöön"
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Erittäin leveä"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Syöttämäsi salasana on virheellinen."
+ },
+ "importSshKey": {
+ "message": "Tuo"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Vahvista salasana"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Syötä SSH-avaimen salasana."
+ },
+ "enterSshKeyPassword": {
+ "message": "Syötä salasana"
+ },
+ "invalidSshKey": {
+ "message": "SSH-avain on virheellinen"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "SSH-avaintyyppiä ei ole tuettu"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Tuo avain leikepöydältä"
+ },
+ "sshKeyImported": {
+ "message": "SSH-avain on tuotu"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Et voi poistaa kokoelmia, joihin sinulla on vain tarkasteluoikeus: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Päivitä työpöytäsovellus"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Käyttääksesi biometristä avausta, päivitä työpöytäsovelluksesi tai poista tunnistelauseke käytöstä työpöydän asetuksista."
+ },
+ "changeAtRiskPassword": {
+ "message": "Vaihda vaarantunut salasana"
}
}
diff --git a/apps/browser/src/_locales/fil/messages.json b/apps/browser/src/_locales/fil/messages.json
index a504cbd3174..9f991843f4f 100644
--- a/apps/browser/src/_locales/fil/messages.json
+++ b/apps/browser/src/_locales/fil/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Mungkahi sa Master Password (opsyonal)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Mungkahi sa Password"
- },
- "enterEmailToGetHint": {
- "message": "Ipasok ang iyong email address ng account para makatanggap ng hint ng iyong master password."
- },
"getMasterPasswordHint": {
"message": "Makuha ang Punong Password na Hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "I-edit ang folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Muling I-generate ang Password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Kahabaan"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-t) sa Filipino ay mababang-letra (a-t)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Mga espesyal na character (!@#$%^&*) sa Filipino ay tinatawag na mga simbolong pambihira",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Ang bilang ng mga salita\n\nNumero ng mga salita"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Hindi suportado ng iyong web browser ang madaling pag-copy ng clipboard. Kopya ito manually sa halip."
},
- "verifyIdentity": {
- "message": "I-verify ang pagkakakilanlan"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Naka-lock ang iyong vault. Patunayan ang iyong pagkakakilanlan upang magpatuloy."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Hindi"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Namana ang isang hindi inaasahang error."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Hilingin na magdagdag ng isang item kung ang isa ay hindi mahanap sa iyong vault. Nalalapat sa lahat ng naka-log in na account."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Ipakita ang mga card sa Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Itala ang mga item ng card sa Tab page para sa madaling auto-fill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Ipakita ang mga pagkatao sa Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Linisin ang clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "I-save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Tanungin ang update ng umiiral na login"
},
@@ -1084,10 +1169,6 @@
"message": "Mabait",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Bilhin ang Premium"
},
- "premiumPurchaseAlert": {
- "message": "Maaari kang mamili ng membership sa Premium sa website ng bitwarden.com. Gusto mo bang bisitahin ang website ngayon?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Tandaan mo ako"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Ipadala muli ang email ng verification code"
},
"useAnotherTwoStepMethod": {
"message": "Gamitin ang isa pang two-step na paraan ng pag-login"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "I-insert ang iyong YubiKey sa USB port ng iyong computer, pagkatapos ay tindigin ang buton nito."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Buksan ang bagong tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "I-authenticate ang WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Hindi magagamit ang pag-login"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Mga pagpipilian para sa two-step login"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Nawalan ka ng access sa lahat ng iyong mga two-factor provider? Gamitin ang iyong recovery code para i-off ang lahat ng two-factor providers mula sa iyong account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Kapaligirang self-hosted"
},
- "selfHostedEnvironmentFooter": {
- "message": "Tukuyin ang base URL ng iyong Bitwarden installation na naka-host sa on-premises."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Kapaligirang Custom"
},
- "customEnvironmentFooter": {
- "message": "Para sa mga advanced na gumagamit. Maaari mong tukuyin ang base URL ng bawat serbisyo nang independiyente."
- },
"baseUrl": {
"message": "URL ng Server"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "I-drag upang i-sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Teksto"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Aksyon sa Vault timeout"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "I-lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Inilayo na Domain"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Mali"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Lumikha ng username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Nabago ang mga setting"
- },
- "environmentEditedClick": {
- "message": "Mag-click dito"
- },
- "environmentEditedReset": {
- "message": "i-reset sa pre-configured na mga setting"
- },
"serverVersion": {
"message": "Bersyon ng server"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Mag-login gamit ang pangunahing password"
},
- "loggingInAs": {
- "message": "Naglolog-in bilang"
- },
- "notYou": {
- "message": "Hindi ikaw?"
- },
"newAroundHere": {
"message": "Mag-login gamit ang pangunahing password?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Mag log in gamit ang device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Ang pag log in gamit ang device ay dapat na naka set up sa mga setting ng Bitwarden app. Kailangan mo ng ibang opsyon?"
- },
"fingerprintPhraseHeader": {
"message": "Hulmabig ng Hilik ng Dako"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "Naipadala na ang notification sa iyong device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Nakalantad na Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/fr/messages.json b/apps/browser/src/_locales/fr/messages.json
index 9566f457861..32b6dd0296b 100644
--- a/apps/browser/src/_locales/fr/messages.json
+++ b/apps/browser/src/_locales/fr/messages.json
@@ -7,7 +7,7 @@
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
- "message": "Chez vous, au travail, n'importe où, Bitwarden sécurise mots de passe, clés d'accès et informations sensibles",
+ "message": "Où que vous soyez, Bitwarden sécurise tous vos mots de passe, clés d'accès et informations sensibles",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
@@ -20,7 +20,7 @@
"message": "Créer un compte"
},
"newToBitwarden": {
- "message": "Nouveau sur Bitwarden ?"
+ "message": "Nouveau sur Bitwarden ?"
},
"logInWithPasskey": {
"message": "Se connecter avec une clé d'accès"
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Indice du mot de passe principal (facultatif)"
},
+ "passwordStrengthScore": {
+ "message": "Score de force du mot de passe $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Rejoindre l'organisation"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copier les notes"
},
+ "copy": {
+ "message": "Copier",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Remplir",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -230,7 +243,7 @@
"message": "Connectez-vous à votre coffre"
},
"autoFillInfo": {
- "message": "Il n'y a aucun identifiant disponible pour le remplissage automatique de l'onglet actuel du navigateur."
+ "message": "Il n'y a aucun identifiant disponible pour la saisie automatique concernant l'onglet actuel du navigateur."
},
"addLogin": {
"message": "Ajouter un identifiant"
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Saisissez l'adresse courriel de votre compte et votre indice de mot de passe vous sera envoyé"
},
- "passwordHint": {
- "message": "Indice de mot de passe"
- },
- "enterEmailToGetHint": {
- "message": "Saisissez l'adresse électronique de votre compte pour recevoir l'indice de votre mot de passe principal."
- },
"getMasterPasswordHint": {
"message": "Obtenir l'indice du mot de passe principal"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Modifier le dossier"
},
+ "editFolderWithName": {
+ "message": "Éditer le dossier : $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Nouveau dossier"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Générer une phrase de passe"
},
+ "passwordGenerated": {
+ "message": "Mot de passe généré"
+ },
+ "passphraseGenerated": {
+ "message": "Phrase de passe générée"
+ },
+ "usernameGenerated": {
+ "message": "Nom d'utilisateur généré"
+ },
+ "emailGenerated": {
+ "message": "Courriel généré"
+ },
"regeneratePassword": {
"message": "Régénérer un mot de passe"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Longueur"
},
- "uppercase": {
- "message": "Majuscules (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Minuscules (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Chiffres (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Caractères spéciaux (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Inclure",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Inclure des caractères spéciaux",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Nombre de mots"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Votre navigateur web ne supporte pas la copie rapide depuis le presse-papier. Copiez-le manuellement à la place."
},
- "verifyIdentity": {
- "message": "Vérifier l'identité"
+ "verifyYourIdentity": {
+ "message": "Vérifiez votre identité"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Nous ne reconnaissons pas cet appareil. Saisissez le code envoyé à votre courriel pour vérifier votre identité."
+ },
+ "continueLoggingIn": {
+ "message": "Continuer à se connecter"
},
"yourVaultIsLocked": {
"message": "Votre coffre est verrouillé. Vérifiez votre identité pour continuer."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Se connecter à Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Saisissez le code envoyé par courriel"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Saisissez le code de votre application d'authentification"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Appuyez sur votre YubiKey pour vous authentifier"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Les identifiants de l'authentification à deux facteurs Duo sont requis pour votre compte. Suivez les étapes ci-dessous afin de réussir à vous connecter."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Suivez les étapes ci-dessous afin de réussir à vous connecter."
+ },
"restartRegistration": {
"message": "Redémarrer l'inscription"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Non"
},
+ "location": {
+ "message": "Emplacement"
+ },
"unexpectedError": {
"message": "Une erreur inattendue est survenue."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Demande l'ajout d'un élément si celui-ci n'est pas trouvé dans votre coffre. S'applique à tous les comptes connectés."
},
- "showCardsInVaultView": {
- "message": "Afficher les cartes de paiement en tant que suggestions de saisie automatique dans la vue du coffre"
+ "showCardsInVaultViewV2": {
+ "message": "Toujours afficher les cartes de paiement en tant que suggestions de saisie automatique dans l'affichage du coffre"
},
"showCardsCurrentTab": {
"message": "Afficher les cartes de paiement sur la Page d'onglet"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Liste les éléments des cartes de paiement sur la Page d'onglet pour faciliter la saisie automatique."
},
- "showIdentitiesInVaultView": {
- "message": "Afficher les identités en tant que suggestions de saisie automatique dans la vue du coffre"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Toujours afficher les identités en tant que suggestions de saisie automatique dans l'affichage du coffre"
},
"showIdentitiesCurrentTab": {
"message": "Afficher les identités sur la Page d'onglet"
@@ -1005,7 +1037,10 @@
"message": "Liste les éléments d'identité sur la Page d'onglet pour faciliter la saisie automatique."
},
"clickToAutofillOnVault": {
- "message": "Click items to autofill on Vault view"
+ "message": "Cliquez sur les éléments dans l'affichage du coffre pour la saisie automatique"
+ },
+ "clickToAutofill": {
+ "message": "Cliquez sur les éléments de la suggestion de saisie automatique pour les remplir"
},
"clearClipboard": {
"message": "Effacer le presse-papiers",
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Enregistrer"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ enregistré dans Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ mis à jour dans Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Enregistrer en tant que nouvel identifiant",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Mettre à jour l'identifiant",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Enregistrer l'identifiant ?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Mettre à jour de l'identifiant existant ?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Identifiant enregistré",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Identifiant mis à jour",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Erreur lors de l'enregistrement",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh non ! Nous n'avons pas pu enregistrer cela. Essayez de saisir les détails manuellement.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Demander de mettre à jour un identifiant existant"
},
@@ -1084,10 +1169,6 @@
"message": "Clair",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized Dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exporter à partir de"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Acheter Premium"
},
- "premiumPurchaseAlert": {
- "message": "Vous pouvez acheter une adhésion Premium sur le coffre web de bitwarden.com. Voulez-vous visiter le site web maintenant ?"
- },
"premiumPurchaseAlertV2": {
"message": "Vous pouvez acheter la version Premium depuis les paramètres de votre compte dans l'application web Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Rester connecté"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Ne plus demander sur cet appareil pendant 30 jours"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Envoyer à nouveau le courriel de code de vérification"
},
"useAnotherTwoStepMethod": {
"message": "Utiliser une autre méthode d'identification en deux étapes"
},
+ "selectAnotherMethod": {
+ "message": "Sélectionnez une autre méthode",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Utilisez votre code de récupération"
+ },
"insertYubiKey": {
"message": "Insérez votre YubiKey dans le port USB de votre ordinateur puis appuyez sur son bouton."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Ouvrir un nouvel onglet"
},
+ "openInNewTab": {
+ "message": "Ouvrir dans un nouvel onglet"
+ },
"webAuthnAuthenticate": {
"message": "Authentifier WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Lire la clé de sécurité"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "En attente d'interaction de la clé de sécurité..."
+ },
"loginUnavailable": {
"message": "Identifiant indisponible"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Options d'authentification à feux facteurs"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Sélectionnez la méthode d'authentification à deux facteurs"
+ },
"recoveryCodeDesc": {
"message": "Accès perdu à tous vos services d'authentification à double facteurs ? Utilisez votre code de récupération pour désactiver tous les services de double authentifications sur votre compte."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Environnement auto-hébergé"
},
- "selfHostedEnvironmentFooter": {
- "message": "Spécifiez l'URL de base de votre installation Bitwarden auto-hébergée."
- },
"selfHostedBaseUrlHint": {
"message": "Spécifiez l'URL de base de votre installation autohébergée par Bitwarden. Exemple : https://bitwarden.compagnie.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Environnement personnalisé"
},
- "customEnvironmentFooter": {
- "message": "Pour utilisateurs avancés. Vous pouvez spécifier une URL de base indépendante pour chaque service."
- },
"baseUrl": {
"message": "URL du serveur"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Glissez pour trier"
},
+ "dragToReorder": {
+ "message": "Faire glisser pour réorganiser"
+ },
"cfTypeText": {
"message": "Texte"
},
@@ -1771,7 +1868,7 @@
"message": "Clé SSH"
},
"newItemHeader": {
- "message": "Nouveau/nouvelle $TYPE$",
+ "message": "Créer un(e) $TYPE$",
"placeholders": {
"type": {
"content": "$1",
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Générateur de nom d'utilisateur"
},
+ "useThisEmail": {
+ "message": "Utiliser ce courriel"
+ },
"useThisPassword": {
"message": "Utiliser ce mot de passe"
},
@@ -2063,12 +2163,24 @@
"message": "pour créer un mot de passe fort unique",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Personnalisation du coffre"
+ },
"vaultTimeoutAction": {
"message": "Action après délai d'expiration du coffre"
},
"vaultTimeoutAction1": {
"message": "Expiration de l'action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Nouvelles options de personnalisation"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Personnalisez votre expérience utilisateur du coffre avec des actions de copie rapide, un mode compact et bien plus encore !"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Afficher tous les paramètres d'apparence"
+ },
"lock": {
"message": "Verrouiller",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domaines",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Domaines bloqués"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "En savoir plus sur les domaines bloqués"
+ },
"excludedDomains": {
"message": "Domaines exclus"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden ne demandera pas d'enregistrer les détails de connexion pour ces domaines pour tous les comptes connectés. Vous devez actualiser la page pour que les modifications prennent effet."
},
+ "blockedDomainsDesc": {
+ "message": "La saisie automatique et d'autres fonctionnalités connexes ne seront pas proposées pour ces sites web. Vous devez actualiser la page pour que les modifications soient prises en compte."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "La saisie automatique est bloquée pour ce site web."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Modifier ceci dans les paramètres"
+ },
+ "change": {
+ "message": "Modifier"
+ },
+ "changeButtonTitle": {
+ "message": "Modifier le mot de passe - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Mots de passe à risque"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ vous demande de modifier un mot de passe car il est à risque.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ vous demande de modifier les mots de passe de $COUNT$ parce qu’ils sont à risque.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Vos organisations vous demandent de modifier les mots de passe $COUNT$ car ils sont à risque.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Examiner et modifier un mot de passe à risque"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Examiner et modifier les mots de passe à risque $COUNT$",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Modifier plus rapidement les mots de passe à risque"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Mettez à jour vos paramètres afin de pouvoir rapidement saisir automatiquement vos mots de passe et en générer de nouveaux"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Examiner les identifiants à risque"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Examiner les mots de passe à risque"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Les mots de passe de votre organisation sont à risque, car ils sont faibles, réutilisés et/ou exposés.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration d'une liste d'identifiants à risque"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Générez rapidement un mot de passe fort et unique grâce au menu de saisie automatique de Bitwarden sur le site à risque.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration du menu de saisie automatique de Bitwarden affichant un mot de passe généré"
+ },
+ "updateInBitwarden": {
+ "message": "Mettre à jour dans Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden vous demandera alors de mettre à jour le mot de passe dans le gestionnaire de mots de passe.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration d’une notification de Bitwarden invitant l’utilisateur à mettre à jour l'identifiant"
+ },
+ "turnOnAutofill": {
+ "message": "Activer la saisie automatique"
+ },
+ "turnedOnAutofill": {
+ "message": "Activer la saisie automatique"
+ },
+ "dismiss": {
+ "message": "Rejeter"
+ },
"websiteItemLabel": {
"message": "Site web $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Modifications apportées aux domaines bloqués enregistrées"
+ },
"excludedDomainsSavedSuccess": {
"message": "Changements de domaines exclus enregistrés"
},
@@ -2574,7 +2807,7 @@
"message": "Une erreur s'est produite lors de l'enregistrement de vos dates de suppression et d'expiration."
},
"hideYourEmail": {
- "message": "Hide your email address from viewers."
+ "message": "Masquer votre adresse courriel aux regards indiscrets."
},
"passwordPrompt": {
"message": "Ressaisir le mot de passe principal"
@@ -2650,7 +2883,7 @@
"message": "Minutes"
},
"vaultTimeoutPolicyAffectingOptions": {
- "message": "Enterprise policy requirements have been applied to your timeout options"
+ "message": "Les exigences de la politique de sécurité d'Entreprise ont été appliquées à vos options de délai d'expiration"
},
"vaultTimeoutPolicyInEffect": {
"message": "Les politiques de sécurité de votre organisation ont défini le délai d'expiration de votre coffre à $HOURS$ heure(s) et $MINUTES$ minute(s) maximum.",
@@ -2666,7 +2899,7 @@
}
},
"vaultTimeoutPolicyInEffect1": {
- "message": "$HOURS$ hour(s) and $MINUTES$ minute(s) maximum.",
+ "message": "$HOURS$ heure(s) et $MINUTES$ minute(s) maximum.",
"placeholders": {
"hours": {
"content": "$1",
@@ -2679,7 +2912,7 @@
}
},
"vaultTimeoutPolicyMaximumError": {
- "message": "Timeout exceeds the restriction set by your organization: $HOURS$ hour(s) and $MINUTES$ minute(s) maximum",
+ "message": "Le délai d'expiration dépasse la restriction définie par votre organisation : $HOURS$ heure(s) et $MINUTES$ minute(s) maximum",
"placeholders": {
"hours": {
"content": "$1",
@@ -2789,6 +3022,20 @@
"error": {
"message": "Erreur"
},
+ "decryptionError": {
+ "message": "Erreur de déchiffrement"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden n’a pas pu déchiffrer le(s) élément(s) du coffre listé(s) ci-dessous."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contacter le service clientèle",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "afin d'éviter toute perte de données supplémentaire.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Générer un nom d'utilisateur"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ a refusé votre demande. Veuillez contacter votre fournisseur de services pour obtenir de l'aide.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ a refusé votre demande : $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Impossible d'obtenir l'ID du compte de courriel masqué $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Les paramètres ont été modifiés"
- },
- "environmentEditedClick": {
- "message": "Cliquer ici"
- },
- "environmentEditedReset": {
- "message": "pour réinitialiser aux paramètres par défaut"
- },
"serverVersion": {
"message": "Version du serveur"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Se connecter avec le mot de passe principal"
},
- "loggingInAs": {
- "message": "Connexion en tant que"
- },
- "notYou": {
- "message": "Ce n'est pas vous ?"
- },
"newAroundHere": {
"message": "Nouveau par ici ?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Se connecter avec l'appareil"
},
- "loginWithDeviceEnabledInfo": {
- "message": "La connexion avec l'appareil doit être configurée dans les paramètres de l'application Bitwarden. Besoin d'une autre option ?"
- },
"fingerprintPhraseHeader": {
"message": "Phrase d'empreinte"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Afficher toutes les options de connexion"
},
- "viewAllLoginOptionsV1": {
- "message": "Afficher toutes les options de connexion"
- },
"notificationSentDevice": {
"message": "Une notification a été envoyée à votre appareil."
},
+ "notificationSentDevicePart1": {
+ "message": "Déverrouillez Bitwarden sur votre appareil ou sur le"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "application web"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Assurez-vous que la phrase d'empreinte correspond à celle ci-dessous avant de l'approuver."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Une notification a été envoyée à votre appareil"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Assurez-vous que votre compte est déverrouillé et que la phrase d'empreinte correspond à l'autre appareil"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Vous serez notifié une fois que la demande sera approuvée"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Connexion initiée"
},
+ "logInRequestSent": {
+ "message": "Demande envoyée"
+ },
"exposedMasterPassword": {
"message": "Mot de passe principal exposé"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Demander l'approbation de l'administrateur"
},
- "approveWithMasterPassword": {
- "message": "Approuver avec le mot de passe principal"
- },
"ssoIdentifierRequired": {
"message": "Identifiant SSO de l'organisation requis."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Demande transmise à votre administrateur."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Vous serez notifié une fois approuvé."
- },
"troubleLoggingIn": {
"message": "Problème pour vous connecter ?"
},
@@ -3396,38 +3649,6 @@
"message": "Déplier/Replier",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Importer vos données dans Bitwarden ?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protéger vos données LastPass et importer dans Bitwarden ?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Enregistrer en tant que fichier non chiffré",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importer vers Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importation en cours...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Données importées avec succès !",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Erreur lors de l'importation. Consultez la console pour plus de détails.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Une erreur réseau s'est produite lors de l'importation.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Domaine de l'alias"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Compte actif"
},
+ "bitwardenAccount": {
+ "message": "Compte Bitwarden"
+ },
"availableAccounts": {
"message": "Comptes disponibles"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Suggestions de saisie automatique"
},
+ "itemSuggestions": {
+ "message": "Éléments suggérés"
+ },
"autofillSuggestionsTip": {
"message": "Enregistrez un élément de connexion à remplir automatiquement pour ce site"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copier $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Aucune valeur à copier"
},
@@ -4107,7 +4348,7 @@
}
},
"new": {
- "message": "Nouveau"
+ "message": "Créer"
},
"removeItem": {
"message": "Retirer $NAME$",
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Nom de l’élément"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Vous ne pouvez pas supprimer des collections avec les autorisations d'affichage uniquement : $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "L'organisation est désactivée"
},
@@ -4286,7 +4518,7 @@
}
},
"showMatchDetection": {
- "message": "Show match detection $WEBSITE$",
+ "message": "Afficher la détection de correspondance $WEBSITE$",
"placeholders": {
"website": {
"content": "$1",
@@ -4295,7 +4527,7 @@
}
},
"hideMatchDetection": {
- "message": "Hide match detection $WEBSITE$",
+ "message": "Masquer la détection de correspondance $WEBSITE$",
"placeholders": {
"website": {
"content": "$1",
@@ -4316,7 +4548,7 @@
"message": "Détails de la carte de paiement"
},
"cardBrandDetails": {
- "message": "$BRAND$ details",
+ "message": "Détails de la carte $BRAND$",
"placeholders": {
"brand": {
"content": "$1",
@@ -4438,8 +4670,11 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Réorganiser les URI des sites web. Utiliser la touche fléchée pour déplacer l'élément vers le haut ou vers le bas."
+ },
"reorderFieldUp": {
- "message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
+ "message": "$LABEL$ déplacé vers le haut, position $INDEX$ de $LENGTH$",
"placeholders": {
"label": {
"content": "$1",
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Vous n'avez rien sélectionné."
},
- "movedItemsToOrg": {
- "message": "Les éléments sélectionnés ont été déplacés vers $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Éléments déplacés vers $ORGNAME$",
"placeholders": {
@@ -4526,7 +4752,7 @@
}
},
"reorderFieldDown": {
- "message": "$LABEL$ moved down, position $INDEX$ of $LENGTH$",
+ "message": "$LABEL$ déplacé vers le bas, position $INDEX$ de $LENGTH$",
"placeholders": {
"label": {
"content": "$1",
@@ -4549,19 +4775,13 @@
"message": "Send en fichier"
},
"fileSends": {
- "message": "File Sends"
+ "message": "Envoi de fichiers"
},
"textSend": {
"message": "Send en texte"
},
"textSends": {
- "message": "Text Sends"
- },
- "bitwardenNewLook": {
- "message": "Bitwarden a un nouveau look !"
- },
- "bitwardenNewLookDesc": {
- "message": "Il est plus facile et plus intuitif que jamais de remplir automatiquement les champs et d'effectuer des recherches à partir de l'onglet \"Coffre\". Jetez un coup d'œil !"
+ "message": "Envoi de textes"
},
"accountActions": {
"message": "Actions du compte"
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Vous n'êtes pas autorisé à modifier cet élément"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Le déverrouillage par biométrie n’est pas disponible parce qu'il faut au préalable déverrouiller avec le code PIN ou le mot de passe."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Le déverrouillage par biométrie n'est pas disponible actuellement."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Le déverrouillage par biométrie n'est pas disponible en raison de fichiers système mal configurés."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Le déverrouillage par biométrie n'est pas disponible en raison de fichiers système mal configurés."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Le déverrouillage par biométrie n'est pas disponible car l'application de bureau Bitwarden est fermée."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Le déverrouillage par biométrie n'est pas disponible car elle n'est pas activée pour $EMAIL$ dans l'application de bureau Bitwarden.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Le déverrouillage par biométrie n'est pas disponible actuellement pour une raison inconnue."
+ },
"authenticating": {
"message": "Authentification"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Très large"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Le mot de passe saisi est incorrect."
+ },
+ "importSshKey": {
+ "message": "Importer"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirmer le mot de passe"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Saisir le mot de passe de la clé SSH."
+ },
+ "enterSshKeyPassword": {
+ "message": "Saisir le mot de passe"
+ },
+ "invalidSshKey": {
+ "message": "La clé SSH n'est pas valide"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Le type de clé SSH n'est pas pris en charge"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Importer une clé à partir du presse-papiers"
+ },
+ "sshKeyImported": {
+ "message": "Clé SSH importée avec succès"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Vous ne pouvez pas supprimer des collections avec les autorisations d'affichage uniquement : $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Veuillez mettre à jour votre application de bureau"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Pour utiliser le déverrouillage par biométrie, veuillez mettre à jour votre application de bureau ou désactiver le déverrouillage par empreinte digitale dans les paramètres de l'application de bureau."
+ },
+ "changeAtRiskPassword": {
+ "message": "Changer le mot de passe à risque"
}
}
diff --git a/apps/browser/src/_locales/gl/messages.json b/apps/browser/src/_locales/gl/messages.json
index b3eaae64486..6c0b9cce87b 100644
--- a/apps/browser/src/_locales/gl/messages.json
+++ b/apps/browser/src/_locales/gl/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Pista do contrasinal mestre (opcional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Unirse a esta organización"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copiar notas"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Encher",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Introduce o teu correo electrónico e enviarémosche a túa pista do contrasinal mestre"
},
- "passwordHint": {
- "message": "Pista do contrasinal"
- },
- "enterEmailToGetHint": {
- "message": "Introduce a dirección de correo da túa conta para recibir a pista do contrasinal mestre."
- },
"getMasterPasswordHint": {
"message": "Obter pista do contrasinal mestre"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Editar cartafol"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Novo cartafol"
},
@@ -382,7 +398,7 @@
"message": "Aniñar un cartafol engadindo o nome do cartafol pai seguido dun \"/\". Exemplo: Social/Foros"
},
"noFoldersAdded": {
- "message": "Sen cartafois"
+ "message": "Sen cartafoles"
},
"createFoldersToOrganize": {
"message": "Crea cartafoles para organizar as entradas da túa caixa forte"
@@ -394,10 +410,10 @@
"message": "Eliminar cartafol"
},
"folders": {
- "message": "Cartafois"
+ "message": "Cartafoles"
},
"noFolders": {
- "message": "Non hai cartafois que listar."
+ "message": "Non hai cartafoles que listar."
},
"helpFeedback": {
"message": "Axuda e comentarios"
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Xerar frase de contrasinal"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Volver xerar contrasinal"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Lonxitude"
},
- "uppercase": {
- "message": "Maiúsculas (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Minúsculas (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Números (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Caracteres especiais (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Incluír",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Incluír caracteres especiais",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Número de palabras"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "O navegador non permite copia doada ó portapapeis. Debes copialo manualmente."
},
- "verifyIdentity": {
- "message": "Verificar identidade"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "A túa caixa forte está bloqueada. Verifica a túa identidade para continuar."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Iniciar sesión en Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Reiniciar rexistro"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Non"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Produciuse un erro inesperado."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ofrecer gardar un elemento se non se atopa na caixa forte. Aplica a tódalas sesións iniciadas."
},
- "showCardsInVaultView": {
- "message": "Na caixa forte, amosar tarxetas como suxestións de Autoenchido"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Amosar tarxetas na pestana"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Lista na pestana actual as tarxetas gardadas para autoenchido."
},
- "showIdentitiesInVaultView": {
- "message": "Na caixa forte, amosar identidades como suxestións de Autoenchido"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Amosar identidades na pestana"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Clicar nas entradas da caixa forte para autoencher"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Baleirar portapapeis",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Gardar"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ofrecer actualizar as credenciais xa gardadas"
},
@@ -1084,10 +1169,6 @@
"message": "Claro",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarizado escuro",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exportar dende"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Adquirir Prémium"
},
- "premiumPurchaseAlert": {
- "message": "Podes adquirir o plan Prémium na aplicación web de bitwarden.com. Queres visitala agora mesmo?"
- },
"premiumPurchaseAlertV2": {
"message": "Podes adquirir o plan Prémium dende os axustes de conta da aplicación web de Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Lémbrame"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Enviar un novo correo de verificación"
},
"useAnotherTwoStepMethod": {
"message": "Empregar outro método de verificación en 2 pasos"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Conecta a túa YubiKey no porto USB, despois preme o seu botón."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Abrir nova pestana"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Autenticar con WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Inicio de sesión non dispoñible"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Opcións de verificación en dous pasos"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Perdiche o acceso ós provedores de verificación en dous pasos (2FA)? Emprega o teu código de recuperación para desactivalos."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Entorno de aloxamento propio"
},
- "selfHostedEnvironmentFooter": {
- "message": "Especifica a URL base do teu servidor Bitwarden de aloxamento propio."
- },
"selfHostedBaseUrlHint": {
"message": "Especifica a URL base do teu servidor Bitwarden de aloxamento propio. Ex.: https://bitwarden.compañia.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Entorno personalizado"
},
- "customEnvironmentFooter": {
- "message": "Para usuarios avanzados. Podes especificar o URL base de cada servizo de xeito independente."
- },
"baseUrl": {
"message": "URL do servidor"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Arrastra para ordenar"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Texto"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Xerador de nomes de usuario"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Usar este contrasinal"
},
@@ -2063,12 +2163,24 @@
"message": "para crear un contrasinal forte",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Acción do temporizador da caixa forte"
},
"vaultTimeoutAction1": {
"message": "Acción do temporizador"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Bloquear",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Dominios",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Dominios bloqueados"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Dominios excluídos"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden non ofrecerá gardar contas para estes dominios en ningunha das sesións iniciadas. Recarga a páxina para que os cambios fornezan efecto."
},
+ "blockedDomainsDesc": {
+ "message": "O autoenchido e outras funcións relacionadas non estarán dispoñibles para estas webs. Debes recargar a páxina para que os cambios teñan efecto."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "O autoenchido está bloqueado para esta web."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Cambia isto en axustes"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Web $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Dominios bloqueados gardados"
+ },
"excludedDomainsSavedSuccess": {
"message": "Dominios excluídos gardados"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Erro"
},
+ "decryptionError": {
+ "message": "Erro de descifrado"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden non puido descifrar os seguintes elementos."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contacto co cliente exitoso",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "para evitar a perda de datos.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Xerar nome de usuario"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Non foi posible obter o ID de correo enmascarado de $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Os axustes foron modificados"
- },
- "environmentEditedClick": {
- "message": "Preme aquí"
- },
- "environmentEditedReset": {
- "message": "para volver á configuración por defecto"
- },
"serverVersion": {
"message": "Versión do Servidor"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Iniciar sesión co contrasinal mestre"
},
- "loggingInAs": {
- "message": "Iniciando sesión como"
- },
- "notYou": {
- "message": "Non es ti?"
- },
"newAroundHere": {
"message": "Novo por aquí?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Iniciar sesión cun dispositivo"
},
- "loginWithDeviceEnabledInfo": {
- "message": "O inicio de sesión con dispositivos debe estar activado nos axustes da app de Bitwarden. Precisas doutro método?"
- },
"fingerprintPhraseHeader": {
"message": "Frase de pegada dixital"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Ver todas as opcións de inicio de sesión"
},
- "viewAllLoginOptionsV1": {
- "message": "Ver todas as opcións de inicio de sesión"
- },
"notificationSentDevice": {
"message": "Enviouse unha notificación ó teu dispositivo."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Enviouse unha notificación ó teu dispositivo"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Por favor asegúrate de que a sesión está aberta e a frase de pegada dixital coincide ca do outro dispositivo"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Serás notificado unha vez se aprobe a solicitude"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Inicio de sesión comezado"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Contrasinal mestre filtrado"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Solicitar aprobación do administrador"
},
- "approveWithMasterPassword": {
- "message": "Aprobar con contrasinal mestre"
- },
"ssoIdentifierRequired": {
"message": "Identificador SSO da organización requirido."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "A solicitude foi enviada ó teu administrador."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Serás notificado cando se aprobe."
- },
"troubleLoggingIn": {
"message": "Problemas ao iniciar sesión?"
},
@@ -3396,38 +3649,6 @@
"message": "Colapsar/Expandir",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Importar os teus datos a Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protexer os teus datos de LastPass e importar a Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Gardar como arquivo sen cifrar",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importar a Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importando...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Datos importados con éxito!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Erro importando. Comproba a consola para máis detalle.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Aconteceu un erro de rede durante a importación.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias do dominio"
},
@@ -3795,7 +4016,7 @@
"message": "Autenticación multifactor fallida"
},
"includeSharedFolders": {
- "message": "Incluír cartafois compartidos"
+ "message": "Incluír cartafoles compartidos"
},
"lastPassEmail": {
"message": "Correo de LastPass"
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Activar conta"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Contas dispoñibles"
},
@@ -3979,7 +4203,10 @@
"message": "Clave de acceso eliminada"
},
"autofillSuggestions": {
- "message": "Suxestións de autoenchido"
+ "message": "Autofill suggestions"
+ },
+ "itemSuggestions": {
+ "message": "Entradas suxeridas"
},
"autofillSuggestionsTip": {
"message": "Gardar unha credencial como suxestión para este sitio"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Non hai valores que copiar"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Nome da entrada"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Non podes eliminar coleccións con permisos de Só lectura: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "A organización está desactivada"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "Subiuse $LABEL$ á posición $INDEX$ de $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Non tes nada seleccionado."
},
- "movedItemsToOrg": {
- "message": "Entradas seleccionadas transferidas a $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Entradas transferidas a $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Textos Send"
},
- "bitwardenNewLook": {
- "message": "Bitwarden ten un novo look!"
- },
- "bitwardenNewLookDesc": {
- "message": "É máis fácil e intuitivo que nunca autoencher e buscar dende a caixa forte. Bota un ollo!"
- },
"accountActions": {
"message": "Accións da conta"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Non tes permiso para modificar esta entrada"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "O desbloqueo biométrico non está dispoñible porque se require o PIN ou contrasinal primeiro."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "O desbloqueo biométrico non está dispoñible."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "O desbloqueo biométrico non está dispoñible por arquivos do sistema desconfigurados."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "O desbloqueo biométrico non está dispoñible por arquivos do sistema desconfigurados."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "O desbloqueo biométrico non está dispoñible porque a aplicación de escritorio está pechada."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "O desbloqueo biométrico non está dispoñible porque non está activada para $EMAIL$ na aplicación de escritorio.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "O desbloqueo biométrico non está dispoñible por algunha razón non prevista."
+ },
"authenticating": {
"message": "Autenticando"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Moi ancho"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Non podes eliminar coleccións con permisos de Só lectura: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/he/messages.json b/apps/browser/src/_locales/he/messages.json
index 5101c11a653..035bf9da48e 100644
--- a/apps/browser/src/_locales/he/messages.json
+++ b/apps/browser/src/_locales/he/messages.json
@@ -3,42 +3,42 @@
"message": "Bitwarden"
},
"extName": {
- "message": "Bitwarden Password Manager",
+ "message": "מנהל הסיסמאות Bitwarden",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
- "message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
+ "message": "בבית, בעבודה, או בדרך, Bitwarden מאבטח בקלות את כל הסיסמאות, מפתחות הגישה, והמידע הרגיש שלך",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "צור חשבון חדש או התחבר כדי לגשת לכספת המאובטחת שלך."
},
"inviteAccepted": {
- "message": "Invitation accepted"
+ "message": "ההזמנה התקבלה"
},
"createAccount": {
"message": "צור חשבון"
},
"newToBitwarden": {
- "message": "New to Bitwarden?"
+ "message": "חדש ב־Bitwarden?"
},
"logInWithPasskey": {
- "message": "Log in with passkey"
+ "message": "כניסה עם מפתח גישה"
},
"useSingleSignOn": {
- "message": "Use single sign-on"
+ "message": "השתמש בכניסה יחידה"
},
"welcomeBack": {
- "message": "Welcome back"
+ "message": "ברוך שובך"
},
"setAStrongPassword": {
- "message": "Set a strong password"
+ "message": "הגדר סיסמה חזקה"
},
"finishCreatingYourAccountBySettingAPassword": {
- "message": "Finish creating your account by setting a password"
+ "message": "סיים ליצור את החשבון שלך על ידי הגדרת סיסמה"
},
"enterpriseSingleSignOn": {
- "message": "כניסה ארגונית אחידה"
+ "message": "כניסה יחידה ארגונית"
},
"cancel": {
"message": "בטל"
@@ -62,7 +62,7 @@
"message": "ניתן להשתמש ברמז לסיסמה הראשית אם שכחת אותה."
},
"masterPassHintText": {
- "message": "If you forget your password, the password hint can be sent to your email. $CURRENT$/$MAXIMUM$ character maximum.",
+ "message": "אם תשכח את הסיסמה שלך, הרמז לסיסמה יכול להישלח לדוא\"ל שלך. $CURRENT$/$MAXIMUM$ תווים לכל היותר.",
"placeholders": {
"current": {
"content": "$1",
@@ -78,13 +78,22 @@
"message": "הקלד שוב סיסמה ראשית"
},
"masterPassHint": {
- "message": "רמז לסיסמה ראשית (אופציונאלי)"
+ "message": "רמז לסיסמה הראשית (אופציונלי)"
+ },
+ "passwordStrengthScore": {
+ "message": "ציון חוזק סיסמה $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
},
"joinOrganization": {
- "message": "Join organization"
+ "message": "הצטרף לארגון"
},
"joinOrganizationName": {
- "message": "הצטרפות אל $ORGANIZATIONNAME$",
+ "message": "הצטרף אל $ORGANIZATIONNAME$",
"placeholders": {
"organizationName": {
"content": "$1",
@@ -93,7 +102,7 @@
}
},
"finishJoiningThisOrganizationBySettingAMasterPassword": {
- "message": "Finish joining this organization by setting a master password."
+ "message": "סיים להצטרף לארגון זה על ידי הגדרת סיסמה ראשית."
},
"tab": {
"message": "לשונית"
@@ -114,16 +123,16 @@
"message": "הגדרות"
},
"currentTab": {
- "message": "לשונית נוכחית"
+ "message": "כרטיסיה נוכחית"
},
"copyPassword": {
"message": "העתק סיסמה"
},
"copyPassphrase": {
- "message": "Copy passphrase"
+ "message": "העתק ביטוי סיסמה"
},
"copyNote": {
- "message": "העתק פתק"
+ "message": "העתק הערה"
},
"copyUri": {
"message": "העתק שורת כתובת"
@@ -138,31 +147,31 @@
"message": "העתק קוד אבטחה"
},
"copyName": {
- "message": "Copy name"
+ "message": "העתק שם"
},
"copyCompany": {
- "message": "Copy company"
+ "message": "העתק חברה"
},
"copySSN": {
- "message": "Copy Social Security number"
+ "message": "העתק מספר תעודת זהות"
},
"copyPassportNumber": {
- "message": "Copy passport number"
+ "message": "העתק מספר דרכון"
},
"copyLicenseNumber": {
- "message": "Copy license number"
+ "message": "העתק מספר רישיון"
},
"copyPrivateKey": {
- "message": "Copy private key"
+ "message": "העתק מפתח פרטי"
},
"copyPublicKey": {
- "message": "Copy public key"
+ "message": "העתק מפתח ציבורי"
},
"copyFingerprint": {
- "message": "Copy fingerprint"
+ "message": "העתק טביעת אצבע"
},
"copyCustomField": {
- "message": "Copy $FIELD$",
+ "message": "העתק $FIELD$",
"placeholders": {
"field": {
"content": "$1",
@@ -171,42 +180,46 @@
}
},
"copyWebsite": {
- "message": "Copy website"
+ "message": "העתק אתר אינטרנט"
},
"copyNotes": {
- "message": "Copy notes"
+ "message": "העתק הערות"
+ },
+ "copy": {
+ "message": "העתק",
+ "description": "Copy to clipboard"
},
"fill": {
- "message": "Fill",
+ "message": "מילוי",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
},
"autoFill": {
- "message": "השלמה אוטומטית"
+ "message": "מילוי אוטומטי"
},
"autoFillLogin": {
- "message": "מילוי פרטי כניסה אוטומטית"
+ "message": "מילוי כניסה אוטומטי"
},
"autoFillCard": {
- "message": "מילוי פרטי כרטיס אוטומטית"
+ "message": "מילוי כרטיס אוטומטי"
},
"autoFillIdentity": {
- "message": "מילוי פרטי זיהוי אוטומטית"
+ "message": "מילוי זהות אוטומטי"
},
"fillVerificationCode": {
- "message": "Fill verification code"
+ "message": "מילוי קוד אימות"
},
"fillVerificationCodeAria": {
- "message": "Fill Verification Code",
+ "message": "מילוי קוד אימות",
"description": "Aria label for the heading displayed the inline menu for totp code autofill"
},
"generatePasswordCopied": {
- "message": "צור סיסמה (העתק)"
+ "message": "צור סיסמה (והעתק)"
},
"copyElementIdentifier": {
- "message": "העתקת שם שדה מותאם אישית"
+ "message": "העתק שם שדה מותאם אישית"
},
"noMatchingLogins": {
- "message": "לא נמצאו פרטי כניסה תואמים."
+ "message": "אין כניסות תואמות"
},
"noCards": {
"message": "אין כרטיסים"
@@ -215,46 +228,40 @@
"message": "אין זהויות"
},
"addLoginMenu": {
- "message": "הוספת פרטי כניסה"
+ "message": "הוסף כניסה"
},
"addCardMenu": {
- "message": "הוספת כרטיס"
+ "message": "הוסף כרטיס"
},
"addIdentityMenu": {
- "message": "הוספת זהות"
+ "message": "הוסף זהות"
},
"unlockVaultMenu": {
- "message": "שחרור הכספת שלך"
+ "message": "פתח את הכספת שלך"
},
"loginToVaultMenu": {
"message": "כניסה לכספת שלך"
},
"autoFillInfo": {
- "message": "לא נמצאו פרטי כניסה להשלמה אוטומטית בלשונית הנוכחית בדפדפן."
+ "message": "לא נמצאו כניסות למילוי אוטומטי בכרטיסיית הדפדפן הנוכחית."
},
"addLogin": {
- "message": "הוסף פרטי כניסה"
+ "message": "הוסף כניסה"
},
"addItem": {
"message": "הוסף פריט"
},
"accountEmail": {
- "message": "Account email"
+ "message": "דוא\"ל חשבון"
},
"requestHint": {
- "message": "Request hint"
+ "message": "בקש רמז"
},
"requestPasswordHint": {
- "message": "Request password hint"
+ "message": "בקש רמז לסיסמה"
},
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
- "message": "Enter your account email address and your password hint will be sent to you"
- },
- "passwordHint": {
- "message": "רמז לסיסמה"
- },
- "enterEmailToGetHint": {
- "message": "הכנס את פרטי האימייל שלך לקבלת רמז עבור הסיסמה הראשית."
+ "message": "הזן את כתובת דוא\"ל החשבון שלך והרמז לסיסמה שלך יישלח אליך"
},
"getMasterPasswordHint": {
"message": "הצג את הרמז לסיסמה הראשית"
@@ -263,13 +270,13 @@
"message": "המשך"
},
"sendVerificationCode": {
- "message": "שליחת קוד אימות לדוא״ל שלך"
+ "message": "שלח קוד אימות לדוא\"ל שלך"
},
"sendCode": {
- "message": "שליחת קוד"
+ "message": "שלח קוד"
},
"codeSent": {
- "message": "קוד נשלח"
+ "message": "הקוד נשלח"
},
"verificationCode": {
"message": "קוד אימות"
@@ -281,28 +288,28 @@
"message": "החלף סיסמה ראשית"
},
"continueToWebApp": {
- "message": "Continue to web app?"
+ "message": "להמשיך אל יישום רשת?"
},
"continueToWebAppDesc": {
- "message": "Explore more features of your Bitwarden account on the web app."
+ "message": "גלה עוד תכונות של חשבון ה־Bitwarden שלך ביישום הרשת."
},
"continueToHelpCenter": {
- "message": "Continue to Help Center?"
+ "message": "להמשיך אל מרכז העזרה?"
},
"continueToHelpCenterDesc": {
- "message": "Learn more about how to use Bitwarden on the Help Center."
+ "message": "למד עוד אודות אופן השימוש ב־Bitwarden במרכז העזרה."
},
"continueToBrowserExtensionStore": {
- "message": "Continue to browser extension store?"
+ "message": "להמשיך אל חנות הרחבות דפדפן?"
},
"continueToBrowserExtensionStoreDesc": {
- "message": "Help others find out if Bitwarden is right for them. Visit your browser's extension store and leave a rating now."
+ "message": "עזור לאחרים לגלות אם Bitwarden מתאים להם. בקר בחנות הרחבות הדפדפן שלך והשאר דירוג עכשיו."
},
"changeMasterPasswordOnWebConfirmation": {
- "message": "You can change your master password on the Bitwarden web app."
+ "message": "אתה יכול לשנות את הסיסמה הראשית שלך ביישום הרשת של Bitwarden."
},
"fingerprintPhrase": {
- "message": "סיסמת טביעת אצבע",
+ "message": "ביטוי טביעת אצבע",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
},
"yourAccountsFingerprint": {
@@ -310,49 +317,49 @@
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
},
"twoStepLogin": {
- "message": "התחברות בשני-שלבים"
+ "message": "כניסה דו־שלבית"
},
"logOut": {
- "message": "התנתק"
+ "message": "צא"
},
"aboutBitwarden": {
- "message": "About Bitwarden"
+ "message": "אודות Bitwarden"
},
"about": {
"message": "אודות"
},
"moreFromBitwarden": {
- "message": "More from Bitwarden"
+ "message": "עוד מאת Bitwarden"
},
"continueToBitwardenDotCom": {
- "message": "Continue to bitwarden.com?"
+ "message": "להמשיך אל bitwarden.com?"
},
"bitwardenForBusiness": {
- "message": "Bitwarden for Business"
+ "message": "Bitwarden לעסקים"
},
"bitwardenAuthenticator": {
- "message": "Bitwarden Authenticator"
+ "message": "מאמת Bitwarden"
},
"continueToAuthenticatorPageDesc": {
- "message": "Bitwarden Authenticator allows you to store authenticator keys and generate TOTP codes for 2-step verification flows. Learn more on the bitwarden.com website"
+ "message": "מאמת Bitwarden מאפשר לך לאחסן מפתחות מאמת וליצור קודי TOTP עבור זרימת אימות דו־שלבית. למד עוד באתר האינטרנט bitwarden.com"
},
"bitwardenSecretsManager": {
- "message": "Bitwarden Secrets Manager"
+ "message": "מנהל הסודות של Bitwarden"
},
"continueToSecretsManagerPageDesc": {
- "message": "Securely store, manage, and share developer secrets with Bitwarden Secrets Manager. Learn more on the bitwarden.com website."
+ "message": "אחסן, נהל, ושתף בבטחה סודות מפתח עם מנהל הסודות של Bitwarden. למד עוד באתר האינטרנט bitwarden.com."
},
"passwordlessDotDev": {
"message": "Passwordless.dev"
},
"continueToPasswordlessDotDevPageDesc": {
- "message": "Create smooth and secure login experiences free from traditional passwords with Passwordless.dev. Learn more on the bitwarden.com website."
+ "message": "צור חוויית כניסה חלקה ובטוחה חופשית מסיסמאות מסורתיות עם Passwordless.dev. למד עוד באתר האינטרנט bitwarden.com."
},
"freeBitwardenFamilies": {
- "message": "Free Bitwarden Families"
+ "message": "Bitwarden למשפחות בחינם"
},
"freeBitwardenFamiliesPageDesc": {
- "message": "You are eligible for Free Bitwarden Families. Redeem this offer today in the web app."
+ "message": "אתה זכאי ל־Bitwarden למשפחות בחינם. ממש הצעה זו היום ביישום הרשת."
},
"version": {
"message": "גירסה"
@@ -361,7 +368,7 @@
"message": "שמור"
},
"move": {
- "message": "העברה"
+ "message": "העבר"
},
"addFolder": {
"message": "הוסף תיקייה"
@@ -372,23 +379,32 @@
"editFolder": {
"message": "ערוך תיקייה"
},
+ "editFolderWithName": {
+ "message": "ערוך תיקייה: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
- "message": "New folder"
+ "message": "תיקייה חדשה"
},
"folderName": {
- "message": "Folder name"
+ "message": "שם תיקייה"
},
"folderHintText": {
- "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums"
+ "message": "צור תיקייה מקוננת על ידי הוספת שם תיקיית האב ואחריו “/”. דוגמה: חברתי/פורומים"
},
"noFoldersAdded": {
- "message": "No folders added"
+ "message": "לא נוספו תיקיות"
},
"createFoldersToOrganize": {
- "message": "Create folders to organize your vault items"
+ "message": "צור תיקיות כדי לארגן את פריטי הכספת שלך"
},
"deleteFolderPermanently": {
- "message": "Are you sure you want to permanently delete this folder?"
+ "message": "האם אתה בטוח שברצונך למחוק תיקייה זו לצמיתות?"
},
"deleteFolder": {
"message": "מחק תיקייה"
@@ -400,16 +416,16 @@
"message": "אין תיקיות להצגה."
},
"helpFeedback": {
- "message": "עזרה ומשוב"
+ "message": "עזרה & משוב"
},
"helpCenter": {
"message": "מרכז העזרה של Bitwarden"
},
"communityForums": {
- "message": "Explore Bitwarden community forums"
+ "message": "גלה את פורומי קהילת Bitwarden"
},
"contactSupport": {
- "message": "Contact Bitwarden support"
+ "message": "פנה לתמיכת Bitwarden"
},
"sync": {
"message": "סנכרן"
@@ -421,7 +437,7 @@
"message": "סנכרון אחרון:"
},
"passGen": {
- "message": "יוצר הסיסמאות"
+ "message": "מחולל הסיסמאות"
},
"generator": {
"message": "מייצר",
@@ -431,10 +447,10 @@
"message": "צור אוטומטית סיסמאות חזקות ויחודיות עבור פרטי הכניסה שלך."
},
"bitWebVaultApp": {
- "message": "Bitwarden web app"
+ "message": "יישום הרשת של Bitwarden"
},
"importItems": {
- "message": "יבא פריטים"
+ "message": "ייבא פריטים"
},
"select": {
"message": "בחר"
@@ -443,10 +459,22 @@
"message": "צור סיסמה"
},
"generatePassphrase": {
- "message": "Generate passphrase"
+ "message": "צור ביטוי סיסמה"
+ },
+ "passwordGenerated": {
+ "message": "נוצרה סיסמה"
+ },
+ "passphraseGenerated": {
+ "message": "נוצר ביטוי סיסמה"
+ },
+ "usernameGenerated": {
+ "message": "נוצר שם משתמש"
+ },
+ "emailGenerated": {
+ "message": "נוצר דוא\"ל"
},
"regeneratePassword": {
- "message": "צור סיסמה חדשה"
+ "message": "צור סיסמה מחדש"
},
"options": {
"message": "אפשרויות"
@@ -454,28 +482,12 @@
"length": {
"message": "אורך"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
- "message": "Include",
+ "message": "כלול",
"description": "Card header for password generator include block"
},
"uppercaseDescription": {
- "message": "Include uppercase characters",
+ "message": "כלול תווי אות גדולה",
"description": "Tooltip for the password generator uppercase character checkbox"
},
"uppercaseLabel": {
@@ -483,7 +495,7 @@
"description": "Label for the password generator uppercase character checkbox"
},
"lowercaseDescription": {
- "message": "Include lowercase characters",
+ "message": "כלול תווי אות קטנה",
"description": "Full description for the password generator lowercase character checkbox"
},
"lowercaseLabel": {
@@ -491,7 +503,7 @@
"description": "Label for the password generator lowercase character checkbox"
},
"numbersDescription": {
- "message": "Include numbers",
+ "message": "כלול מספרים",
"description": "Full description for the password generator numbers checkbox"
},
"numbersLabel": {
@@ -499,15 +511,11 @@
"description": "Label for the password generator numbers checkbox"
},
"specialCharactersDescription": {
- "message": "Include special characters",
+ "message": "כלול תווים מיוחדים",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
- "message": "מספר מילים"
+ "message": "מספר המילים"
},
"wordSeparator": {
"message": "מפריד מילים"
@@ -517,20 +525,20 @@
"description": "Make the first letter of a work uppercase."
},
"includeNumber": {
- "message": "כלול מספרים"
+ "message": "כלול מספר"
},
"minNumbers": {
- "message": "מינימום ספרות"
+ "message": "מינימום מספרים"
},
"minSpecial": {
- "message": "מינימום תוים מיוחדים"
+ "message": "מינימום מיוחדים"
},
"avoidAmbiguous": {
- "message": "Avoid ambiguous characters",
+ "message": "הימנע מתווים דו־משמעיים",
"description": "Label for the avoid ambiguous characters checkbox."
},
"generatorPolicyInEffect": {
- "message": "Enterprise policy requirements have been applied to your generator options.",
+ "message": "דרישות מדיניות ארגונית הוחלו על אפשרויות המחולל שלך.",
"description": "Indicates that a policy limits the credential generator screen."
},
"searchVault": {
@@ -555,7 +563,7 @@
"message": "סיסמה"
},
"totp": {
- "message": "Authenticator secret"
+ "message": "סוד מאמת"
},
"passphrase": {
"message": "משפט סיסמה"
@@ -564,7 +572,7 @@
"message": "מועדף"
},
"unfavorite": {
- "message": "Unfavorite"
+ "message": "הסר ממועדפים"
},
"itemAddedToFavorites": {
"message": "פריט נוסף למועדפים"
@@ -576,7 +584,7 @@
"message": "הערות"
},
"privateNote": {
- "message": "Private note"
+ "message": "הערה פרטית"
},
"note": {
"message": "הערה"
@@ -597,10 +605,10 @@
"message": "הפעל"
},
"launchWebsite": {
- "message": "Launch website"
+ "message": "פתח אתר"
},
"launchWebsiteName": {
- "message": "Launch website $ITEMNAME$",
+ "message": "פתח אתר $ITEMNAME$",
"placeholders": {
"itemname": {
"content": "$1",
@@ -612,7 +620,7 @@
"message": "אתר"
},
"toggleVisibility": {
- "message": "הצג או הסתר"
+ "message": "שנה מצב נראות"
},
"manage": {
"message": "נהל"
@@ -621,43 +629,49 @@
"message": "אחר"
},
"unlockMethods": {
- "message": "Unlock options"
+ "message": "אפשרויות ביטול נעילה"
},
"unlockMethodNeededToChangeTimeoutActionDesc": {
- "message": "Set up an unlock method to change your vault timeout action."
+ "message": "הגדר שיטת ביטול נעילה כדי לשנות את פעולת פסק הזמן לכספת שלך."
},
"unlockMethodNeeded": {
- "message": "Set up an unlock method in Settings"
+ "message": "הגדר שיטת ביטול נעילה בהגדרות"
},
"sessionTimeoutHeader": {
- "message": "Session timeout"
+ "message": "פסק זמן להפעלה"
},
"vaultTimeoutHeader": {
- "message": "Vault timeout"
+ "message": "פסק זמן לכספת"
},
"otherOptions": {
- "message": "Other options"
+ "message": "אפשרויות אחרות"
},
"rateExtension": {
- "message": "דירוג הרחבה"
+ "message": "דרג את ההרחבה"
},
"browserNotSupportClipboard": {
"message": "הדפדפן שלך לא תומך בהעתקה ללוח. אנא העתק בצורה ידנית."
},
- "verifyIdentity": {
- "message": "אימות זהות"
+ "verifyYourIdentity": {
+ "message": "אמת את זהותך"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "אנחנו לא מזהים את המכשיר הזה. הזן את הקוד שנשלח לדוא\"ל שלך כדי לאמת את זהותך."
+ },
+ "continueLoggingIn": {
+ "message": "המשך להיכנס"
},
"yourVaultIsLocked": {
- "message": "הכספת שלך נעולה. הזן את הסיסמה הראשית שלך כדי להמשיך."
+ "message": "הכספת שלך נעולה. אמת את זהותך כדי להמשיך."
},
"yourVaultIsLockedV2": {
- "message": "Your vault is locked"
+ "message": "הכספת שלך נעולה"
},
"yourAccountIsLocked": {
- "message": "Your account is locked"
+ "message": "החשבון שלך נעול"
},
"or": {
- "message": "or"
+ "message": "או"
},
"unlock": {
"message": "בטל נעילה"
@@ -679,16 +693,16 @@
"message": "סיסמה ראשית שגויה"
},
"vaultTimeout": {
- "message": "משך זמן מירבי עבור חיבור לכספת"
+ "message": "פסק זמן לכספת"
},
"vaultTimeout1": {
- "message": "Timeout"
+ "message": "פסק זמן"
},
"lockNow": {
"message": "נעל עכשיו"
},
"lockAll": {
- "message": "Lock all"
+ "message": "נעל הכל"
},
"immediately": {
"message": "באופן מיידי"
@@ -724,7 +738,7 @@
"message": "4 שעות"
},
"onLocked": {
- "message": "בזמן נעילת המערכת"
+ "message": "בנעילת המערכת"
},
"onRestart": {
"message": "בהפעלת הדפדפן מחדש"
@@ -736,16 +750,16 @@
"message": "אבטחה"
},
"confirmMasterPassword": {
- "message": "Confirm master password"
+ "message": "אמת סיסמה ראשית"
},
"masterPassword": {
- "message": "Master password"
+ "message": "סיסמה ראשית"
},
"masterPassImportant": {
- "message": "Your master password cannot be recovered if you forget it!"
+ "message": "הסיסמה הראשית שלך לא ניתנת לשחזור אם אתה שוכח אותה!"
},
"masterPassHintLabel": {
- "message": "Master password hint"
+ "message": "רמז לסיסמה הראשית"
},
"errorOccurred": {
"message": "אירעה שגיאה"
@@ -757,13 +771,13 @@
"message": "כתובת אימייל לא תקינה."
},
"masterPasswordRequired": {
- "message": "Master password is required."
+ "message": "נדרשת סיסמה ראשית."
},
"confirmMasterPasswordRequired": {
- "message": "Master password retype is required."
+ "message": "נדרשת הזנה מחדש של הסיסמה הראשית."
},
"masterPasswordMinlength": {
- "message": "Master password must be at least $VALUE$ characters long.",
+ "message": "סיסמה ראשית חייבת להיות לפחות באורך $VALUE$ תווים.",
"description": "The Master Password must be at least a specific number of characters long.",
"placeholders": {
"value": {
@@ -779,16 +793,16 @@
"message": "החשבון שלך נוצר בהצלחה! כעת ניתן להכנס למערכת."
},
"newAccountCreated2": {
- "message": "Your new account has been created!"
+ "message": "החשבון החדש שלך נוצר!"
},
"youHaveBeenLoggedIn": {
- "message": "You have been logged in!"
+ "message": "אתה נכנסת!"
},
"youSuccessfullyLoggedIn": {
- "message": "You successfully logged in"
+ "message": "נכנסת בהצלחה"
},
"youMayCloseThisWindow": {
- "message": "You may close this window"
+ "message": "אתה רשאי לסגור חלון זה"
},
"masterPassSent": {
"message": "שלחנו לך אימייל עם רמז לסיסמה הראשית."
@@ -797,7 +811,7 @@
"message": "נדרש קוד אימות."
},
"webauthnCancelOrTimeout": {
- "message": "The authentication was cancelled or took too long. Please try again."
+ "message": "האימות בוטל או לקח זמן רב מדי. נא לנסות שוב."
},
"invalidVerificationCode": {
"message": "קוד אימות שגוי"
@@ -813,58 +827,73 @@
}
},
"autofillError": {
- "message": "לא הצלחנו לבצע פעולת השלמה האוטומטית בעמוד זה. אנא העתק והדבק את המידע הנחוץ בצורה ידנית."
+ "message": "לא ניתן למלא אוטומטית את הפריט שנבחר בעמוד זה. העתק והדבק את המידע במקום זאת."
},
"totpCaptureError": {
- "message": "Unable to scan QR code from the current webpage"
+ "message": "אי אפשר לסרוק קוד QR מהעמוד הנוכחי"
},
"totpCaptureSuccess": {
- "message": "Authenticator key added"
+ "message": "מפתח המאמת נוסף"
},
"totpCapture": {
- "message": "Scan authenticator QR code from current webpage"
+ "message": "סרוק קוד QR מאמת מהעמוד הנוכחי"
},
"totpHelperTitle": {
- "message": "Make 2-step verification seamless"
+ "message": "הפוך את האימות הדו־שלבי לחלק"
},
"totpHelper": {
- "message": "Bitwarden can store and fill 2-step verification codes. Copy and paste the key into this field."
+ "message": "Bitwarden יכול לאחסון ולמלא קודים של אימות דו־שלבי. העתק והדבק את המפתח לשדה זה."
},
"totpHelperWithCapture": {
- "message": "Bitwarden can store and fill 2-step verification codes. Select the camera icon to take a screenshot of this website's authenticator QR code, or copy and paste the key into this field."
+ "message": "Bitwarden יכול לאחסון ולמלא קודים של אימות דו־שלבי. בחר את סמל המצלמה כדי לצלם את הקוד QR המאמת של אתר זה, או העתק והדבק את המפתח לתוך שדה זה."
},
"learnMoreAboutAuthenticators": {
- "message": "Learn more about authenticators"
+ "message": "למד עוד על מאמתים"
},
"copyTOTP": {
- "message": "Copy Authenticator key (TOTP)"
+ "message": "העתק קוד מאמת (TOTP)"
},
"loggedOut": {
"message": "בוצעה יציאה"
},
"loggedOutDesc": {
- "message": "You have been logged out of your account."
+ "message": "יצאת מהחשבון שלך."
},
"loginExpired": {
"message": "תוקף החיבור שלך הסתיים."
},
"logIn": {
- "message": "Log in"
+ "message": "היכנס"
},
"logInToBitwarden": {
- "message": "Log in to Bitwarden"
+ "message": "היכנס אל Bitwarden"
+ },
+ "enterTheCodeSentToYourEmail": {
+ "message": "הזן את הקוד שנשלח לדוא\"ל שלך"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "הזן את הקוד מיישום המאמת שלך"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "לחץ על ה־YubiKey שלך כדי לאמת"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "נדרשת כניסה דו־שלבית של Duo עבור החשבון שלך. עקוב אחר השלבים למטה כדי לסיים להיכנס."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "עקוב אחר השלבים למטה כדי לסיים להיכנס."
},
"restartRegistration": {
- "message": "Restart registration"
+ "message": "התחל הרשמה מחדש"
},
"expiredLink": {
- "message": "Expired link"
+ "message": "קישור פג תוקף"
},
"pleaseRestartRegistrationOrTryLoggingIn": {
- "message": "Please restart registration or try logging in."
+ "message": "נא להתחיל הרשמה מחדש או לנסות להיכנס."
},
"youMayAlreadyHaveAnAccount": {
- "message": "You may already have an account"
+ "message": "ייתכן שכבר יש לך חשבון"
},
"logOutConfirmation": {
"message": "האם אתה בטוח שברצונך להתנתק?"
@@ -875,6 +904,9 @@
"no": {
"message": "לא"
},
+ "location": {
+ "message": "מיקום"
+ },
"unexpectedError": {
"message": "אירעה שגיאה לא צפויה."
},
@@ -882,28 +914,28 @@
"message": "דרוש שם."
},
"addedFolder": {
- "message": "נוספה תיקייה"
+ "message": "תיקייה נוספה"
},
"twoStepLoginConfirmation": {
- "message": "התחברות בשני-שלבים הופכת את החשבון שלך למאובטח יותר בכך שאתה נדרש לוודא בכל כניסה בעזרת מכשיר אחר כדוגמת מפתח אבטחה, תוכנת אימות, SMS, שיחת טלפון, או אימייל. ניתן להפעיל את \"התחברות בשני-שלבים\" בכספת שבאתר bitwarden.com. האם ברצונך לפתוח את האתר כעת?"
+ "message": "כניסה דו־שלבית הופכת את החשבון שלך למאובטח יותר בכך שאתה נדרש לאמת את הכניסה שלך עם מכשיר אחר כמו מפתח אבטחה, יישום מאמת, מסרון, שיחת טלפון, או דוא\"ל. ניתן להגדיר כניסה דו־שלבית בכספת הרשת bitwarden.com. האם ברצונך לבקר באתר כעת?"
},
"twoStepLoginConfirmationContent": {
- "message": "Make your account more secure by setting up two-step login in the Bitwarden web app."
+ "message": "הפוך את החשבון שלך למאובטח יותר על ידי הגדרת כניסה דו־שלבית ביישום הרשת של Bitwarden."
},
"twoStepLoginConfirmationTitle": {
- "message": "Continue to web app?"
+ "message": "להמשיך אל יישום הרשת?"
},
"editedFolder": {
- "message": "תיקייה שנערכה"
+ "message": "תיקייה נשמרה"
},
"deleteFolderConfirmation": {
"message": "האם אתה בטוח שברצונך למחוק את התיקייה?"
},
"deletedFolder": {
- "message": "תיקייה שנמחקה"
+ "message": "תיקייה נמחקה"
},
"gettingStartedTutorial": {
- "message": "מדריך שימוש ראשוני"
+ "message": "מדריך תחילת עבודה"
},
"gettingStartedTutorialVideo": {
"message": "צפה במדריך השימוש הראשוני כדי ללמוד איך לנצל את המקסימום שהתוסף לדפדפן יכול להציע."
@@ -934,20 +966,20 @@
"message": "כתובת חדשה"
},
"addDomain": {
- "message": "Add domain",
+ "message": "הוסף דומיין",
"description": "'Domain' here refers to an internet domain name (e.g. 'bitwarden.com') and the message in whole described the act of putting a domain value into the context."
},
"addedItem": {
- "message": "פריט שהתווסף"
+ "message": "הפריט נוסף"
},
"editedItem": {
- "message": "פריט שנערך"
+ "message": "הפריט נשמר"
},
"deleteItemConfirmation": {
"message": "האם אתה בטוח שברצונך למחוק פריט זה?"
},
"deletedItem": {
- "message": "פריט נשלח לסל המחזור"
+ "message": "פריט נשלח לאשפה"
},
"overwritePassword": {
"message": "דרוס סיסמה"
@@ -956,10 +988,10 @@
"message": "האם אתה בטוח שברצונך לדרוס את הסיסמה הנוכחית?"
},
"overwriteUsername": {
- "message": "Overwrite username"
+ "message": "דרוס שם משתמש"
},
"overwriteUsernameConfirmation": {
- "message": "Are you sure you want to overwrite the current username?"
+ "message": "האם אתה בטוח שברצונך לדרוס את שם המשתמש הנוכחי?"
},
"searchFolder": {
"message": "חפש תיקייה"
@@ -975,40 +1007,43 @@
"description": "This is the folder for uncategorized items"
},
"enableAddLoginNotification": {
- "message": "Ask to add login"
+ "message": "בקש לשמור כניסה"
},
"vaultSaveOptionsTitle": {
- "message": "Save to vault options"
+ "message": "שמור בהגדרות כספת"
},
"addLoginNotificationDesc": {
- "message": "ההודעה \"שמור פרטי כניסה\" מופיעה בכל פעם שתכנס לאתר חדש בפעם הראשונה."
+ "message": "בקש להוסיף פריט אם לא נמצא פריט בכספת שלך."
},
"addLoginNotificationDescAlt": {
- "message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
+ "message": "בקש להוסיף פריט אם לא נמצא פריט בכספת שלך. חל על כל החשבונות המחוברים."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "הצג תמיד כרטיסים כהצעות מילוי אוטומטי בתצוגת כספת"
},
"showCardsCurrentTab": {
- "message": "Show cards on Tab page"
+ "message": "הצג כרטיסים בעמוד הכרטיסיות"
},
"showCardsCurrentTabDesc": {
- "message": "List card items on the Tab page for easy autofill."
+ "message": "רשום פריטי כרטיס בעמוד הכרטיסיות עבור מילוי אוטומטי קל."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "הצג תמיד זהויות כהצעות למילוי אוטומטי בתצוגת כספת"
},
"showIdentitiesCurrentTab": {
- "message": "Show identities on Tab page"
+ "message": "הצג זהויות בעמוד הכרטיסיות"
},
"showIdentitiesCurrentTabDesc": {
- "message": "List identity items on the Tab page for easy autofill."
+ "message": "הצג פריטי זהות בעמוד הכרטיסיות עבור מילוי אוטומטי קל."
},
"clickToAutofillOnVault": {
- "message": "Click items to autofill on Vault view"
+ "message": "לחץ על פריטים כדי למלא אוטומטית בתצוגת כספת"
+ },
+ "clickToAutofill": {
+ "message": "לחץ על פריטים בהצעות למילוי אוטומטי כדי למלא"
},
"clearClipboard": {
- "message": "נקה לוח העתקות",
+ "message": "נקה לוח העתקה",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
},
"clearClipboardDesc": {
@@ -1019,53 +1054,103 @@
"message": "האם ברצונך שתוכנת Bitwarden תזכור סיסמה זו עבורך?"
},
"notificationAddSave": {
- "message": "כן, שמור עכשיו"
+ "message": "שמור"
+ },
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ נשמר אל Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ עודכן ב־Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "שמור ככניסה חדשה",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "עדכן כניסה",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "לשמור כניסה?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "לעדכן כניסה קיימת?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "כניסה נשמרה",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "כניסה עודכנה",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "שגיאה בשמירה",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "או לא! לא יכלנו לשמור זאת. נסה להזין את הפרטים באופן ידני.",
+ "description": "Detailed error message shown when saving login details fails."
},
"enableChangedPasswordNotification": {
- "message": "Ask to update existing login"
+ "message": "שאל אם לעדכן פרטי כניסה קיימת"
},
"changedPasswordNotificationDesc": {
- "message": "Ask to update a login's password when a change is detected on a website."
+ "message": "שאל אם לעדכן סיסמת כניסה כאשר זוהה שינוי באתר אינטרנט."
},
"changedPasswordNotificationDescAlt": {
- "message": "Ask to update a login's password when a change is detected on a website. Applies to all logged in accounts."
+ "message": "שאל אם לעדכן סיסמת כניסה כאשר זוהה שינוי באתר אינטרנט. חל על כל החשבונות המחוברים."
},
"enableUsePasskeys": {
- "message": "Ask to save and use passkeys"
+ "message": "שאל אם לשמור ולהשתמש במפתחות גישה"
},
"usePasskeysDesc": {
- "message": "Ask to save new passkeys or log in with passkeys stored in your vault. Applies to all logged in accounts."
+ "message": "שאל אם לשמור מפתחות גישה חדשים או להיכנס עם מפתחות גישה השמורים בכספת שלך. חל על כל המשתמשים המחוברים."
},
"notificationChangeDesc": {
"message": "האם ברצונך לעדכן את הסיסמה הזו בתוכנת Bitwarden?"
},
"notificationChangeSave": {
- "message": "כן, עדכן עכשיו"
+ "message": "עדכן"
},
"notificationUnlockDesc": {
- "message": "Unlock your Bitwarden vault to complete the autofill request."
+ "message": "בטל נעילת כספת ה־Bitwarden שלך כדי להשלים את בקשת המילוי האוטומטי."
},
"notificationUnlock": {
- "message": "Unlock"
+ "message": "בטל נעילה"
},
"additionalOptions": {
- "message": "Additional options"
+ "message": "אפשרויות נוספות"
},
"enableContextMenuItem": {
- "message": "Show context menu options"
+ "message": "הצג אפשרויות תפריט הקשר"
},
"contextMenuItemDesc": {
- "message": "Use a secondary click to access password generation and matching logins for the website."
+ "message": "השתמש בלחיצה משנית כדי לגשת לחילול סיסמה וכניסות תואמות עבור אתר האינטרנט."
},
"contextMenuItemDescAlt": {
- "message": "Use a secondary click to access password generation and matching logins for the website. Applies to all logged in accounts."
+ "message": "השתמש בלחיצה משנית כדי לגשת לחילול סיסמה וכניסות תואמות עבור אתר האינטרנט. חל על כל החשבונות המחוברים."
},
"defaultUriMatchDetection": {
- "message": "ברירת מחדל לזיהוי התאמת כתובות",
+ "message": "ברירת מחדל לזיהוי התאמת URI",
"description": "Default URI match detection for autofill."
},
"defaultUriMatchDetectionDesc": {
- "message": "בחר את שיטת ברירת המחדל עבור זיהוי התאמת כתובות כשמבצעים פעולות השלמה אוטומטית."
+ "message": "בחר את דרך ברירת המחדל לטיפול בזיהוי התאמת URI עבור כניסות כשמבצעים פעולות כגון מילוי אוטומטי."
},
"theme": {
"message": "ערכת נושא"
@@ -1074,7 +1159,7 @@
"message": "שנה את ערכת הצבע של האפליקציה."
},
"themeDescAlt": {
- "message": "Change the application's color theme. Applies to all logged in accounts."
+ "message": "שנה את צבעי ערכת הנושא של היישום. חל על כל החשבונות המחוברים."
},
"dark": {
"message": "כהה",
@@ -1084,62 +1169,58 @@
"message": "בהיר",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
- "message": "Export from"
+ "message": "ייצא מ־"
},
"exportVault": {
- "message": "יצוא כספת"
+ "message": "ייצא כספת"
},
"fileFormat": {
- "message": "פורמט קובץ"
+ "message": "פורמט הקובץ"
},
"fileEncryptedExportWarningDesc": {
- "message": "This file export will be password protected and require the file password to decrypt."
+ "message": "קובץ ייצוא זה יהיה מוגן סיסמה ודורש את סיסמת הקובץ כדי לפענח."
},
"filePassword": {
- "message": "File password"
+ "message": "סיסמת קובץ"
},
"exportPasswordDescription": {
- "message": "This password will be used to export and import this file"
+ "message": "סיסמה זו תשמש כדי לייצא ולייבא קובץ זה"
},
"accountRestrictedOptionDescription": {
- "message": "Use your account encryption key, derived from your account's username and Master Password, to encrypt the export and restrict import to only the current Bitwarden account."
+ "message": "השתמש במפתח הצפנת החשבון שלך, הנגזר משם המשתמש והסיסמה הראשית של חשבונך, כדי להצפין את הייצוא ולהגביל את הייבוא רק לחשבון Bitwarden הנוכחי."
},
"passwordProtectedOptionDescription": {
- "message": "Set a file password to encrypt the export and import it to any Bitwarden account using the password for decryption."
+ "message": "הגדר סיסמת קובץ כדי להצפין את הייצוא ולייבא אותו לכל חשבון Bitwarden באמצעות הסיסמה לפענוח."
},
"exportTypeHeading": {
- "message": "Export type"
+ "message": "סוג ייצוא"
},
"accountRestricted": {
- "message": "Account restricted"
+ "message": "מוגבל חשבון"
},
"filePasswordAndConfirmFilePasswordDoNotMatch": {
- "message": "“File password” and “Confirm file password“ do not match."
+ "message": "\"סיסמת קובץ\" ו\"אשר סיסמת קובץ\" אינם תואמים."
},
"warning": {
"message": "אזהרה",
"description": "WARNING (should stay in capitalized letters if the language permits)"
},
"warningCapitalized": {
- "message": "Warning",
+ "message": "אזהרה",
"description": "Warning (should maintain locale-relevant capitalization)"
},
"confirmVaultExport": {
- "message": "אישור ייצוא כספת"
+ "message": "אשר ייצוא כספת"
},
"exportWarningDesc": {
"message": "הקובץ מכיל את פרטי הכספת שלך בפורמט לא מוצפן. מומלץ להעביר את הקובץ רק בדרכים מוצפנות, ומאוד לא מומלץ לשמור או לשלוח את הקובץ הזה בדרכים לא מוצפנות (כדוגמת סתם אימייל). מחק את הקובץ מיד לאחר שסיימת את השימוש בו."
},
"encExportKeyWarningDesc": {
- "message": "ייצוא זה מצפין את המידע שלך באמצעות שימוש במפתח ההצפנה של חשבונך. אם אי-פעם תבצע החלפה (רוטציה) למפתח ההצפנה של חשבונך, עליך לבצע ייצוא זה שוב אחרת לא תוכל לפענח קובץ ייצוא זה."
+ "message": "ייצוא זה מצפין את הנתונים שלך באמצעות מפתח ההצפנה של חשבונך. אם אי פעם תבצע סיבוב למפתח ההצפנה של חשבונך, תצטרך לייצא שוב משום שלא תוכל לפענח קובץ ייצוא זה."
},
"encExportAccountWarningDesc": {
- "message": "Account encryption keys are unique to each Bitwarden user account, so you can't import an encrypted export into a different account."
+ "message": "מפתחות הצפנת חשבון הם ייחודים לכל חשבון משתמש של Bitwarden, לכן אינך יכול לייבא ייצוא מוצפן אל תוך חשבון אחר."
},
"exportMasterPassword": {
"message": "הזן את הסיסמה הראשית שלך עבור יצוא המידע מהכספת."
@@ -1148,13 +1229,13 @@
"message": "משותף"
},
"bitwardenForBusinessPageDesc": {
- "message": "Bitwarden for Business allows you to share your vault items with others by using an organization. Learn more on the bitwarden.com website."
+ "message": "Bitwarden לעסקים מאפשר לך לשתף את פריטי הכספת שלך עם אחרים על ידי שימוש בארגון. למד עוד באתר האינטרנט bitwarden.com."
},
"moveToOrganization": {
- "message": "Move to organization"
+ "message": "העבר לארגון"
},
"movedItemToOrg": {
- "message": "$ITEMNAME$ הועבר ל- $ORGNAME$",
+ "message": "$ITEMNAME$ הועבר אל $ORGNAME$",
"placeholders": {
"itemname": {
"content": "$1",
@@ -1167,13 +1248,13 @@
}
},
"moveToOrgDesc": {
- "message": "Choose an organization that you wish to move this item to. Moving to an organization transfers ownership of the item to that organization. You will no longer be the direct owner of this item once it has been moved."
+ "message": "בחר ארגון שאליו ברצונך להעביר פריט זה. העברה אל ארגון מעבירה בעלות של הפריט אל אותו ארגון. לא תוכל להיות הבעלים הישיר של פריט זה ברגע שהוא הועבר."
},
"learnMore": {
"message": "למידע נוסף"
},
"authenticatorKeyTotp": {
- "message": "מפתח אימות (TOTP)"
+ "message": "מפתח מאמת (TOTP)"
},
"verificationCodeTotp": {
"message": "קוד אימות (TOTP)"
@@ -1191,61 +1272,61 @@
"message": "האם אתה בטוח שברצונך למחוק קובץ מצורף זה?"
},
"deletedAttachment": {
- "message": "קובץ מצורף שנמחק"
+ "message": "הצרופה נמחקה"
},
"newAttachment": {
- "message": "צרף קובץ חדש"
+ "message": "הוסף צרופה חדשה"
},
"noAttachments": {
"message": "אין קבצים מצורפים."
},
"attachmentSaved": {
- "message": "הקובץ המצורף נשמר."
+ "message": "הצרופה נשמרה"
},
"file": {
"message": "קובץ"
},
"fileToShare": {
- "message": "File to share"
+ "message": "קובץ לשיתוף"
},
"selectFile": {
- "message": "בחר קובץ."
+ "message": "בחר קובץ"
},
"maxFileSize": {
- "message": "גודל הקובץ המירבי הוא 500 מגה."
+ "message": "גודל הקובץ המרבי הוא 500MB."
},
"featureUnavailable": {
- "message": "יכולת זו לא זמינה"
+ "message": "התכונה אינה זמינה"
},
"encryptionKeyMigrationRequired": {
- "message": "Encryption key migration required. Please login through the web vault to update your encryption key."
+ "message": "נדרשת הגירת מפתח הצפנה. נא להיכנס דרך כספת הרשת כדי לעדכן את מפתח ההצפנה שלך."
},
"premiumMembership": {
- "message": "חשבון פרימיום"
+ "message": "חברות פרימיום"
},
"premiumManage": {
- "message": "נהל חשבון"
+ "message": "נהל חברות"
},
"premiumManageAlert": {
"message": "באפשרותך לנהל את החשבון שלך דרך הכספת באתר bitwarden.com. האם ברצונך לפתוח את האתר כעת?"
},
"premiumRefresh": {
- "message": "רענן פרטי חשבון"
+ "message": "רענן חברות"
},
"premiumNotCurrentMember": {
- "message": "חשבונך אינו חשבון פרמיום כרגע."
+ "message": "אתה לא חבר פרימיום כרגע."
},
"premiumSignUpAndGet": {
- "message": "צור חשבון פרמיום לשנה, וקבל:"
+ "message": "הירשם לחברות פרימיום וקבל:"
},
"ppremiumSignUpStorage": {
"message": "1 ג'יגה של מקום אחסון עבור קבצים מצורפים."
},
"premiumSignUpEmergency": {
- "message": "Emergency access."
+ "message": "גישת חירום."
},
"premiumSignUpTwoStepOptions": {
- "message": "Proprietary two-step login options such as YubiKey and Duo."
+ "message": "אפשרויות כניסה דו־שלבית קנייניות כגון YubiKey ו־Duo."
},
"ppremiumSignUpReports": {
"message": "היגיינת סיסמאות, מצב בריאות החשבון, ודיווחים מעודכנים על פרצות חדשות בכדי לשמור על הכספת שלך בטוחה."
@@ -1257,25 +1338,22 @@
"message": "קדימות בתמיכה הטכנית."
},
"ppremiumSignUpFuture": {
- "message": "כל יכולות הפרימיום העתידיות שנפתח. עוד יכולות מגיעות בקרוב!"
+ "message": "כל תכונות הפרימיום העתידיות. עוד מגיעות בקרוב!"
},
"premiumPurchase": {
"message": "רכוש פרימיום"
},
- "premiumPurchaseAlert": {
- "message": "באפשרותך לרכוש מנוי פרימיום בכספת באתר bitwarden.com. האם ברצונך לפתוח את האתר כעת?"
- },
"premiumPurchaseAlertV2": {
- "message": "You can purchase Premium from your account settings on the Bitwarden web app."
+ "message": "אתה יכול לרכוש פרימיום מהגדרות החשבון שלך ביישום הרשת של Bitwarden."
},
"premiumCurrentMember": {
- "message": "אתה מנוי פרימיום!"
+ "message": "אתה חבר פרימיום!"
},
"premiumCurrentMemberThanks": {
"message": "תודה על תמיכתך בBitwarden."
},
"premiumFeatures": {
- "message": "Upgrade to Premium and receive:"
+ "message": "שדרג לפרימיום וקבל:"
},
"premiumPrice": {
"message": "הכל רק ב$PRICE$ לשנה!",
@@ -1287,7 +1365,7 @@
}
},
"premiumPriceV2": {
- "message": "All for just $PRICE$ per year!",
+ "message": "הכל רק ב־$PRICE$ לשנה!",
"placeholders": {
"price": {
"content": "$1",
@@ -1299,28 +1377,28 @@
"message": "הרענון הושלם"
},
"enableAutoTotpCopy": {
- "message": "Copy TOTP automatically"
+ "message": "העתק TOTP באופן אוטומטי"
},
"disableAutoTotpCopyDesc": {
- "message": "אם פרטי הכניסה שלך מקושרים לאפליקציית אימות, קוד האימות TOTP מועתק אוטומטית ללוח שלך ברגע שמתבצעת ההשלמה האוטומטית לטופס הכניסה."
+ "message": "אם לכניסה שלך יש מפתח מאמת, העתק את קוד האימות ה־TOTP ללוח ההעתקה שלך כאשר אתה ממלא אוטומטית את הכניסה."
},
"enableAutoBiometricsPrompt": {
- "message": "Ask for biometrics on launch"
+ "message": "בקש זיהוי ביומטרי בפתיחה"
},
"premiumRequired": {
- "message": "נדרש חשבון פרימיום"
+ "message": "נדרש פרימיום"
},
"premiumRequiredDesc": {
- "message": "בכדי להשתמש ביכולת זו יש צורך בחשבון פרימיום."
+ "message": "נדרשת חברות פרימיום כדי להשתמש בתכונה זו."
},
"enterVerificationCodeApp": {
"message": "הכנס את קוד האימות בן 6 הספרות מאפליקציית האימות שלך."
},
"authenticationTimeout": {
- "message": "Authentication timeout"
+ "message": "פסק זמן לאימות"
},
"authenticationSessionTimedOut": {
- "message": "The authentication session timed out. Please restart the login process."
+ "message": "זמן אימות ההפעלה תם. נא להתחיל מחדש את תהליך הכניסה."
},
"enterVerificationCodeEmail": {
"message": "הכנס את קוד האימות בן 6 הספרות שנשלח ל-$EMAIL$.",
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "זכור אותי"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "אל תשאל אותי שוב במכשיר זה למשך 30 יום"
+ },
"sendVerificationCodeEmailAgain": {
"message": "שלח שוב קוד אימות לאימייל"
},
"useAnotherTwoStepMethod": {
"message": "השתמש בשיטה אחרת עבור כניסה דו שלבית"
},
+ "selectAnotherMethod": {
+ "message": "בחר שיטה אחרת",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "השתמש בקוד השחזור שלך"
+ },
"insertYubiKey": {
"message": "הכנס את ה-YubiKey אל כניסת ה-USB במחשבך, ואז גע בכפתור שלו."
},
@@ -1356,47 +1444,59 @@
"message": "הכנס את מפתח האבטחה שלך אל כניסת ה-USB במחשבך. אם יש לו כפתור, לחץ עליו."
},
"webAuthnNewTab": {
- "message": "To start the WebAuthn 2FA verification. Click the button below to open a new tab and follow the instructions provided in the new tab."
+ "message": "על מנת להתחיל אימות WebAuthn דו־שלבי. לחץ על הלחצן למטה כדי לפתוח כרטיסיה חדשה ועקוב אחר ההוראות המסופקת בכרטיסיה החדשה."
},
"webAuthnNewTabOpen": {
- "message": "פתיחת לשונית חדשה"
+ "message": "פתח כרטיסיה חדשה"
+ },
+ "openInNewTab": {
+ "message": "פתח בכרטיסיה חדשה"
},
"webAuthnAuthenticate": {
- "message": "Authenticate WebAuthn"
+ "message": "אמת WebAuthn"
+ },
+ "readSecurityKey": {
+ "message": "קרא מפתח אבטחה"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "ממתין לאינטראקציה עם מפתח אבטחה..."
},
"loginUnavailable": {
- "message": "פרטי כניסה לא זמינים"
+ "message": "כניסה לא זמינה"
},
"noTwoStepProviders": {
- "message": "כניסה דו-שלבית פעילה בחשבון זה, אך אף אחד מספקי הכניסה הדו-שלבית לא נתמכים בדפדפן זה."
+ "message": "לחשבון זה מוגדרת כניסה דו־שלבית, עם זאת, אף אחד מהספקים הדו־שלביים שהוגדרו אינו נתמך על ידי דפדפן זה."
},
"noTwoStepProviders2": {
"message": "אנא השתמש בדפדפן נתמך (כמו לדוגמא Chrome) ו\\או הוסף ספק כניסה דו-שלבית הנתמך בדפדפן זה (כמו לדוגמא אפליקצית אימות)."
},
"twoStepOptions": {
- "message": "אפשרויות כניסה דו שלבית"
+ "message": "אפשרויות כניסה דו־שלבית"
+ },
+ "selectTwoStepLoginMethod": {
+ "message": "בחר שיטת כניסה דו־שלבית"
},
"recoveryCodeDesc": {
- "message": "איבדת גישה לכל ספקי האימות הדו-שלבי שלך? השתמש בקוד השחזור בכדי לבטל את כל ספקי האימות הדו-שלבי דרך החשבון שלך."
+ "message": "איבדת גישה לכל הספקים הדו־גורמיים שלך? השתמש בקוד השחזור שלך כדי לכבות את כל הספקים הדו־גורמיים מהחשבון שלך."
},
"recoveryCodeTitle": {
"message": "קוד שחזור"
},
"authenticatorAppTitle": {
- "message": "אפליקציית אימות"
+ "message": "יישום מאמת"
},
"authenticatorAppDescV2": {
- "message": "Enter a code generated by an authenticator app like Bitwarden Authenticator.",
+ "message": "הזן קוד שנוצר על ידי יישום מאמת כמו מאמת Bitwarden.",
"description": "'Bitwarden Authenticator' is a product name and should not be translated."
},
"yubiKeyTitleV2": {
- "message": "Yubico OTP Security Key"
+ "message": "מפתח אבטחה OTP של Yubico"
},
"yubiKeyDesc": {
"message": "השתמש בYubiKey עבור גישה לחשבון שלך. עובד עם YubiKey בגירסאות 4, 4C, 4Nano, ומכשירי NEO."
},
"duoDescV2": {
- "message": "Enter a code generated by Duo Security.",
+ "message": "הזן קוד שנוצר על ידי Duo Security.",
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
},
"duoOrganizationDesc": {
@@ -1407,135 +1507,129 @@
"message": "FIDO2 WebAuthn"
},
"webAuthnDesc": {
- "message": "Use any WebAuthn compatible security key to access your account."
+ "message": "השתמש בכל מפתח אבטחה תואם WebAuthn כדי לגשת לחשבונך."
},
"emailTitle": {
"message": "אימייל"
},
"emailDescV2": {
- "message": "Enter a code sent to your email."
+ "message": "הזן קוד שנשלח לדוא\"ל שלך."
},
"selfHostedEnvironment": {
- "message": "סביבה על שרתים מקומיים"
- },
- "selfHostedEnvironmentFooter": {
- "message": "הזן את כתובת השרת המקומי של Bitwarden."
+ "message": "סביבה באירוח עצמי"
},
"selfHostedBaseUrlHint": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
+ "message": "ציין את בסיס ה־URL של התקנת Bitwarden באירוח מקומי שלך. דוגמה: https://bitwarden.company.com"
},
"selfHostedCustomEnvHeader": {
- "message": "For advanced configuration, you can specify the base URL of each service independently."
+ "message": "עבור תצורה מתקדמת, באפשרותך לציין את בסיס ה־URL של כל שירות בנפרד."
},
"selfHostedEnvFormInvalid": {
- "message": "You must add either the base Server URL or at least one custom environment."
+ "message": "אתה מוכרח להוסיף או את בסיס ה־URL של השרת או לפחות סביבה מותאמת אישית אחת."
},
"customEnvironment": {
"message": "סביבה מותאמת אישית"
},
- "customEnvironmentFooter": {
- "message": "למשתמשים מתקדמים. באפשרותך לציין את כתובת השרת עבור כל שירות בנפרד."
- },
"baseUrl": {
"message": "כתובת שרת"
},
"selfHostBaseUrl": {
- "message": "Self-host server URL",
+ "message": "URL של שרת אירוח עצמי",
"description": "Label for field requesting a self-hosted integration service URL"
},
"apiUrl": {
- "message": "כתובת שרת הAPI"
+ "message": "URL של שרת ה־API"
},
"webVaultUrl": {
- "message": "כתובת שרת הכספת"
+ "message": "URL של שרת כספת הרשת"
},
"identityUrl": {
- "message": "כתובת שרת הזהות"
+ "message": "URL של שרת הזהות"
},
"notificationsUrl": {
- "message": "כתובת שרת הודעות"
+ "message": "URL של שרת ההודעות"
},
"iconsUrl": {
- "message": "כתובת שרת אייקונים"
+ "message": "URL של שרת הסמלים"
},
"environmentSaved": {
- "message": "כתובות הסביבה נשמרו."
+ "message": "כתובות URL של הסביבה נשמרו"
},
"showAutoFillMenuOnFormFields": {
- "message": "Show autofill menu on form fields",
+ "message": "הצג תפריט מילוי אוטומטי על שדות טופס",
"description": "Represents the message for allowing the user to enable the autofill overlay"
},
"autofillSuggestionsSectionTitle": {
- "message": "Autofill suggestions"
+ "message": "הצעות למילוי אוטומטי"
},
"showInlineMenuLabel": {
- "message": "Show autofill suggestions on form fields"
+ "message": "הצג הצעות למילוי אוטומטי על שדות טופס"
},
"showInlineMenuIdentitiesLabel": {
- "message": "Display identities as suggestions"
+ "message": "הצג זהויות כהצעות"
},
"showInlineMenuCardsLabel": {
- "message": "Display cards as suggestions"
+ "message": "הצג כרטיסים כהצעות"
},
"showInlineMenuOnIconSelectionLabel": {
- "message": "Display suggestions when icon is selected"
+ "message": "הצג הצעות כאשר נבחר סמל"
},
"showInlineMenuOnFormFieldsDescAlt": {
- "message": "Applies to all logged in accounts."
+ "message": "חל על כל החשבונות המחוברים."
},
"turnOffBrowserBuiltInPasswordManagerSettings": {
- "message": "Turn off your browser's built in password manager settings to avoid conflicts."
+ "message": "כבה את הגדרות מנהל הסיסמאות המובנה של הדפדפן שלך כדי להימנע מקונפליקטים."
},
"turnOffBrowserBuiltInPasswordManagerSettingsLink": {
- "message": "Edit browser settings."
+ "message": "ערוך הגדרות דפדפן."
},
"autofillOverlayVisibilityOff": {
- "message": "Off",
+ "message": "כבוי",
"description": "Overlay setting select option for disabling autofill overlay"
},
"autofillOverlayVisibilityOnFieldFocus": {
- "message": "When field is selected (on focus)",
+ "message": "כאשר נבחר שדה (בפוקוס)",
"description": "Overlay appearance select option for showing the field on focus of the input element"
},
"autofillOverlayVisibilityOnButtonClick": {
- "message": "When autofill icon is selected",
+ "message": "כאשר נבחר סמל מילוי אוטומטי",
"description": "Overlay appearance select option for showing the field on click of the overlay icon"
},
"enableAutoFillOnPageLoadSectionTitle": {
- "message": "Autofill on page load"
+ "message": "מילוי אוטומטי בעת טעינת עמוד"
},
"enableAutoFillOnPageLoad": {
- "message": "הפעל השלמה אוטומטית בזמן טעינת העמוד"
+ "message": "מילוי אוטומטי בעת טעינת עמוד"
},
"enableAutoFillOnPageLoadDesc": {
- "message": "אם זוהה טופס כניסה, בצע אוטומטית מילוי-אוטומטי כשהעמוד נטען."
+ "message": "אם זוהה טופס כניסה, בצע מילוי אוטומטי כשהעמוד נטען."
},
"experimentalFeature": {
- "message": "Compromised or untrusted websites can exploit autofill on page load."
+ "message": "אתרים פרוצים או לא מהימנים יכולים לנצל מילוי אוטומטי בעת טעינת עמוד."
},
"learnMoreAboutAutofillOnPageLoadLinkText": {
- "message": "Learn more about risks"
+ "message": "למד עוד על סיכונים"
},
"learnMoreAboutAutofill": {
- "message": "Learn more about autofill"
+ "message": "למד עוד על מילוי אוטומטי"
},
"defaultAutoFillOnPageLoad": {
- "message": "הגדרת ברירת מחדל למילוי אוטומטי של פרטי התחברות"
+ "message": "הגדרת ברירת המחדל של מילוי אוטומטי לפריטי כניסה"
},
"defaultAutoFillOnPageLoadDesc": {
- "message": "לאחר הפעלת מילוי אוטומטי של פרטים בעת טעינת דפים, אפשר להפעיל או לכבות את האפשרות לפרטי התחברות ספציפיים. זו הגדרת ברירת המחדל לפרטי התחברות שלא הוגדרו בנפרד."
+ "message": "אתה יכול לכבות מילוי אוטומטי בעת טעינת עמוד עבור פריטי כניסה בודדים מתצוגת העריכה של הפריט."
},
"itemAutoFillOnPageLoad": {
- "message": "מילוי אוטומטי בעת טעינת דפים (אם מופעל בהגדרות)"
+ "message": "מילוי אוטומטי בעת טעינת עמוד (אם מוגדר באפשרויות)"
},
"autoFillOnPageLoadUseDefault": {
- "message": "שימוש בהגדרות ברירת המחדל"
+ "message": "השתמש בהגדרת ברירת המחדל"
},
"autoFillOnPageLoadYes": {
- "message": "מילוי אוטומטי אחרי טעינת דפים"
+ "message": "מילוי אוטומטי בעת טעינת עמוד"
},
"autoFillOnPageLoadNo": {
- "message": "Do not autofill on page load"
+ "message": "אל תמלא אוטומטית בעת טעינת עמוד"
},
"commandOpenPopup": {
"message": "פתיחת כספת בחלונית צפה"
@@ -1544,13 +1638,13 @@
"message": "פתיחת כספת בסרגל צד"
},
"commandAutofillLoginDesc": {
- "message": "Autofill the last used login for the current website"
+ "message": "מלא אוטומטית את הכניסה האחרונה בה השתמשת עבור האתר הנוכחי"
},
"commandAutofillCardDesc": {
- "message": "Autofill the last used card for the current website"
+ "message": "מלא אוטומטית את הכרטיס האחרון בו השתמשת עבור האתר הנוכחי"
},
"commandAutofillIdentityDesc": {
- "message": "Autofill the last used identity for the current website"
+ "message": "מלא אוטומטית את הזהות האחרונה בה השתמשת עבור האתר הנוכחי"
},
"commandGeneratePasswordDesc": {
"message": "צור והעתק סיסמה רנדומלית חדשה."
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "גרור כדי למיין"
},
+ "dragToReorder": {
+ "message": "גרור כדי לסדר מחדש"
+ },
"cfTypeText": {
"message": "טקסט"
},
@@ -1583,7 +1680,7 @@
"message": "אמת או שקר"
},
"cfTypeCheckbox": {
- "message": "Checkbox"
+ "message": "תיבת סימון"
},
"cfTypeLinked": {
"message": "מקושר",
@@ -1600,19 +1697,19 @@
"message": "דפדפן זה לא יכול לעבד בקשות U2F בחלון צף זה. האם ברצונך לפתוח את החלון הצף כחלון חדש רגיל כדי שתוכל להכנס באמצעות U2F?"
},
"enableFavicon": {
- "message": "Show website icons"
+ "message": "הצג סמלי אתר אינטרנט"
},
"faviconDesc": {
- "message": "Show a recognizable image next to each login."
+ "message": "הצג תמונה מוכרת ליד כל כניסה."
},
"faviconDescAlt": {
- "message": "Show a recognizable image next to each login. Applies to all logged in accounts."
+ "message": "הצג תמונה מוכרת ליד כל כניסה. חל על כל החשבונות המחוברים."
},
"enableBadgeCounter": {
- "message": "Show badge counter"
+ "message": "הצג מונה סמל"
},
"badgeCounterDesc": {
- "message": "Indicate how many logins you have for the current web page."
+ "message": "מציין כמה כניסות יש לך עבור עמוד הרשת הנוכחי."
},
"cardholderName": {
"message": "שם בעל הכרטיס"
@@ -1624,10 +1721,10 @@
"message": "מותג"
},
"expirationMonth": {
- "message": "תוקף אשראי - חודש"
+ "message": "חודש תפוגה"
},
"expirationYear": {
- "message": "תוקף אשראי - שנה"
+ "message": "שנת תפוגה"
},
"expiration": {
"message": "תוקף"
@@ -1690,7 +1787,7 @@
"message": "דוקטור"
},
"mx": {
- "message": "Mx"
+ "message": "מיקס"
},
"firstName": {
"message": "שם פרטי"
@@ -1711,13 +1808,13 @@
"message": "חברה"
},
"ssn": {
- "message": "מספר ביטוח לאומי"
+ "message": "מספר תעודת זהות"
},
"passportNumber": {
"message": "מספר דרכון"
},
"licenseNumber": {
- "message": "מספר רשיון"
+ "message": "מספר רישיון"
},
"email": {
"message": "אימייל"
@@ -1759,7 +1856,7 @@
"message": "פרטי התחברות"
},
"typeSecureNote": {
- "message": "פתק מאובטח"
+ "message": "הערה מאובטחת"
},
"typeCard": {
"message": "כרטיס"
@@ -1768,10 +1865,10 @@
"message": "זהות"
},
"typeSshKey": {
- "message": "SSH key"
+ "message": "מפתח SSH"
},
"newItemHeader": {
- "message": "New $TYPE$",
+ "message": "$TYPE$ חדש",
"placeholders": {
"type": {
"content": "$1",
@@ -1780,7 +1877,7 @@
}
},
"editItemHeader": {
- "message": "Edit $TYPE$",
+ "message": "ערוך $TYPE$",
"placeholders": {
"type": {
"content": "$1",
@@ -1789,7 +1886,7 @@
}
},
"viewItemHeader": {
- "message": "View $TYPE$",
+ "message": "הצג $TYPE$",
"placeholders": {
"type": {
"content": "$1",
@@ -1801,13 +1898,13 @@
"message": "היסטוריית סיסמאות"
},
"generatorHistory": {
- "message": "Generator history"
+ "message": "היסטוריית מחולל"
},
"clearGeneratorHistoryTitle": {
- "message": "Clear generator history"
+ "message": "נקה היסטוריית מחולל"
},
"cleargGeneratorHistoryDescription": {
- "message": "If you continue, all entries will be permanently deleted from generator's history. Are you sure you want to continue?"
+ "message": "אם תמשיך, כל הרשומות יימחקו לצמיתות מהיסטוריית המחולל. האם אתה בטוח שברצונך להמשיך?"
},
"back": {
"message": "הקודם"
@@ -1816,7 +1913,7 @@
"message": "אוספים"
},
"nCollections": {
- "message": "$COUNT$ collections",
+ "message": "$COUNT$ אוספים",
"placeholders": {
"count": {
"content": "$1",
@@ -1843,10 +1940,10 @@
"message": "פרטי התחברות"
},
"secureNotes": {
- "message": "פתקים מאובטחים"
+ "message": "הערות מאובטחות"
},
"sshKeys": {
- "message": "SSH Keys"
+ "message": "מפתחות SSH"
},
"clear": {
"message": "נקה",
@@ -1872,11 +1969,11 @@
"description": "Domain name. Ex. website.com"
},
"baseDomainOptionRecommended": {
- "message": "Base domain (recommended)",
+ "message": "בסיס דומיין (מומלץ)",
"description": "Domain name. Ex. website.com"
},
"domainName": {
- "message": "שם תחום",
+ "message": "שם דומיין",
"description": "Domain name. Ex. website.com"
},
"host": {
@@ -1902,7 +1999,7 @@
"description": "Default URI match detection for autofill."
},
"toggleOptions": {
- "message": "הצגה\\הסתרה של אפשרויות"
+ "message": "החלף מצב אפשרויות"
},
"toggleCurrentUris": {
"message": "שנה מצב הצגת כתובות URI",
@@ -1926,13 +2023,13 @@
"message": "אין סיסמאות להצגה ברשימה."
},
"clearHistory": {
- "message": "Clear history"
+ "message": "נקה היסטוריה"
},
"nothingToShow": {
- "message": "Nothing to show"
+ "message": "אין מה להראות"
},
"nothingGeneratedRecently": {
- "message": "You haven't generated anything recently"
+ "message": "לא יצרת שום דבר לאחרונה"
},
"remove": {
"message": "הסר"
@@ -1945,7 +2042,7 @@
"description": "ex. Date this item was updated"
},
"dateCreated": {
- "message": "Created",
+ "message": "נוצר",
"description": "ex. Date this item was created"
},
"datePasswordUpdated": {
@@ -1993,16 +2090,16 @@
"message": "בטל נעילה עם קוד PIN"
},
"setYourPinTitle": {
- "message": "Set PIN"
+ "message": "הגדר PIN"
},
"setYourPinButton": {
- "message": "Set PIN"
+ "message": "הגדר PIN"
},
"setYourPinCode": {
"message": "קבע קוד PIN לביטול נעילת Bitwarden. הגדרות הPIN יאופסו אם תבצע יציאה מהתוכנה."
},
"setYourPinCode1": {
- "message": "Your PIN will be used to unlock Bitwarden instead of your master password. Your PIN will reset if you ever fully log out of Bitwarden."
+ "message": "ה־PIN שלך ישמש לביטול נעילת Bitwarden במקום הסיסמה הראשית שלך. ה־PIN שלך יאופס אם אי פעם תצא באופן מלא מ־Bitwarden."
},
"pinRequired": {
"message": "נדרש קוד PIN."
@@ -2011,25 +2108,25 @@
"message": "קוד PIN לא תקין."
},
"tooManyInvalidPinEntryAttemptsLoggingOut": {
- "message": "Too many invalid PIN entry attempts. Logging out."
+ "message": "יותר מדי ניסיונות פסולים להזנת PIN. יוצא."
},
"unlockWithBiometrics": {
"message": "פתח נעילה עם זיהוי ביומטרי"
},
"unlockWithMasterPassword": {
- "message": "Unlock with master password"
+ "message": "בטל נעילה עם סיסמה ראשית"
},
"awaitDesktop": {
"message": "ממתין לאישור משולחן העבודה"
},
"awaitDesktopDesc": {
- "message": "אנא אשר בעזרת אמצעים ביומטרים באפליקציית Bitwarden של שולחן העבודה בכדי לאפשר אמצעים ביומטריים בדפדפן."
+ "message": "אנא אשר באמצעות זיהוי ביומטרי ביישום שולחן העבודה של Bitwarden בכדי להגדיר זיהוי ביומטרי עבור דפדפן."
},
"lockWithMasterPassOnRestart": {
"message": "נעל בעזרת הסיסמה הראשית בהפעלת הדפדפן מחדש"
},
"lockWithMasterPassOnRestart1": {
- "message": "Require master password on browser restart"
+ "message": "דרוש סיסמה ראשית בעת הפעלה מחדש של הדפדפן"
},
"selectOneCollection": {
"message": "עליך לבחור לפחות אוסף אחד."
@@ -2041,33 +2138,48 @@
"message": "שכפול"
},
"passwordGenerator": {
- "message": "Password generator"
+ "message": "מחולל הסיסמאות"
},
"usernameGenerator": {
- "message": "Username generator"
+ "message": "מחולל שם משתמש"
+ },
+ "useThisEmail": {
+ "message": "השתמש בדוא\"ל זה"
},
"useThisPassword": {
- "message": "Use this password"
+ "message": "השתמש בסיסמה זו"
},
"useThisUsername": {
- "message": "Use this username"
+ "message": "השתמש בשם משתמש זה"
},
"securePasswordGenerated": {
- "message": "Secure password generated! Don't forget to also update your password on the website."
+ "message": "סיסמה מאובטחת נוצרה! אל תשכח גם לעדכן את הסיסמה שלך באתר האינטרנט."
},
"useGeneratorHelpTextPartOne": {
- "message": "Use the generator",
+ "message": "השתמש במחולל",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
"useGeneratorHelpTextPartTwo": {
- "message": "to create a strong unique password",
+ "message": "כדי ליצור סיסמה חזקה וייחודית",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "התאמה אישית של הכספת"
+ },
"vaultTimeoutAction": {
- "message": "פעולה לביצוע בכספת בתום זמן החיבור"
+ "message": "פעולת פסק זמן לכספת"
},
"vaultTimeoutAction1": {
- "message": "Timeout action"
+ "message": "פעולת פסק זמן"
+ },
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "אפשרויות התאמה אישית חדשות"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "התאם אישית את חווית הכספת שלך עם פעולות העתקה מהירות, מצב קומפקטי, ועוד!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "הצג את כל הגדרות המראה"
},
"lock": {
"message": "נעילה",
@@ -2081,52 +2193,52 @@
"message": "חפש בסל המחזור"
},
"permanentlyDeleteItem": {
- "message": "מחק לצמיתות פריט שנבחר"
+ "message": "מחק פריט לצמיתות"
},
"permanentlyDeleteItemConfirmation": {
"message": "האם אתה בטוח שברצונך למחוק את הפריט הזה?"
},
"permanentlyDeletedItem": {
- "message": "פריט שנמחק לצמיתות"
+ "message": "הפריט נמחק לצמיתות"
},
"restoreItem": {
"message": "שחזר פריט"
},
"restoredItem": {
- "message": "פריט ששוחזר"
+ "message": "הפריט שוחזר"
},
"alreadyHaveAccount": {
- "message": "Already have an account?"
+ "message": "כבר יש לך חשבון?"
},
"vaultTimeoutLogOutConfirmation": {
"message": "יציאה מהחשבון תסיר את כל הגישה לכספת ויידרש אימות מקוון לאחר משך הזמן שהוקצב. האם אתה בטוח שברצונך להשתמש בהגדרה זו?"
},
"vaultTimeoutLogOutConfirmationTitle": {
- "message": "אישור פעולת אימות לאחר חוסר פעילות"
+ "message": "אישור פעולת פסק זמן"
},
"autoFillAndSave": {
- "message": "בצע השלמה אוטומטית ושמור"
+ "message": "מלא אוטומטית ושמור"
},
"fillAndSave": {
- "message": "Fill and save"
+ "message": "מלא ושמור"
},
"autoFillSuccessAndSavedUri": {
- "message": "בוצעה השלמה אוטומטית והכתובת נשמרה"
+ "message": "הפריט מולא אוטומטית וה־URI נשמר"
},
"autoFillSuccess": {
- "message": "בוצעה השלמה אוטומטית"
+ "message": "הפריט מולא אוטומטית "
},
"insecurePageWarning": {
- "message": "Warning: This is an unsecured HTTP page, and any information you submit can potentially be seen and changed by others. This Login was originally saved on a secure (HTTPS) page."
+ "message": "אזהרה: זהו עמוד HTTP לא מאובטח, וכל מידע שאתה שולח יכול באופן פוטנציאלי להיראות ולהשתנות על ידי אחרים. הכניסה הזאת נשמרה במקור בעמוד מאובטח (HTTPS)."
},
"insecurePageWarningFillPrompt": {
- "message": "Do you still wish to fill this login?"
+ "message": "האם עדיין ברצונך להשלים כניסה זו?"
},
"autofillIframeWarning": {
- "message": "The form is hosted by a different domain than the URI of your saved login. Choose OK to autofill anyway, or Cancel to stop."
+ "message": "הטופס מאורח על ידי דומיין שונה מה־URI של הכניסה השמורה שלך. בחר \"בסדר\" כדי למלא אוטומטית בכל זאת, או \"ביטול\" כדי לעצור."
},
"autofillIframeWarningTip": {
- "message": "To prevent this warning in the future, save this URI, $HOSTNAME$, to your Bitwarden login item for this site.",
+ "message": "כדי למנוע אזהרה זו בעתיד, שמור את URI זה, $HOSTNAME$, בפריט כניסת Bitwarden שלך עבור אתר זה.",
"placeholders": {
"hostname": {
"content": "$1",
@@ -2138,13 +2250,13 @@
"message": "הגדר סיסמה ראשית"
},
"currentMasterPass": {
- "message": "Current master password"
+ "message": "סיסמה ראשית נוכחית"
},
"newMasterPass": {
- "message": "New master password"
+ "message": "סיסמה ראשית חדשה"
},
"confirmNewMasterPass": {
- "message": "Confirm new master password"
+ "message": "אמת סיסמה ראשית חדשה"
},
"masterPasswordPolicyInEffect": {
"message": "אחד או יותר מאילוצי המדיניות של הארגון דורשים שהסיסמה הראשית שלך תעמוד בדרישות הבאות:"
@@ -2189,25 +2301,25 @@
"message": "הסיסמה הראשית החדשה השלך לא עומדת בדרישות המדיניות."
},
"receiveMarketingEmailsV2": {
- "message": "Get advice, announcements, and research opportunities from Bitwarden in your inbox."
+ "message": "קבל עצות, הכרזות, והזדמנויות מחקר מאת Bitwarden בדואר הנכנס שלך."
},
"unsubscribe": {
- "message": "Unsubscribe"
+ "message": "בטל הרשמה"
},
"atAnyTime": {
- "message": "at any time."
+ "message": "בכל זמן."
},
"byContinuingYouAgreeToThe": {
- "message": "By continuing, you agree to the"
+ "message": "על ידי המשך, אתה מסכים ל"
},
"and": {
- "message": "and"
+ "message": "ו"
},
"acceptPolicies": {
"message": "סימון תיבה זו מהווה את הסכמתך לתנאים הבאים:"
},
"acceptPoliciesRequired": {
- "message": "Terms of Service and Privacy Policy have not been acknowledged."
+ "message": "תנאי השימוש ומדיניות הפרטיות לא הוכרו."
},
"termsOfService": {
"message": "תנאי השירות"
@@ -2222,10 +2334,10 @@
"message": "אישור"
},
"errorRefreshingAccessToken": {
- "message": "Access Token Refresh Error"
+ "message": "שגיאת רענון אסימון גישה"
},
"errorRefreshingAccessTokenDesc": {
- "message": "No refresh token or API keys found. Please try logging out and logging back in."
+ "message": "לא נמצאו אסימון רענון או מפתחות API. נא לנסות לצאת ולהיכנס חזרה."
},
"desktopSyncVerificationTitle": {
"message": "אימות סנכרון מול שולחן העבודה"
@@ -2234,19 +2346,19 @@
"message": "אנא ודא כי אפליקציית שולחן העבודה שלך מציגה את טביעת האצבע הזו: "
},
"desktopIntegrationDisabledTitle": {
- "message": "אינטגרציית הדפדפן לא מופעלת"
+ "message": "שילוב הדפדפן אינו מוגדר"
},
"desktopIntegrationDisabledDesc": {
- "message": "אינטגרציית הדפדפן לא מופעלת באפליקציית Bitwarden בשולחן העבודה. אנא אפשר זאת בהגדרות האפליקציה."
+ "message": "שילוב הדפדפן אינו מוגדר ביישום שולחן העבודה של Bitwarden. אנא הגדר אותו בהגדרות שבתוך יישום שולחן העבודה."
},
"startDesktopTitle": {
- "message": "הפעל את אפליקציית Bitwarden בשולחן העבודה"
+ "message": "הפעל את יישום שולחן העבודה של Bitwarden"
},
"startDesktopDesc": {
- "message": "יש להפעיל את אפליקציית Bitwarden בשולחן העבודה בכדי להשתמש בפונקציה זו."
+ "message": "יישום שולחן העבודה של Bitwarden צריך להיות מופעל לפני שניתן לבטל נעילה עם זיהוי ביומטרי."
},
"errorEnableBiometricTitle": {
- "message": "לא ניתן להפעיל זיהוי ביומטרי"
+ "message": "לא ניתן להגדיר זיהוי ביומטרי"
},
"errorEnableBiometricDesc": {
"message": "הפעולה בוטלה על ידי אפליקציית שולחן העבודה"
@@ -2264,16 +2376,16 @@
"message": "חוסר התאמה בין חשבונות"
},
"nativeMessagingWrongUserKeyTitle": {
- "message": "Biometric key missmatch"
+ "message": "אי־התאמה של מפתח זיהוי ביומטרי"
},
"nativeMessagingWrongUserKeyDesc": {
- "message": "Biometric unlock failed. The biometric secret key failed to unlock the vault. Please try to set up biometrics again."
+ "message": "ביטול נעילה ביומטרי נכשל. מפתח הסוד הביומטרי נכשל בביטול נעילת הכספת. נא לנסות להגדיר זיהוי ביומטרי שוב."
},
"biometricsNotEnabledTitle": {
- "message": "אמצעי זיהוי ביומטרים לא מאופשרים"
+ "message": "זיהוי ביומטרי אינו מוגדר"
},
"biometricsNotEnabledDesc": {
- "message": "בכדי להשתמש באמצעים ביומטרים בדפדפן יש לאפשר תכונה זו באפליקציה בשולחן העבודה."
+ "message": "זיהוי ביומטרי בדפדפן דורש שזיהוי ביומטרי בשולחן העבודה יהיה מוגדר בהגדרות קודם."
},
"biometricsNotSupportedTitle": {
"message": "אמצעי זיהוי ביומטרים לא נתמכים"
@@ -2282,22 +2394,22 @@
"message": "מכשיר זה לא תומך בזיהוי ביומטרי בדפדפן."
},
"biometricsNotUnlockedTitle": {
- "message": "User locked or logged out"
+ "message": "המשתמש נעל או יצא"
},
"biometricsNotUnlockedDesc": {
- "message": "Please unlock this user in the desktop application and try again."
+ "message": "נא לבטל נעילת משתמש זה ביישום שולחן העבודה ולנסות שוב."
},
"biometricsNotAvailableTitle": {
- "message": "Biometric unlock unavailable"
+ "message": "ביטול נעילה ביומטרי לא זמין"
},
"biometricsNotAvailableDesc": {
- "message": "Biometric unlock is currently unavailable. Please try again later."
+ "message": "ביטול נעילה ביומטרי לא זמין כרגע. נא לנסות שוב מאוחר יותר."
},
"biometricsFailedTitle": {
- "message": "Biometrics failed"
+ "message": "זיהוי ביומטרי נכשל"
},
"biometricsFailedDesc": {
- "message": "Biometrics cannot be completed, consider using a master password or logging out. If this persists, please contact Bitwarden support."
+ "message": "לא ניתן להשלים זיהוי ביומטרי, שקול להשתמש במפתח ראשי או לצאת. אם הדבר נמשך, אנא צור קשר עם תמיכת Bitwarden."
},
"nativeMessaginPermissionErrorTitle": {
"message": "הרשאה לא סופקה"
@@ -2306,35 +2418,153 @@
"message": "ללא הרשאות לתקשר עם אפליקציית שולחן העבודה אין באפשרותנו לספק תמיכה באמצעים ביומטריים בדפדפן. אנא נסה שוב."
},
"nativeMessaginPermissionSidebarTitle": {
- "message": "Permission request error"
+ "message": "שגיאת בקשת הרשאה"
},
"nativeMessaginPermissionSidebarDesc": {
- "message": "This action cannot be done in the sidebar, please retry the action in the popup or popout."
+ "message": "לא ניתן לבצע את הפעולה בסרגל הצד, נא לנסות שוב את הפעולה בחלון הצץ או המוקפץ."
},
"personalOwnershipSubmitError": {
- "message": "מדיניות הארגון מונעת ממך לשמור פריטים בכספת האישית. שנה את אפשרות הבעלות לארגוניות ובחר מתוך האוספים הזמינים."
+ "message": "בשל מדיניות ארגונית, אתה מוגבל מלשמור פריטים לכספת האישית שלך. שנה את אפשרות הבעלות לארגון ובחר מאוספים זמינים."
},
"personalOwnershipPolicyInEffect": {
"message": "מדיניות ארגונית משפיעה על אפשרויות הבעלות שלך."
},
"personalOwnershipPolicyInEffectImports": {
- "message": "An organization policy has blocked importing items into your individual vault."
+ "message": "מדיניות ארגון חסמה ייבוא פריטים אל תוך הכספת האישית שלך."
},
"domainsTitle": {
- "message": "Domains",
+ "message": "דומיינים",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "דומיינים חסומים"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "למד עוד על דומיינים חסומים"
+ },
"excludedDomains": {
- "message": "Excluded domains"
+ "message": "דומיינים מוחרגים"
},
"excludedDomainsDesc": {
- "message": "Bitwarden will not ask to save login details for these domains. You must refresh the page for changes to take effect."
+ "message": "Bitwarden לא יבקש לשמור פרטי כניסה עבור הדומיינים האלה. אתה מוכרח לרענן את העמוד כדי שהשינויים ייכנסו לתוקף."
},
"excludedDomainsDescAlt": {
- "message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
+ "message": "Bitwarden לא יבקש לשמור פרטי כניסה עבור הדומיינים האלה עבור כל החשבונות המחוברים. אתה מוכרח לרענן את העמוד כדי שהשינויים ייכנסו לתוקף."
+ },
+ "blockedDomainsDesc": {
+ "message": "לא יוצעו מילוי אוטומטי ותכונות קשורות אחרות עבור האתרים האלה. אתה מוכרח לרענן את העמוד כדי שהשינויים ייכנסו לתוקף."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "מילוי אוטומטי חסום עבור אתר זה."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "שנה זאת בהגדרות"
+ },
+ "change": {
+ "message": "שינוי"
+ },
+ "changeButtonTitle": {
+ "message": "שנה סיסמה - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "סיסמאות בסיכון"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ מבקש/ת ממך לשנות סיסמה אחת בגלל שהיא בסיכון.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ מבקש/ת ממך לשנות $COUNT$ סיסמאות בגלל שהן בסיכון.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "הארגונים שלך מבקשים שתשנה $COUNT$ סיסמאות בגלל שהן בסיכון.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "סקור ושנה סיסמה אחת בסיכון"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "סקור ושנה $COUNT$ סיסמאות בסיכון",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "שנה סיסמאות בסיכון מהר יותר"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "עדכן את ההגדרות שלך כך שתוכל למלא במהירות את הסיסמאות שלך וליצור חדשות"
+ },
+ "reviewAtRiskLogins": {
+ "message": "סקור כניסות בסיכון"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "סקור סיסמאות בסיכון"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "סיסמאות הארגון שלך הן בסכנה בגלל שהן חלשות, משומשות, ו/או חשופות.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "איור של רשימת כניסות בסיכון"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "צור במהירות סיסמה חזקה וייחודית עם תפריט המילוי האוטומטי של Bitwarden באתר שבסיכון.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "איור של תפריט המילוי האוטומטי של Bitwarden המציג סיסמה שנוצרה"
+ },
+ "updateInBitwarden": {
+ "message": "עדכן ב־Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden אז ינחה אותך לעדכן את הסיסמה במנהל הסיסמאות.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "איור של התראת Bitwarden המנחה את המשתמש לעדכן את הכניסה"
+ },
+ "turnOnAutofill": {
+ "message": "הפעל מילוי אוטומטי"
+ },
+ "turnedOnAutofill": {
+ "message": "מילוי אוטומטי הופעל"
+ },
+ "dismiss": {
+ "message": "התעלם"
},
"websiteItemLabel": {
- "message": "Website $number$ (URI)",
+ "message": "אתר אינטרנט $number$ (URI)",
"placeholders": {
"number": {
"content": "$1",
@@ -2343,7 +2573,7 @@
}
},
"excludedDomainsInvalidDomain": {
- "message": "$DOMAIN$ is not a valid domain",
+ "message": "$DOMAIN$ אינו דומיין חוקי",
"placeholders": {
"domain": {
"content": "$1",
@@ -2351,18 +2581,21 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "שינויי דומיין חסום נשמרו"
+ },
"excludedDomainsSavedSuccess": {
- "message": "Excluded domain changes saved"
+ "message": "שינויי דומיין מוחרג נשמרו"
},
"limitSendViews": {
- "message": "Limit views"
+ "message": "הגבל צפיות"
},
"limitSendViewsHint": {
- "message": "No one can view this Send after the limit is reached.",
+ "message": "אף אחד לא יכול לצפות בסֵנְד זה לאחר ההגעה למגבלה.",
"description": "Displayed under the limit views field on Send"
},
"limitSendViewsCount": {
- "message": "$ACCESSCOUNT$ views left",
+ "message": "$ACCESSCOUNT$ צפיות נותרו",
"description": "Displayed under the limit views field on Send",
"placeholders": {
"accessCount": {
@@ -2372,93 +2605,93 @@
}
},
"send": {
- "message": "Send",
+ "message": "סֵנְד",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendDetails": {
- "message": "Send details",
+ "message": "פרטי סֵנְד",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendTypeText": {
- "message": "Text"
+ "message": "טקסט"
},
"sendTypeTextToShare": {
- "message": "Text to share"
+ "message": "טקסט לשיתוף"
},
"sendTypeFile": {
- "message": "File"
+ "message": "קובץ"
},
"allSends": {
- "message": "All Sends",
+ "message": "כל הסֵנְדים",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"hideTextByDefault": {
- "message": "Hide text by default"
+ "message": "הסתר טקסט כברירת מחדל"
},
"expired": {
- "message": "Expired"
+ "message": "פג תוקף"
},
"passwordProtected": {
- "message": "Password protected"
+ "message": "מוגן סיסמה"
},
"copyLink": {
- "message": "Copy link"
+ "message": "העתק קישור"
},
"copySendLink": {
- "message": "Copy Send link",
+ "message": "העתק קישור סֵנְד",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"removePassword": {
- "message": "Remove Password"
+ "message": "הסר סיסמה"
},
"delete": {
- "message": "Delete"
+ "message": "מחק"
},
"removedPassword": {
- "message": "Password removed"
+ "message": "הסיסמה הוסרה"
},
"deletedSend": {
- "message": "Send deleted",
+ "message": "סֵנְד נמחק",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendLink": {
- "message": "Send link",
+ "message": "קישור סֵנְד",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"disabled": {
- "message": "Disabled"
+ "message": "מושבת"
},
"removePasswordConfirmation": {
- "message": "Are you sure you want to remove the password?"
+ "message": "האם אתה בטוח שברצונך להסיר את הסיסמה?"
},
"deleteSend": {
- "message": "Delete Send",
+ "message": "מחק סֵנְד",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"deleteSendConfirmation": {
- "message": "Are you sure you want to delete this Send?",
+ "message": "האם אתה בטוח שברצונך למחוק סֵנְד זה?",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"deleteSendPermanentConfirmation": {
- "message": "Are you sure you want to permanently delete this Send?",
+ "message": "האם אתה בטוח שברצונך למחוק לצמיתות סֵנְד זה?",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"editSend": {
- "message": "Edit Send",
+ "message": "ערוך סֵנְד",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"deletionDate": {
"message": "תאריך מחיקה"
},
"deletionDateDescV2": {
- "message": "The Send will be permanently deleted on this date.",
+ "message": "סֵנְד זה יימחק לצמיתות בתאריך זה.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"expirationDate": {
"message": "תאריך תפוגה"
},
"oneDay": {
- "message": "יום אחד"
+ "message": "יום 1"
},
"days": {
"message": "$DAYS$ ימים",
@@ -2473,38 +2706,38 @@
"message": "מותאם אישית"
},
"sendPasswordDescV3": {
- "message": "Add an optional password for recipients to access this Send.",
+ "message": "הוסף סיסמה אופציונלית עבור נמענים כדי לגשת לסֵנְד זה.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"createSend": {
- "message": "New Send",
+ "message": "סֵנְד חדש",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"newPassword": {
- "message": "New password"
+ "message": "סיסמה חדשה"
},
"sendDisabled": {
- "message": "Send removed",
+ "message": "סֵנְד הוסר",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendDisabledWarning": {
- "message": "Due to an enterprise policy, you are only able to delete an existing Send.",
+ "message": "בשל מדיניות ארגונית, אתה יכול למחוק רק סֵנְד קיים.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"createdSend": {
- "message": "Send created",
+ "message": "סֵנְד נוצר",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"createdSendSuccessfully": {
- "message": "Send created successfully!",
+ "message": "סֵנְד נוצר בהצלחה!",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendExpiresInHoursSingle": {
- "message": "The Send will be available to anyone with the link for the next 1 hour.",
+ "message": "הסֵנְד יהיה זמין לכל אחד עם הקישור במשך השעה הבאה.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendExpiresInHours": {
- "message": "The Send will be available to anyone with the link for the next $HOURS$ hours.",
+ "message": "הסֵנְד יהיה זמין לכל אחד עם הקישור במשך $HOURS$ השעות הבאות.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
"placeholders": {
"hours": {
@@ -2514,11 +2747,11 @@
}
},
"sendExpiresInDaysSingle": {
- "message": "The Send will be available to anyone with the link for the next 1 day.",
+ "message": "הסֵנְד יהיה זמין לכל אחד עם הקישור במשך היום הבא.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendExpiresInDays": {
- "message": "The Send will be available to anyone with the link for the next $DAYS$ days.",
+ "message": "הסֵנְד יהיה זמין לכל אחד עם הקישור במשך $DAYS$ הימים הבאים.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
"placeholders": {
"days": {
@@ -2528,98 +2761,98 @@
}
},
"sendLinkCopied": {
- "message": "Send link copied",
+ "message": "קישור סֵנְד הועתק",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"editedSend": {
- "message": "Send saved",
+ "message": "סֵנְד נשמר",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendFilePopoutDialogText": {
- "message": "Pop out extension?",
+ "message": "להקפיץ הרחבה?",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendFilePopoutDialogDesc": {
- "message": "To create a file Send, you need to pop out the extension to a new window.",
+ "message": "כדי ליצור קובץ סֵנְד, אתה צריך להקפיץ את ההרחבה לחלון חדש.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendLinuxChromiumFileWarning": {
- "message": "In order to choose a file, open the extension in the sidebar (if possible) or pop out to a new window by clicking this banner."
+ "message": "כדי לבחור קובץ, פתח את ההרחבה בסרגל הצד (אם ניתן) או הקפץ לחלון חדש על ידי לחיצת באנר זה."
},
"sendFirefoxFileWarning": {
- "message": "In order to choose a file using Firefox, open the extension in the sidebar or pop out to a new window by clicking this banner."
+ "message": "כדי לבחור קובץ באמצעות Firefox, פתח את ההרחבה בסרגל הצד או הקפץ לחלון חדש על ידי לחיצת באנר זה."
},
"sendSafariFileWarning": {
- "message": "In order to choose a file using Safari, pop out to a new window by clicking this banner."
+ "message": "כדי לבחור קובץ באמצעות Safari, הקפץ לחלון חדש על ידי לחיצת באנר זה."
},
"popOut": {
- "message": "Pop out"
+ "message": "הקפץ"
},
"sendFileCalloutHeader": {
- "message": "Before you start"
+ "message": "לפני שאתה מתחיל"
},
"expirationDateIsInvalid": {
- "message": "The expiration date provided is not valid."
+ "message": "תאריך התפוגה שסופק אינו חוקי."
},
"deletionDateIsInvalid": {
- "message": "The deletion date provided is not valid."
+ "message": "תאריך המחיקה שסופק אינו חוקי."
},
"expirationDateAndTimeRequired": {
- "message": "An expiration date and time are required."
+ "message": "נדרשים תאריך וזמן תפוגה."
},
"deletionDateAndTimeRequired": {
- "message": "A deletion date and time are required."
+ "message": "נדרשים תאריך וזמן מחיקה."
},
"dateParsingError": {
- "message": "There was an error saving your deletion and expiration dates."
+ "message": "הייתה שגיאה בשמירת תאריכי המחיקה והתפוגה שלך."
},
"hideYourEmail": {
- "message": "Hide your email address from viewers."
+ "message": "הסתר את כתובת הדוא\"ל שלך מצופים."
},
"passwordPrompt": {
- "message": "Master password re-prompt"
+ "message": "בקשה חוזרת של סיסמה ראשית"
},
"passwordConfirmation": {
- "message": "Master password confirmation"
+ "message": "אישור סיסמה ראשית"
},
"passwordConfirmationDesc": {
- "message": "This action is protected. To continue, please re-enter your master password to verify your identity."
+ "message": "פעולה זו מוגנת. כדי להמשיך, נא להזין שוב את הסיסמה הראשית שלך כדי לאמת את זהותך."
},
"emailVerificationRequired": {
- "message": "Email verification required"
+ "message": "נדרש אימות דוא\"ל"
},
"emailVerifiedV2": {
- "message": "Email verified"
+ "message": "דוא\"ל אומת"
},
"emailVerificationRequiredDesc": {
- "message": "You must verify your email to use this feature. You can verify your email in the web vault."
+ "message": "עליך לאמת את הדוא\"ל שלך כדי להשתמש בתכונה זו. ניתן לאמת את הדוא\"ל שלך בכספת הרשת."
},
"updatedMasterPassword": {
- "message": "Updated master password"
+ "message": "סיסמה ראשית עודכנה"
},
"updateMasterPassword": {
- "message": "Update master password"
+ "message": "עדכן סיסמה ראשית"
},
"updateMasterPasswordWarning": {
- "message": "Your master password was recently changed by an administrator in your organization. In order to access the vault, you must update it now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour."
+ "message": "הסיסמה הראשית שלך שונתה לאחרונה על ידי מנהל הארגון שלך. כדי לגשת לכספת, עליך לעדכן אותה כעת. המשך התהליך יוציא אותך מההפעלה הנוכחית שלך, מה שידרוש ממך להיכנס חזרה. הפעלות פעילות במכשירים אחרים עלולות להישאר פעילות למשך עד שעה אחת."
},
"updateWeakMasterPasswordWarning": {
- "message": "Your master password does not meet one or more of your organization policies. In order to access the vault, you must update your master password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour."
+ "message": "הסיסמה הראשית שלך אינה עומדת באחת או יותר מפוליסות הארגון שלך. כדי לגשת לכספת, אתה מוכרח לעדכן את הסיסמה הראשית שלך עכשיו. בהמשך תנותק מההפעלה הנוכחית שלך, מה שידרוש ממך להיכנס חזרה. הפעלות פעילות במכשירים אחרים עלולות להישאר פעילות למשך עד שעה אחת."
},
"tdeDisabledMasterPasswordRequired": {
- "message": "Your organization has disabled trusted device encryption. Please set a master password to access your vault."
+ "message": "הארגון שלך השבית הצפנת מכשיר מהימן. נא להגדיר סיסמה ראשית כדי לגשת לכספת שלך."
},
"resetPasswordPolicyAutoEnroll": {
- "message": "Automatic enrollment"
+ "message": "רישום אוטומטי"
},
"resetPasswordAutoEnrollInviteWarning": {
- "message": "This organization has an enterprise policy that will automatically enroll you in password reset. Enrollment will allow organization administrators to change your master password."
+ "message": "לארגון זה יש מדיניות ארגונית שתרשום אותך באופן אוטומטי לאיפוס סיסמה. הרישום יאפשר למנהלי הארגון לשנות את הסיסמה הראשית שלך."
},
"selectFolder": {
- "message": "Select folder..."
+ "message": "בחר תיקייה..."
},
"noFoldersFound": {
- "message": "No folders found",
+ "message": "לא נמצאו תיקיות",
"description": "Used as a message within the notification bar when no folders are found"
},
"orgPermissionsUpdatedMustSetPassword": {
@@ -2631,7 +2864,7 @@
"description": "Used as a card title description on the set password page to explain why the user is there"
},
"cardMetrics": {
- "message": "out of $TOTAL$",
+ "message": "מתוך $TOTAL$",
"placeholders": {
"total": {
"content": "$1",
@@ -2640,20 +2873,20 @@
}
},
"verificationRequired": {
- "message": "Verification required",
+ "message": "נדרש אימות",
"description": "Default title for the user verification dialog."
},
"hours": {
- "message": "Hours"
+ "message": "שעות"
},
"minutes": {
- "message": "Minutes"
+ "message": "דקות"
},
"vaultTimeoutPolicyAffectingOptions": {
- "message": "Enterprise policy requirements have been applied to your timeout options"
+ "message": "דרישות מדיניות ארגונית הוחלו על אפשרויות פסק הזמן שלך"
},
"vaultTimeoutPolicyInEffect": {
- "message": "Your organization policies have set your maximum allowed vault timeout to $HOURS$ hour(s) and $MINUTES$ minute(s).",
+ "message": "פוליסות הארגון שלך הגדירו את פסק הזמן לכספת המרבי שלך ל־$HOURS$ שעות ו־$MINUTES$ דקות.",
"placeholders": {
"hours": {
"content": "$1",
@@ -2666,7 +2899,7 @@
}
},
"vaultTimeoutPolicyInEffect1": {
- "message": "$HOURS$ hour(s) and $MINUTES$ minute(s) maximum.",
+ "message": "$HOURS$ שעות ו־$MINUTES$ דקות לכל היותר.",
"placeholders": {
"hours": {
"content": "$1",
@@ -2679,7 +2912,7 @@
}
},
"vaultTimeoutPolicyMaximumError": {
- "message": "Timeout exceeds the restriction set by your organization: $HOURS$ hour(s) and $MINUTES$ minute(s) maximum",
+ "message": "פסק זמן חורג את ההגבלה שהוגדרה על ידי הארגון שלך: $HOURS$ שעות ו־$MINUTES$ דקות לכל היותר",
"placeholders": {
"hours": {
"content": "$1",
@@ -2692,7 +2925,7 @@
}
},
"vaultTimeoutPolicyWithActionInEffect": {
- "message": "Your organization policies are affecting your vault timeout. Maximum allowed vault timeout is $HOURS$ hour(s) and $MINUTES$ minute(s). Your vault timeout action is set to $ACTION$.",
+ "message": "פוליסות הארגון שלך משפיעות על פסק הזמן לכספת שלך. פסק זמן מרבי המותר הוא $HOURS$ שעות ו־$MINUTES$ דקות. פעולת פסק הזמן לכספת שלך מוגדרת ל$ACTION$.",
"placeholders": {
"hours": {
"content": "$1",
@@ -2709,7 +2942,7 @@
}
},
"vaultTimeoutActionPolicyInEffect": {
- "message": "Your organization policies have set your vault timeout action to $ACTION$.",
+ "message": "פוליסות הארגון שלך הגדירו את פעולת פסק הזמן לכספת שלך ל$ACTION$.",
"placeholders": {
"action": {
"content": "$1",
@@ -2718,22 +2951,22 @@
}
},
"vaultTimeoutTooLarge": {
- "message": "הזמן הקצוב לכספת שלך חורג מהמגבלות שנקבעו על ידי הארגון שלך."
+ "message": "פסק הזמן לכספת שלך חורג מהמגבלות שנקבעו על ידי הארגון שלך."
},
"vaultExportDisabled": {
- "message": "Vault export unavailable"
+ "message": "ייצוא כספת לא זמין"
},
"personalVaultExportPolicyInEffect": {
- "message": "One or more organization policies prevents you from exporting your individual vault."
+ "message": "מדיניות ארגון אחת או יותר מונעת ממך מלייצא את הכספת האישית שלך."
},
"copyCustomFieldNameInvalidElement": {
- "message": "Unable to identify a valid form element. Try inspecting the HTML instead."
+ "message": "לא ניתן לזהות רכיב טופס חוקי. נסה לבדוק את ה־HTML במקום זאת."
},
"copyCustomFieldNameNotUnique": {
- "message": "No unique identifier found."
+ "message": "לא נמצא מזהה ייחודי."
},
"convertOrganizationEncryptionDesc": {
- "message": "$ORGANIZATION$ משתמשים ב־SSO עם שרת מפתחות באירוח עצמי. סיסמה ראשית לא נחוצה יותר לטובת כניסה לחברי הארגון.",
+ "message": "$ORGANIZATION$ משתמש/ת ב־SSO עם שרת מפתחות באירוח עצמי. סיסמה ראשית כבר לא נדרשת כדי להיכנס עבור חברים של ארגון זה.",
"placeholders": {
"organization": {
"content": "$1",
@@ -2742,31 +2975,31 @@
}
},
"leaveOrganization": {
- "message": "לעזוב את הארגון"
+ "message": "עזוב ארגון"
},
"removeMasterPassword": {
- "message": "הסרת סיסמה ראשית"
+ "message": "הסר סיסמה ראשית"
},
"removedMasterPassword": {
- "message": "הסיסמה הראשית הוסרה."
+ "message": "הסיסמה הראשית הוסרה"
},
"leaveOrganizationConfirmation": {
- "message": "לעזוב את הארגון?"
+ "message": "האם אתה בטוח שברצונך לעזוב את הארגון הזה?"
},
"leftOrganization": {
"message": "עזבת את הארגון."
},
"toggleCharacterCount": {
- "message": "החלפת מצב ספירת תווים"
+ "message": "החלף מצב מונה תווים"
},
"sessionTimeout": {
- "message": "Your session has timed out. Please go back and try logging in again."
+ "message": "זמן ההפעלה שלך תם. נא לחזור ולנסות להיכנס שוב."
},
"exportingPersonalVaultTitle": {
- "message": "הכספת האישית מיוצאת"
+ "message": "מייצא כספת אישית"
},
"exportingIndividualVaultDescription": {
- "message": "Only the individual vault items associated with $EMAIL$ will be exported. Organization vault items will not be included. Only vault item information will be exported and will not include associated attachments.",
+ "message": "רק פריטי הכספת האישית המשויכת עם $EMAIL$ ייוצאו. פריטי כספת ארגון לא יכללו. רק פרטי פריט כספת ייוצאו ולא יכללו צרופות משויכות.",
"placeholders": {
"email": {
"content": "$1",
@@ -2775,10 +3008,10 @@
}
},
"exportingOrganizationVaultTitle": {
- "message": "Exporting organization vault"
+ "message": "מייצא כספת ארגון"
},
"exportingOrganizationVaultDesc": {
- "message": "Only the organization vault associated with $ORGANIZATION$ will be exported. Items in individual vaults or other organizations will not be included.",
+ "message": "רק כספת הארגון המשויכת עם $ORGANIZATION$ תיוצא. פריטים בכספת אישית או ארגונים אחרים לא יכללו.",
"placeholders": {
"organization": {
"content": "$1",
@@ -2789,14 +3022,28 @@
"error": {
"message": "שגיאה"
},
+ "decryptionError": {
+ "message": "שגיאת פענוח"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden לא יכל לפענח את פריט(י) הכספת המפורט(ים) להלן."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "צור קשר עם הצלחת לקוחות",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "כדי למנוע אובדן נתונים נוסף.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
- "message": "Generate username"
+ "message": "צור שם משתמש"
},
"generateEmail": {
- "message": "Generate email"
+ "message": "צור דוא\"ל"
},
"spinboxBoundariesHint": {
- "message": "Value must be between $MIN$ and $MAX$.",
+ "message": "הערך חייב להיות בין $MIN$ ל־$MAX$.",
"description": "Explains spin box minimum and maximum values to the user",
"placeholders": {
"min": {
@@ -2810,7 +3057,7 @@
}
},
"passwordLengthRecommendationHint": {
- "message": " Use $RECOMMENDED$ characters or more to generate a strong password.",
+ "message": " השתמש ב־$RECOMMENDED$ תווים או יותר כדי ליצור סיסמה חזקה.",
"description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).",
"placeholders": {
"recommended": {
@@ -2820,7 +3067,7 @@
}
},
"passphraseNumWordsRecommendationHint": {
- "message": " Use $RECOMMENDED$ words or more to generate a strong passphrase.",
+ "message": " השתמש ב־$RECOMMENDED$ מילים או יותר כדי ליצור ביטוי סיסמה חזק.",
"description": "Appended to `spinboxBoundariesHint` to recommend a number of words to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).",
"placeholders": {
"recommended": {
@@ -2830,46 +3077,46 @@
}
},
"plusAddressedEmail": {
- "message": "Plus addressed email",
+ "message": "דוא\"ל ממוען בפלוס",
"description": "Username generator option that appends a random sub-address to the username. For example: address+subaddress@email.com"
},
"plusAddressedEmailDesc": {
- "message": "Use your email provider's sub-addressing capabilities."
+ "message": "השתמש ביכולות מיעון משנה של ספק הדוא\"ל שלך."
},
"catchallEmail": {
- "message": "Catch-all email"
+ "message": "דוא\"ל תופס־כל"
},
"catchallEmailDesc": {
- "message": "Use your domain's configured catch-all inbox."
+ "message": "השתמש בתיבת דואר תפוס־כל המוגדרת בדומיין שלך."
},
"random": {
- "message": "Random"
+ "message": "אקראי"
},
"randomWord": {
- "message": "Random word"
+ "message": "מילה אקראית"
},
"websiteName": {
- "message": "Website name"
+ "message": "שם אתר"
},
"service": {
- "message": "Service"
+ "message": "שירות"
},
"forwardedEmail": {
- "message": "כתובת דוא״ל להעברה"
+ "message": "כינוי דוא\"ל מועבר"
},
"forwardedEmailDesc": {
- "message": "יצירת כינוי דוא״ל עם שירות העברה חיצוני."
+ "message": "צור כינוי דוא\"ל עם שירות העברה חיצוני."
},
"forwarderDomainName": {
- "message": "Email domain",
+ "message": "דומיין דוא\"ל",
"description": "Labels the domain name email forwarder service option"
},
"forwarderDomainNameHint": {
- "message": "Choose a domain that is supported by the selected service",
+ "message": "בחר דומיין שנתמך על ידי השירות הנבחר",
"description": "Guidance provided for email forwarding services that support multiple email domains."
},
"forwarderError": {
- "message": "$SERVICENAME$ error: $ERRORMESSAGE$",
+ "message": "$SERVICENAME$ שגיאה: $ERRORMESSAGE$",
"description": "Reports an error returned by a forwarding service to the user.",
"placeholders": {
"servicename": {
@@ -2883,11 +3130,11 @@
}
},
"forwarderGeneratedBy": {
- "message": "Generated by Bitwarden.",
+ "message": "נוצר על ידי Bitwarden.",
"description": "Displayed with the address on the forwarding service's configuration screen."
},
"forwarderGeneratedByWithWebsite": {
- "message": "Website: $WEBSITE$. Generated by Bitwarden.",
+ "message": "אתר: $WEBSITE$. נוצר על ידי Bitwarden.",
"description": "Displayed with the address on the forwarding service's configuration screen.",
"placeholders": {
"WEBSITE": {
@@ -2897,7 +3144,7 @@
}
},
"forwaderInvalidToken": {
- "message": "Invalid $SERVICENAME$ API token",
+ "message": "אסימון API של $SERVICENAME$ לא חוקי",
"description": "Displayed when the user's API token is empty or rejected by the forwarding service.",
"placeholders": {
"servicename": {
@@ -2907,7 +3154,7 @@
}
},
"forwaderInvalidTokenWithMessage": {
- "message": "Invalid $SERVICENAME$ API token: $ERRORMESSAGE$",
+ "message": "אסימון API של $SERVICENAME$ לא חוקי: $ERRORMESSAGE$",
"description": "Displayed when the user's API token is rejected by the forwarding service with an error message.",
"placeholders": {
"servicename": {
@@ -2920,8 +3167,32 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ סירב לבקשה שלך. נא ליצור קשר עם נותן השירות שלך עבור סיוע.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ סירב לבקשה שלך: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
- "message": "Unable to obtain $SERVICENAME$ masked email account ID.",
+ "message": "לא ניתן להשיג מזהה חשבון דוא\"ל מסווה של $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
"placeholders": {
"servicename": {
@@ -2931,7 +3202,7 @@
}
},
"forwarderNoDomain": {
- "message": "Invalid $SERVICENAME$ domain.",
+ "message": "דומיין $SERVICENAME$ לא חוקי.",
"description": "Displayed when the domain is empty or domain authorization failed at the forwarding service.",
"placeholders": {
"servicename": {
@@ -2941,7 +3212,7 @@
}
},
"forwarderNoUrl": {
- "message": "Invalid $SERVICENAME$ url.",
+ "message": "כתובת url של $SERVICENAME$ לא חוקית.",
"description": "Displayed when the url of the forwarding service wasn't supplied.",
"placeholders": {
"servicename": {
@@ -2951,7 +3222,7 @@
}
},
"forwarderUnknownError": {
- "message": "Unknown $SERVICENAME$ error occurred.",
+ "message": "התרחשה שגיאת $SERVICENAME$ לא ידועה.",
"description": "Displayed when the forwarding service failed due to an unknown error.",
"placeholders": {
"servicename": {
@@ -2961,7 +3232,7 @@
}
},
"forwarderUnknownForwarder": {
- "message": "Unknown forwarder: '$SERVICENAME$'.",
+ "message": "משלח לא ידוע: '$SERVICENAME$'.",
"description": "Displayed when the forwarding service is not supported.",
"placeholders": {
"servicename": {
@@ -2975,25 +3246,25 @@
"description": "Part of a URL."
},
"apiAccessToken": {
- "message": "אסימון גישה ל־API"
+ "message": "אסימון גישת API"
},
"apiKey": {
"message": "מפתח API"
},
"ssoKeyConnectorError": {
- "message": "Key connector error: make sure key connector is available and working correctly."
+ "message": "שגיאת Key Connector: וודא שה־Key Connector זמין ופועל כראוי."
},
"premiumSubcriptionRequired": {
- "message": "Premium subscription required"
+ "message": "נדרש מנוי פרימיום"
},
"organizationIsDisabled": {
- "message": "Organization suspended."
+ "message": "ארגון מושעה."
},
"disabledOrganizationFilterError": {
- "message": "Items in suspended Organizations cannot be accessed. Contact your Organization owner for assistance."
+ "message": "לא ניתן לגשת לפריטים בארגון מושעה. פנה אל בעל הארגון שלך עבור סיוע."
},
"loggingInTo": {
- "message": "Logging in to $DOMAIN$",
+ "message": "נכנס אל $DOMAIN$",
"placeholders": {
"domain": {
"content": "$1",
@@ -3001,26 +3272,17 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
- "message": "Server version"
+ "message": "גרסת שרת"
},
"selfHostedServer": {
- "message": "self-hosted"
+ "message": "אירוח עצמי"
},
"thirdParty": {
- "message": "Third-party"
+ "message": "צד שלישי"
},
"thirdPartyServerMessage": {
- "message": "Connected to third-party server implementation, $SERVERNAME$. Please verify bugs using the official server, or report them to the third-party server.",
+ "message": "מחובר ליישום שרת צד שלישי, $SERVERNAME$. בבקשה אמת באגים בעזרת השרת הרשמי, או דווח אותם לשרת הצד שלישי.",
"placeholders": {
"servername": {
"content": "$1",
@@ -3029,7 +3291,7 @@
}
},
"lastSeenOn": {
- "message": "last seen on: $DATE$",
+ "message": "נראה לאחרונה ב: $DATE$",
"placeholders": {
"date": {
"content": "$1",
@@ -3038,82 +3300,79 @@
}
},
"loginWithMasterPassword": {
- "message": "Log in with master password"
- },
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
+ "message": "כניסה עם סיסמה ראשית"
},
"newAroundHere": {
- "message": "New around here?"
+ "message": "חדש כאן?"
},
"rememberEmail": {
- "message": "Remember email"
+ "message": "זכור דוא\"ל"
},
"loginWithDevice": {
- "message": "Log in with device"
- },
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
+ "message": "כניסה עם מכשיר"
},
"fingerprintPhraseHeader": {
- "message": "Fingerprint phrase"
+ "message": "ביטוי טביעת אצבע"
},
"fingerprintMatchInfo": {
- "message": "Please make sure your vault is unlocked and the Fingerprint phrase matches on the other device."
+ "message": "נא לוודא שהכספת שלך פתוחה ושביטוי טביעת האצבע תואם את המכשיר האחר."
},
"resendNotification": {
- "message": "Resend notification"
+ "message": "שלח מחדש התראה"
},
"viewAllLogInOptions": {
- "message": "View all log in options"
- },
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
+ "message": "הצג את כל אפשרויות הכניסה"
},
"notificationSentDevice": {
- "message": "A notification has been sent to your device."
+ "message": "התראה נשלחה למכשיר שלך."
+ },
+ "notificationSentDevicePart1": {
+ "message": "בטל נעילת Bitwarden במכשיר שלך או ב"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "יישום רשת"
+ },
+ "notificationSentDevicePart2": {
+ "message": "וודא שביטוי טביעת האצבע תואם את זה שלמטה לפני שתאשר."
},
"aNotificationWasSentToYourDevice": {
- "message": "A notification was sent to your device"
- },
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
+ "message": "התראה נשלחה למכשיר שלך"
},
"youWillBeNotifiedOnceTheRequestIsApproved": {
- "message": "You will be notified once the request is approved"
+ "message": "תקבל התראה כאשר הבקשה תאושר"
},
"needAnotherOptionV1": {
- "message": "Need another option?"
+ "message": "צריך אפשרות אחרת?"
},
"loginInitiated": {
- "message": "Login initiated"
+ "message": "הכניסה החלה"
+ },
+ "logInRequestSent": {
+ "message": "בקשה נשלחה"
},
"exposedMasterPassword": {
- "message": "Exposed Master Password"
+ "message": "סיסמה ראשית חשופה"
},
"exposedMasterPasswordDesc": {
- "message": "Password found in a data breach. Use a unique password to protect your account. Are you sure you want to use an exposed password?"
+ "message": "הסיסמה נמצאה בפרצת נתונים. השתמש בסיסמה ייחודית כדי להגן על חשבונך. האם אתה בטוח שברצונך להשתמש בסיסמה חשופה?"
},
"weakAndExposedMasterPassword": {
- "message": "Weak and Exposed Master Password"
+ "message": "סיסמה ראשית חלשה וחשופה"
},
"weakAndBreachedMasterPasswordDesc": {
- "message": "Weak password identified and found in a data breach. Use a strong and unique password to protect your account. Are you sure you want to use this password?"
+ "message": "סיסמה חלשה זוהתה ונמצאה בפרצת נתונים. השתמש בסיסמה חזקה וייחודית כדי להגן על חשבונך. האם אתה בטוח שאתה רוצה להשתמש בסיסמה זו?"
},
"checkForBreaches": {
- "message": "Check known data breaches for this password"
+ "message": "בדוק פרצות נתונים ידועות עבור סיסמה זו"
},
"important": {
- "message": "Important:"
+ "message": "חשוב:"
},
"masterPasswordHint": {
- "message": "Your master password cannot be recovered if you forget it!"
+ "message": "הסיסמה הראשית שלך לא ניתנת לשחזור אם אתה שוכח אותה!"
},
"characterMinimum": {
- "message": "$LENGTH$ character minimum",
+ "message": "$LENGTH$ תווים לכל הפחות",
"placeholders": {
"length": {
"content": "$1",
@@ -3122,13 +3381,13 @@
}
},
"autofillPageLoadPolicyActivated": {
- "message": "Your organization policies have turned on autofill on page load."
+ "message": "פוליסות הארגון שלך הפעילו מילוי אוטומטי בעת טעינת עמוד."
},
"howToAutofill": {
- "message": "How to autofill"
+ "message": "כיצד למלא אוטומטית"
},
"autofillSelectInfoWithCommand": {
- "message": "Select an item from this screen, use the shortcut $COMMAND$, or explore other options in settings.",
+ "message": "בחר פריט ממסך זה, בחר את קיצור הדרך $COMMAND$, או חקור אפשרויות אחרות בהגדרות.",
"placeholders": {
"command": {
"content": "$1",
@@ -3137,31 +3396,31 @@
}
},
"autofillSelectInfoWithoutCommand": {
- "message": "Select an item from this screen, or explore other options in settings."
+ "message": "בחר פריט ממסך זה, או חקור אפשרויות אחרות בהגדרות."
},
"gotIt": {
- "message": "Got it"
+ "message": "הבנתי"
},
"autofillSettings": {
- "message": "Autofill settings"
+ "message": "הגדרות מילוי אוטומטי"
},
"autofillKeyboardShortcutSectionTitle": {
- "message": "Autofill shortcut"
+ "message": "קיצור מילוי אוטומטי"
},
"autofillKeyboardShortcutUpdateLabel": {
- "message": "Change shortcut"
+ "message": "שנה קיצור דרך"
},
"autofillKeyboardManagerShortcutsLabel": {
- "message": "Manage shortcuts"
+ "message": "נהל קיצורי דרך"
},
"autofillShortcut": {
- "message": "Autofill keyboard shortcut"
+ "message": "מקשי קיצור למילוי אוטומטי"
},
"autofillLoginShortcutNotSet": {
- "message": "The autofill login shortcut is not set. Change this in the browser's settings."
+ "message": "קיצור הדרך למילוי כניסה אוטומטי לא הוגדר. שנה זאת בהגדרות הדפדפן."
},
"autofillLoginShortcutText": {
- "message": "The autofill login shortcut is $COMMAND$. Manage all shortcuts in the browser's settings.",
+ "message": "קיצור הדרך למילוי כניסה אוטומטי הוא $COMMAND$. נהל את כל קיצורי הדרך בהדגרות הדפדפן.",
"placeholders": {
"command": {
"content": "$1",
@@ -3170,7 +3429,7 @@
}
},
"autofillShortcutTextSafari": {
- "message": "Default autofill shortcut: $COMMAND$.",
+ "message": "קיצור דרך למילוי אוטומטי ברירת מחדל: $COMMAND$.",
"placeholders": {
"command": {
"content": "$1",
@@ -3179,65 +3438,62 @@
}
},
"opensInANewWindow": {
- "message": "Opens in a new window"
+ "message": "נפתח בחלון חדש"
},
"rememberThisDeviceToMakeFutureLoginsSeamless": {
- "message": "Remember this device to make future logins seamless"
+ "message": "זכור מכשיר זה כדי להפוך כניסות עתידיות לחלקות"
},
"deviceApprovalRequired": {
- "message": "Device approval required. Select an approval option below:"
+ "message": "נדרש אישור מכשיר. בחר אפשרות אישור למטה:"
},
"deviceApprovalRequiredV2": {
- "message": "Device approval required"
+ "message": "נדרש אישור מכשיר"
},
"selectAnApprovalOptionBelow": {
- "message": "Select an approval option below"
+ "message": "בחר אפשרות אישור למטה"
},
"rememberThisDevice": {
- "message": "Remember this device"
+ "message": "זכור מכשיר זה"
},
"uncheckIfPublicDevice": {
- "message": "Uncheck if using a public device"
+ "message": "בטל את הסימון אם אתה משתמש במכשיר ציבורי"
},
"approveFromYourOtherDevice": {
- "message": "Approve from your other device"
+ "message": "אשר מהמכשיר האחר שלך"
},
"requestAdminApproval": {
- "message": "Request admin approval"
- },
- "approveWithMasterPassword": {
- "message": "Approve with master password"
+ "message": "בקש אישור מנהל"
},
"ssoIdentifierRequired": {
- "message": "Organization SSO identifier is required."
+ "message": "נדרש מזהה SSO של הארגון."
},
"creatingAccountOn": {
- "message": "Creating account on"
+ "message": "יוצר חשבון ב־"
},
"checkYourEmail": {
- "message": "Check your email"
+ "message": "בדוק את הדוא\"ל שלך"
},
"followTheLinkInTheEmailSentTo": {
- "message": "Follow the link in the email sent to"
+ "message": "עקוב אחר הקישור בדוא\"ל הנשלח אל"
},
"andContinueCreatingYourAccount": {
- "message": "and continue creating your account."
+ "message": "והמשך ליצור את החשבון שלך."
},
"noEmail": {
- "message": "No email?"
+ "message": "אין דוא\"ל?"
},
"goBack": {
- "message": "Go back"
+ "message": "חזור"
},
"toEditYourEmailAddress": {
- "message": "to edit your email address."
+ "message": "כדי לערוך את כתובת הדוא\"ל שלך."
},
"eu": {
- "message": "EU",
+ "message": "האיחוד האירופי",
"description": "European Union"
},
"accessDenied": {
- "message": "Access denied. You do not have permission to view this page."
+ "message": "גישה נדחתה. אין לך הרשאות כדי לצפות בעמוד זה."
},
"general": {
"message": "כללי"
@@ -3246,51 +3502,48 @@
"message": "תצוגה"
},
"accountSuccessfullyCreated": {
- "message": "Account successfully created!"
+ "message": "החשבון נוצר בהצלחה!"
},
"adminApprovalRequested": {
- "message": "Admin approval requested"
+ "message": "התבקש אישור מנהל"
},
"adminApprovalRequestSentToAdmins": {
- "message": "Your request has been sent to your admin."
- },
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
+ "message": "הבקשה שלך נשלחה למנהל שלך."
},
"troubleLoggingIn": {
- "message": "Trouble logging in?"
+ "message": "בעיות בכניסה?"
},
"loginApproved": {
- "message": "Login approved"
+ "message": "כניסה אושרה"
},
"userEmailMissing": {
- "message": "User email missing"
+ "message": "חסר דוא\"ל משתמש"
},
"activeUserEmailNotFoundLoggingYouOut": {
- "message": "Active user email not found. Logging you out."
+ "message": "דוא\"ל משתמש פעיל לא נמצא. מוציא אותך."
},
"deviceTrusted": {
- "message": "Device trusted"
+ "message": "מכשיר מהימן"
},
"sendsNoItemsTitle": {
- "message": "No active Sends",
+ "message": "אין סֵנְדים פעילים",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendsNoItemsMessage": {
- "message": "Use Send to securely share encrypted information with anyone.",
+ "message": "השתמש בסֵנְד כדי לשתף באופן מאובטח מידע מוצפן עם כל אחד.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"inputRequired": {
- "message": "Input is required."
+ "message": "נדרש קלט."
},
"required": {
- "message": "required"
+ "message": "נדרש"
},
"search": {
- "message": "Search"
+ "message": "חיפוש"
},
"inputMinLength": {
- "message": "Input must be at least $COUNT$ characters long.",
+ "message": "אורך הקלט חייב להיות לפחות $COUNT$ תווים.",
"placeholders": {
"count": {
"content": "$1",
@@ -3299,7 +3552,7 @@
}
},
"inputMaxLength": {
- "message": "Input must not exceed $COUNT$ characters in length.",
+ "message": "אורך הקלט לא יעלה על $COUNT$ תווים.",
"placeholders": {
"count": {
"content": "$1",
@@ -3308,7 +3561,7 @@
}
},
"inputForbiddenCharacters": {
- "message": "The following characters are not allowed: $CHARACTERS$",
+ "message": "התווים הבאים אינם מותרים: $CHARACTERS$",
"placeholders": {
"characters": {
"content": "$1",
@@ -3317,7 +3570,7 @@
}
},
"inputMinValue": {
- "message": "Input value must be at least $MIN$.",
+ "message": "ערך הקלט חייב להיות לפחות $MIN$.",
"placeholders": {
"min": {
"content": "$1",
@@ -3326,7 +3579,7 @@
}
},
"inputMaxValue": {
- "message": "Input value must not exceed $MAX$.",
+ "message": "ערך הקלט לא יעלה על $MAX$.",
"placeholders": {
"max": {
"content": "$1",
@@ -3335,17 +3588,17 @@
}
},
"multipleInputEmails": {
- "message": "1 or more emails are invalid"
+ "message": "כתובת דוא\"ל 1 או יותר אינה חוקית"
},
"inputTrimValidator": {
- "message": "Input must not contain only whitespace.",
+ "message": "אסור שקלט יכיל רק רווח לבן.",
"description": "Notification to inform the user that a form's input can't contain only whitespace."
},
"inputEmail": {
- "message": "Input is not an email address."
+ "message": "קלט הוא לא כתובת דוא\"ל."
},
"fieldsNeedAttention": {
- "message": "$COUNT$ field(s) above need your attention.",
+ "message": "$COUNT$ שדות למעלה צריכים את תשומת לבך.",
"placeholders": {
"count": {
"content": "$1",
@@ -3354,10 +3607,10 @@
}
},
"singleFieldNeedsAttention": {
- "message": "1 field needs your attention."
+ "message": "שדה 1 צריך את תשומת לבך."
},
"multipleFieldsNeedAttention": {
- "message": "$COUNT$ fields need your attention.",
+ "message": "$COUNT$ שדות צריכים את תשומת לבך.",
"placeholders": {
"count": {
"content": "$1",
@@ -3366,22 +3619,22 @@
}
},
"selectPlaceholder": {
- "message": "-- Select --"
+ "message": "-- בחר --"
},
"multiSelectPlaceholder": {
- "message": "-- Type to filter --"
+ "message": "-- הקלד כדי לסנן --"
},
"multiSelectLoading": {
- "message": "Retrieving options..."
+ "message": "מאחזר אפשרויות..."
},
"multiSelectNotFound": {
- "message": "No items found"
+ "message": "לא נמצאו פריטים"
},
"multiSelectClearAll": {
- "message": "Clear all"
+ "message": "נקה הכל"
},
"plusNMore": {
- "message": "+ $QUANTITY$ more",
+ "message": "+ עוד $QUANTITY$",
"placeholders": {
"quantity": {
"content": "$1",
@@ -3390,167 +3643,135 @@
}
},
"submenu": {
- "message": "Submenu"
+ "message": "תפריט משנה"
},
"toggleCollapse": {
- "message": "Toggle collapse",
+ "message": "שנה מצב כיווץ",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
- "message": "Alias domain"
+ "message": "דומיין כינוי"
},
"passwordRepromptDisabledAutofillOnPageLoad": {
- "message": "Items with master password re-prompt cannot be autofilled on page load. Autofill on page load turned off.",
+ "message": "פריטים עם בקשת סיסמה ראשית חוזרת לא ניתנים למילוי אוטומטי בעת טעינת עמוד. מילוי אוטומטי בעת טעינת נכבה.",
"description": "Toast message for describing that master password re-prompt cannot be autofilled on page load."
},
"autofillOnPageLoadSetToDefault": {
- "message": "Autofill on page load set to use default setting.",
+ "message": "מילוי אוטומטי בעת טעינת הוגדר להשתמש בהגדרת ברירת מחדל.",
"description": "Toast message for informing the user that autofill on page load has been set to the default setting."
},
"turnOffMasterPasswordPromptToEditField": {
- "message": "Turn off master password re-prompt to edit this field",
+ "message": "כבה בקשת סיסמה ראשית חוזרת כדי לערוך שדה זה",
"description": "Message appearing below the autofill on load message when master password reprompt is set for a vault item."
},
"toggleSideNavigation": {
- "message": "Toggle side navigation"
+ "message": "החלף מצב ניווט צדדי"
},
"skipToContent": {
- "message": "Skip to content"
+ "message": "דלג לתוכן"
},
"bitwardenOverlayButton": {
- "message": "Bitwarden autofill menu button",
+ "message": "לחצן תפריט מילוי אוטומטי של Bitwarden",
"description": "Page title for the iframe containing the overlay button"
},
"toggleBitwardenVaultOverlay": {
- "message": "Toggle Bitwarden autofill menu",
+ "message": "החלף מצב תפריט מילוי אוטומטי של Bitwaden",
"description": "Screen reader and tool tip label for the overlay button"
},
"bitwardenVault": {
- "message": "Bitwarden autofill menu",
+ "message": "תפריט מילוי אוטומטי של Bitwaden",
"description": "Page title in overlay"
},
"unlockYourAccountToViewMatchingLogins": {
- "message": "Unlock your account to view matching logins",
+ "message": "בטל את נעילת החשבון שלך כדי להציג כניסות תואמות",
"description": "Text to display in overlay when the account is locked."
},
"unlockYourAccountToViewAutofillSuggestions": {
- "message": "Unlock your account to view autofill suggestions",
+ "message": "בטל את נעילת החשבון שלך כדי להציג הצעות למילוי אוטומטי",
"description": "Text to display in overlay when the account is locked."
},
"unlockAccount": {
- "message": "Unlock account",
+ "message": "ביטול נעילת חשבון",
"description": "Button text to display in overlay when the account is locked."
},
"unlockAccountAria": {
- "message": "Unlock your account, opens in a new window",
+ "message": "בטל את נעילת החשבון שלך, נפתח בחלון חדש",
"description": "Screen reader text (aria-label) for unlock account button in overlay"
},
"totpCodeAria": {
- "message": "Time-based One-Time Password Verification Code",
+ "message": "קוד אימות סיסמה חד פעמית מבוססת זמן",
"description": "Aria label for the totp code displayed in the inline menu for autofill"
},
"totpSecondsSpanAria": {
- "message": "Time remaining before current TOTP expires",
+ "message": "זמן נותר לפני שה־TOTP הנוכחי פג",
"description": "Aria label for the totp seconds displayed in the inline menu for autofill"
},
"fillCredentialsFor": {
- "message": "Fill credentials for",
+ "message": "מלא אישורים עבור",
"description": "Screen reader text for when overlay item is in focused"
},
"partialUsername": {
- "message": "Partial username",
+ "message": "שם משתמש חלקי",
"description": "Screen reader text for when a login item is focused where a partial username is displayed. SR will announce this phrase before reading the text of the partial username"
},
"noItemsToShow": {
- "message": "No items to show",
+ "message": "אין פריטים להצגה",
"description": "Text to show in overlay if there are no matching items"
},
"newItem": {
- "message": "New item",
+ "message": "פריט חדש",
"description": "Button text to display in overlay when there are no matching items"
},
"addNewVaultItem": {
- "message": "Add new vault item",
+ "message": "הוסף פריט כספת חדש",
"description": "Screen reader text (aria-label) for new item button in overlay"
},
"newLogin": {
- "message": "New login",
+ "message": "כניסה חדשה",
"description": "Button text to display within inline menu when there are no matching items on a login field"
},
"addNewLoginItemAria": {
- "message": "Add new vault login item, opens in a new window",
+ "message": "הוסף לכספת פריט כניסה חדש, נפתח בחלון חדש",
"description": "Screen reader text (aria-label) for new login button within inline menu"
},
"newCard": {
- "message": "New card",
+ "message": "כרטיס חדש",
"description": "Button text to display within inline menu when there are no matching items on a credit card field"
},
"addNewCardItemAria": {
- "message": "Add new vault card item, opens in a new window",
+ "message": "הוסף לכספת פריט כרטיס חדש, נפתח בחלון חדש",
"description": "Screen reader text (aria-label) for new card button within inline menu"
},
"newIdentity": {
- "message": "New identity",
+ "message": "זהות חדשה",
"description": "Button text to display within inline menu when there are no matching items on an identity field"
},
"addNewIdentityItemAria": {
- "message": "Add new vault identity item, opens in a new window",
+ "message": "הוסף לכספת פריט זהות חדש, נפתח בחלון חדש",
"description": "Screen reader text (aria-label) for new identity button within inline menu"
},
"bitwardenOverlayMenuAvailable": {
- "message": "Bitwarden autofill menu available. Press the down arrow key to select.",
+ "message": "תפריט מילוי אוטומטי של Bitwarden זמין. הקש על מקש החץ למטה כדי לבחור.",
"description": "Screen reader text for announcing when the overlay opens on the page"
},
"turnOn": {
- "message": "Turn on"
+ "message": "הפעל"
},
"ignore": {
- "message": "Ignore"
+ "message": "התעלם"
},
"importData": {
- "message": "ייבוא נתונים",
+ "message": "ייבא נתונים",
"description": "Used for the header of the import dialog, the import button and within the file-password-prompt"
},
"importError": {
"message": "שגיאת ייבוא"
},
"importErrorDesc": {
- "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again."
+ "message": "הייתה בעיה עם הנתונים שאתה מנסה לייבא. נא לפתור את השגיאות הרשומות למטה בקובץ המקור שלך ולנסות שוב."
},
"resolveTheErrorsBelowAndTryAgain": {
- "message": "Resolve the errors below and try again."
+ "message": "פתור את השגיאות למטה ונסה שוב."
},
"description": {
"message": "תיאור"
@@ -3559,7 +3780,7 @@
"message": "הנתונים יובאו בהצלחה"
},
"importSuccessNumberOfItems": {
- "message": "A total of $AMOUNT$ items were imported.",
+ "message": "סך הכל יובאו $AMOUNT$ פריטים.",
"placeholders": {
"amount": {
"content": "$1",
@@ -3568,46 +3789,46 @@
}
},
"tryAgain": {
- "message": "Try again"
+ "message": "נסה שוב"
},
"verificationRequiredForActionSetPinToContinue": {
- "message": "Verification required for this action. Set a PIN to continue."
+ "message": "נדרש אימות עבור פעולה זו. הגדר PIN כדי להמשיך."
},
"setPin": {
- "message": "Set PIN"
+ "message": "הגדר PIN"
},
"verifyWithBiometrics": {
- "message": "Verify with biometrics"
+ "message": "אמת עם זיהוי ביומטרי"
},
"awaitingConfirmation": {
- "message": "Awaiting confirmation"
+ "message": "ממתין לאישור"
},
"couldNotCompleteBiometrics": {
- "message": "Could not complete biometrics."
+ "message": "לא היה ניתן להשלים את הזיהוי הביומטרי."
},
"needADifferentMethod": {
- "message": "Need a different method?"
+ "message": "זקוק לשיטה אחרת?"
},
"useMasterPassword": {
- "message": "Use master password"
+ "message": "השתמש בסיסמה ראשית"
},
"usePin": {
- "message": "Use PIN"
+ "message": "השתמש ב־PIN"
},
"useBiometrics": {
- "message": "Use biometrics"
+ "message": "השתמש בזיהוי ביומטרי"
},
"enterVerificationCodeSentToEmail": {
- "message": "Enter the verification code that was sent to your email."
+ "message": "הזן את קוד האימות שנשלח לדוא\"ל שלך."
},
"resendCode": {
- "message": "Resend code"
+ "message": "שלח קוד מחדש"
},
"total": {
- "message": "סך הכול"
+ "message": "סך הכל"
},
"importWarning": {
- "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?",
+ "message": "אתה מייבא נתונים אל $ORGANIZATION$. ייתכן שהנתונים שלך ישותפו עם חברים של הארגון הזה. האם אתה רוצה להמשיך?",
"placeholders": {
"organization": {
"content": "$1",
@@ -3616,49 +3837,49 @@
}
},
"duoHealthCheckResultsInNullAuthUrlError": {
- "message": "Error connecting with the Duo service. Use a different two-step login method or contact Duo for assistance."
+ "message": "שגיאה בהתחברות עם השירות Duo. השתמש בשיטת כניסה דו־שלבית אחרת או פנה אל Duo לסיוע."
},
"launchDuoAndFollowStepsToFinishLoggingIn": {
- "message": "Launch Duo and follow the steps to finish logging in."
+ "message": "פתח את Duo ועקוב אחר השלבים כדי לסיים להיכנס."
},
"duoRequiredForAccount": {
- "message": "Duo two-step login is required for your account."
+ "message": "נדרשת כניסה דו־שלבית של Duo עבור החשבון שלך."
},
"popoutTheExtensionToCompleteLogin": {
- "message": "Popout the extension to complete login."
+ "message": "הקפץ את ההרחבה כדי להשלים כניסה."
},
"popoutExtension": {
- "message": "Popout extension"
+ "message": "הקפץ הרחבה"
},
"launchDuo": {
- "message": "Launch Duo"
+ "message": "פתח את Duo"
},
"importFormatError": {
- "message": "Data is not formatted correctly. Please check your import file and try again."
+ "message": "הנתונים אינם מעוצבים כראוי. נא לבדוק את קובץ הייבוא שלך ולנסות שוב."
},
"importNothingError": {
- "message": "Nothing was imported."
+ "message": "לא יובא דבר."
},
"importEncKeyError": {
- "message": "Error decrypting the exported file. Your encryption key does not match the encryption key used export the data."
+ "message": "שגיאה בפענוח הקובץ המיוצא. מפתח ההצפנה שלך אינו תואם את מפתח ההצפנה המשמש לייצוא הנתונים."
},
"invalidFilePassword": {
- "message": "Invalid file password, please use the password you entered when you created the export file."
+ "message": "סיסמת קובץ שגויה, נא להשתמש בסיסמה שהזנת כשיצרת את קובץ הייצוא."
},
"destination": {
- "message": "Destination"
+ "message": "יעד"
},
"learnAboutImportOptions": {
- "message": "Learn about your import options"
+ "message": "למד על אפשרויות הייבוא שלך"
},
"selectImportFolder": {
- "message": "Select a folder"
+ "message": "בחר תיקייה"
},
"selectImportCollection": {
- "message": "Select a collection"
+ "message": "בחר אוסף"
},
"importTargetHint": {
- "message": "Select this option if you want the imported file contents moved to a $DESTINATION$",
+ "message": "בחר באפשרות זו אם ברצונך להעביר את תוכן הקובץ המיובא אל $DESTINATION$",
"description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.",
"placeholders": {
"destination": {
@@ -3668,25 +3889,25 @@
}
},
"importUnassignedItemsError": {
- "message": "File contains unassigned items."
+ "message": "קובץ מכיל פריטים לא מוקצים."
},
"selectFormat": {
- "message": "Select the format of the import file"
+ "message": "בחר את הפורמט של קובץ הייבוא"
},
"selectImportFile": {
- "message": "Select the import file"
+ "message": "בחר את קובץ הייבוא"
},
"chooseFile": {
- "message": "Choose File"
+ "message": "בחר קובץ"
},
"noFileChosen": {
- "message": "No file chosen"
+ "message": "לא נבחר קובץ"
},
"orCopyPasteFileContents": {
- "message": "or copy/paste the import file contents"
+ "message": "או העתק/הדבק את תוכן קובץ הייבוא"
},
"instructionsFor": {
- "message": "$NAME$ Instructions",
+ "message": "הוראות עבור $NAME$",
"description": "The title for the import tool instructions.",
"placeholders": {
"name": {
@@ -3696,200 +3917,203 @@
}
},
"confirmVaultImport": {
- "message": "Confirm vault import"
+ "message": "אשר ייבוא כספת"
},
"confirmVaultImportDesc": {
- "message": "This file is password-protected. Please enter the file password to import data."
+ "message": "קובץ זה מוגן סיסמה. נא להזין את סיסמת הקובץ כדי לייבא נתונים."
},
"confirmFilePassword": {
- "message": "Confirm file password"
+ "message": "אשר סיסמת קובץ"
},
"exportSuccess": {
- "message": "Vault data exported"
+ "message": "נתוני הכספת יוצאו"
},
"typePasskey": {
- "message": "Passkey"
+ "message": "מפתח גישה"
},
"accessing": {
- "message": "Accessing"
+ "message": "ניגש אל"
},
"loggedInExclamation": {
- "message": "Logged in!"
+ "message": "נכנסת!"
},
"passkeyNotCopied": {
- "message": "Passkey will not be copied"
+ "message": "מפתח גישה לא יועתק"
},
"passkeyNotCopiedAlert": {
- "message": "The passkey will not be copied to the cloned item. Do you want to continue cloning this item?"
+ "message": "מפתח הגישה לא יועתק לפריט המשוכפל. האם ברצונך להמשיך לשכפל פריט זה?"
},
"passkeyFeatureIsNotImplementedForAccountsWithoutMasterPassword": {
- "message": "Verification required by the initiating site. This feature is not yet implemented for accounts without master password."
+ "message": "נדרש אימות על ידי האתר היוזם. תכונה זו עדיין לא מיושמת עבור חשבונות ללא סיסמה ראשית."
},
"logInWithPasskeyQuestion": {
- "message": "Log in with passkey?"
+ "message": "להיכנס עם מפתח גישה?"
},
"passkeyAlreadyExists": {
- "message": "A passkey already exists for this application."
+ "message": "מפתח גישה כבר קיים עבור יישום זה."
},
"noPasskeysFoundForThisApplication": {
- "message": "No passkeys found for this application."
+ "message": "לא נמצאו מפתחות גישה עבור יישום זה."
},
"noMatchingPasskeyLogin": {
- "message": "You do not have a matching login for this site."
+ "message": "אין לך כניסות תואמות עבור אתר זה."
},
"noMatchingLoginsForSite": {
- "message": "No matching logins for this site"
+ "message": "אין כניסות תואמות עבור אתר זה"
},
"searchSavePasskeyNewLogin": {
- "message": "Search or save passkey as new login"
+ "message": "חפש או שמור מפתח גישה ככניסה חדשה"
},
"confirm": {
- "message": "Confirm"
+ "message": "אשר"
},
"savePasskey": {
- "message": "Save passkey"
+ "message": "שמור מפתח גישה"
},
"savePasskeyNewLogin": {
- "message": "Save passkey as new login"
+ "message": "שמור מפתח גישה ככניסה חדשה"
},
"chooseCipherForPasskeySave": {
- "message": "Choose a login to save this passkey to"
+ "message": "בחר כניסה אליה יישמר מפתח גישה זה"
},
"chooseCipherForPasskeyAuth": {
- "message": "Choose a passkey to log in with"
+ "message": "בחר מפתח גישה כדי להיכנס בעזרתו"
},
"passkeyItem": {
- "message": "Passkey Item"
+ "message": "פריט מפתח גישה"
},
"overwritePasskey": {
- "message": "Overwrite passkey?"
+ "message": "לדרוס מפתח גישה?"
},
"overwritePasskeyAlert": {
- "message": "This item already contains a passkey. Are you sure you want to overwrite the current passkey?"
+ "message": "פריט זה כבר מכיל מפתח גישה. האם אתה בטוח שברצונך לדרוס את מפתח הגישה הנוכחי?"
},
"featureNotSupported": {
- "message": "Feature not yet supported"
+ "message": "תכונה עדיין לא נתמכת"
},
"yourPasskeyIsLocked": {
- "message": "Authentication required to use passkey. Verify your identity to continue."
+ "message": "אימות נדרש כדי להשתמש במפתח גישה. אמת את זהותך כדי להמשיך."
},
"multifactorAuthenticationCancelled": {
- "message": "Multifactor authentication cancelled"
+ "message": "אימות רב־גורמי בוטל"
},
"noLastPassDataFound": {
- "message": "No LastPass data found"
+ "message": "לא נמצאו נתוני LastPass"
},
"incorrectUsernameOrPassword": {
- "message": "Incorrect username or password"
+ "message": "שם משתמש או סיסמה שגויים"
},
"incorrectPassword": {
- "message": "Incorrect password"
+ "message": "סיסמה שגויה"
},
"incorrectCode": {
- "message": "Incorrect code"
+ "message": "קוד שגוי"
},
"incorrectPin": {
- "message": "Incorrect PIN"
+ "message": "PIN שגוי"
},
"multifactorAuthenticationFailed": {
- "message": "Multifactor authentication failed"
+ "message": "אימות רב־גורמי נכשל"
},
"includeSharedFolders": {
- "message": "Include shared folders"
+ "message": "כלול תיקיות משותפות"
},
"lastPassEmail": {
- "message": "LastPass Email"
+ "message": "דוא\"ל LastPass"
},
"importingYourAccount": {
- "message": "Importing your account..."
+ "message": "מייבא את החשבון שלך..."
},
"lastPassMFARequired": {
- "message": "LastPass multifactor authentication required"
+ "message": "נדרש אימות רב־גורמי של LastPass"
},
"lastPassMFADesc": {
- "message": "Enter your one-time passcode from your authentication app"
+ "message": "הזן את קוד הגישה החד פעמי שלך מיישום האימות שלך"
},
"lastPassOOBDesc": {
- "message": "Approve the login request in your authentication app or enter a one-time passcode."
+ "message": "אשר את בקשת הכניסה ביישום האימות שלך או הזן קוד גישה חד פעמי."
},
"passcode": {
- "message": "Passcode"
+ "message": "קוד גישה"
},
"lastPassMasterPassword": {
- "message": "LastPass master password"
+ "message": "סיסמה ראשית של LastPass"
},
"lastPassAuthRequired": {
- "message": "LastPass authentication required"
+ "message": "נדרש אימות של LastPass"
},
"awaitingSSO": {
- "message": "Awaiting SSO authentication"
+ "message": "ממתין לאימות SSO"
},
"awaitingSSODesc": {
- "message": "Please continue to log in using your company credentials."
+ "message": "נא להמשיך להיכנס באמצעות אישורי החברה שלך."
},
"seeDetailedInstructions": {
- "message": "See detailed instructions on our help site at",
+ "message": "ראה הוראות מפורטות באתר העזרה שלנו ב־",
"description": "This is followed a by a hyperlink to the help website."
},
"importDirectlyFromLastPass": {
- "message": "Import directly from LastPass"
+ "message": "ייבא ישירות מ־LastPass"
},
"importFromCSV": {
- "message": "Import from CSV"
+ "message": "ייבא מ־CSV"
},
"lastPassTryAgainCheckEmail": {
- "message": "Try again or look for an email from LastPass to verify it's you."
+ "message": "נסה שוב או חפש דוא\"ל מ־LastPass כדי לאמת שזה אתה."
},
"collection": {
- "message": "Collection"
+ "message": "אוסף"
},
"lastPassYubikeyDesc": {
- "message": "Insert the YubiKey associated with your LastPass account into your computer's USB port, then touch its button."
+ "message": "הכנס את ה־YubiKey המשויך עם חשבון ה־LastPass שלך אל תוך יציאת USB של המחשב שלך, לאחר מכן גע בכפתור שלו."
},
"switchAccount": {
- "message": "Switch account"
+ "message": "החלף חשבון"
},
"switchAccounts": {
- "message": "Switch accounts"
+ "message": "החלף חשבונות"
},
"switchToAccount": {
- "message": "Switch to account"
+ "message": "החלף לחשבון"
},
"activeAccount": {
- "message": "Active account"
+ "message": "חשבון פעיל"
+ },
+ "bitwardenAccount": {
+ "message": "חשבון Bitwarden"
},
"availableAccounts": {
- "message": "Available accounts"
+ "message": "חשבונות זמינים"
},
"accountLimitReached": {
- "message": "Account limit reached. Log out of an account to add another."
+ "message": "הגעת למגבלת החשבונות. צא מחשבון כדי להוסיף אחד נוסף."
},
"active": {
- "message": "active"
+ "message": "פעיל"
},
"locked": {
- "message": "locked"
+ "message": "נעול"
},
"unlocked": {
- "message": "unlocked"
+ "message": "פתוח"
},
"server": {
- "message": "server"
+ "message": "שרת"
},
"hostedAt": {
- "message": "hosted at"
+ "message": "מאורח אצל"
},
"useDeviceOrHardwareKey": {
- "message": "Use your device or hardware key"
+ "message": "השתמש במכשיר שלך או במפתח חומרה"
},
"justOnce": {
- "message": "Just once"
+ "message": "רק פעם אחת"
},
"alwaysForThisSite": {
- "message": "Always for this site"
+ "message": "תמיד עבור אתר זה"
},
"domainAddedToExcludedDomains": {
- "message": "$DOMAIN$ added to excluded domains.",
+ "message": "$DOMAIN$ נוסף לרשימת הדומיינים המוחרגים.",
"placeholders": {
"domain": {
"content": "$1",
@@ -3898,103 +4122,106 @@
}
},
"commonImportFormats": {
- "message": "תסדירים נפוצים",
+ "message": "פורמטים נפוצים",
"description": "Label indicating the most common import formats"
},
"confirmContinueToBrowserSettingsTitle": {
- "message": "Continue to browser settings?",
+ "message": "להמשיך אל הגדרות הדפדפן?",
"description": "Title for dialog which asks if the user wants to proceed to a relevant browser settings page"
},
"confirmContinueToHelpCenter": {
- "message": "Continue to Help Center?",
+ "message": "להמשיך אל מרכז העזרה?",
"description": "Title for dialog which asks if the user wants to proceed to a relevant Help Center page"
},
"confirmContinueToHelpCenterPasswordManagementContent": {
- "message": "Change your browser's autofill and password management settings.",
+ "message": "שנה את הגדרות ניהול סיסמאות ומילוי אוטומטי של הדפדפן שלך.",
"description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser password management settings"
},
"confirmContinueToHelpCenterKeyboardShortcutsContent": {
- "message": "You can view and set extension shortcuts in your browser's settings.",
+ "message": "אתה יכול לראות ולהגדיר קיצורי דרך להרחבות בהגדרות הדפדפן שלך.",
"description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser keyboard shortcut settings"
},
"confirmContinueToBrowserPasswordManagementSettingsContent": {
- "message": "Change your browser's autofill and password management settings.",
+ "message": "שנה את הגדרות ניהול סיסמאות ומילוי אוטומטי של הדפדפן שלך.",
"description": "Body content for dialog which asks if the user wants to proceed to the browser's password management settings page"
},
"confirmContinueToBrowserKeyboardShortcutSettingsContent": {
- "message": "You can view and set extension shortcuts in your browser's settings.",
+ "message": "אתה יכול לראות ולהגדיר קיצורי דרך להרחבות בהגדרות הדפדפן שלך.",
"description": "Body content for dialog which asks if the user wants to proceed to the browser's keyboard shortcut settings page"
},
"overrideDefaultBrowserAutofillTitle": {
- "message": "Make Bitwarden your default password manager?",
+ "message": "להפוך את Bitwarden למנהל הסיסמאות ברירת המחדל שלך?",
"description": "Dialog title facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutofillDescription": {
- "message": "Ignoring this option may cause conflicts between Bitwarden autofill suggestions and your browser's.",
+ "message": "התעלמות מאפשרות זו עלולה לגרום לקונפליקטים בין הצעות למילוי אוטומטי של Bitwarden לאלו של הדפדפן שלך.",
"description": "Dialog message facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutoFillSettings": {
- "message": "Make Bitwarden your default password manager",
+ "message": "הפוך את Bitwaren למנהל הסיסמאות ברירת המחדל שלך",
"description": "Label for the setting that allows overriding the default browser autofill settings"
},
"privacyPermissionAdditionNotGrantedTitle": {
- "message": "Unable to set Bitwarden as the default password manager",
+ "message": "לא ניתן להגדיר את Bitwarden כמנהל הסיסמאות ברירת המחדל",
"description": "Title for the dialog that appears when the user has not granted the extension permission to set privacy settings"
},
"privacyPermissionAdditionNotGrantedDescription": {
- "message": "You must grant browser privacy permissions to Bitwarden to set it as the default password manager.",
+ "message": "אתה מוכרח להעניק הרשאות פרטיות של דפדפן ל־Bitwarden כדי להגדיר אותו כמנהל הסיסמאות ברירת המחדל.",
"description": "Description for the dialog that appears when the user has not granted the extension permission to set privacy settings"
},
"makeDefault": {
- "message": "Make default",
+ "message": "הפוך לברירת מחדל",
"description": "Button text for the setting that allows overriding the default browser autofill settings"
},
"saveCipherAttemptSuccess": {
- "message": "Credentials saved successfully!",
+ "message": "האישורים נשמרו בהצלחה!",
"description": "Notification message for when saving credentials has succeeded."
},
"passwordSaved": {
- "message": "Password saved!",
+ "message": "הסיסמה נשמרה!",
"description": "Notification message for when saving credentials has succeeded."
},
"updateCipherAttemptSuccess": {
- "message": "Credentials updated successfully!",
+ "message": "האישורים עודכנו בהצלחה!",
"description": "Notification message for when updating credentials has succeeded."
},
"passwordUpdated": {
- "message": "Password updated!",
+ "message": "הסיסמה עודכנה!",
"description": "Notification message for when updating credentials has succeeded."
},
"saveCipherAttemptFailed": {
- "message": "Error saving credentials. Check console for details.",
+ "message": "שגיאה בשמירת אישורים. בדוק מסוף עבור פרטים.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
- "message": "Success"
+ "message": "הצלחה"
},
"removePasskey": {
- "message": "Remove passkey"
+ "message": "הסר מפתח גישה"
},
"passkeyRemoved": {
- "message": "Passkey removed"
+ "message": "מפתח גישה הוסר"
},
"autofillSuggestions": {
- "message": "Autofill suggestions"
+ "message": "הצעות למילוי אוטומטי"
+ },
+ "itemSuggestions": {
+ "message": "פריטים מוצעים"
},
"autofillSuggestionsTip": {
- "message": "Save a login item for this site to autofill"
+ "message": "שמור פריט כניסה עבור אתר זה כדי למלא אוטומטית"
},
"yourVaultIsEmpty": {
- "message": "Your vault is empty"
+ "message": "הכספת שלך ריקה"
},
"noItemsMatchSearch": {
- "message": "No items match your search"
+ "message": "אין פריטים שתואמים את החיפוש שלך"
},
"clearFiltersOrTryAnother": {
- "message": "Clear filters or try another search term"
+ "message": "נקה מסננים או נסה ביטוי חיפוש אחר"
},
"copyInfoTitle": {
- "message": "Copy info - $ITEMNAME$",
+ "message": "העתק פרטים - $ITEMNAME$",
"description": "Title for a button that opens a menu with options to copy information from an item.",
"placeholders": {
"itemname": {
@@ -4004,7 +4231,7 @@
}
},
"copyNoteTitle": {
- "message": "Copy Note - $ITEMNAME$",
+ "message": "העתק פתק - $ITEMNAME$",
"description": "Title for a button copies a note to the clipboard.",
"placeholders": {
"itemname": {
@@ -4014,7 +4241,7 @@
}
},
"moreOptionsLabel": {
- "message": "More options, $ITEMNAME$",
+ "message": "עוד אפשרויות, $ITEMNAME$",
"description": "Aria label for a button that opens a menu with more options for an item.",
"placeholders": {
"itemname": {
@@ -4024,7 +4251,7 @@
}
},
"moreOptionsTitle": {
- "message": "More options - $ITEMNAME$",
+ "message": "עוד אפשרויות - $ITEMNAME$",
"description": "Title for a button that opens a menu with more options for an item.",
"placeholders": {
"itemname": {
@@ -4034,7 +4261,7 @@
}
},
"viewItemTitle": {
- "message": "View item - $ITEMNAME$",
+ "message": "הצג פריט - $ITEMNAME$",
"description": "Title for a link that opens a view for an item.",
"placeholders": {
"itemname": {
@@ -4044,7 +4271,7 @@
}
},
"autofillTitle": {
- "message": "Autofill - $ITEMNAME$",
+ "message": "מילוי אוטומטי - $ITEMNAME$",
"description": "Title for a button that autofills a login item.",
"placeholders": {
"itemname": {
@@ -4053,41 +4280,55 @@
}
}
},
+ "copyFieldValue": {
+ "message": "העתק $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
- "message": "No values to copy"
+ "message": "אין ערכים להעתקה"
},
"assignToCollections": {
- "message": "Assign to collections"
+ "message": "הקצה לאוספים"
},
"copyEmail": {
- "message": "Copy email"
+ "message": "העתק דוא\"ל"
},
"copyPhone": {
- "message": "Copy phone"
+ "message": "העתק טלפון"
},
"copyAddress": {
- "message": "Copy address"
+ "message": "העתק כתובת"
},
"adminConsole": {
- "message": "Admin Console"
+ "message": "מסוף מנהל"
},
"accountSecurity": {
- "message": "Account security"
+ "message": "אבטחת החשבון"
},
"notifications": {
- "message": "Notifications"
+ "message": "התראות"
},
"appearance": {
- "message": "Appearance"
+ "message": "מראה"
},
"errorAssigningTargetCollection": {
- "message": "Error assigning target collection."
+ "message": "שגיאה בהקצאת אוסף יעד."
},
"errorAssigningTargetFolder": {
- "message": "Error assigning target folder."
+ "message": "שגיאה בהקצאת תיקיית יעד."
},
"viewItemsIn": {
- "message": "View items in $NAME$",
+ "message": "הצג פריטים ב־$NAME$",
"description": "Button to view the contents of a folder or collection",
"placeholders": {
"name": {
@@ -4097,7 +4338,7 @@
}
},
"backTo": {
- "message": "Back to $NAME$",
+ "message": "חזרה אל $NAME$",
"description": "Navigate back to a previous folder or collection",
"placeholders": {
"name": {
@@ -4107,10 +4348,10 @@
}
},
"new": {
- "message": "New"
+ "message": "חדש"
},
"removeItem": {
- "message": "Remove $NAME$",
+ "message": "הסר $NAME$",
"description": "Remove a selected option, such as a folder or collection",
"placeholders": {
"name": {
@@ -4120,65 +4361,56 @@
}
},
"itemsWithNoFolder": {
- "message": "Items with no folder"
+ "message": "פריטים ללא תיקייה"
},
"itemDetails": {
- "message": "Item details"
+ "message": "פרטי הפריט"
},
"itemName": {
- "message": "Item name"
- },
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
+ "message": "שם הפריט"
},
"organizationIsDeactivated": {
- "message": "Organization is deactivated"
+ "message": "הארגון מושבת"
},
"owner": {
- "message": "Owner"
+ "message": "בעלים"
},
"selfOwnershipLabel": {
- "message": "You",
+ "message": "את/ה",
"description": "Used as a label to indicate that the user is the owner of an item."
},
"contactYourOrgAdmin": {
- "message": "Items in deactivated organizations cannot be accessed. Contact your organization owner for assistance."
+ "message": "לא ניתן לגשת לפריטים של ארגונים מושבתים. פנה לבעל הארגון שלך עבור סיוע."
},
"additionalInformation": {
- "message": "Additional information"
+ "message": "פרטים נוספים"
},
"itemHistory": {
- "message": "Item history"
+ "message": "היסטוריית פריט"
},
"lastEdited": {
- "message": "Last edited"
+ "message": "נערך לאחרונה"
},
"ownerYou": {
- "message": "Owner: You"
+ "message": "בעלים: את/ה"
},
"linked": {
- "message": "Linked"
+ "message": "מקושר"
},
"copySuccessful": {
- "message": "Copy Successful"
+ "message": "העתקה מוצלחת"
},
"upload": {
- "message": "Upload"
+ "message": "העלה"
},
"addAttachment": {
- "message": "Add attachment"
+ "message": "הוסף צרופה"
},
"maxFileSizeSansPunctuation": {
- "message": "Maximum file size is 500 MB"
+ "message": "גודל הקובץ המרבי הוא 500MB"
},
"deleteAttachmentName": {
- "message": "Delete attachment $NAME$",
+ "message": "מחק צרופה $NAME$",
"placeholders": {
"name": {
"content": "$1",
@@ -4187,7 +4419,7 @@
}
},
"downloadAttachmentName": {
- "message": "Download $NAME$",
+ "message": "הורד $NAME$",
"placeholders": {
"name": {
"content": "$1",
@@ -4196,25 +4428,25 @@
}
},
"permanentlyDeleteAttachmentConfirmation": {
- "message": "Are you sure you want to permanently delete this attachment?"
+ "message": "האם אתה בטוח שברצונך למחוק לצמיתות צרופה זו?"
},
"premium": {
- "message": "Premium"
+ "message": "פרימיום"
},
"freeOrgsCannotUseAttachments": {
- "message": "Free organizations cannot use attachments"
+ "message": "ארגונים חינמיים לא יכולים להשתמש בצרופות"
},
"filters": {
- "message": "Filters"
+ "message": "מסננים"
},
"filterVault": {
- "message": "Filter vault"
+ "message": "מסנן כספת"
},
"filterApplied": {
- "message": "One filter applied"
+ "message": "מסנן אחד הוחל"
},
"filterAppliedPlural": {
- "message": "$COUNT$ filters applied",
+ "message": "הוחלו $COUNT$ מסננים",
"placeholders": {
"count": {
"content": "$1",
@@ -4223,16 +4455,16 @@
}
},
"personalDetails": {
- "message": "Personal details"
+ "message": "פרטים אישיים"
},
"identification": {
- "message": "Identification"
+ "message": "הזדהות"
},
"contactInfo": {
- "message": "Contact info"
+ "message": "פרטי קשר"
},
"downloadAttachment": {
- "message": "Download - $ITEMNAME$",
+ "message": "הורד - $ITEMNAME$",
"placeholders": {
"itemname": {
"content": "$1",
@@ -4241,23 +4473,23 @@
}
},
"cardNumberEndsWith": {
- "message": "card number ends with",
+ "message": "מספר הכרטיס מסתיים עם",
"description": "Used within the inline menu to provide an aria description when users are attempting to fill a card cipher."
},
"loginCredentials": {
- "message": "Login credentials"
+ "message": "אישורי כניסה"
},
"authenticatorKey": {
- "message": "Authenticator key"
+ "message": "מפתח מאמת"
},
"autofillOptions": {
- "message": "Autofill options"
+ "message": "אפשרויות מילוי אוטומטי"
},
"websiteUri": {
- "message": "Website (URI)"
+ "message": "אתר אינטרנט (URI)"
},
"websiteUriCount": {
- "message": "Website (URI) $COUNT$",
+ "message": "אתר אינטרנט (URI) $COUNT$",
"description": "Label for an input field that contains a website URI. The input field is part of a list of fields, and the count indicates the position of the field in the list.",
"placeholders": {
"count": {
@@ -4267,16 +4499,16 @@
}
},
"websiteAdded": {
- "message": "Website added"
+ "message": "אתר האינטרנט נוסף"
},
"addWebsite": {
- "message": "Add website"
+ "message": "הוסף אתר אינטרנט"
},
"deleteWebsite": {
- "message": "Delete website"
+ "message": "מחק אתר אינטרנט"
},
"defaultLabel": {
- "message": "Default ($VALUE$)",
+ "message": "ברירת מחדל ($VALUE$)",
"description": "A label that indicates the default value for a field with the current default value in parentheses.",
"placeholders": {
"value": {
@@ -4286,7 +4518,7 @@
}
},
"showMatchDetection": {
- "message": "Show match detection $WEBSITE$",
+ "message": "הצג זיהוי התאמה $WEBSITE$",
"placeholders": {
"website": {
"content": "$1",
@@ -4295,7 +4527,7 @@
}
},
"hideMatchDetection": {
- "message": "Hide match detection $WEBSITE$",
+ "message": "הסתר זיהוי התאמה $WEBSITE$",
"placeholders": {
"website": {
"content": "$1",
@@ -4304,19 +4536,19 @@
}
},
"autoFillOnPageLoad": {
- "message": "Autofill on page load?"
+ "message": "למלא אוטומטית בעת טעינת עמוד?"
},
"cardExpiredTitle": {
- "message": "Expired card"
+ "message": "כרטיס פג תוקף"
},
"cardExpiredMessage": {
- "message": "If you've renewed it, update the card's information"
+ "message": "אם חידשת אותו, עדכן את פרטי הכרטיס"
},
"cardDetails": {
- "message": "Card details"
+ "message": "פרטי כרטיס"
},
"cardBrandDetails": {
- "message": "$BRAND$ details",
+ "message": "פרטי $BRAND$",
"placeholders": {
"brand": {
"content": "$1",
@@ -4325,43 +4557,43 @@
}
},
"enableAnimations": {
- "message": "Enable animations"
+ "message": "אפשר הנפשות"
},
"showAnimations": {
- "message": "Show animations"
+ "message": "הצג הנפשות"
},
"addAccount": {
- "message": "Add account"
+ "message": "הוסף חשבון"
},
"loading": {
- "message": "Loading"
+ "message": "טוען"
},
"data": {
- "message": "Data"
+ "message": "נתונים"
},
"passkeys": {
- "message": "Passkeys",
+ "message": "מפתחות גישה",
"description": "A section header for a list of passkeys."
},
"passwords": {
- "message": "Passwords",
+ "message": "סיסמאות",
"description": "A section header for a list of passwords."
},
"logInWithPasskeyAriaLabel": {
- "message": "Log in with passkey",
+ "message": "כניסה עם מפתח גישה",
"description": "ARIA label for the inline menu button that logs in with a passkey."
},
"assign": {
- "message": "Assign"
+ "message": "הקצה"
},
"bulkCollectionAssignmentDialogDescriptionSingular": {
- "message": "Only organization members with access to these collections will be able to see the item."
+ "message": "רק חברי ארגון עם גישה לאוספים אלה יוכלו לראות את הפריט."
},
"bulkCollectionAssignmentDialogDescriptionPlural": {
- "message": "Only organization members with access to these collections will be able to see the items."
+ "message": "רק חברי ארגון עם גישה לאוספים אלה יוכלו לראות את הפריטים."
},
"bulkCollectionAssignmentWarning": {
- "message": "You have selected $TOTAL_COUNT$ items. You cannot update $READONLY_COUNT$ of the items because you do not have edit permissions.",
+ "message": "בחרת ב־$TOTAL_COUNT$ פריטים. אינך יכול לעדכן $READONLY_COUNT$ מהפריטים בגלל שאין לך הרשאות עריכה.",
"placeholders": {
"total_count": {
"content": "$1",
@@ -4373,37 +4605,37 @@
}
},
"addField": {
- "message": "Add field"
+ "message": "הוסף שדה"
},
"add": {
- "message": "Add"
+ "message": "הוסף"
},
"fieldType": {
- "message": "Field type"
+ "message": "סוג שדה"
},
"fieldLabel": {
- "message": "Field label"
+ "message": "תווית שדה"
},
"textHelpText": {
- "message": "Use text fields for data like security questions"
+ "message": "השתמש בשדות טקסט עבור נתונים כמו שאלות אבטחה"
},
"hiddenHelpText": {
- "message": "Use hidden fields for sensitive data like a password"
+ "message": "השתמש בשדות נסתרים עבור מידע רגיש כמו סיסמה"
},
"checkBoxHelpText": {
- "message": "Use checkboxes if you'd like to autofill a form's checkbox, like a remember email"
+ "message": "השתמש בתיבות סימון אם תרצה למלא אוטומטית תיבת סימון של טופס, כמו זכור דוא\"ל"
},
"linkedHelpText": {
- "message": "Use a linked field when you are experiencing autofill issues for a specific website."
+ "message": "השתמש בשדה מקושר כאשר אתה חווה בעיות מילוי אוטומטי עם אתר מסוים."
},
"linkedLabelHelpText": {
- "message": "Enter the the field's html id, name, aria-label, or placeholder."
+ "message": "הזן את מזהה ה־html, שם, תווית aria או מציין מיקום."
},
"editField": {
- "message": "Edit field"
+ "message": "ערוך שדה"
},
"editFieldLabel": {
- "message": "Edit $LABEL$",
+ "message": "ערוך $LABEL$",
"placeholders": {
"label": {
"content": "$1",
@@ -4412,7 +4644,7 @@
}
},
"deleteCustomField": {
- "message": "Delete $LABEL$",
+ "message": "מחק $LABEL$",
"placeholders": {
"label": {
"content": "$1",
@@ -4421,7 +4653,7 @@
}
},
"fieldAdded": {
- "message": "$LABEL$ added",
+ "message": "$LABEL$ נוסף",
"placeholders": {
"label": {
"content": "$1",
@@ -4430,7 +4662,7 @@
}
},
"reorderToggleButton": {
- "message": "Reorder $LABEL$. Use arrow key to move item up or down.",
+ "message": "סדר מחדש את $LABEL$. השתמש במקש חץ כדי להעביר את הפריט למעלה או למטה.",
"placeholders": {
"label": {
"content": "$1",
@@ -4438,8 +4670,11 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "סדר מחדש כתובת URI של אתר. השתמש במקש חץ כדי להעביר את הפריט למעלה או למטה."
+ },
"reorderFieldUp": {
- "message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
+ "message": "$LABEL$ עבר למעלה, מיקום $INDEX$ מתוך $LENGTH$",
"placeholders": {
"label": {
"content": "$1",
@@ -4456,13 +4691,13 @@
}
},
"selectCollectionsToAssign": {
- "message": "Select collections to assign"
+ "message": "בחר אוספים להקצות"
},
"personalItemTransferWarningSingular": {
- "message": "1 item will be permanently transferred to the selected organization. You will no longer own this item."
+ "message": "פריט 1 יועבר לצמיתות לארגון הנבחר. לא תהיה יותר הבעלים של הפריט הזה."
},
"personalItemsTransferWarningPlural": {
- "message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to the selected organization. You will no longer own these items.",
+ "message": "$PERSONAL_ITEMS_COUNT$ פריטים יועברו לצמיתות לארגון הנבחר. לא תהיה יותר הבעלים של הפריטים האלה.",
"placeholders": {
"personal_items_count": {
"content": "$1",
@@ -4471,7 +4706,7 @@
}
},
"personalItemWithOrgTransferWarningSingular": {
- "message": "1 item will be permanently transferred to $ORG$. You will no longer own this item.",
+ "message": "פריט 1 יועבר לצמיתות אל $ORG$. לא תהיה יותר הבעלים של הפריט הזה.",
"placeholders": {
"org": {
"content": "$1",
@@ -4480,7 +4715,7 @@
}
},
"personalItemsWithOrgTransferWarningPlural": {
- "message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to $ORG$. You will no longer own these items.",
+ "message": "$PERSONAL_ITEMS_COUNT$ פריטים יועברו לצמיתות אל $ORG$. לא תהיה יותר הבעלים של הפריטים האלה.",
"placeholders": {
"personal_items_count": {
"content": "$1",
@@ -4493,22 +4728,13 @@
}
},
"successfullyAssignedCollections": {
- "message": "Successfully assigned collections"
+ "message": "אוספים הוקצו בהצלחה"
},
"nothingSelected": {
- "message": "You have not selected anything."
- },
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
+ "message": "לא בחרת כלום."
},
"itemsMovedToOrg": {
- "message": "Items moved to $ORGNAME$",
+ "message": "פריטים הועברו אל $ORGNAME$",
"placeholders": {
"orgname": {
"content": "$1",
@@ -4517,7 +4743,7 @@
}
},
"itemMovedToOrg": {
- "message": "Item moved to $ORGNAME$",
+ "message": "פריט הועבר אל $ORGNAME$",
"placeholders": {
"orgname": {
"content": "$1",
@@ -4526,7 +4752,7 @@
}
},
"reorderFieldDown": {
- "message": "$LABEL$ moved down, position $INDEX$ of $LENGTH$",
+ "message": "$LABEL$ עבר למטה, מיקום $INDEX$ מתוך $LENGTH$",
"placeholders": {
"label": {
"content": "$1",
@@ -4543,283 +4769,304 @@
}
},
"itemLocation": {
- "message": "Item Location"
+ "message": "מיקום פריט"
},
"fileSend": {
- "message": "File Send"
+ "message": "סֵנְד של קובץ"
},
"fileSends": {
- "message": "File Sends"
+ "message": "סֵנְדים של קובץ"
},
"textSend": {
- "message": "Text Send"
+ "message": "סֵנְד של טקסט"
},
"textSends": {
- "message": "Text Sends"
- },
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
+ "message": "סֵנְדים של טקסט"
},
"accountActions": {
- "message": "Account actions"
+ "message": "פעולות חשבון"
},
"showNumberOfAutofillSuggestions": {
- "message": "Show number of login autofill suggestions on extension icon"
+ "message": "הצג את מספר ההצעות למילוי כניסה אוטומטי בסמל ההרחבה"
},
"showQuickCopyActions": {
- "message": "Show quick copy actions on Vault"
+ "message": "הצג פעולות העתקה מהירה בכספת"
},
"systemDefault": {
- "message": "System default"
+ "message": "ברירת מחדל של המערכת"
},
"enterprisePolicyRequirementsApplied": {
- "message": "Enterprise policy requirements have been applied to this setting"
+ "message": "דרישות מדיניות ארגונית הוחלו על הגדרה זו"
},
"sshPrivateKey": {
- "message": "Private key"
+ "message": "מפתח פרטי"
},
"sshPublicKey": {
- "message": "Public key"
+ "message": "מפתח ציבורי"
},
"sshFingerprint": {
- "message": "Fingerprint"
+ "message": "טביעת אצבע"
},
"sshKeyAlgorithm": {
- "message": "Key type"
+ "message": "סוג מפתח"
},
"sshKeyAlgorithmED25519": {
"message": "ED25519"
},
"sshKeyAlgorithmRSA2048": {
- "message": "RSA 2048-Bit"
+ "message": "RSA 2048 סיביות"
},
"sshKeyAlgorithmRSA3072": {
- "message": "RSA 3072-Bit"
+ "message": "RSA 3072 סיביות"
},
"sshKeyAlgorithmRSA4096": {
- "message": "RSA 4096-Bit"
+ "message": "RSA 4096 סיביות"
},
"retry": {
- "message": "Retry"
+ "message": "נסה שוב"
},
"vaultCustomTimeoutMinimum": {
- "message": "Minimum custom timeout is 1 minute."
+ "message": "פסק זמן מותאם אישית מינימלי הוא דקה 1."
},
"additionalContentAvailable": {
- "message": "Additional content is available"
+ "message": "תוכן נוסף זמין"
},
"fileSavedToDevice": {
- "message": "File saved to device. Manage from your device downloads."
+ "message": "הקובץ נשמר למכשיר. נהל מהורדות המכשיר שלך."
},
"showCharacterCount": {
- "message": "Show character count"
+ "message": "הצג מונה תווים"
},
"hideCharacterCount": {
- "message": "Hide character count"
+ "message": "הסתר מונה תווים"
},
"itemsInTrash": {
- "message": "Items in trash"
+ "message": "פריטים באשפה"
},
"noItemsInTrash": {
- "message": "No items in trash"
+ "message": "אין פריטים באשפה"
},
"noItemsInTrashDesc": {
- "message": "Items you delete will appear here and be permanently deleted after 30 days"
+ "message": "פריטים שאתה מוחק יופיעו כאן ויימחקו לצמיתות לאחר 30 יום"
},
"trashWarning": {
- "message": "Items that have been in trash more than 30 days will automatically be deleted"
+ "message": "פריטים שהיו באשפה יותר מ־30 יום יימחקו באופן אוטומטי"
},
"restore": {
- "message": "Restore"
+ "message": "שחזר"
},
"deleteForever": {
- "message": "Delete forever"
+ "message": "מחק לנצח"
},
"noEditPermissions": {
- "message": "You don't have permission to edit this item"
+ "message": "אין לך הרשאות לערוך פריט זה"
+ },
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "ביטול נעילה ביומטרי אינו זמין בגלל שביטול נעילה עם PIN או סיסמה נדרש תחילה."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "ביטול נעילה ביומטרי אינו זמין כעת."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "ביטול נעילה ביומטרי אינו זמין בשל קבצי מערכת המוגדרים באופן שגוי."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "ביטול נעילה ביומטרי אינו זמין בשל קבצי מערכת המוגדרים באופן שגוי."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "ביטול נעילה ביומטרי אינו זמין בגלל שיישום שולחן העבודה של Bitwarden סגור."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "ביטול נעילה ביומטרי אינו זמין בגלל שהוא לא מופעל עבור $EMAIL$ ביישום שולחן העבודה של Bitwarden.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "ביטול נעילה ביומטרי אינו זמין כעת מסיבה לא ידועה."
},
"authenticating": {
- "message": "Authenticating"
+ "message": "מאמת"
},
"fillGeneratedPassword": {
- "message": "Fill generated password",
+ "message": "מלא סיסמה שנוצרה",
"description": "Heading for the password generator within the inline menu"
},
"passwordRegenerated": {
- "message": "Password regenerated",
+ "message": "סיסמה נוצרה מחדש",
"description": "Notification message for when a password has been regenerated"
},
"saveLoginToBitwarden": {
- "message": "Save login to Bitwarden?",
+ "message": "לשמור כניסה ב־Bitwarden?",
"description": "Confirmation message for saving a login to Bitwarden"
},
"spaceCharacterDescriptor": {
- "message": "Space",
+ "message": "רווח",
"description": "Represents the space key in screen reader content as a readable word"
},
"tildeCharacterDescriptor": {
- "message": "Tilde",
+ "message": "טילדה",
"description": "Represents the ~ key in screen reader content as a readable word"
},
"backtickCharacterDescriptor": {
- "message": "Backtick",
+ "message": "בקטיק",
"description": "Represents the ` key in screen reader content as a readable word"
},
"exclamationCharacterDescriptor": {
- "message": "Exclamation mark",
+ "message": "סימן קריאה",
"description": "Represents the ! key in screen reader content as a readable word"
},
"atSignCharacterDescriptor": {
- "message": "At sign",
+ "message": "כרוכית",
"description": "Represents the @ key in screen reader content as a readable word"
},
"hashSignCharacterDescriptor": {
- "message": "Hash sign",
+ "message": "סולמית",
"description": "Represents the # key in screen reader content as a readable word"
},
"dollarSignCharacterDescriptor": {
- "message": "Dollar sign",
+ "message": "סימן הדולר",
"description": "Represents the $ key in screen reader content as a readable word"
},
"percentSignCharacterDescriptor": {
- "message": "Percent sign",
+ "message": "סימן אחוז",
"description": "Represents the % key in screen reader content as a readable word"
},
"caretCharacterDescriptor": {
- "message": "Caret",
+ "message": "קרט",
"description": "Represents the ^ key in screen reader content as a readable word"
},
"ampersandCharacterDescriptor": {
- "message": "Ampersand",
+ "message": "אמפרסֵנְד",
"description": "Represents the & key in screen reader content as a readable word"
},
"asteriskCharacterDescriptor": {
- "message": "Asterisk",
+ "message": "כוכבית",
"description": "Represents the * key in screen reader content as a readable word"
},
"parenLeftCharacterDescriptor": {
- "message": "Left parenthesis",
+ "message": "סוגר שמאלי",
"description": "Represents the ( key in screen reader content as a readable word"
},
"parenRightCharacterDescriptor": {
- "message": "Right parenthesis",
+ "message": "סוגר ימני",
"description": "Represents the ) key in screen reader content as a readable word"
},
"hyphenCharacterDescriptor": {
- "message": "Underscore",
+ "message": "קו תחתון",
"description": "Represents the _ key in screen reader content as a readable word"
},
"underscoreCharacterDescriptor": {
- "message": "Hyphen",
+ "message": "מקף",
"description": "Represents the - key in screen reader content as a readable word"
},
"plusCharacterDescriptor": {
- "message": "Plus",
+ "message": "פלוס",
"description": "Represents the + key in screen reader content as a readable word"
},
"equalsCharacterDescriptor": {
- "message": "Equals",
+ "message": "שוויון",
"description": "Represents the = key in screen reader content as a readable word"
},
"braceLeftCharacterDescriptor": {
- "message": "Left brace",
+ "message": "סוגר מסולסל שמאלי",
"description": "Represents the { key in screen reader content as a readable word"
},
"braceRightCharacterDescriptor": {
- "message": "Right brace",
+ "message": "סוגר מסולסל ימני",
"description": "Represents the } key in screen reader content as a readable word"
},
"bracketLeftCharacterDescriptor": {
- "message": "Left bracket",
+ "message": "סוגר מרובע שמאלי",
"description": "Represents the [ key in screen reader content as a readable word"
},
"bracketRightCharacterDescriptor": {
- "message": "Right bracket",
+ "message": "סוגר מרובע ימני",
"description": "Represents the ] key in screen reader content as a readable word"
},
"pipeCharacterDescriptor": {
- "message": "Pipe",
+ "message": "צינור",
"description": "Represents the | key in screen reader content as a readable word"
},
"backSlashCharacterDescriptor": {
- "message": "Back slash",
+ "message": "לוכסן שמאלי",
"description": "Represents the back slash key in screen reader content as a readable word"
},
"colonCharacterDescriptor": {
- "message": "Colon",
+ "message": "נקודתיים",
"description": "Represents the : key in screen reader content as a readable word"
},
"semicolonCharacterDescriptor": {
- "message": "Semicolon",
+ "message": "נקודה ופסיק",
"description": "Represents the ; key in screen reader content as a readable word"
},
"doubleQuoteCharacterDescriptor": {
- "message": "Double quote",
+ "message": "מירכאה כפולה",
"description": "Represents the double quote key in screen reader content as a readable word"
},
"singleQuoteCharacterDescriptor": {
- "message": "Single quote",
+ "message": "מירכאה בודדת",
"description": "Represents the ' key in screen reader content as a readable word"
},
"lessThanCharacterDescriptor": {
- "message": "Less than",
+ "message": "קטן מ־",
"description": "Represents the < key in screen reader content as a readable word"
},
"greaterThanCharacterDescriptor": {
- "message": "Greater than",
+ "message": "גדול מ־",
"description": "Represents the > key in screen reader content as a readable word"
},
"commaCharacterDescriptor": {
- "message": "Comma",
+ "message": "פסיק",
"description": "Represents the , key in screen reader content as a readable word"
},
"periodCharacterDescriptor": {
- "message": "Period",
+ "message": "נקודה",
"description": "Represents the . key in screen reader content as a readable word"
},
"questionCharacterDescriptor": {
- "message": "Question mark",
+ "message": "סימן שאלה",
"description": "Represents the ? key in screen reader content as a readable word"
},
"forwardSlashCharacterDescriptor": {
- "message": "Forward slash",
+ "message": "לוכסן",
"description": "Represents the / key in screen reader content as a readable word"
},
"lowercaseAriaLabel": {
- "message": "Lowercase"
+ "message": "אות קטנה"
},
"uppercaseAriaLabel": {
- "message": "Uppercase"
+ "message": "אות גדולה"
},
"generatedPassword": {
- "message": "Generated password"
+ "message": "נוצרה סיסמה"
},
"compactMode": {
- "message": "Compact mode"
+ "message": "מצב קומפקטי"
},
"beta": {
- "message": "Beta"
+ "message": "בטא"
},
"importantNotice": {
- "message": "Important notice"
+ "message": "הודעה חשובה"
},
"setupTwoStepLogin": {
- "message": "Set up two-step login"
+ "message": "הגדר כניסה דו־שלבית"
},
"newDeviceVerificationNoticeContentPage1": {
- "message": "Bitwarden will send a code to your account email to verify logins from new devices starting in February 2025."
+ "message": "Bitwarden ישלח קוד לדוא\"ל החשבון שלך כדי לאמת כניסות ממכשירים חדשים החל מפברואר 2025."
},
"newDeviceVerificationNoticeContentPage2": {
- "message": "You can set up two-step login as an alternative way to protect your account or change your email to one you can access."
+ "message": "אתה יכול להגדיר כניסה דו־שלבית כדרך חלופית להגן על החשבון שלך או לשנות את הדוא\"ל שלך לאחד שאתה יכול לגשת אליו."
},
"remindMeLater": {
- "message": "Remind me later"
+ "message": "הזכר לי מאוחר יותר"
},
"newDeviceVerificationNoticePageOneFormContent": {
- "message": "Do you have reliable access to your email, $EMAIL$?",
+ "message": "יש לך גישה מהימנה לדוא\"ל שלך, $EMAIL$?",
"placeholders": {
"email": {
"content": "$1",
@@ -4828,24 +5075,69 @@
}
},
"newDeviceVerificationNoticePageOneEmailAccessNo": {
- "message": "No, I do not"
+ "message": "לא, אין לי"
},
"newDeviceVerificationNoticePageOneEmailAccessYes": {
- "message": "Yes, I can reliably access my email"
+ "message": "כן, אני יכול לגשת לדוא\"ל שלי באופן מהימן"
},
"turnOnTwoStepLogin": {
- "message": "Turn on two-step login"
+ "message": "הפעל כניסה דו־שלבית"
},
"changeAcctEmail": {
- "message": "Change account email"
+ "message": "שנה את דוא\"ל החשבון"
},
"extensionWidth": {
- "message": "Extension width"
+ "message": "רוחב הרחבה"
},
"wide": {
- "message": "Wide"
+ "message": "רחב"
},
"extraWide": {
- "message": "Extra wide"
+ "message": "רחב במיוחד"
+ },
+ "sshKeyWrongPassword": {
+ "message": "הסיסמה שהזנת שגויה."
+ },
+ "importSshKey": {
+ "message": "ייבוא"
+ },
+ "confirmSshKeyPassword": {
+ "message": "אשר סיסמה"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "הזן את הסיסמה עבור מפתח ה־SSH."
+ },
+ "enterSshKeyPassword": {
+ "message": "הזן סיסמה"
+ },
+ "invalidSshKey": {
+ "message": "מפתח ה־SSH אינו תקין"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "סוג מפתח ה־SSH אינו נתמך"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "ייבא מפתח מלוח ההעתקה"
+ },
+ "sshKeyImported": {
+ "message": "מפתח SSH יובא בהצלחה"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "אינך יכול להסיר אוספים עם הרשאות צפייה בלבד: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "נא לעדכן את יישום שולחן העבודה שלך"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "כדי להשתמש בביטול נעילה ביומטרי, נא לעדכן את יישום שולחן העבודה שלך, להשבית ביטול נעילה בעזרת טביעת אצבע בהגדרות שולחן העבודה."
+ },
+ "changeAtRiskPassword": {
+ "message": "שנה סיסמה בסיכון"
}
}
diff --git a/apps/browser/src/_locales/hi/messages.json b/apps/browser/src/_locales/hi/messages.json
index 10ad502be82..748d9eb966b 100644
--- a/apps/browser/src/_locales/hi/messages.json
+++ b/apps/browser/src/_locales/hi/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master Password Hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password Hint"
- },
- "enterEmailToGetHint": {
- "message": "अपने मास्टर पासवर्ड संकेत प्राप्त करने के लिए अपने खाते का ईमेल पता दर्ज करें।"
- },
"getMasterPasswordHint": {
"message": "मास्टर पासवर्ड संकेत प्राप्त करें"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit Folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate Password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "लंबाई"
},
- "uppercase": {
- "message": "बड़े अक्षर (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "छोटे अक्षर (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "संख्या (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "विशेष अक्षर (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of Words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "आपका वेब ब्राउज़र आसान क्लिपबोर्ड कॉपीिंग का समर्थन नहीं करता है। इसके बजाय इसे मैन्युअल रूप से कॉपी करें।"
},
- "verifyIdentity": {
- "message": "पहचान सत्यापित करें"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "आपकी वॉल्ट लॉक हो गई है। जारी रखने के लिए अपने मास्टर पासवर्ड को सत्यापित करें।"
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "आपके ईमेल पर भेजा गया कोड भरें"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "अपने प्रमाणक ऐप से कोड डालें"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "नहीं"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occured."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "टैब पेज पर कार्ड दिखाएं"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "आसान ऑटो-फिल के लिए टैब पेज पर कार्ड आइटम सूचीबद्ध करें।"
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "टैब पेज पर पहचान दिखाएं"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "क्लिपबोर्ड खाली करें",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Yes, Save Now"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ को बिटवार्डन में सहेजा गया।",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ को बिटवार्डन में अपडेट किया गया।",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "मौजूदा लॉगिन को अपडेट करने के लिए कहें"
},
@@ -1084,10 +1169,6 @@
"message": "प्रकाश",
"description": "Light color"
},
- "solarizedDark": {
- "message": "सौरीकृत अंधेरा",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "आप bitwarden.com वेब वॉल्ट पर प्रीमियम सदस्यता खरीद सकते हैं।क्या आप अब वेबसाइट पर जाना चाहते हैं?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "मुझे याद रखें"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "फिर से सत्यापन कोड ईमेल भेजें"
},
"useAnotherTwoStepMethod": {
"message": "एक और दो-चरण लॉगिन विधि का उपयोग करें"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "अपने कंप्यूटर के यूएसबी पोर्ट में अपने YubiKey डालें, फिर इसके बटन को स्पर्श करें।"
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "नया टैब खोलें"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "वेबऑथन प्रमाणित करें"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login Unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step Login Options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "अपने दो कारक प्रदाताओं के सभी के लिए उपयोग खो दिया है? अपने खाते से सभी दो-कारक प्रदाताओं को अक्षम करने के लिए अपने रिकवरी कोड का उपयोग करें।"
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted Environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premise hosted bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom Environment"
},
- "customEnvironmentFooter": {
- "message": "उन्नत उपयोगकर्ताओं के लिए। आप स्वतंत्र रूप से प्रत्येक सेवा का आधार URL निर्दिष्ट कर सकते हैं।"
- },
"baseUrl": {
"message": "सर्वर URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "सॉर्ट करने के लिए ड्रैग करें"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "शब्द"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "वॉल्ट मध्यांतर कार्रवाई"
},
"vaultTimeoutAction1": {
"message": "टाइमआउट कार्रवाई"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "लॉक",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "बहिष्कृत डोमेन"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "एरर"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "उपयोगकर्ता नाम बनाएँ"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "यहाँ क्लिक करें"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "डोमेन उपनाम"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "बिटवार्डन का नया रूप!"
- },
- "bitwardenNewLookDesc": {
- "message": "वॉल्ट टैब से ऑटोफिल और सर्च करना पहले से कहीं ज़्यादा आसान और सहज है। सबकुछ ध्यान से देखें!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/hr/messages.json b/apps/browser/src/_locales/hr/messages.json
index c93922cb913..b88fc45493f 100644
--- a/apps/browser/src/_locales/hr/messages.json
+++ b/apps/browser/src/_locales/hr/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Podsjetnik glavne lozinke (neobavezno)"
},
+ "passwordStrengthScore": {
+ "message": "Ocjena jačine lozinke: $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Pridruži se organizaciji"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Kopiraj bilješke"
},
+ "copy": {
+ "message": "Kopiraj",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Ispuni",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Unesi svoju adresu e-pošte računa i poslat ćemo ti tvoj podsjetnik"
},
- "passwordHint": {
- "message": "Podsjetnik za lozinku"
- },
- "enterEmailToGetHint": {
- "message": "Unesi adresu e-pošte svog računa za primitak podsjetnika glavne lozinke."
- },
"getMasterPasswordHint": {
"message": "Slanje podsjetnika glavne lozinke"
},
@@ -334,7 +341,7 @@
"message": "Bitwarden autentifikator"
},
"continueToAuthenticatorPageDesc": {
- "message": "Bitwarden autentifikator omogućuje pohranu ključeva za autentifikaciju i generiranje TOTP kodova za dvostruku autentifikaciju. Saznaj više na web stranici bitwarden.com"
+ "message": "Bitwarden autentifikator omogućuje pohranu autentifikatorskih ključeva i generiranje TOTP kodova za dvostruku autentifikaciju. Saznaj više na web stranici bitwarden.com"
},
"bitwardenSecretsManager": {
"message": "Bitwarden Secrets Manager"
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Uredi mapu"
},
+ "editFolderWithName": {
+ "message": "Uredi mapu: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Nova mapa"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generiraj frazu lozinke"
},
+ "passwordGenerated": {
+ "message": "Lozinka generirana"
+ },
+ "passphraseGenerated": {
+ "message": "Frazna lozinka generirana"
+ },
+ "usernameGenerated": {
+ "message": "Korisničko ime generirano"
+ },
+ "emailGenerated": {
+ "message": "e-pošta generirana"
+ },
"regeneratePassword": {
"message": "Ponovno generiraj lozinku"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Duljina"
},
- "uppercase": {
- "message": "Velika slova (A - Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Mala slova (a - z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Brojevi (0 - 9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Posebni znakovi (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Uključi",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Uključi posebne znakove",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Broj riječi"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Web preglednik ne podržava jednostavno kopiranje međuspremnika. Umjesto toga ručno kopirajte."
},
- "verifyIdentity": {
- "message": "Potvrdi identitet"
+ "verifyYourIdentity": {
+ "message": "Potvrdi svoj identitet"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Ne prepoznajemo ovaj uređaj. Za potvrdu identiteta unesi kôd poslan e-poštom."
+ },
+ "continueLoggingIn": {
+ "message": "Nastavi prijavu"
},
"yourVaultIsLocked": {
"message": "Tvoj trezor je zaključan. Potvrdi glavnu lozinku za nastavak."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Prijavi se u Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Unesi kôd poslan e-poštom"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Unesi kôd iz svoje aplikacije za autentifikaciju"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Za autentifikaciju dodirni svoj YubiKey"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Za tvoj je račun potrebna Duo prijava u dva koraka. Za dovršetak prijave, slijedi daljnje korake."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Prati korake za dovršetak prijave."
+ },
"restartRegistration": {
"message": "Ponovno pokreni registraciju"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Ne"
},
+ "location": {
+ "message": "Lokacija"
+ },
"unexpectedError": {
"message": "Došlo je do neočekivane pogreške."
},
@@ -885,7 +917,7 @@
"message": "Mapa dodana"
},
"twoStepLoginConfirmation": {
- "message": "Prijava dvostrukom autentifikacijom čini tvoj račun još sigurnijim tako što će zahtijevati da potvrdiš prijavu putem drugog uređaja pomoću sigurnosnog koda, autentifikatorske aplikacije, SMS-om, pozivom ili e-poštom. Prijavu dvostrukom autentifikacijom možeš omogućiti na web trezoru. Želiš li sada posjetiti bitwarden.com?"
+ "message": "Prijava dvostrukom autentifikacijom čini tvoj račun još sigurnijim tako što će zahtijevati potvrdu prijave drugim uređajem kao što je sigurnosni ključ, autentifikatorska aplikacija, SMS, poziv ili e-pošta. Prijavu dvostrukom autentifikacijom možeš omogućiti na web trezoru. Želiš li sada posjetiti bitwarden.com?"
},
"twoStepLoginConfirmationContent": {
"message": "Učini svoj račun sigurnijim uključivanjem prijave dvofaktorskom autentifikacijom u Bitwarden web aplikaciji."
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Pitaj za dodavanje stavke ako nije pronađena u tvojem trezoru. Primjenjuje se na sve prijavljene račune."
},
- "showCardsInVaultView": {
- "message": "Prikaži kartice kao prijedloge za auto-ispunu u prikazu trezora"
+ "showCardsInVaultViewV2": {
+ "message": "Uvijek prikaži kartice kao prijedloge za auto-ispunu u prikazu trezora"
},
"showCardsCurrentTab": {
"message": "Prikaži platne kartice"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Prikazuj platne kartice za jednostavnu auto-ispunu."
},
- "showIdentitiesInVaultView": {
- "message": "Prikaži identitete kao prijedloge za auto-ispunu u prikazu trezora"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Uvijek prikaži identitete kao prijedloge za auto-ispunu u prikazu trezora"
},
"showIdentitiesCurrentTab": {
"message": "Prikaži identitete"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Klikni stavke za auto-ispunu na prikazu trezora"
},
+ "clickToAutofill": {
+ "message": "Kliknite stavku u prijedlogu auto-ispune za popunjavanje"
+ },
"clearClipboard": {
"message": "Očisti međuspremnik",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Spremi"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ spremljeno u Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ ažurirano u Bitwardenu.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Spremi novu prijavu",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Ažuriraj prijavu",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Spremiti prijavu?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Ažurirati postojeću prijavu?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Prijava spremljena",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Prijava ažurirana",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Greška kod spremanja",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Ups! Nismo mogli ovo spasiti. Pokušaj ručno unijeti detalje.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Upitaj za ažuriranje trenutne prijave"
},
@@ -1084,10 +1169,6 @@
"message": "Svijetla",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized Dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Izvezi iz"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Kupi premium članstvo"
},
- "premiumPurchaseAlert": {
- "message": "Možeš kupiti premium članstvo na web trezoru. Želiš li sada posjetiti bitwarden.com?"
- },
"premiumPurchaseAlertV2": {
"message": "Premium možeš kupiti u postavkama računa na Bitwarden web aplikaciji."
},
@@ -1302,7 +1380,7 @@
"message": "Automatski kopiraj TOTP"
},
"disableAutoTotpCopyDesc": {
- "message": "Ako za prijavu postoji autentifikatorski ključ, kopiraj TOTP kôd za provjeru u međuspremnik nakon auto-ispune prijave."
+ "message": "Ako za prijavu postoji ključ autentifikatora, kopiraj TOTP kôd za provjeru u međuspremnik nakon auto-ispune prijave."
},
"enableAutoBiometricsPrompt": {
"message": "Traži biometrijsku autentifikaciju pri pokretanju"
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Zapamti me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Ne pitaj na ovom uređaju idućih 30 dana"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Ponovno slanje kontrolnog koda e-poštom"
},
"useAnotherTwoStepMethod": {
"message": "Koristiti drugi način prijave dvostrukom autentifikacijom"
},
+ "selectAnotherMethod": {
+ "message": "Odaberi drugi način",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Koristi kôd za oporavak"
+ },
"insertYubiKey": {
"message": "Umetni svoj YubiKey u USB priključak računala, a zatim dodirni njegovu tipku."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Otvori novu karticu"
},
+ "openInNewTab": {
+ "message": "Otvori u novoj kartici"
+ },
"webAuthnAuthenticate": {
"message": "Ovjeri WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Pročitaj sigurnosni ključ"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Čekanje na interakciju sa sigurnosnim ključem..."
+ },
"loginUnavailable": {
"message": "Prijava nije dostupna"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Mogućnosti prijave dvostrukom autentifikacijom"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Odaberi način prijave dvostrukom autentifikacijom"
+ },
"recoveryCodeDesc": {
"message": "Izgubljen je pristup uređaju za dvostruku autentifikaciju? Koristi svoj kôd za oporavak za onemogućavanje svih pružatelja usluga dvostruke autentifikacije na tvojem računu."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Vlastito hosting okruženje"
},
- "selfHostedEnvironmentFooter": {
- "message": "Navedi osnovni URL svoje lokalno smještene Bitwarden instalacije."
- },
"selfHostedBaseUrlHint": {
"message": "Navedi osnovni URL svoje lokalne Bitwarden instalacije, npr.: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Prilagođeno okruženje"
},
- "customEnvironmentFooter": {
- "message": "Za napredne korisnike. Samostalno možeš odrediti osnovni URL svake usluge."
- },
"baseUrl": {
"message": "URL poslužitelja"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Povuci za sortiranje"
},
+ "dragToReorder": {
+ "message": "Povuci za premještanje"
+ },
"cfTypeText": {
"message": "Tekst"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Generator korisničkih imena"
},
+ "useThisEmail": {
+ "message": "Koristi ovu e-poštu"
+ },
"useThisPassword": {
"message": "Koristi ovu lozinku"
},
@@ -2063,12 +2163,24 @@
"message": "za stvaranje snažne, jedinstvene lozinke",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Prilagodba trezora"
+ },
"vaultTimeoutAction": {
"message": "Nakon isteka trezora"
},
"vaultTimeoutAction1": {
"message": "Radnja nakon isteka "
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Nove mogućnosti prilagodbe"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Prilagodi svoje iskustvo trezora brzim kopiranjem, kompaktnim načinom rada i više!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Pogledaj sve postavke izgleda"
+ },
"lock": {
"message": "Zaključaj",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domene",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blokirane domene"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Saznaj više o blokiranim domenama"
+ },
"excludedDomains": {
"message": "Izuzete domene"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden neće nuditi spremanje podataka za prijavu za ove domene za sve prijavljene račune. Moraš osvježiti stranicu kako bi promjene stupile na snagu."
},
+ "blockedDomainsDesc": {
+ "message": "Auto-ispuna i druge vezane značajke neće biti ponuđene za ova web mjesta. Potrebno je osvježiti stranicu zaprimjenu postavki."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Auto-ispuna je blokirana za ovu web stranicu."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Promijeni ovo u postavkama"
+ },
+ "change": {
+ "message": "Promijeni"
+ },
+ "changeButtonTitle": {
+ "message": "Promijeni lozinku - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Rizične lozinke"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ traži da promijeniš jednu rizičnu lozinku.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "Broj rizičnih lozinki koje $ORGANIZATION$ traži da promijeniš: $COUNT$.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Broj rizičnih lozinki koje tvoja orgnaizacija traži da promijeniš: $COUNT$.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Pregledaj i promijeni jednu rizičnu lozinku"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Broj rizičnih lozinki za pregled i promjenu: $COUNT$",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Brže promijeni rizične lozinke"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Ažuriraj svoje postavke kako za brzu auto-ispunu svojih lozinki i generiranje novih"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Pregledaj rizične prijave"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Pregdledaj rizične lozinke"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Lozinke tvoje organizacije su rizične jer su slabe, nanovo korištene i/ili iscurile.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Ilustracija liste rizičnih prijava"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Brzo generiraj jake, jedinstvene lozinke koristeći Bitwarden dijalog auto-ispune direktno na stranici.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Ilustracija Bitwarden dijalog auto-ispune s prikazom generirane lozinke"
+ },
+ "updateInBitwarden": {
+ "message": "Ažuriraj u Bitwardenu"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden će te pitati treba li ažurirati lozinku u upravitelju lozinki.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Ilustracija Bitwarden upita za ažuriranje prijave"
+ },
+ "turnOnAutofill": {
+ "message": "Uključi auto-ispunu"
+ },
+ "turnedOnAutofill": {
+ "message": "Auto-ispuna uključena"
+ },
+ "dismiss": {
+ "message": "Odbaci"
+ },
"websiteItemLabel": {
"message": "Web stranica $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Spremljene promjene blokiranih domena"
+ },
"excludedDomainsSavedSuccess": {
"message": "Spremljene promjene izuzete domene"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Pogreška"
},
+ "decryptionError": {
+ "message": "Pogreška pri dešifriranju"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden nije mogao dešifrirati sljedeće stavke trezora."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Kontaktiraj službu za korisnike",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "kako bi izbjegli gubitak podataka.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generiraj korisničko ime"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ je odbio tvoj zahtjev. Obrati se svom pružatelju usluga za pomoć.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ je odbio tvoj zahtjev: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Nije moguće dobiti $SERVICENAME$ maskirani ID računa e-pošte.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Postavke su izmijenjene"
- },
- "environmentEditedClick": {
- "message": "Klikni ovdje"
- },
- "environmentEditedReset": {
- "message": "za ponovno postavljanje zadanih postavki"
- },
"serverVersion": {
"message": "Verzija poslužitelja"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Prijava glavnom lozinkom"
},
- "loggingInAs": {
- "message": "Prijava kao"
- },
- "notYou": {
- "message": "Nisi ti?"
- },
"newAroundHere": {
"message": "Novi korisnik?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Prijava uređajem"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Prijava uređajem mora biti namještena u postavka Bitwarden mobilne aplikacije. Trebaš drugu opciju?"
- },
"fingerprintPhraseHeader": {
"message": "Jedinstvena fraza"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Pogledaj sve mogućnosti prijave"
},
- "viewAllLoginOptionsV1": {
- "message": "Pogledaj sve mogućnosti prijave"
- },
"notificationSentDevice": {
"message": "Obavijest je poslana na tvoj uređaj."
},
+ "notificationSentDevicePart1": {
+ "message": "Otključaj Bitwarden na svojem uređaju ili na"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web trezoru"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Provjeri slaže li se jedinstvena fraza s ovdje prikazanom prije odobravanja."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Obavijest je poslana na tvoj uređaj"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Provjeri je li trezor otključan i slaže li se jedinstvena fraza s drugim uređajem"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Dobiti ćeš obavijest kada je tvoj zahtjev odobren"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Prijava pokrenuta"
},
+ "logInRequestSent": {
+ "message": "Zahtjev poslan"
+ },
"exposedMasterPassword": {
"message": "Ukradena glavna lozinka"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Zatraži odobrenje administratora"
},
- "approveWithMasterPassword": {
- "message": "Odobri glavnom lozinkom"
- },
"ssoIdentifierRequired": {
"message": "Potreban je identifikator organizacije."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Tvoj zahtjev je poslan administratoru."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Dobiti ćeš obavijest kada bude odobreno."
- },
"troubleLoggingIn": {
"message": "Problem s prijavom?"
},
@@ -3396,38 +3649,6 @@
"message": "Sažmi/Proširi",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Uvezi svoje podatke u Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Zaštititi svoje LastPass podatke i uvezi ih u Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Spremi kao nekriptiranu datoteku",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Uvezi u Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Uvoz...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Uvoz podataka u trezor uspješan!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Greška pri uvozu. Provjeri konzolu za detalje.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Došlo je do mrežne greške tijekom uvoza.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domene"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktivni račun"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden račun"
+ },
"availableAccounts": {
"message": "Dostupni računi"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Prijedlozi auto-ispune"
},
+ "itemSuggestions": {
+ "message": "Predložene stavke"
+ },
"autofillSuggestionsTip": {
"message": "Spremi u auto-ispunu stavku prijave za ovu stranicu"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Kopiraj $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Nema vrijednosti za kopiranje"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Naziv stavke"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "S dopuštenjima samo za prikaz ne možeš ukloniti zbirke: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organizacija je deaktivirana"
},
@@ -4248,7 +4480,7 @@
"message": "Vjerodajnice za prijavu"
},
"authenticatorKey": {
- "message": "Kôd za provjeru"
+ "message": "Ključ autentifikatora"
},
"autofillOptions": {
"message": "Postavke auto-ispune"
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Ponovno poredaj URI. Koristi tipke sa strelicom za pomicanje stavke gore ili dolje."
+ },
"reorderFieldUp": {
"message": "$LABEL$ pomaknut gore, pozicija $INDEX$ od $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Ništa nije odabrano."
},
- "movedItemsToOrg": {
- "message": "Odabrane stavke premještene u $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Stavke premještene u $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Send tekstovi"
},
- "bitwardenNewLook": {
- "message": "Bitwarden ima novi izgled!"
- },
- "bitwardenNewLookDesc": {
- "message": "Auto-ispuna i pretraga iz kartice Trezor je lakša i intuitivnija nego ikad prije. Razgledaj!"
- },
"accountActions": {
"message": "Radnje na računu"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Nemaš prava za uređivanje ove stavke"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometrijsko otključavanje nije dostupno jer je prvo potrebno otključati PIN-om ili lozinkom."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometrijsko otključavanje trenutno nije dostupno."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometrijsko otključavanje nije dostupno zbog pogrešno konfiguriranih sistemskih datoteka."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometrijsko otključavanje nije dostupno zbog pogrešno konfiguriranih sistemskih datoteka."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometrijsko otključavanje nije dostupno jer je Bitwarden dekstop aplikacija zatvorena."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometrijsko otključavanje nije dostupno jer nije omogućeno za $EMAIL$ u Bitwarden desktop aplikaciji.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometrijsko otključavanje trenutno nije dostupno iz nepoznatog razloga."
+ },
"authenticating": {
"message": "Autentifikacija"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Ekstra široko"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Unesena lozinka nije ispravna."
+ },
+ "importSshKey": {
+ "message": "Uvoz"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Potvrdi lozinku"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Unesi lozinku za SSH ključ."
+ },
+ "enterSshKeyPassword": {
+ "message": "Unesi lozinku"
+ },
+ "invalidSshKey": {
+ "message": "SSH ključ nije valjan"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Tip SSH ključa nije podržan"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Uvezi ključ iz međuspremnika"
+ },
+ "sshKeyImported": {
+ "message": "SSH ključ uspješno uvezen"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "S dopuštenjima samo za prikaz ne možeš ukloniti zbirke: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Molimo, ažuriraj svoju desktop aplikaciju"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Za korištenje biometrijskog otključavanja ažuriraj desktop aplikaciju ili nemogući otključavanje otiskom prsta u desktop aplikaciji."
+ },
+ "changeAtRiskPassword": {
+ "message": "Promijeni rizičnu lozinku"
}
}
diff --git a/apps/browser/src/_locales/hu/messages.json b/apps/browser/src/_locales/hu/messages.json
index 8b8c9722909..80b1dbf095d 100644
--- a/apps/browser/src/_locales/hu/messages.json
+++ b/apps/browser/src/_locales/hu/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Mesterjelszó emlékeztető (nem kötelező)"
},
+ "passwordStrengthScore": {
+ "message": "A jelszó erősségi pontszáma $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Csatlakozás szervezethez"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Jegyzet másolása"
},
+ "copy": {
+ "message": "Másolás",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Kitöltés",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Adjuk meg fiók email címét és elküldésre kerül a jelszóra vonatkozó tipp."
},
- "passwordHint": {
- "message": "Jelszó emlékeztető"
- },
- "enterEmailToGetHint": {
- "message": "Írd be a felhasználóhoz kötött e-mail címed, hogy megkapd a mesterjelszó emlékeztetőt."
- },
"getMasterPasswordHint": {
"message": "Kérj mesterjelszó emlékeztetőt"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Mappa szerkesztése"
},
+ "editFolderWithName": {
+ "message": "Mappa szerkesztése: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Új mappa"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Jelmondat generálás"
},
+ "passwordGenerated": {
+ "message": "A jelszó generálásra került."
+ },
+ "passphraseGenerated": {
+ "message": "A jelmondat generálásra került."
+ },
+ "usernameGenerated": {
+ "message": "A felhasználónév generálásra került."
+ },
+ "emailGenerated": {
+ "message": "Az email generálásra került."
+ },
"regeneratePassword": {
"message": "Jelszó újragenerálása"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Hossz"
},
- "uppercase": {
- "message": "Nagybetűs (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Kisbetűs (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Számok (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Speciális karakterek (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Bevonás",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Speciális karakterek bevonása",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Szavak száma"
},
@@ -644,9 +652,15 @@
"browserNotSupportClipboard": {
"message": "A webböngésződ nem támogat könnyű vágólap másolást. Másold manuálisan inkább."
},
- "verifyIdentity": {
+ "verifyYourIdentity": {
"message": "Személyazonosság ellenőrzése"
},
+ "weDontRecognizeThisDevice": {
+ "message": "Nem ismerhető fel ez az eszköz. Írjuk be az email címünkre küldött kódot a személyazonosság igazolásához."
+ },
+ "continueLoggingIn": {
+ "message": "A bejelentkezés folytatása"
+ },
"yourVaultIsLocked": {
"message": "A széf zárolásra került. A folytatáshoz meg kell adni a mesterjelszót."
},
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Bejelentkezés a Bitwardenbe"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Adjuk meg az email címre elküldött kódot."
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Adjuk meg a hitelesítő alkalmazása által generált kódot."
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Nyomjuk meg a YubiKey-t a hitelesítéshez."
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo kétlépcsős bejelentkezés szükséges a fiókhoz. Kövessük az alábbi lépéseket a bejelentkezés befejezéséhez."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Kövessük az alábbi lépéseket a bejelentkezés befejezéséhez."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Nem"
},
+ "location": {
+ "message": "Hely"
+ },
"unexpectedError": {
"message": "Váratlan hiba történt."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Egy elem hozzáadásának kérése, ha az nem található a széfben. Minden bejelentkezett fiókra vonatkozik."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Mindig jelenítse meg a kártyákat automatikus kitöltési javaslatként a Széf nézetben"
},
"showCardsCurrentTab": {
"message": "Kártyák megjelenítése a Fül oldalon"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Kártyaelemek listázása a Fül oldalon a könnyű automatikus kitöltéshez."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Mindig jelenítse meg a személyazonosságokat automatikus kitöltési javaslatként a Széf nézetben"
},
"showIdentitiesCurrentTab": {
"message": "Azonosítások megjelenítése a Fül oldalon"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Kattintsunk az elemekre az automatikus kitöltéshez a Széf nézetben"
},
+ "clickToAutofill": {
+ "message": "A kitöltéshez kattintsunk az automatikus kitöltési javaslat elemeire."
+ },
"clearClipboard": {
"message": "Vágólap ürítése",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Mentés"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ mentésre került a Bitwardenben.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ frissítésre került a Bitwardenben.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Mentés új bejelentkezésként",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Bejelentkezés frissítése",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Bejelentkezés mentése?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Létező bejelentkezés frissítése?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "A bejelentkezés mentésre került.",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "A bejelentkezés frissítésre került.",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Hiba történt a bejelentkezés mentésekor.",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Létező bejelentkezés frissítés kérése"
},
@@ -1084,10 +1169,6 @@
"message": "Világos",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Szolarizált sötét",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exportálás innen:"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Prémium funkció megvásárlása"
},
- "premiumPurchaseAlert": {
- "message": "A prémium tagság megvásárolható a bitwarden.com webes széfben. Szeretnénk felkeresni a webhelyet most?"
- },
"premiumPurchaseAlertV2": {
"message": "Prémium szolgáltatást vásárolhatunk a Bitwarden webalkalmazás fiókbeállításai között."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Emlékezz rám"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Ne kérdezzen újra ezen az eszközön 30 napig"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Megerősítő kód e-mail újra küldése"
},
"useAnotherTwoStepMethod": {
"message": "Más két lépcsős bejelentkezés használata"
},
+ "selectAnotherMethod": {
+ "message": "Másik módszer választás",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Helyreállító kód használata"
+ },
"insertYubiKey": {
"message": "Illeszd be a YubiKey-t a számítógéped egyik USB portjába, majd nyomd meg a gombját."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Új fül megnyitása"
},
+ "openInNewTab": {
+ "message": "Megnyitás új fülön"
+ },
"webAuthnAuthenticate": {
"message": "WebAutn hitelesítés"
},
+ "readSecurityKey": {
+ "message": "Biztonsági kulcs olvasása"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Várakozás a biztonsági kulcs interakciójára..."
+ },
"loginUnavailable": {
"message": "A bejelentkezés nem érhető el."
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Kétlépcsős bejelentkezés opciók"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Kétlépcsős bejelentkezési mód használata"
+ },
"recoveryCodeDesc": {
"message": "Elveszett a hozzáférés az összes kétlépcsős szolgáltatóhoz? A helyreállító kód használatával letilthatók fiókból a kétlépcsős szolgáltatók."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Saját üzemeltetésű környezet"
},
- "selfHostedEnvironmentFooter": {
- "message": "A helyileg működtetett Bitwarden telepítés alap webcímének megadása."
- },
"selfHostedBaseUrlHint": {
"message": "Adjuk meg a helyileg tárolt Bitwarden telepítés alap webcímét. Példa: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Egyedi környezet"
},
- "customEnvironmentFooter": {
- "message": "Haladó felhasználóknak. Minden egyes szolgáltatás alap URL-jét külön megadhatod."
- },
"baseUrl": {
"message": "Szerver URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Húzás a rendezéshez"
},
+ "dragToReorder": {
+ "message": "Átrendezés áthúzással"
+ },
"cfTypeText": {
"message": "Szöveg"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Felhasználónév generátor"
},
+ "useThisEmail": {
+ "message": "Ezen email használata"
+ },
"useThisPassword": {
"message": "Jelszó használata"
},
@@ -2063,12 +2163,24 @@
"message": "erős egyedi jelszó létrehozásához",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Széf testreszabás"
+ },
"vaultTimeoutAction": {
"message": "Széf időkifutás művelet"
},
"vaultTimeoutAction1": {
"message": "Időkifutási művelet"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Új testreszabási opciók"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Szabjuk testre tárhely élményét gyors másolási műveletekkel, kompakt móddal és még sok mással!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Az összes megjelenési beállítás megtekintése"
+ },
"lock": {
"message": "Lezárás",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Tartomány",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Letiltott tartományok"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "További információ a letiltott tartományokról"
+ },
"excludedDomains": {
"message": "Kizárt domainek"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "A Bitwarden nem kéri a bejelentkezési adatok mentését ezeknél a tartományoknál az összes bejelentkezési fiókra vonatkozva. A változtatások életbe lépéséhez frissíteni kell az oldalt."
},
+ "blockedDomainsDesc": {
+ "message": "Az automatikus kitöltés és az egyéb kapcsolódó funkciók ezeken a webhelyeken nincsenek a kínálatban. A változtatások életbe lépéséhez frissíteni kell az oldalt."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Az automatikus kitöltés blokkolásra került ezen a webhelyen."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Megváltoztatás a beállításokban"
+ },
+ "change": {
+ "message": "Módosítás"
+ },
+ "changeButtonTitle": {
+ "message": "Jelszó módosítás - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Veszélyes jelszavak"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ egy jelszó megváltoztatását kéri, mert az kockázatos.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ $COUNT$ jelszó megváltoztatását kéri, mert azok kockázatosak.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "A szervezetek $COUNT$ jelszó megváltoztatását kérik, mert azok kockázatosak.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Tekintsük át és módosítsuk az egyik veszélyeztetett jelszót."
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Tekintsük át és módosítsunk $COUNT$ kockázatnak kitett jelszót.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Változtassuk meg gyorsabban a veszélyeztetett jelszavakat."
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Frissítsük a beállításokat, hogy gyorsan automatikusan kitölthessük a jelszavakat és újakat generálhassunk."
+ },
+ "reviewAtRiskLogins": {
+ "message": "Kockázatos bejelentkezések áttekintése"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Kockázatos jelszavak áttekintése"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "A szervezeti jelszavak kockázatosak, mert gyengék, újra felhasználásra kerültek és/vagy nyilvánosságra kerültek.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "A kockázatos bejelentkezések listájának illusztrációja"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Gyorsan generálhatunk erős, egyedi jelszót a Bitwarden automatikus kitöltési menüjével a kockázatos webhelyen.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "A Bitwarden automatikus kitöltési menüjének illusztrációja, amely egy generált jelszót jelenít meg."
+ },
+ "updateInBitwarden": {
+ "message": "Frissítés a Bitwardenben"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "A Bitwarden ezután felkér a jelszó frissítésére a jelszókezelőben.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illusztráció a Bitwarden értesítéséről, amely felszólítja a felhasználót a bejelentkezési adatok frissítésére."
+ },
+ "turnOnAutofill": {
+ "message": "Automatikus kitöltés bekapcsolása"
+ },
+ "turnedOnAutofill": {
+ "message": "Az automatikus kitöltés bekapcsolásra került."
+ },
+ "dismiss": {
+ "message": "Elvetés"
+ },
"websiteItemLabel": {
"message": "Webhely $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "A letiltott tartomány módosítások mentésre kerültek."
+ },
"excludedDomainsSavedSuccess": {
"message": "A kizárt tartomány módosítások mentésre kerültek."
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Hiba"
},
+ "decryptionError": {
+ "message": "Visszafejtési hiba"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "A Bitwarden nem tudta visszafejteni az alább felsorolt széf elemeket."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Ügyfélszolgálat elérése",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "további adatvesztés elkerülése érdekében.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Felhasználónév generálása"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ elutasította a kérést. Vegyük fel a kapcsolatot szolgáltatóval segítségért.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ elutasította a kérést: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Nem lehet beolvasni $SERVICENAME$ maszkolt email fiók azonosítót.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "A beállítások szerkesztésre kerültek."
- },
- "environmentEditedClick": {
- "message": "Kattintás ide"
- },
- "environmentEditedReset": {
- "message": "az előre konfigurált beállítások visszaállításához."
- },
"serverVersion": {
"message": "Szerver verzió"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Bejelentkezés mesterjelszóval"
},
- "loggingInAs": {
- "message": "Bejelentkezve mint"
- },
- "notYou": {
- "message": "Ez tévedés?"
- },
"newAroundHere": {
"message": "Új felhasználó vagyunk?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Bejelentkezés eszközzel"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Az eszközzel történő bejelentkezést a Biwarden mobilalkalmazás beállításaiban kell beállítani. Másik opcióra van szükség?"
- },
"fingerprintPhraseHeader": {
"message": "Ujjlenyomat kifejezés"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Összes bejelentkezési opció megtekintése"
},
- "viewAllLoginOptionsV1": {
- "message": "Összes bejelentkezési opció megtekintése"
- },
"notificationSentDevice": {
"message": "Egy értesítés lett elküldve az eszközre."
},
+ "notificationSentDevicePart1": {
+ "message": "A Bitwarden zárolás feloldása az eszközön vagy: "
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "webalkalmazás"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Jóváhagyás előtt győződjünk meg arról, hogy az ujjlenyomat kifejezés megegyezik az alábbi kifejezéssel."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Egy értesítés lett elküldve az eszközre."
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Ellenőrizzük, hogy a széf feloldásra került és az ujjlenyomat kifejezés egyezik a másik eszközön levővel."
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "A kérelem jóváhagyása után értesítés érkezik."
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "A bejelentkezés elindításra került."
},
+ "logInRequestSent": {
+ "message": "A kérés elküldésre került."
+ },
"exposedMasterPassword": {
"message": "Kiszivárgott mesterjelszó"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Adminisztrátori jóváhagyás kérés"
},
- "approveWithMasterPassword": {
- "message": "Jóváhagyás mesterjelszóval"
- },
"ssoIdentifierRequired": {
"message": "A szervezeti SSO azonosító megadása szükséges."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "A kérés elküldésre került az adminisztrátornak."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "A jóváhagyás után értesítés érkezik."
- },
"troubleLoggingIn": {
"message": "Probléma van a bejelentkezéssel?"
},
@@ -3396,38 +3649,6 @@
"message": "Összezárás váltás",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Adatok importálása a Bitwardenbe?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "A LastPass adatok megvédése és importálása a Bitwardenbe?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Mentés titkosítatlan fájlként",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importálás a Bitwardenbe",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importálás...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Az adatok sikeresen importálásra kerültek.",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Hiba történt az importálás során. A részletekért ellenőrizzük a konzolt.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Hálózati hiba történt az importálás során.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Áldomain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktív fiók"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden fiók"
+ },
"availableAccounts": {
"message": "Elérhető fiókok"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Automatikus kitöltés javaslatok"
},
+ "itemSuggestions": {
+ "message": "Javasolt elemek"
+ },
"autofillSuggestionsTip": {
"message": "A bejelentkezési elem mentése ehhez a webhelyhez az automatikus kitöltéshez"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "$FIELD$, $VALUE$ másolása",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Nincsenek másolandó értékek."
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Elem neve"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Nem távolíthatók el a csak megtekintési engedéllyel bíró gyűjtemények: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "A webhely URI átrendezése. A nyílbillentyűkkel mozgassuk az elemet felfelé vagy lefelé."
+ },
"reorderFieldUp": {
"message": "$LABEL$ feljebb került, $INDEX$/$LENGTH$ pozícióba",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Szöveg küldés"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Fiókműveletek"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Nincs jogosulltság ezen elem szerkesztéséheu."
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "A biometrikus feloldás nem érhető el, mert először PIN kóddal vagy jelszóval kell feloldani."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "A biometrikus feloldás jelenleg nem érhető el."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "A biometrikus feloldás nem érhető el a rosszul konfigurált rendszerfájlok miatt."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "A biometrikus feloldás nem érhető el a rosszul konfigurált rendszerfájlok miatt."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "A biometrikus feloldás nem érhető el, mert a Bitwarden asztali alkalmazás be van zárva."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "A biometrikus feloldás nem érhető el, mert nincs engedélyezve $EMAIL$ számára a Bitwarden asztali alkalmazásban.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "A biometrikus feloldás jelenleg ismeretlen okból nem érhető el."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra széles"
+ },
+ "sshKeyWrongPassword": {
+ "message": "A megadott jelszó helytelen."
+ },
+ "importSshKey": {
+ "message": "Importálás"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Jelszó megerősítése"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Adjuk meg az SSH kulcs jelszót."
+ },
+ "enterSshKeyPassword": {
+ "message": "Jelszó megadása"
+ },
+ "invalidSshKey": {
+ "message": "Az SSH kulcs érvénytelen."
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Az SSH kulcstípus nem támogatott."
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Kulcs importálása vágólapból"
+ },
+ "sshKeyImported": {
+ "message": "Az SSH kulcs sikeresen importálásra került."
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Nem távolíthatók el a csak megtekintési engedéllyel bíró gyűjtemények: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Frissítsük az asztali alkalmazást."
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "A biometrikus feloldás használatához frissítsük az asztali alkalmazást vagy tiltsuk le az ujjlenyomatos feloldást az asztali beállításokban."
+ },
+ "changeAtRiskPassword": {
+ "message": "Kockázatos jelszó megváltoztatása"
}
}
diff --git a/apps/browser/src/_locales/id/messages.json b/apps/browser/src/_locales/id/messages.json
index 7b1ad51e0b7..0146fb2a000 100644
--- a/apps/browser/src/_locales/id/messages.json
+++ b/apps/browser/src/_locales/id/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Petunjuk Kata Sandi Utama (opsional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Bergabung ke organisasi"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Salin catatan"
},
+ "copy": {
+ "message": "Salin",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Isikan",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Masukkan alamat surel akun Anda dan petunjuk kata sandi Anda akan dikirimkan kepada Anda"
},
- "passwordHint": {
- "message": "Petunjuk Kata Sandi"
- },
- "enterEmailToGetHint": {
- "message": "Masukkan email akun Anda untuk menerima pentunjuk sandi utama Anda."
- },
"getMasterPasswordHint": {
"message": "Dapatkan petunjuk sandi utama"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Sunting Folder"
},
+ "editFolderWithName": {
+ "message": "Sunting folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Folder baru"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Buat frasa sandi"
},
+ "passwordGenerated": {
+ "message": "Kata sandi dibuat"
+ },
+ "passphraseGenerated": {
+ "message": "Frasa sandi dibuat"
+ },
+ "usernameGenerated": {
+ "message": "Nama pengguna dibuat"
+ },
+ "emailGenerated": {
+ "message": "Surel dibuat"
+ },
"regeneratePassword": {
"message": "Buat Ulang Kata Sandi"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Panjang"
},
- "uppercase": {
- "message": "Huruf besar (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Huruf kecil (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Angka (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "karakter khusus (contoh.! @#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Sertakan",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Sertakan karakter khusus",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Jumlah Kata"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Peramban Anda tidak mendukung menyalin clipboard dengan mudah. Salin secara manual."
},
- "verifyIdentity": {
- "message": "Verifikasi Identitas Anda"
+ "verifyYourIdentity": {
+ "message": "Verifikasikan identitas Anda"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Brankas Anda terkunci. Verifikasi kata sandi utama Anda untuk melanjutkan."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Masuk ke Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Mulai ulang pendaftaran"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Tidak"
},
+ "location": {
+ "message": "Lokasi"
+ },
"unexpectedError": {
"message": "Terjadi kesalahan yang tak diduga."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Tanyakan untuk menambah sebuah benda jika benda itu tidak ditemukan di brankas Anda. Diterapkan ke seluruh akun yang telah masuk."
},
- "showCardsInVaultView": {
- "message": "Tampilkan kartu sebagai saran isi otomatis pada tampilan Brankas"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Tamplikan kartu pada halaman Tab"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Buat tampilan daftar benda dari kartu pada halaman Tab untuk isi otomatis yang mudah."
},
- "showIdentitiesInVaultView": {
- "message": "Tampilkan identitas sebagai saran isi otomatis pada tampilan Brankas"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Tampilkan identitas pada halaman Tab"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Hapus Papan Klip",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Iya, Simpan Sekarang"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Tanyakan untuk memperbarui masuk yang sudah ada"
},
@@ -1084,10 +1169,6 @@
"message": "Terang",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Gelap Solarized",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Ekspor dari"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Beli Keanggotaan Premium"
},
- "premiumPurchaseAlert": {
- "message": "Anda dapat membeli keanggotaan premium di brankas web bitwarden.com. Anda ingin mengunjungi situs web sekarang?"
- },
"premiumPurchaseAlertV2": {
"message": "Anda dapat membeli Premium dari pilihan akun Anda pada aplikasi web Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Ingat saya"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Kirim ulang email kode verifikasi"
},
"useAnotherTwoStepMethod": {
"message": "Gunakan metode masuk dua langkah lainnya"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Masukkan YubiKey Anda ke port USB komputer Anda, lalu sentuh tombolnya."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Buka tab baru"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Autentikasi dengan WebAuthn."
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Info Masuk Tidak Tersedia"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Opsi Info Masuk Dua Langkah"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Kehilangan akses ke semua penyedia dua faktor Anda? Gunakan kode pemulihan untuk menonaktifkan semua penyedia dua faktor dari akun Anda."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Lingkungan Penyedia Personal"
},
- "selfHostedEnvironmentFooter": {
- "message": "Tetapkan URL dasar penyedia personal pemasangan Bitwarden Anda."
- },
"selfHostedBaseUrlHint": {
"message": "Tentukan URL dasar dari pemasangan Bitwarden di server Anda. Contoh: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Lingkungan Khusus"
},
- "customEnvironmentFooter": {
- "message": "Untuk pengguna tingkat lanjut. Anda bisa menentukan basis dari URL masing-masing layanan secara independen."
- },
"baseUrl": {
"message": "URL Server"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Seret untuk mengurutkan"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Teks"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Pembuat nama pengguna"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Gunakan kata sandi ini"
},
@@ -2063,12 +2163,24 @@
"message": "untuk membuat sebuah kata sandi unit yang kuat",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Tindakan Batas Waktu Brankas"
},
"vaultTimeoutAction1": {
"message": "Batas waktu tindakan"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Kunci",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domain",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Domain yang Dikecualikan"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden tidak akan meminta untuk menyimpan rincian login untuk domain tersebut. Anda harus menyegarkan halaman agar perubahan diterapkan."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Ubah"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Situs web $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Perubahan domain yang diabaikan telah disimpan"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Galat"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Buat nama pengguna baru"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Gagal mendapatkan akun ID surel bertopeng dari $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Pengaturan telah disunting"
- },
- "environmentEditedClick": {
- "message": "Tekan di sini"
- },
- "environmentEditedReset": {
- "message": "untuk mengatur ulang ke pengaturan awal"
- },
"serverVersion": {
"message": "Versi server"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Masuk dengan kata sandi utama"
},
- "loggingInAs": {
- "message": "Masuk sebagai"
- },
- "notYou": {
- "message": "Bukan Anda?"
- },
"newAroundHere": {
"message": "Baru di sini?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Masuk dengan perangkat"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Masuk dengan perangkat harus diatur di pengaturan aplikasi Bitwarden. Perlu pilihan lainnya?"
- },
"fingerprintPhraseHeader": {
"message": "Frasa sidik jari"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Lihat semua pilihan masuk"
},
- "viewAllLoginOptionsV1": {
- "message": "Lihat semua pilihan masuk"
- },
"notificationSentDevice": {
"message": "Sebuah pemberitahuan dikirim ke perangkat Anda."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Sebuah pemberitahuan telah dikirim ke perangkat Anda"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Pastikan akun Anda terbuka dan frasa sidik jari cocok pada perangkat lainnya"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Anda akan diberitahu setelah permintaan disetujui"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Memulai login"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Kata Sandi Utama yang Terpapar"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Minta persetujuan admin"
},
- "approveWithMasterPassword": {
- "message": "Setujui dengan kata sandi utama"
- },
"ssoIdentifierRequired": {
"message": "Pengenal SSO organisasi diperlukan."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Permintaan Anda telah dikirim ke admin Anda."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Anda akan diberitahu setelah disetujui."
- },
"troubleLoggingIn": {
"message": "Kesulitan masuk?"
},
@@ -3396,38 +3649,6 @@
"message": "Saklar lipat",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Impor data Anda ke Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Lindungi data LastPass Anda dan impor ke Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Simpan sebagai berkas yang tidak dienkripsi",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Impor ke Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Mengimpor...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data berhasil diimpor!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Gagal mengimpor. Periksa konsol untuk rinciannya.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Kesalahan jaringan ditemui ketika mengimpor.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Domain alias"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Akun aktif"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Akun yang tersedia"
},
@@ -3979,7 +4203,10 @@
"message": "Kunci sandi dihapus"
},
"autofillSuggestions": {
- "message": "Saran isi otomatis"
+ "message": "Autofill suggestions"
+ },
+ "itemSuggestions": {
+ "message": "Suggested items"
},
"autofillSuggestionsTip": {
"message": "Simpan benda login untuk situs ini ke isi otomatis"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Tidak ada nilai untuk disalin"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Nama benda"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Anda tidak dapat menghapus koleksi dengan izin hanya lihat: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organisasi dinonaktifkan"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,14 +4783,8 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
- "message": "Account actions"
+ "message": "Tindakan akun"
},
"showNumberOfAutofillSuggestions": {
"message": "Show number of login autofill suggestions on extension icon"
@@ -4573,22 +4793,22 @@
"message": "Show quick copy actions on Vault"
},
"systemDefault": {
- "message": "System default"
+ "message": "Baku sistem"
},
"enterprisePolicyRequirementsApplied": {
- "message": "Enterprise policy requirements have been applied to this setting"
+ "message": "Persyaratan kebijakan perusahaan telah diterapkan ke pengaturan ini"
},
"sshPrivateKey": {
- "message": "Private key"
+ "message": "Kunci privat"
},
"sshPublicKey": {
- "message": "Public key"
+ "message": "Kunci publik"
},
"sshFingerprint": {
- "message": "Fingerprint"
+ "message": "Sidik jari"
},
"sshKeyAlgorithm": {
- "message": "Key type"
+ "message": "Tipe kunci"
},
"sshKeyAlgorithmED25519": {
"message": "ED25519"
@@ -4603,7 +4823,7 @@
"message": "RSA 4096-Bit"
},
"retry": {
- "message": "Retry"
+ "message": "Coba lagi"
},
"vaultCustomTimeoutMinimum": {
"message": "Minimum custom timeout is 1 minute."
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4828,16 +5075,16 @@
}
},
"newDeviceVerificationNoticePageOneEmailAccessNo": {
- "message": "No, I do not"
+ "message": "Tidak"
},
"newDeviceVerificationNoticePageOneEmailAccessYes": {
- "message": "Yes, I can reliably access my email"
+ "message": "Ya, saya dapat mengakses surel saya secara handla"
},
"turnOnTwoStepLogin": {
"message": "Turn on two-step login"
},
"changeAcctEmail": {
- "message": "Change account email"
+ "message": "Ubah surel akun"
},
"extensionWidth": {
"message": "Lebar ekstensi"
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Ekstra lebar"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Kata sandi yang Anda masukkan tidak benar."
+ },
+ "importSshKey": {
+ "message": "Impor"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Konfirmasi kata sandi"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Masukkan kata sandi untuk kunci SSH."
+ },
+ "enterSshKeyPassword": {
+ "message": "Masukkan kata sandi"
+ },
+ "invalidSshKey": {
+ "message": "Kunci SSH tidak valid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Tipe kunci SSH tidak didukung"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Impor kunci dari papan klip"
+ },
+ "sshKeyImported": {
+ "message": "Kunci SSH sukses diimpor"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Anda tidak dapat menghapus koleksi dengan izin hanya lihat: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Harap perbarui aplikasi desktop Anda"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Untuk memakai pembuka kunci biometrik, harap perbarui aplikasi desktop Anda, atau matikan buka kunci sidik jari dalam pengaturan desktop."
+ },
+ "changeAtRiskPassword": {
+ "message": "Ubah kata sandi yang berrisiko"
}
}
diff --git a/apps/browser/src/_locales/it/messages.json b/apps/browser/src/_locales/it/messages.json
index 6490a441832..cb8e414ca37 100644
--- a/apps/browser/src/_locales/it/messages.json
+++ b/apps/browser/src/_locales/it/messages.json
@@ -20,7 +20,7 @@
"message": "Crea account"
},
"newToBitwarden": {
- "message": "Nuovo in Bitwarden?"
+ "message": "Sei un nuovo utente?"
},
"logInWithPasskey": {
"message": "Accedi con passkey"
@@ -29,7 +29,7 @@
"message": "Usa il Single Sign-On"
},
"welcomeBack": {
- "message": "Bentornato"
+ "message": "Bentornat*"
},
"setAStrongPassword": {
"message": "Imposta una password robusta"
@@ -62,7 +62,7 @@
"message": "Un suggerimento per la password principale può aiutarti a ricordarla se la dimentichi."
},
"masterPassHintText": {
- "message": "Se dimentichi la password, il suggerimento password può essere inviato alla tua email. $CURRENT$/$MAXIMUM$ massimo carattere.",
+ "message": "Se dimentichi la password, il suggerimento password può essere inviato alla tua email. Attualmente $CURRENT$ caratteri, massimo $MAXIMUM$.",
"placeholders": {
"current": {
"content": "$1",
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Suggerimento per la password principale (facoltativo)"
},
+ "passwordStrengthScore": {
+ "message": "Complessità password: $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Unisciti all'organizzazione"
},
@@ -150,7 +159,7 @@
"message": "Copia numero passaporto"
},
"copyLicenseNumber": {
- "message": "Copia numero licenza"
+ "message": "Copia numero patente"
},
"copyPrivateKey": {
"message": "Copia chiave privata"
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copia note"
},
+ "copy": {
+ "message": "Copia",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Riempi",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -193,10 +206,10 @@
"message": "Riempi automaticamente identità"
},
"fillVerificationCode": {
- "message": "Riempi codice di verifica"
+ "message": "Inserisci codice di verifica"
},
"fillVerificationCodeAria": {
- "message": "Riempi Codice di Verifica",
+ "message": "Inserisci codice di verifica",
"description": "Aria label for the heading displayed the inline menu for totp code autofill"
},
"generatePasswordCopied": {
@@ -239,7 +252,7 @@
"message": "Aggiungi elemento"
},
"accountEmail": {
- "message": "Email dell'account"
+ "message": "Account email"
},
"requestHint": {
"message": "Richiedi suggerimento"
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Inserisci l'indirizzo email dell'account e ti invieremo il tuo suggerimento per la password"
},
- "passwordHint": {
- "message": "Suggerimento per la password"
- },
- "enterEmailToGetHint": {
- "message": "Inserisci l'indirizzo email del tuo account per ricevere il suggerimento per la password principale."
- },
"getMasterPasswordHint": {
"message": "Ottieni suggerimento della password principale"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Modifica cartella"
},
+ "editFolderWithName": {
+ "message": "Modifica cartella: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Nuova cartella"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Genera passphrase"
},
+ "passwordGenerated": {
+ "message": "Parola d'accesso generata"
+ },
+ "passphraseGenerated": {
+ "message": "Frase d'accesso generata"
+ },
+ "usernameGenerated": {
+ "message": "Nome utente generato"
+ },
+ "emailGenerated": {
+ "message": "E-mail generata"
+ },
"regeneratePassword": {
"message": "Rigenera password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Lunghezza"
},
- "uppercase": {
- "message": "Maiuscole (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Minuscole (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numeri (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Caratteri speciali (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Includi",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Includi caratteri speciali",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Numero di parole"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Il tuo browser non supporta copiare dagli appunti. Copialo manualmente."
},
- "verifyIdentity": {
- "message": "Verifica identità"
+ "verifyYourIdentity": {
+ "message": "Verifica la tua identità"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Inserisci il codice inviato alla tua e-mail per verificare la tua identità."
+ },
+ "continueLoggingIn": {
+ "message": "Continua l'accesso"
},
"yourVaultIsLocked": {
"message": "La tua cassaforte è bloccata. Verifica la tua identità per continuare."
@@ -854,8 +868,23 @@
"logInToBitwarden": {
"message": "Accedi a Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Inserisci il codice inviato alla tua e-mail"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Inserisci il codice dalla tua app di autenticazione"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Premi la tua YubiKey per accedere"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Il login Duo in due passaggi è richiesto per il tuo account. Segui i passaggi qui sotto per completare l'accesso."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Segui i passaggi qui sotto per completare l'accesso."
+ },
"restartRegistration": {
- "message": "Riprova la registrazione"
+ "message": "Ricomincia la registrazione"
},
"expiredLink": {
"message": "Link scaduto"
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Luogo"
+ },
"unexpectedError": {
"message": "Si è verificato un errore imprevisto."
},
@@ -891,7 +923,7 @@
"message": "Rendi il tuo account più sicuro impostando l'autenticazione a due fattori nell'app web di Bitwarden."
},
"twoStepLoginConfirmationTitle": {
- "message": "Aprire web app?"
+ "message": "Vuoi continuare sulla web app?"
},
"editedFolder": {
"message": "Cartella salvata"
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Chiedi di creare un nuovo elemento se non ce n'è uno nella tua cassaforte. Si applica a tutti gli account sul dispositivo."
},
- "showCardsInVaultView": {
- "message": "Mostra le carte come suggerimenti di riempimento automatico nella vista cassaforte"
+ "showCardsInVaultViewV2": {
+ "message": "Mostra sempre le carte come suggerimenti di riempimento automatico nella vista cassaforte"
},
"showCardsCurrentTab": {
"message": "Mostra le carte nella sezione Scheda"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Mostra le carte nella sezione Scheda per riempirle automaticamente."
},
- "showIdentitiesInVaultView": {
- "message": "Mostra le identità come suggerimenti di riempimento automatico nella vista cassaforte"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Mostra sempre le identità come suggerimenti di riempimento automatico nella vista cassaforte"
},
"showIdentitiesCurrentTab": {
"message": "Mostra le identità nella sezione Scheda"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Clicca gli oggetti da riempire dalla sezione Cassaforte"
},
+ "clickToAutofill": {
+ "message": "Clicca elementi nel suggerimento di riempimento automatico per riempire"
+ },
"clearClipboard": {
"message": "Cancella appunti",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Salva"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ salvato in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ aggiornato in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Salva come nuovo accesso",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Aggiorna accesso",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Salvare l'accesso?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Aggiornare l'accesso esistente?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Accesso salvato",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Accesso aggiornato",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Errore nel salvataggio",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! Non abbiamo potuto salvarlo. Prova a inserire manualmente i dettagli.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Chiedi di aggiornare il login esistente"
},
@@ -1084,10 +1169,6 @@
"message": "Chiaro",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Scuro solarizzato",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Esporta da"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Passa a Premium"
},
- "premiumPurchaseAlert": {
- "message": "Puoi acquistare il un abbonamento Premium dalla cassaforte web su bitwarden.com. Vuoi visitare il sito?"
- },
"premiumPurchaseAlertV2": {
"message": "Puoi acquistare Premium dalle impostazioni del tuo account sull'app web Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Ricordami"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Non chiedere più su questo dispositivo per 30 giorni"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Invia di nuovo l'email con codice di verifica"
},
"useAnotherTwoStepMethod": {
"message": "Usa un altro metodo di verifica in due passaggi"
},
+ "selectAnotherMethod": {
+ "message": "Seleziona un altro metodo",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Usa il tuo codice di recupero"
+ },
"insertYubiKey": {
"message": "Inserisci la tua YubiKey nella porta USB del computer, poi premi il suo pulsante."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Apri nuova scheda"
},
+ "openInNewTab": {
+ "message": "Apri in una nuova scheda"
+ },
"webAuthnAuthenticate": {
"message": "Autenticazione WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Leggi chiave di sicurezza"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "In attesa di interazione con la chiave di sicurezza..."
+ },
"loginUnavailable": {
"message": "Login non disponibile"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Opzioni di verifica in due passaggi"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Seleziona metodo di accesso in due passaggi"
+ },
"recoveryCodeDesc": {
"message": "Hai perso l'accesso a tutti i tuoi metodi di verifica in due passaggi? Usa il tuo codice di recupero per disattivarli tutti dal tuo account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Ambiente self-hosted"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specifica l'URL principale della tua installazione self-hosted di Bitwarden."
- },
"selfHostedBaseUrlHint": {
"message": "Specifica lo URL principale della tua installazione self-hosted di Bitwarden. Esempio: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Ambiente personalizzato"
},
- "customEnvironmentFooter": {
- "message": "Per utenti avanzati. Puoi specificare l'URL principale di ogni servizio indipendentemente."
- },
"baseUrl": {
"message": "URL del server"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Trascina per ordinare"
},
+ "dragToReorder": {
+ "message": "Trascina per riordinare"
+ },
"cfTypeText": {
"message": "Testo"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Generatore di nomi utente"
},
+ "useThisEmail": {
+ "message": "Usa questa e-mail"
+ },
"useThisPassword": {
"message": "Usa questa password"
},
@@ -2063,12 +2163,24 @@
"message": "per creare una password univoca robusta",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Personalizzazione cassaforte"
+ },
"vaultTimeoutAction": {
"message": "Azione timeout cassaforte"
},
"vaultTimeoutAction1": {
"message": "Azione al timeout"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Nuove opzioni di personalizzazione"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Personalizza l'esperienza della tua cassaforte con azioni di copia rapida, modalità compatta e altro ancora!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Vedi tutte le impostazioni di aspetto"
+ },
"lock": {
"message": "Blocca",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domini",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Domini bloccati"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Info sui domini bloccati"
+ },
"excludedDomains": {
"message": "Domini esclusi"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden non chiederà di salvare le credenziali di accesso per questi domini per tutti gli account sul dispositivo. Ricarica la pagina affinché le modifiche abbiano effetto."
},
+ "blockedDomainsDesc": {
+ "message": "Per questi siti, riempimento automatico e funzionalità simili non saranno disponibili. Ricarica la pagina per applicare le modifiche."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "La compilazione automatica è bloccata per questo sito."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Modifica questo nelle impostazioni"
+ },
+ "change": {
+ "message": "Cambia"
+ },
+ "changeButtonTitle": {
+ "message": "Cambia parola d'accesso - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Parola d'accesso a rischio"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ ti chiede di cambiare una parola d'accesso perché è a rischio.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ ti sta richiedendo di modificare $COUNT$ parole d'accesso perché sono a rischio.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Le tue organizzazioni ti chiedono di modificare le $COUNT$ parole d'accesso perché sono a rischio.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Rivedi e modifica una parola d'accesso a rischio"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Rivedi e modifica $COUNT$ parole d'accesso a rischio",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Cambia le parole d'accesso a rischio più velocemente"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Aggiorna le impostazioni in modo da poter rapidamente riempire automaticamente le parole d'accesso e generarne di nuove"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Redi accessi a rischio"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Rivedi parole d'accesso a rischio"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Le parole d'accesso dell'organizzazione sono a rischio perché sono deboli, riutilizzate, e/o esposte.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustrazione di un elenco di accessi a rischio"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Genera rapidamente una parola d'accesso forte e unica con il menu' di riempimento automatico Bitwarden nel sito a rischio.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustrazione del menu' di riempimento automatico Bitwarden che mostra una parola d'accesso generata"
+ },
+ "updateInBitwarden": {
+ "message": "Aggiorna in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden ti chiederà quindi di aggiornare la parola d'accesso nel gestore di parole d'accesso.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustrazione di una notifica Bitwarden che richiede all'utente di aggiornare l'accesso"
+ },
+ "turnOnAutofill": {
+ "message": "Attiva riempimento automatico"
+ },
+ "turnedOnAutofill": {
+ "message": "Riempimento automatico attivato"
+ },
+ "dismiss": {
+ "message": "Ignora"
+ },
"websiteItemLabel": {
"message": "Sito $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Modifiche ai domini bloccati salvate"
+ },
"excludedDomainsSavedSuccess": {
"message": "Modifiche del dominio escluso salvate"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Errore"
},
+ "decryptionError": {
+ "message": "Errore di decifrazione"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden non può decifrare gli elementi elencati di seguito."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contatta il cliente correttamente",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "per evitare ulteriori perdite di dati.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Genera nome utente"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ ha rifiutato la tua richiesta. Contatta il tuo fornitore di servizi per assistenza.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ ha respinto la tua richiesta: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Impossibile ottenere l'ID dell'account email mascherato di $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Impostazioni modificate"
- },
- "environmentEditedClick": {
- "message": "Clicca qui"
- },
- "environmentEditedReset": {
- "message": "per ritornare alle impostazioni preconfigurate"
- },
"serverVersion": {
"message": "Versione server"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Accedi con password principale"
},
- "loggingInAs": {
- "message": "Accedendo come"
- },
- "notYou": {
- "message": "Non sei tu?"
- },
"newAroundHere": {
"message": "Nuovo da queste parti?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Accedi con dispositivo"
},
- "loginWithDeviceEnabledInfo": {
- "message": "L'accesso con dispositivo deve essere abilitato nelle impostazioni dell'app Bitwarden. Ti serve un'altra opzione?"
- },
"fingerprintPhraseHeader": {
"message": "Frase impronta"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Visualizza tutte le opzioni di accesso"
},
- "viewAllLoginOptionsV1": {
- "message": "Visualizza tutte le opzioni di accesso"
- },
"notificationSentDevice": {
"message": "Una notifica è stata inviata al tuo dispositivo."
},
+ "notificationSentDevicePart1": {
+ "message": "Sblocca Bitwarden sul tuo dispositivo o su"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "app web"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Assicurarsi che la frase di impronta digitale corrisponda a quella sottostante prima dell'approvazione."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Una notifica è stata inviata al tuo dispositivo"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Assicurati che il tuo account sia sbloccato e che la frase dell'impronta digitale corrisponda nell'altro dispositivo"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Sarai notificato una volta che la richiesta sarà approvata"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Accesso avviato"
},
+ "logInRequestSent": {
+ "message": "Richiesta inviata"
+ },
"exposedMasterPassword": {
"message": "Password principale violata"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Richiedi approvazione dell'amministratore"
},
- "approveWithMasterPassword": {
- "message": "Approva con password principale"
- },
"ssoIdentifierRequired": {
"message": "Identificatore SSO dell'organizzazione obbligatorio."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "La tua richiesta è stata inviata al tuo amministratore."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Riceverai una notifica una volta approvato."
- },
"troubleLoggingIn": {
"message": "Problemi ad accedere?"
},
@@ -3396,38 +3649,6 @@
"message": "Comprimi/espandi",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Importare i tuoi dati su Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Proteggere i tuoi dati LastPass e importarli su Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Salva come file non crittografato",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importa su Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importazione in corso...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Dati importati!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Errore durante l'importazione. Controlla la console per i dettagli.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Errore di connessione durante l'importazione.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Dominio alias"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Account attivo"
},
+ "bitwardenAccount": {
+ "message": "Account Bitwarden"
+ },
"availableAccounts": {
"message": "Account disponibili"
},
@@ -3979,7 +4203,10 @@
"message": "Passkey rimossa"
},
"autofillSuggestions": {
- "message": "Suggerimenti per il riempimento automatico"
+ "message": "Suggerimenti riempimento automatico"
+ },
+ "itemSuggestions": {
+ "message": "Elementi suggeriti"
},
"autofillSuggestionsTip": {
"message": "Salva un elemento di accesso per questo sito da riempire automaticamente"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copia $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Nessun valore da copiare"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Nome elemento"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Non puoi rimuovere raccolte con i soli permessi di visualizzazione: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "L'organizzazione è disattivata"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Riordina l'URI del sito web. Usa il tasto freccia per spostare l'elemento su o giù."
+ },
"reorderFieldUp": {
"message": "$LABEL$ spostato su, in posizione $INDEX$ di $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Non hai selezionato nulla."
},
- "movedItemsToOrg": {
- "message": "Elementi selezionati spostati in $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Elementi spostati su $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Send Testo"
},
- "bitwardenNewLook": {
- "message": "Bitwarden ha un nuovo look!"
- },
- "bitwardenNewLookDesc": {
- "message": "È più facile e intuitivo che mai utilizzare il riempimento automatico e cercare dalla scheda Cassaforte. Dai un'occhiata!"
- },
"accountActions": {
"message": "Azioni dell'account"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Non hai i permessi per modificare questo elemento"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Lo sblocco biometrico non è disponibile perché è necessario prima sbloccare con PIN o parola d'accesso."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Lo sblocco biometrico non è attualmente disponibile."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Lo sblocco biometrico non è disponibile a causa di file di sistema mal configurati."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Lo sblocco biometrico non è disponibile a causa di file di sistema mal configurati."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Lo sblocco biometrico non è disponibile perché l'app desktop Bitwarden è chiusa."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Lo sblocco biometrico non è disponibile perché non è abilitato per $EMAIL$ nell'app desktop Bitwarden.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Lo sblocco biometrico non è attualmente disponibile per un motivo sconosciuto."
+ },
"authenticating": {
"message": "Autenticazione"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Molto larga"
+ },
+ "sshKeyWrongPassword": {
+ "message": "La parola d'accesso inserita non è corretta."
+ },
+ "importSshKey": {
+ "message": "Importa"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Conferma parola d'accesso"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Inserisci la parola d'accesso per la chiave SSH."
+ },
+ "enterSshKeyPassword": {
+ "message": "Inserisci parola d'accesso"
+ },
+ "invalidSshKey": {
+ "message": "La chiave SSH non è valida"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Il tipo di chiave SSH non è supportato"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Importa chiave dagli Appunti"
+ },
+ "sshKeyImported": {
+ "message": "Chiave SSH importata correttamente"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Non puoi rimuovere raccolte con i soli permessi di visualizzazione: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Aggiornare l'applicazione desktop"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Per usare lo sblocco biometrico, aggiornare l'applicazione desktop o disabilitare lo sblocco dell'impronta digitale nelle impostazioni del desktop."
+ },
+ "changeAtRiskPassword": {
+ "message": "Cambia parola d'accesso a rischio"
}
}
diff --git a/apps/browser/src/_locales/ja/messages.json b/apps/browser/src/_locales/ja/messages.json
index 42dd73020ec..b67d0b62a6e 100644
--- a/apps/browser/src/_locales/ja/messages.json
+++ b/apps/browser/src/_locales/ja/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "マスターパスワードのヒント (省略可能)"
},
+ "passwordStrengthScore": {
+ "message": "パスワードの強度スコア $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "組織に参加"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "メモをコピー"
},
+ "copy": {
+ "message": "コピー",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "入力",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "アカウントのメールアドレスを入力すると、パスワードのヒントが送信されます"
},
- "passwordHint": {
- "message": "パスワードのヒント"
- },
- "enterEmailToGetHint": {
- "message": "マスターパスワードのヒントを受信するアカウントのメールアドレスを入力してください。"
- },
"getMasterPasswordHint": {
"message": "マスターパスワードのヒントを取得する"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "フォルダーを編集"
},
+ "editFolderWithName": {
+ "message": "フォルダーを編集: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "新しいフォルダー"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "パスフレーズを生成"
},
+ "passwordGenerated": {
+ "message": "パスワードを生成しました"
+ },
+ "passphraseGenerated": {
+ "message": "パスフレーズを生成しました"
+ },
+ "usernameGenerated": {
+ "message": "ユーザー名を生成しました"
+ },
+ "emailGenerated": {
+ "message": "メールアドレスを生成しました"
+ },
"regeneratePassword": {
"message": "パスワードの再生成"
},
@@ -454,22 +482,6 @@
"length": {
"message": "長さ"
},
- "uppercase": {
- "message": "大文字(A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "小文字(a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "数字 (0~9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "特殊文字(!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "含む文字",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "特殊記号を含める",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "単語数"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "お使いのブラウザはクリップボードへのコピーに対応していません。手動でコピーしてください"
},
- "verifyIdentity": {
- "message": "本人確認を行う"
+ "verifyYourIdentity": {
+ "message": "本人確認"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "このデバイスは未確認です。本人確認のため、メールアドレスに送信されたコードを入力してください。"
+ },
+ "continueLoggingIn": {
+ "message": "ログインを続ける"
},
"yourVaultIsLocked": {
"message": "保管庫がロックされています。続行するには本人確認を行ってください。"
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Bitwarden にログイン"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "メールアドレスに送信されたコードを入力してください"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "認証アプリに表示されているコードを入力してください"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "YubiKey を押して認証してください"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "このアカウントでは Duo 二段階認証を行う必要があります。以下の手順に従ってログインを完了してください。"
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "以下の手順に従ってログインを完了してください。"
+ },
"restartRegistration": {
"message": "登録を再度始める"
},
@@ -875,6 +904,9 @@
"no": {
"message": "いいえ"
},
+ "location": {
+ "message": "場所"
+ },
"unexpectedError": {
"message": "予期せぬエラーが発生しました。"
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "保管庫にアイテムが見つからない場合は、アイテムを追加するよう要求します。ログインしているすべてのアカウントに適用されます。"
},
- "showCardsInVaultView": {
- "message": "保管庫ビューに自動入力の候補としてカードを表示する"
+ "showCardsInVaultViewV2": {
+ "message": "保管庫ビューの自動入力の候補として、カードを常に表示する"
},
"showCardsCurrentTab": {
"message": "タブページにカードを表示"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "自動入力を簡単にするために、タブページにカードアイテムを表示します"
},
- "showIdentitiesInVaultView": {
- "message": "保管庫ビューに自動入力の候補として ID を表示する"
+ "showIdentitiesInVaultViewV2": {
+ "message": "保管庫ビューの自動入力の候補として、 ID を常に表示する"
},
"showIdentitiesCurrentTab": {
"message": "タブページに ID を表示"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "保管庫で、自動入力するアイテムをクリックしてください"
},
+ "clickToAutofill": {
+ "message": "入力候補のアイテムをクリックして自動入力する"
+ },
"clearClipboard": {
"message": "クリップボードの消去",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "保存する"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ を Bitwarden に保存しました。",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ を Bitwarden 内で更新しました。",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "新規のログイン情報として保存",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "ログイン情報を更新",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "ログイン情報を保存しますか?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "既存のログイン情報を更新しますか?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "ログイン情報を保存しました",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "ログイン情報が更新されました",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "保存エラー",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "保存できませんでした。詳細を手動で入力してください。",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "既存のログイン情報の更新を尋ねる"
},
@@ -1084,10 +1169,6 @@
"message": "ライト",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized ダーク",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "エクスポート元"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "プレミアム会員に加入"
},
- "premiumPurchaseAlert": {
- "message": "プレミアム会員権は bitwarden.com ウェブ保管庫で購入できます。ウェブサイトを開きますか?"
- },
"premiumPurchaseAlertV2": {
"message": "Bitwarden ウェブアプリでアカウント設定からプレミアムを購入できます。"
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "情報を保存する"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "このデバイスで30日間再表示しない"
+ },
"sendVerificationCodeEmailAgain": {
"message": "確認コードをメールで再送"
},
"useAnotherTwoStepMethod": {
"message": "他の2段階認証方法を使用"
},
+ "selectAnotherMethod": {
+ "message": "別の方法を選択",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "リカバリーコードを使用する"
+ },
"insertYubiKey": {
"message": " YubiKey を USB ポートに挿入し、ボタンをタッチしてください。"
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "新しいタブを開く"
},
+ "openInNewTab": {
+ "message": "新しいタブで開く"
+ },
"webAuthnAuthenticate": {
"message": "WebAuthn の認証"
},
+ "readSecurityKey": {
+ "message": "セキュリティキーの読み取り"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "セキュリティキーとの通信を待ち受け中…"
+ },
"loginUnavailable": {
"message": "ログインできません。"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "2段階認証オプション"
},
+ "selectTwoStepLoginMethod": {
+ "message": "2段階認証の方法を選択"
+ },
"recoveryCodeDesc": {
"message": "すべての2段階認証プロパイダにアクセスできなくなったときは、リカバリーコードを使用するとアカウントの2段階認証を無効化できます。"
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "セルフホスティング環境"
},
- "selfHostedEnvironmentFooter": {
- "message": "セルフホスティングしている Bitwarden のベース URL を指定してください。"
- },
"selfHostedBaseUrlHint": {
"message": "オンプレミスホストした Bitwarden のベース URL を指定してください。例: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "カスタム環境"
},
- "customEnvironmentFooter": {
- "message": "上級者向けです。各サービスのベース URL を個別に指定できます。"
- },
"baseUrl": {
"message": "サーバー URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "ドラッグして並べ替え"
},
+ "dragToReorder": {
+ "message": "ドラッグして並べ替え"
+ },
"cfTypeText": {
"message": "テキスト"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "ユーザー名生成ツール"
},
+ "useThisEmail": {
+ "message": "このメールアドレスを使う"
+ },
"useThisPassword": {
"message": "このパスワードを使用する"
},
@@ -2063,12 +2163,24 @@
"message": "を使うと強力で一意なパスワードを作れます",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "保管庫のカスタマイズ"
+ },
"vaultTimeoutAction": {
"message": "保管庫タイムアウト時のアクション"
},
"vaultTimeoutAction1": {
"message": "タイムアウト時のアクション"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "新しいカスタマイズオプション"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "クイックコピーやコンパクトモードなどで保管庫をカスタマイズできます!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "すべての外観設定を表示"
+ },
"lock": {
"message": "ロック",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "ドメイン",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "ブロックしたドメイン"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "ブロックされたドメインについてもっと詳しく"
+ },
"excludedDomains": {
"message": "除外するドメイン"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden はログインしているすべてのアカウントで、これらのドメインのログイン情報を保存するよう要求しません。 変更を有効にするにはページを更新する必要があります。"
},
+ "blockedDomainsDesc": {
+ "message": "自動入力やその他の関連機能はこれらのウェブサイトには提供されません。変更を反映するにはページを更新する必要があります。"
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "このウェブサイトへの自動入力はブロックされています。"
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "設定でこれを変更する"
+ },
+ "change": {
+ "message": "変更"
+ },
+ "changeButtonTitle": {
+ "message": "パスワードの変更 - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "リスクがあるパスワード"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ から、 1 件の危険なパスワードを変更するよう求められています。",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ から、 $COUNT$ 件の危険なパスワードを変更するよう求められています。",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "複数の所属先組織から、 $COUNT$ 件の危険なパスワードを変更するよう求められています。",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "1 件の危険なパスワードを確認・変更する"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "$COUNT$ 件の危険なパスワードを確認・変更する",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "危険なパスワードをより素早く変更する"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "設定を更新して、パスワードを素早く自動入力したり、新しいパスワードを生成できるようにしましょう"
+ },
+ "reviewAtRiskLogins": {
+ "message": "危険な状態のログイン情報を確認"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "危険な状態のパスワードを確認"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "組織で使用するパスワードが脆弱である、または再利用されているか流出しており、危険な状態です。",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "危険な状態にあるログイン情報の一覧表示の例"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Bitwarden の自動入力メニューで、強力で一意なパスワードをすぐに生成しましょう。",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Bitwarden の自動入力メニューで、生成されたパスワードが表示されている例"
+ },
+ "updateInBitwarden": {
+ "message": "Bitwarden 上のデータを更新"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "続いて、 Bitwarden がパスワードマネージャーに保存されたパスワードを更新するよう促します。",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "ユーザーにログイン情報を更新するよう促す Bitwarden の通知例"
+ },
+ "turnOnAutofill": {
+ "message": "自動入力をオンにする"
+ },
+ "turnedOnAutofill": {
+ "message": "自動入力をオンにしました"
+ },
+ "dismiss": {
+ "message": "閉じる"
+ },
"websiteItemLabel": {
"message": "ウェブサイト $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "ブロックするドメインの変更を保存しました"
+ },
"excludedDomainsSavedSuccess": {
"message": "除外ドメインの変更を保存しました"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "エラー"
},
+ "decryptionError": {
+ "message": "復号エラー"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden は以下の保管庫のアイテムを復号できませんでした。"
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "カスタマーサクセスに問い合わせて、",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "さらなるデータ損失を回避してください。",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "ユーザー名を生成"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ はリクエストを拒否しました。サービスプロバイダーにお問い合わせください。",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ があなたのリクエストを拒否しました: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "$SERVICENAME$ マスク済みメールアカウント ID を取得できませんでした。",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "設定を更新しました"
- },
- "environmentEditedClick": {
- "message": "ここをクリック"
- },
- "environmentEditedReset": {
- "message": "すると初期設定に戻します"
- },
"serverVersion": {
"message": "サーバーのバージョン"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "マスターパスワードでログイン"
},
- "loggingInAs": {
- "message": "ログイン中:"
- },
- "notYou": {
- "message": "あなたではないですか?"
- },
"newAroundHere": {
"message": "初めてですか?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "デバイスでログイン"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Bitwarden アプリの設定でデバイスでログインする必要があります。別のオプションが必要ですか?"
- },
"fingerprintPhraseHeader": {
"message": "パスフレーズ"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "すべてのログインオプションを表示"
},
- "viewAllLoginOptionsV1": {
- "message": "すべてのログインオプションを表示"
- },
"notificationSentDevice": {
"message": "デバイスに通知を送信しました。"
},
+ "notificationSentDevicePart1": {
+ "message": "デバイスまたは"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "ウェブアプリ"
+ },
+ "notificationSentDevicePart2": {
+ "message": "上で、Bitwarden をロック解除してください。承認する前に、フィンガープリントフレーズが以下と一致していることを確認してください。"
+ },
"aNotificationWasSentToYourDevice": {
"message": "お使いのデバイスに通知が送信されました"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "アカウントがロック解除されていることと、フィンガープリントフレーズが他の端末で一致していることを確認してください"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "リクエストが承認されると通知されます"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "ログイン開始"
},
+ "logInRequestSent": {
+ "message": "リクエストが送信されました"
+ },
"exposedMasterPassword": {
"message": "流出したマスターパスワード"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "管理者の承認を要求する"
},
- "approveWithMasterPassword": {
- "message": "マスターパスワードで承認する"
- },
"ssoIdentifierRequired": {
"message": "組織の SSO ID が必要です。"
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "要求を管理者に送信しました。"
},
- "youWillBeNotifiedOnceApproved": {
- "message": "承認されると通知されます。 "
- },
"troubleLoggingIn": {
"message": "ログインできない場合"
},
@@ -3396,38 +3649,6 @@
"message": "開く/閉じる",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Bitwarden にデータをインポートしますか?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "LastPass データを Bitwarden にインポートしますか?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "暗号化されていないファイルとして保存",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Bitwarden にインポート",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "インポート中...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "データをインポートしました!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "インポート中にエラーが発生しました。詳細はコンソールを確認してください。",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "インポート中にネットワークエラーが発生しました。",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "エイリアスドメイン"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "アクティブなアカウント"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden アカウント"
+ },
"availableAccounts": {
"message": "利用可能なアカウント"
},
@@ -3979,7 +4203,10 @@
"message": "パスキーを削除しました"
},
"autofillSuggestions": {
- "message": "候補を自動入力する"
+ "message": "自動入力の候補"
+ },
+ "itemSuggestions": {
+ "message": "推奨アイテム"
},
"autofillSuggestionsTip": {
"message": "自動入力するためにこのサイトのログインアイテムを保存します"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "$FIELD$ 「$VALUE$」 をコピー",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "コピーする値がありません"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "アイテム名"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "表示のみの権限が与えられているコレクションを削除することはできません: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "組織は無効化されています"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "ウェブサイトの URI の順序を変更します。矢印キーを押すとアイテムを上下に移動します。"
+ },
"reorderFieldUp": {
"message": "$LABEL$ を上に移動しました。$INDEX$ / $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "何も選択されていません。"
},
- "movedItemsToOrg": {
- "message": "選択したアイテムを $ORGNAME$ に移動しました",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "アイテムを $ORGNAME$ に移動しました",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "テキスト Send"
},
- "bitwardenNewLook": {
- "message": "Bitwarden が新しい外観になりました。"
- },
- "bitwardenNewLookDesc": {
- "message": "保管庫タブからの自動入力と検索がこれまで以上に簡単で直感的になりました。"
- },
"accountActions": {
"message": "アカウントの操作"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "このアイテムを編集する権限がありません"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "PINまたはパスワードによるロック解除が最初に必要なため、生体認証によるロック解除は利用できません。"
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "生体認証によるロック解除は現在利用できません。"
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "システムファイルの設定が誤っているため、生体認証によるロック解除は利用できません。"
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "システムファイルの設定が誤っているため、生体認証によるロック解除は利用できません。"
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Bitwarden デスクトップアプリが閉じているため、生体認証によるロック解除は利用できません。"
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "生体認証による $EMAIL$ のロック解除は、 Bitwarden デスクトップアプリ上で有効になっていないため、利用できません。",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "生体認証によるロック解除は、不明な理由により現在利用できません。"
+ },
"authenticating": {
"message": "認証中"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "エクストラワイド"
+ },
+ "sshKeyWrongPassword": {
+ "message": "入力されたパスワードが間違っています。"
+ },
+ "importSshKey": {
+ "message": "インポート"
+ },
+ "confirmSshKeyPassword": {
+ "message": "パスワードを確認"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "SSH キーのパスワードを入力します。"
+ },
+ "enterSshKeyPassword": {
+ "message": "パスワードを入力"
+ },
+ "invalidSshKey": {
+ "message": "SSH キーが無効です"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "サポートされていない種類の SSH キーです"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "クリップボードからキーをインポート"
+ },
+ "sshKeyImported": {
+ "message": "SSH キーのインポートに成功しました"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "表示のみの権限が与えられているコレクションを削除することはできません: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "デスクトップアプリを更新してください"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "生体認証によるロック解除を使用するには、デスクトップアプリを更新するか、デスクトップの設定で指紋認証によるロック解除を無効にしてください。"
+ },
+ "changeAtRiskPassword": {
+ "message": "危険なパスワードの変更"
}
}
diff --git a/apps/browser/src/_locales/ka/messages.json b/apps/browser/src/_locales/ka/messages.json
index 5da73c6755b..818d7cdcd19 100644
--- a/apps/browser/src/_locales/ka/messages.json
+++ b/apps/browser/src/_locales/ka/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "საქაღალდის ჩასწორება"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "ახალი საქაღალდე"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "სიგრძე"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "ჩართვა",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "სიტყვათა რაოდენობა"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "არა"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "ბუფერის გასუფთავება",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "შენახვა"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "ღია",
"description": "Light color"
},
- "solarizedDark": {
- "message": "სოლარიზებული მუქი",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "დამიმახსოვრე"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "ახალი ჩანართის გახსნა"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "სერვერის URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "ტექსტი"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "ჩაკეტვა",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "დომენები",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "შეცდომა"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "დააწკაპუნეთ აქ"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "სერვერის ვერსია"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "შემოტანა...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "ჩანაწერის სახელი"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "ავთენტიკაცია"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/km/messages.json b/apps/browser/src/_locales/km/messages.json
index 6ab3755c8f4..c9c29611deb 100644
--- a/apps/browser/src/_locales/km/messages.json
+++ b/apps/browser/src/_locales/km/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Length"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/kn/messages.json b/apps/browser/src/_locales/kn/messages.json
index 09e26c18b5b..c8aff3a6488 100644
--- a/apps/browser/src/_locales/kn/messages.json
+++ b/apps/browser/src/_locales/kn/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "ಮಾಸ್ಟರ್ ಪಾಸ್ವರ್ಡ್ ಸುಳಿವು (ಐಚ್ಛಿಕ)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "ಪಾಸ್ವರ್ಡ್ ಸುಳಿವು"
- },
- "enterEmailToGetHint": {
- "message": "ವಿಸ್ತರಣೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಮೆನುವಿನಲ್ಲಿರುವ ಬಿಟ್ವಾರ್ಡೆನ್ ಐಕಾನ್ ಟ್ಯಾಪ್ ಮಾಡಿ."
- },
"getMasterPasswordHint": {
"message": "ಮಾಸ್ಟರ್ ಪಾಸ್ವರ್ಡ್ ಸುಳಿವನ್ನು ಪಡೆಯಿರಿ"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "ಫೋಲ್ಡರ್ ಸಂಪಾದಿಸಿ"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಪುನರುತ್ಪಾದಿಸಿ"
},
@@ -454,22 +482,6 @@
"length": {
"message": "ಉದ್ದ"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "ಪದಗಳ ಸಂಖ್ಯೆ"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "ನಿಮ್ಮ ವೆಬ್ ಬ್ರೌಸರ್ ಸುಲಭವಾದ ಕ್ಲಿಪ್ಬೋರ್ಡ್ ನಕಲು ಮಾಡುವುದನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ಬದಲಿಗೆ ಅದನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ನಕಲಿಸಿ."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "ನಿಮ್ಮ ವಾಲ್ಟ್ ಲಾಕ್ ಆಗಿದೆ. ಮುಂದುವರೆಯಲು ನಿಮ್ಮ ಮಾಸ್ಟರ್ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "ಇಲ್ಲ"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "ಅನಿರೀಕ್ಷಿತ ದೋಷ ಸಂಭವಿಸಿದೆ."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "ಕ್ಲಿಪ್ಬೋರ್ಡ್ ತೆರವುಗೊಳಿಸಿ",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "ಹೌದು, ಈಗ ಉಳಿಸಿ"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "ಬೆಳಕು",
"description": "Light color"
},
- "solarizedDark": {
- "message": "ಡಾರ್ಕ್ ಸೌರ",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "ಪ್ರೀಮಿಯಂ ಖರೀದಿಸಿ"
},
- "premiumPurchaseAlert": {
- "message": "ನೀವು ಬಿಟ್ವಾರ್ಡೆನ್.ಕಾಮ್ ವೆಬ್ ವಾಲ್ಟ್ನಲ್ಲಿ ಪ್ರೀಮಿಯಂ ಸದಸ್ಯತ್ವವನ್ನು ಖರೀದಿಸಬಹುದು. ನೀವು ಈಗ ವೆಬ್ಸೈಟ್ಗೆ ಭೇಟಿ ನೀಡಲು ಬಯಸುವಿರಾ?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "ನನ್ನನ್ನು ನೆನಪಿನಲ್ಲಿ ಇಡು"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "ಪರಿಶೀಲನೆ ಕೋಡ್ ಇಮೇಲ್ ಅನ್ನು ಮತ್ತೆ ಕಳುಹಿಸಿ"
},
"useAnotherTwoStepMethod": {
"message": "ಮತ್ತೊಂದು ಎರಡು-ಹಂತದ ಲಾಗಿನ್ ವಿಧಾನವನ್ನು ಬಳಸಿ"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "ನಿಮ್ಮ ಯುಬಿಕಿಯನ್ನು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನ ಯುಎಸ್ಬಿ ಪೋರ್ಟ್ಗೆ ಸೇರಿಸಿ, ನಂತರ ಅದರ ಗುಂಡಿಯನ್ನು ಸ್ಪರ್ಶಿಸಿ."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "ಹೊಸ ಟ್ಯಾಬ್ ತೆರೆಯಿರಿ"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "WebAuthn ಅನ್ನು ಪ್ರಮಾಣಿಕರಿಸು"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "ಲಾಗಿನ್ ಲಭ್ಯವಿಲ್ಲ"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "ಎರಡು ಹಂತದ ಲಾಗಿನ್ ಆಯ್ಕೆಗಳು"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "ನಿಮ್ಮ ಎಲ್ಲಾ ಎರಡು ಅಂಶ ಪೂರೈಕೆದಾರರಿಗೆ ಪ್ರವೇಶವನ್ನು ಕಳೆದುಕೊಂಡಿದ್ದೀರಾ? ನಿಮ್ಮ ಖಾತೆಯಿಂದ ಎಲ್ಲಾ ಎರಡು ಅಂಶ ಪೂರೈಕೆದಾರರನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ನಿಮ್ಮ ಮರುಪಡೆಯುವಿಕೆ ಕೋಡ್ ಬಳಸಿ."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "ಸ್ವಯಂ ಆತಿಥೇಯ ಪರಿಸರ"
},
- "selfHostedEnvironmentFooter": {
- "message": "ನಿಮ್ಮ ಆನ್-ಪ್ರಮೇಯ ಹೋಸ್ಟ್ ಮಾಡಿದ ಬಿಟ್ವಾರ್ಡೆನ್ ಸ್ಥಾಪನೆಯ ಮೂಲ URL ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "ಕಸ್ಟಮ್ ಪರಿಸರ"
},
- "customEnvironmentFooter": {
- "message": "ಸುಧಾರಿತ ಬಳಕೆದಾರರಿಗಾಗಿ. ನೀವು ಪ್ರತಿ ಸೇವೆಯ ಮೂಲ URL ಅನ್ನು ಸ್ವತಂತ್ರವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು."
- },
"baseUrl": {
"message": "ಸರ್ವರ್ URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "ವಿಂಗಡಿಸಲು ಎಳೆಯಿರಿ"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "ಪಠ್ಯ"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "ವಾಲ್ಟ್ ಸಮಯ ಮೀರುವ ಕ್ರಿಯೆ"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "ಲಾಕ್",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "ಹೊರತುಪಡಿಸಿದ ಡೊಮೇನ್ಗಳು"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/ko/messages.json b/apps/browser/src/_locales/ko/messages.json
index d6da55f600d..cd54ac47506 100644
--- a/apps/browser/src/_locales/ko/messages.json
+++ b/apps/browser/src/_locales/ko/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "마스터 비밀번호 힌트 (선택)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "\"조직\"에 가입하기"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "노트 복사"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "채우기",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "계정 이메일 주소를 입력하세요. 그 주소로 비밀번호 힌트가 전송될 것 입니다."
},
- "passwordHint": {
- "message": "비밀번호 힌트"
- },
- "enterEmailToGetHint": {
- "message": "마스터 비밀번호 힌트를 받으려면 계정의 이메일 주소를 입력하세요."
- },
"getMasterPasswordHint": {
"message": "마스터 비밀번호 힌트 얻기"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "폴더 편집"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "새 폴더"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "암호 생성"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "비밀번호 재생성"
},
@@ -454,22 +482,6 @@
"length": {
"message": "길이"
},
- "uppercase": {
- "message": "대문자 (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "소문자 (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "숫자 (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "특수 문자 (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "포함",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "특수 문자 포함",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "단어 수"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "사용하고 있는 웹 브라우저가 쉬운 클립보드 복사를 지원하지 않습니다. 직접 복사하세요."
},
- "verifyIdentity": {
- "message": "신원 확인"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "보관함이 잠겨 있습니다. 마스터 비밀번호를 입력하여 계속하세요."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Bitwarden에 로그인"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "등록 재시작"
},
@@ -875,6 +904,9 @@
"no": {
"message": "아니오"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "예기치 못한 오류가 발생했습니다."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "보관함에 항목이 없을 경우 추가하라는 메시지를 표시합니다. 모든 로그인된 계정에 적용됩니다."
},
- "showCardsInVaultView": {
- "message": "보관함 보기에서 카드 자동완성 제안를 표시"
+ "showCardsInVaultViewV2": {
+ "message": "보관함 보기에서 언제나 카드 자동 완성 제안을 표시"
},
"showCardsCurrentTab": {
"message": "탭 페이지에 카드 표시"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "간편한 자동완성을 위해 탭에 카드 항목들을 나열"
},
- "showIdentitiesInVaultView": {
- "message": "보관함 보기에서 신원들의 자동완성 제안을 표시"
+ "showIdentitiesInVaultViewV2": {
+ "message": "보관함 보기에서 언제나 신원의 자동 완성 제안을 표시"
},
"showIdentitiesCurrentTab": {
"message": "탭 페이지에 신원들을 표시"
@@ -1005,7 +1037,10 @@
"message": "간편한 자동완성을 위해 탭에 신원 항목들을 나열"
},
"clickToAutofillOnVault": {
- "message": "Click items to autofill on Vault view"
+ "message": "보관함 보기에서 항목을 클릭하여 자동 완성"
+ },
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
},
"clearClipboard": {
"message": "클립보드 비우기",
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "예, 지금 저장하겠습니다."
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "현재 로그인으로 업데이트할 건지 묻기"
},
@@ -1084,10 +1169,6 @@
"message": "밝은 테마",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized Dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "~(으)로부터 내보내기"
},
@@ -1107,10 +1188,10 @@
"message": "이 비밀번호는 이 파일을 파일 내보내거나, 가져오는데 사용됩니다."
},
"accountRestrictedOptionDescription": {
- "message": "계정의 사용자 이름과 마스터 비밀번호에서 파생된 계정 암호화 키를 사용하여 내보내기를 암호화하고, 현재 Bitwarden계정으로 가져오기를 제한해보세요. "
+ "message": "내보내기를 당신의 계정의 사용자이름과 마스터비밀번호로부터 파생된 계정 암호화 키를 사용하여 암호화하고, 현재의 Bitwarden 계정으로만 가져오도록 제한합니다."
},
"passwordProtectedOptionDescription": {
- "message": "파일 비밀번호를 설정하여, 내보내기를 암호화하고, 해독에 그 파일 비밀번호를 사용하는 Bitwarden계정에 가져오세요."
+ "message": "파일에 비밀번호를 설정하여 내보내기를 암호화하고, 어느 Bitwarden 계정으로든 그 비밀번호로 해독하여 가져오기 합니다."
},
"exportTypeHeading": {
"message": "내보내기 유형"
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "프리미엄 멤버십 구입"
},
- "premiumPurchaseAlert": {
- "message": "bitwarden.com 웹 보관함에서 프리미엄 멤버십을 구입할 수 있습니다. 지금 웹 사이트를 방문하시겠습니까?"
- },
"premiumPurchaseAlertV2": {
"message": "Bitwarden 웹 앱의 계정 설정에서 프리미엄에 대한 결제를 할 수 있습니다."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "기억하기"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "인증 코드 이메일 다시 보내기"
},
"useAnotherTwoStepMethod": {
"message": "다른 2단계 인증 사용"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "YubiKey를 컴퓨터의 USB 포트에 삽입하고 이 버튼을 누르세요."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "새 탭 열기"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "WebAuthn 인증"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "로그인 불가능"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "2단계 인증 옵션"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "모든 2단계 인증을 사용할 수 없는 상황인가요? 복구 코드를 사용하여 계정의 모든 2단계 인증을 비활성화할 수 있습니다."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "자체 호스팅 환경"
},
- "selfHostedEnvironmentFooter": {
- "message": "온-프레미스 Bitwarden이 호스팅되고 있는 서버의 기본 URL을 지정하세요."
- },
"selfHostedBaseUrlHint": {
"message": "온-프레미스 Bitwarden이 호스팅되고 있는 서버의 기본 URL을 지정하세요. 예: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "사용자 지정 환경"
},
- "customEnvironmentFooter": {
- "message": "고급 사용자 전용 설정입니다. 각 서비스의 기본 URL을 개별적으로 지정할 수 있습니다."
- },
"baseUrl": {
"message": "서버 URL"
},
@@ -1478,7 +1572,7 @@
"message": "카드를 제안으로 표시"
},
"showInlineMenuOnIconSelectionLabel": {
- "message": "아이콘을 선택하면 제안이 표시됩니다."
+ "message": "아이콘을 선택할 때 제안을 표시"
},
"showInlineMenuOnFormFieldsDescAlt": {
"message": "로그인한 모든 계정에 적용"
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "드래그하여 정렬"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "텍스트"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "사용자 이름 생성기"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "이 비밀번호 사용"
},
@@ -2063,12 +2163,24 @@
"message": "강력한 고유 비밀번호를 만드세요",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "보관함 시간 제한 초과시 동작"
},
"vaultTimeoutAction1": {
"message": "시간초과 시 행동"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "잠금",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "도메인",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "제외된 도메인"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "BItwarden은 로그인한 모든 계정에 대해 이러한 도메인에 대한 로그인 세부 정보를 저장하도록 요청하지 않습니다. 변경 사항을 적용하려면 페이지를 새로 고쳐야 합니다"
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "웹사이트 $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "제외된 도메인 변경 사항 저장됨"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "오류"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "아이디 생성"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "$SERVICENAME$ 마스크된 이메일 계정 ID를 얻을 수 없습니다.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "설정이 편집되었습니다"
- },
- "environmentEditedClick": {
- "message": "여기를 클릭하세요."
- },
- "environmentEditedReset": {
- "message": "사전 구성된 설정으로 재설정하려면"
- },
"serverVersion": {
"message": "서버 버전"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "마스터 비밀번호로 로그인"
},
- "loggingInAs": {
- "message": "다음으로 로그인 중"
- },
- "notYou": {
- "message": "본인이 아닌가요?"
- },
"newAroundHere": {
"message": "새로 찾아오셨나요?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "기기로 로그인"
},
- "loginWithDeviceEnabledInfo": {
- "message": "기기로 로그인하려면 Bitwarden 모바일 앱 설정에서 설정해야 합니다. 다른 방식이 필요하신가요?"
- },
"fingerprintPhraseHeader": {
"message": "지문 구절"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "모든 로그인 방식 보기"
},
- "viewAllLoginOptionsV1": {
- "message": "모든 로그인 옵션 보기"
- },
"notificationSentDevice": {
"message": "기기에 알림이 전송되었습니다."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "기기에 알림이 전송되었습니다."
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "반드시 계정이 잠금 해제되었고, 지문 구절이 다른 기기에서 일치하는지 확인해주세요."
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "요청이 승인되면 알림을 받게 됩니다"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "로그인 시작"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "노출된 마스터 비밀번호"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "관리자 인증 필요"
},
- "approveWithMasterPassword": {
- "message": "마스터 비밀번호로 승인"
- },
"ssoIdentifierRequired": {
"message": "조직의 SSO 식별자가 필요합니다"
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "요청이 관리자에게 전송되었습니다."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "승인되면 알림을 받게 됩니다."
- },
"troubleLoggingIn": {
"message": "로그인에 문제가 있나요?"
},
@@ -3396,38 +3649,6 @@
"message": "토글이 붕괴됨",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "데이터를 Bitwarden으로 가져오시겠습니까?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "LastPass 데이터를 보호하고 Bitwarden으로 가져오시겠습니까?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "암호화되지 않은 파일로 저장",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Bitwarden으로 가져오기",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "가져오는 중...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "데이터 가져오기 성공!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "가져오는 중 오류가 발생했습니다. 자세한 내용은 콘솔을 확인하세요.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "가져오기 중에 네트워크 오류가 발생했습니다.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "도메인 별칭"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "계정 활성화"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "사용 가능한 계정"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "자동 완성 제안"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "이 사이트에서 자동으로 작성할 로그인 항목 저장"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "복사할 값이 없습니다"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "항목 이름"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "보기 권한만 있는 컬렉션은 제거할 수 없습니다: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "조직이 비활성화되었습니다"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$을 위로 이동했습니다. 위치: $INDEX$ / $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "아무것도 선택하지 않았습니다."
},
- "movedItemsToOrg": {
- "message": "선택한 항목이 $ORGNAME$(으)로 이동됨",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "항목들이 $ORGNAME$로 이동했습니다",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "텍스트 Send"
},
- "bitwardenNewLook": {
- "message": "Bitwarden이 새로운 모습으로 돌아왔습니다!"
- },
- "bitwardenNewLookDesc": {
- "message": "보관함 탭에서 자동 완성하고 검색하는 것이 그 어느 때보다 쉽고 직관적입니다. 둘러보세요!"
- },
"accountActions": {
"message": "계정 작업"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "아이템을 수정할 권한이 없습니다."
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "인증 중"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "매우 넓게"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "보기 권한만 있는 컬렉션은 제거할 수 없습니다: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/lt/messages.json b/apps/browser/src/_locales/lt/messages.json
index eaf1cb9f9db..8bf8a8f7518 100644
--- a/apps/browser/src/_locales/lt/messages.json
+++ b/apps/browser/src/_locales/lt/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Pagrindinio slaptažodžio užuomina (neprivaloma)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Slaptažodžio užuomina"
- },
- "enterEmailToGetHint": {
- "message": "Įveskite savo paskyros el. pašto adresą, kad gautumėte pagrindinio slaptažodžio užuominą."
- },
"getMasterPasswordHint": {
"message": "Gauti pagrindinio slaptažodžio užuominą"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Redaguoti aplankalą"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Generuoti slaptažodį iš naujo"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Ilgis"
},
- "uppercase": {
- "message": "Didžiosiomis (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Mažosiomis (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Skaitmenys (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Specialieji simboliai (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Žodžių skaičius"
},
@@ -530,7 +538,7 @@
"description": "Label for the avoid ambiguous characters checkbox."
},
"generatorPolicyInEffect": {
- "message": "Enterprise policy requirements have been applied to your generator options.",
+ "message": "Jūsų generatoriaus parinktims taikomi įmonės politikos reikalavimai.",
"description": "Indicates that a policy limits the credential generator screen."
},
"searchVault": {
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Jūsų žiniatinklio naršyklė nepalaiko automatinio kopijavimo. Vietoj to nukopijuokite rankiniu būdu."
},
- "verifyIdentity": {
- "message": "Patvirtinti tapatybę"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Jūsų saugykla užrakinta. Norėdami tęsti, patikrinkite pagrindinį slaptažodį."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Ne"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Įvyko netikėta klaida."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Paprašykite pridėti elementą, jei jo nerasta Jūsų saugykloje. Taikoma visoms prisijungusioms paskyroms."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Visada rodyti korteles kaip automatinio pildymo pasiūlymus saugyklos rodinyje"
},
"showCardsCurrentTab": {
"message": "Rodyti korteles skirtuko puslapyje"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Pateikti kortelių elementų skirtuko puslapyje sąrašą, kad būtų lengva automatiškai užpildyti."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Visada rodyti tapatybes kaip automatinio pildymo pasiūlymus saugyklos rodinyje"
},
"showIdentitiesCurrentTab": {
"message": "Rodyti tapatybes skirtuko puslapyje"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Išvalyti iškarpinę",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Išsaugoti"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Paprašyti atnaujinti esamą prisijungimą"
},
@@ -1084,10 +1169,6 @@
"message": "Šviesi",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Saulėtas tamsą",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Įsigyti Premium"
},
- "premiumPurchaseAlert": {
- "message": "Galite įsigyti „Premium“ narystę „bitwarden.com“ žiniatinklio saugykloje. Ar norite apsilankyti svetainėje dabar?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Prisiminti mane"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Pakartotinai atsiųsti patvirtinimo koda el. paštu"
},
"useAnotherTwoStepMethod": {
"message": "Naudoti dar vieną dviejų žingsnių prisijungimo metodą"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Įkišk YubiKey į savo kompiuterio USB prievadą, tada paliesk jo mygtuką."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Atidaryti naują skirtuką"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Autentifikuoti WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Prisijungimas nepasiekiamas"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Dviejų žingsnių prisijungimo parinktys"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Praradai prieigą prie visų savo dviejų veiksnių teikėjų? Naudok atkūrimo kodą, kad iš savo paskyros išjungtum visus dviejų veiksnių teikėjus."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Savarankiškai sukurta aplinka"
},
- "selfHostedEnvironmentFooter": {
- "message": "Nurodykite vietinio priglobto „Bitwarden“ diegimo bazinį URL."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Individualizuota aplinka"
},
- "customEnvironmentFooter": {
- "message": "Pažengusiems naudotojams. Galite nurodyti kiekvienos paslaugos pagrindinį URL adresą atskirai."
- },
"baseUrl": {
"message": "Serverio URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Rūšiuok, kad surūšiuotum"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Tekstas"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault skirtojo laiko veiksmas"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Užrakinti",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domenai",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Išskirti domenai"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "„Bitwarden“ neprašys išsaugoti prisijungimo detalių šiems domenams, visose prisijungusiose paskyrose. Turite atnaujinti puslapį, kad pokyčiai pradėtų galioti."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Klaida"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generuoti vartotojo vardą"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Nepavyksta gauti „$SERVICENAME$“ užmaskuoto el. pašto paskyros ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Nustatymai buvo paredaguoti"
- },
- "environmentEditedClick": {
- "message": "Spauskite čia"
- },
- "environmentEditedReset": {
- "message": "iš naujo nustatyti iš anksto sukonfigūruotus nustatymus"
- },
"serverVersion": {
"message": "Serverio versija"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Prisijungti su pagrindiniu slaptažodžiu"
},
- "loggingInAs": {
- "message": "Prisijungimas kaip"
- },
- "notYou": {
- "message": "Ne jūs?"
- },
"newAroundHere": {
"message": "Ar jūs naujas čia?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Prisijunkite naudodami įrenginį"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Prisijungti su įrenginiu turi būti nustatyta Bitwarden aplikacijos nustatymuose. Reikia kito pasirinkimo?"
- },
"fingerprintPhraseHeader": {
"message": "Pirštų atspaudų frazė"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Pradėtas prisijungimas"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Prašyti administratoriaus patvirtinimo"
},
- "approveWithMasterPassword": {
- "message": "Patvirtinti su pagrindiniu slaptažodžiu"
- },
"ssoIdentifierRequired": {
"message": "Organizacijos SSO identifikatorius yra reikalingas."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Tavo prašymas išsiųstas administratoriui."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Tu būsi praneštas (-a), kai bus patvirtinta."
- },
"troubleLoggingIn": {
"message": "Problemos prisijungiant?"
},
@@ -3396,38 +3649,6 @@
"message": "Perjungti sutrumpinimą",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Importuoti duomenis į Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Apsaugoti LastPass duomenis ir importuoti į Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Išsaugoti kaip neužšifruotą failą",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importuoti į Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importuojama...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Duomenys sėkmingai importuoti.",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Klaida importuojant. Išsamesnės informacijos patikrink konsolėje.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Importuojant įvyko tinklo klaida.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Domeno slapyvardis"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Pasiekiamos paskyros"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Elemento pavadinimas"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Negalite pašalinti kolekcijų su Peržiūrėti tik leidimus: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Negalite pašalinti kolekcijų su Peržiūrėti tik leidimus: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/lv/messages.json b/apps/browser/src/_locales/lv/messages.json
index 2c2a9c3c69c..7b5f077f69d 100644
--- a/apps/browser/src/_locales/lv/messages.json
+++ b/apps/browser/src/_locales/lv/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Galvenās paroles norāde (nav nepieciešama)"
},
+ "passwordStrengthScore": {
+ "message": "Paroles stipruma novērtējums $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Pievienoties apvienībai"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Ievietot piezīmes starpliktuvē"
},
+ "copy": {
+ "message": "Ievietot starpliktuvē",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Aizpildīt",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Jāievada sava konta e-pasta adrese, un paroles norāde tiks nosūtīta"
},
- "passwordHint": {
- "message": "Paroles norāde"
- },
- "enterEmailToGetHint": {
- "message": "Norādīt konta e-pasta adresi, lai saņemtu galvenās paroles norādi."
- },
"getMasterPasswordHint": {
"message": "Saņemt galvenās paroles norādi"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Labot mapi"
},
+ "editFolderWithName": {
+ "message": "Labot mapi: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Jauna mape"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Izveidot paroles vārdkopu"
},
+ "passwordGenerated": {
+ "message": "Parole izveidota"
+ },
+ "passphraseGenerated": {
+ "message": "Paroles vārdkopa izveidota"
+ },
+ "usernameGenerated": {
+ "message": "Lietotājvārds izveidots"
+ },
+ "emailGenerated": {
+ "message": "E-pasta adrese izveidota"
+ },
"regeneratePassword": {
"message": "Pārizveidot paroli"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Garums"
},
- "uppercase": {
- "message": "Lielie burti (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Mazie burti (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Cipari (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Īpašās rakstzīmes (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Iekļaut",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Iekļaut īpašās rakstzīmes",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Vārdu skaits"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Pārlūks neatbalsta vienkāršo ievietošanu starpliktuvē. Tā vietā tas jāievieto starpliktuvē pašrocīgi."
},
- "verifyIdentity": {
- "message": "Identitātes apliecināšana"
+ "verifyYourIdentity": {
+ "message": "Apliecināt savu identitāti"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Mēs neatpazīstam šo ierīci. Jāievada kods, kas tika nosūtīts e-pastā, lai apliecinātu savu identitāti."
+ },
+ "continueLoggingIn": {
+ "message": "Turpināt pieteikšanos"
},
"yourVaultIsLocked": {
"message": "Glabātava ir aizslēgta. Jāapliecina sava identitāte, lai turpinātu."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Pieteikties Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Jāievada e-pastā nosūtītais kods"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Jāievada kods no savas autentificētājlietotnes"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Jāpiespiež sava YubiKey ierīce, lai autentificētu"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Ir nepieciešama Duo divpakāpju pieteikšanās, lai pieteiktos savā kontā. Jāseko zemāk esošajām norādēm, lai pabeigtu pieteikšanos."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Jāseko zemāk esošajām norādēm, lai pabeigtu pieteikšanos."
+ },
"restartRegistration": {
"message": "Sākt reģistrēšanos no jauna"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Nē"
},
+ "location": {
+ "message": "Atrašanās vieta"
+ },
"unexpectedError": {
"message": "Ir radusies neparedzēta kļūda."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Vaicāt, vai pievienot vienumu, ja glabātavā tāds nav atrodams. Attiecas uz visiem kontiem, kuri ir pieteikušies."
},
- "showCardsInVaultView": {
- "message": "Rādīt kartes kā automātiskās aizpildes ieteikumus glabātavas skatā"
+ "showCardsInVaultViewV2": {
+ "message": "Glabātavas skatā vienmēr rādīt kartes kā automātiskās aizpildes ieteikumus"
},
"showCardsCurrentTab": {
"message": "Rādīt kartes cilnes lapā"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Attēlot kartes ciļņu lapā vieglākai aizpildīšanai."
},
- "showIdentitiesInVaultView": {
- "message": "Rādīt identitātes kā automātiskās aizpildes ieteikumus glabātavas skatā"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Glabātavas skatā vienmēr rādīt identitātes kā automātiskās aizpildes ieteikumus"
},
"showIdentitiesCurrentTab": {
"message": "Rādīt identitātes cilnes pārskatā"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Glabātavas skatā jāklikšķina uz vienumiem, lai automātiski aizpildītu"
},
+ "clickToAutofill": {
+ "message": "Klikšķināt uz vienumiem automātiskās aizpildes ieteikumos, lai aizpildītu"
+ },
"clearClipboard": {
"message": "Notīrīt starpliktuvi",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Jā, saglabāt"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saglabāts Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ atjaunināts Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Saglabāt kā jaunu pieteikšanās vienumu",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Atjaunināt pieteikšanās vienumu",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Saglabāt pieteikšanās vienumu?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Atjaunināt esošo pieteikšanās vienumu?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Pieteikšanās vienums saglabāts",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Pieteikšanās vienums atjaunināts",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Kļūda saglabāšanas laikā",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Ak nē! Mēs nevarējā šo saglabāt. Jāmēģina pašrocīgi ievadīt informāciju.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Vaicāt atjaunināt esošu pieteikšanās vienumu"
},
@@ -1084,10 +1169,6 @@
"message": "Gaišs",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized Dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Izgūt no"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Iegādāties Premium"
},
- "premiumPurchaseAlert": {
- "message": "Premium dalību ir iespējams iegādāties bitwarden.com tīmekļa glabātavā. Vai tagad apmeklēt tīmekļvietni?"
- },
"premiumPurchaseAlertV2": {
"message": "Premium var iegādāties Bitwarden tīmekļa lietotnē sava konta iestatījumos."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Atcerēties mani"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Šajā ierīcē 30 dienas vairs nevaicāt"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Sūtīt apstiprinājuma koda e-pastu vēlreiz"
},
"useAnotherTwoStepMethod": {
"message": "Izmantot citu divpakāpju pieteikšanās veidu"
},
+ "selectAnotherMethod": {
+ "message": "Atlasīt citu veidu",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Izmantot savu atkopes kodu"
+ },
"insertYubiKey": {
"message": "Ievieto savu YubiKey datora USB ligzdā un pieskaries tā pogai!"
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Atvērt jaunu cilni"
},
+ "openInNewTab": {
+ "message": "Atvērt jaunā cilnē"
+ },
"webAuthnAuthenticate": {
"message": "Autentificēt WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Nolasīt drošības atslēgu"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Gaida mijiedarbību ar drošības atslēgu..."
+ },
"loginUnavailable": {
"message": "Pieteikšanās nav pieejama"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Divpakāpju pieteikšanās iespējas"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Atlasīt divpakāpju pieteikšanās veidu"
+ },
"recoveryCodeDesc": {
"message": "Zaudēta piekļuve visiem divpakāpju nodrošinātājiem? Izmanto atkopšanas kodus, lai atspējotu visus sava konta divpakāpju nodrošinātājus!"
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Pašuzturēta vide"
},
- "selfHostedEnvironmentFooter": {
- "message": "Norādīt pašuzstādīta Bitwarden pamata URL."
- },
"selfHostedBaseUrlHint": {
"message": "Jānorāda sava pašizvietotā Bitward servera pamata URL. Piemērs: https://bitwarden.uznemums.lv"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Pielāgota vide"
},
- "customEnvironmentFooter": {
- "message": "Pieredzējušiem lietotājiem. Ir iespējams norādīt URL katram pakalpojumam atsevišķi."
- },
"baseUrl": {
"message": "Servera URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Vilkt, lai kārtotu"
},
+ "dragToReorder": {
+ "message": "Vilkt, lai pārkārtotu"
+ },
"cfTypeText": {
"message": "Teksts"
},
@@ -1898,7 +1995,7 @@
"description": "URI match detection for autofill."
},
"defaultMatchDetection": {
- "message": "Noklusētā atbilstības noteikšana",
+ "message": "Noklusējuma atbilstības noteikšana",
"description": "Default URI match detection for autofill."
},
"toggleOptions": {
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Lietotājvārdu veidotājs"
},
+ "useThisEmail": {
+ "message": "Izmantot šo e-pasta adresi"
+ },
"useThisPassword": {
"message": "Izmantot šo paroli"
},
@@ -2063,12 +2163,24 @@
"message": ", lai izveidotu spēcīgu un vienreizēju paroli",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Glabātavas pielāgošana"
+ },
"vaultTimeoutAction": {
"message": "Glabātavas noildzes darbība"
},
"vaultTimeoutAction1": {
"message": "Noildzes darbība"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Jaunas pielāgošanas iespējas"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Savu glabātavas pieredzi var pielāgot ar ātrām kopēšanas darbībām, ciešo izkārtojumu un vēl."
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Apskatīt visus izskata iestatījumus"
+ },
"lock": {
"message": "Slēgt",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domēna vārdi",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Liegtie domēna vārdi"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Uzzināt vairāk par liegtajiem domēna vārdiem"
+ },
"excludedDomains": {
"message": "Izņēmuma domēni"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden nevaicās saglabāt pieteikšanās datus visiem šī domēna kontiem, kuri ir pieteikušies. Ir jāpārlādē lapa, lai iedarbotos izmaiņas."
},
+ "blockedDomainsDesc": {
+ "message": "Automātiskā aizpilde un citas saistītās iespējas šajās tīmekļvietnēs netiks piedāvātas. Ir jāatsvaidzina lapa, lai izmaiņas iedarbotos."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Automātiskā aizpilde šajā tīmekļvietnē ir liegta."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "To var mainīt iestatījumos"
+ },
+ "change": {
+ "message": "Mainīt"
+ },
+ "changeButtonTitle": {
+ "message": "Mainīt paroli - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Riskam pakļautās paroles"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ pieprasa mainīt vienu paroli, jo tā ir pakļauta riskam.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ pieprasa mainīt $COUNT$ paroles, jo tās ir pakļautas riskam.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Apvienības pieprasa mainīt $COUNT$ paroles, jo tās ir pakļautas riskam.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Pārskatīt un mainīt vienu riskam pakļautu paroli"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Pārskatīt un mainīt $COUNT$ riskam pakļautās paroles",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Mainīt riskam pakļautās paroles ātrāk"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Jāatjaunina savi iestatījumi, lai varētu veikli aizpildīt paroles automātiski un izveidot jaunas"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Pārskatīt riskam pakļautos pieteikšanās vienumus"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Pārskatīt riskam pakļautās paroles"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Apvienības paroles ir pakļautas riskam, jo tās ir vājas, atkārtoti izmantotas un/vai noplūdušas.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Riskam pakļauto pieteikšanās vienumu saraksta attēlojums"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Riskam pakļauto vienumu vietnē ar automātiskās aizpildes izvēlni var ātri izveidot stipru, neatkārtojamu paroli.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Bitwarden automātiskās izvēlnes attēlojums, kurā ir redzama izveidota parole"
+ },
+ "updateInBitwarden": {
+ "message": "Atjaunināt Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden tad vaicās atjaunināt paroli paroļu pārvaldniekā.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Bitwarden paziņojuma, kas aicina lietotāju atjaunināt pieteikšanās vienumu, attēlojums"
+ },
+ "turnOnAutofill": {
+ "message": "Ieslēgt automātisko aizpildi"
+ },
+ "turnedOnAutofill": {
+ "message": "Automātiskā aizpilde ieslēgta"
+ },
+ "dismiss": {
+ "message": "Noraidīt"
+ },
"websiteItemLabel": {
"message": "Tīmekļvietne $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Liegtā domēna vārda izmaiņas sglabātas"
+ },
"excludedDomainsSavedSuccess": {
"message": "Saglabātas vērā neņemto domēna vārdu izmaiņas"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Kļūda"
},
+ "decryptionError": {
+ "message": "Atšifrēšanas kļūda"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden nevarēja atšifrēt zemāk uzskaitītos glabātavas vienumus."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Jāsazinās ar klientu atbalstu,",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "lai izvairītos no papildu datu zaudējumiem.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Izveidot lietotājvārdu"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ atteica pieprasījumu. Lūgums sazināties ar savu pakalpojma nodrošinātāju, lai iegūtu palīdzību.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ atteica pieprasījumu: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Neizdevās iegūt $SERVICENAME$ aizsegta e-pasta konta Id.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Iestatījumi ir izmainīti"
- },
- "environmentEditedClick": {
- "message": "Klikšķināt šeit"
- },
- "environmentEditedReset": {
- "message": "lai atiestatītu pirmsuzstādītos iestatījumus"
- },
"serverVersion": {
"message": "Servera versija"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Pieteikties ar galveno paroli"
},
- "loggingInAs": {
- "message": "Piesakās kā"
- },
- "notYou": {
- "message": "Tas neesi Tu?"
- },
"newAroundHere": {
"message": "Jauns šeit?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Pieteikties ar ierīci"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Ir jāuzstāda pieteikšanās ar ierīci Bitwarden lietotnes iestatījumos. Nepieciešama cita iespēja?"
- },
"fingerprintPhraseHeader": {
"message": "Atpazīšanas vārdkopa"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Skatīt visas pieteikšanās iespējas"
},
- "viewAllLoginOptionsV1": {
- "message": "Skatīt visas pieteikšanās iespējas"
- },
"notificationSentDevice": {
"message": "Uz ierīci ir nosūtīts paziņojums."
},
+ "notificationSentDevicePart1": {
+ "message": "Bitwarden jāatslēdz savā ierīcē vai"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "tīmekļa lietotnē"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Pirms apstiprināšanas jāpārliecinās, ka pirkstu nospieduma vārdkopa atbilst zemāk esošajai."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Uz ierīci tika nosūtīts paziņojums"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Lūgums pārliecināties, ka konts ir atslēgts un atpazīšanas vārdkopa ir tāda pati arī otrā ierīcē"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Tiks paziņots, tiklīdz pieprasījums būs apstiprināts"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Uzsākta pieteikšanās"
},
+ "logInRequestSent": {
+ "message": "Pieprasījums nosūtīts"
+ },
"exposedMasterPassword": {
"message": "Noplūdusi galvenā parole"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Pieprasīt pārvaldītāja apstiprinājumu"
},
- "approveWithMasterPassword": {
- "message": "Apstiprināt ar galveno paroli"
- },
"ssoIdentifierRequired": {
"message": "Ir nepieciešams apvienības SSO identifikators."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Pieprasījums tika nosūtīts pārvaldītājam."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Tiks saņemts paziņojums, tiklīdz būs apstiprināts."
- },
"troubleLoggingIn": {
"message": "Neizdodas pieteikties?"
},
@@ -3396,38 +3649,6 @@
"message": "Pārslēgt sakļaušanu",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Ievietot datus Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Aizsargāt LastPass datus un ievietot tos Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Saglabāt kā nešifrētu datni",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Ievietot Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Ievieto...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Dati veiksmīgi ievietoti.",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Kļūda ievietošanā. Jāpārbauda konsole, lai iegūtu vairāk informācijas.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Ievietošanas laikā atgadījās tīkla kļūda.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Aizstājdomēns"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Pašlaik izmantotais konts"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden konts"
+ },
"availableAccounts": {
"message": "Pieejamie konti"
},
@@ -3979,7 +4203,10 @@
"message": "Piekļuves atslēga noņemta"
},
"autofillSuggestions": {
- "message": "Ieteikumi automātiskajai aizpildei"
+ "message": "Automātiskās aizpildes ieteikumi"
+ },
+ "itemSuggestions": {
+ "message": "Ieteiktie vienumi"
},
"autofillSuggestionsTip": {
"message": "Saglabāt pieteikšanās vienumi, ko automātiski aizpildīt šajā vietnē"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Ievietot starpliktuvē $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Nav vērtību, ko ievietot starpliktuvē"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Vienuma nosaukums"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Nevar noņemt krājumus ar tiesībām \"Tikai skatīt\": $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Apvienība ir atspējota"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Pārkārtot tīmekļvietņu URI. Bultas uz augšu taustiņš ir izmantojams, lai pārvietotu vienumu augšup vai lejup."
+ },
"reorderFieldUp": {
"message": "$LABEL$ pārvietots augšup, $INDEX$. no $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Nekas nav atlasīts."
},
- "movedItemsToOrg": {
- "message": "Atzīmētie vienumi pārvietoti uz $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Vienumi pārvietoti uz $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Teksta Send"
},
- "bitwardenNewLook": {
- "message": "Bitwarden ir jauns izskats."
- },
- "bitwardenNewLookDesc": {
- "message": "Veikt automātisko aizpildi un meklēšanu glabātavas cilnē ir vienkāršāk un izprotamāk kā jebkad. Apskati izmaiņas!"
- },
"accountActions": {
"message": "Konta darbības"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Nav nepieciešamo atļauju, lai labotu šo vienumu"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Atslēgšana ar biometriju nav pieejama, jo vispirms ir nepieciešama atslēgšana ar PIN vai paroli."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Atslēgšana ar biometriju pašlaik nav pieejama."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Atslēgšana ar biometriju nav pieejama nepareizi konfigurētu sistēmas datņu dēļ."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Atslēgšana ar biometriju nav pieejama nepareizi konfigurētu sistēmas datņu dēļ."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Atslēgšana ar biometriju nav pieejama, jo Bitwarden darbvirsmas lietotne ir aizvērta."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Atslēgšana ar biometriju nav pieejama, jo tā nav iespējota $EMAIL$ Bitwarden darbvirsmas lietotnē.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Atslēgšana ar biometriju pašlaik nav pieejama nezināma iemesla dēļ."
+ },
"authenticating": {
"message": "Autentificē"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Ļoti plats"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Ievadītā parole ir nepareiza."
+ },
+ "importSshKey": {
+ "message": "Ievietot"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Apstiprināt paroli"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Ievadīt SSH atslēgas paroli."
+ },
+ "enterSshKeyPassword": {
+ "message": "Ievadīt paroli"
+ },
+ "invalidSshKey": {
+ "message": "SSH atslēga ir nederīga"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "SSH atslēgas veids netiek atbalstīts"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Ievietot atslēgu no starpliktuves"
+ },
+ "sshKeyImported": {
+ "message": "SSH atslēga tika sekmīgi ievietota"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Nevar noņemt krājumus ar tiesībām \"Tikai skatīt\": $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Lūgums atjaunināt darbvirsmas lietotni"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Lai izmantotu atslēgšanu ar biometriju, lūgums atjaunināt darbvirsmas lietotni vai atspējot atslēgšanu ar pirkstu nospiedumu darbvirsmas iestatījumos."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/ml/messages.json b/apps/browser/src/_locales/ml/messages.json
index cd210c85ce1..24a096db0ef 100644
--- a/apps/browser/src/_locales/ml/messages.json
+++ b/apps/browser/src/_locales/ml/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "പ്രാഥമിക പാസ്വേഡ് സൂചന (ഇഷ്ടാനുസൃതമായ)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "പാസ്സ്വേഡ് സൂചനാ"
- },
- "enterEmailToGetHint": {
- "message": "നിങ്ങളുടെ പ്രാഥമിക പാസ്വേഡ് സൂചന ലഭിക്കുന്നതിന് നിങ്ങളുടെ അക്കൗണ്ട് ഇമെയിൽ വിലാസം നൽകുക."
- },
"getMasterPasswordHint": {
"message": "പ്രാഥമിക പാസ്വേഡ് സൂചന നേടുക"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "ഫോൾഡർ തിരുത്തുക"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "പാസ്സ്വേഡ് വീണ്ടും സൃഷ്ടിക്കുക"
},
@@ -454,22 +482,6 @@
"length": {
"message": "നീളം"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "വാക്കുകളുടെ എണ്ണം"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "നിങ്ങളുടെ ബ്രൌസർ എളുപ്പമുള്ള ക്ലിപ്പ്ബോർഡ് പകർത്തൽ പിന്തുണയ്ക്കത്തില്ല. പകരം അത് സ്വമേധയാ പകർക്കുക ."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "തങ്ങളുടെ വാൾട് പൂട്ടിയിരിക്കുന്നു. തുടരുന്നതിന് നിങ്ങളുടെ പ്രാഥമിക പാസ്വേഡ് പരിശോധിക്കുക."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "തെറ്റ്"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "ഒരു അപ്രതീക്ഷിത പിശക് സംഭവിച്ചു."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "ക്ലിപ്ബോര്ഡ് മായ്ക്കുക",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "ശരി, ഇപ്പോൾ സംരക്ഷിക്കുക"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "ലൈറ്റ്",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "പ്രീമിയം വാങ്ങുക"
},
- "premiumPurchaseAlert": {
- "message": "നിങ്ങൾക്ക് bitwarden.com വെബ് വാൾട്ടിൽ പ്രീമിയം അംഗത്വം വാങ്ങാം. നിങ്ങൾക്ക് ഇപ്പോൾ വെബ്സൈറ്റ് സന്ദർശിക്കാൻ ആഗ്രഹമുണ്ടോ?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "എന്നെ ഓർക്കുക"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "സ്ഥിരീകരണ കോഡ് ഇമെയിൽ വഴി അയയ്ക്കുക"
},
"useAnotherTwoStepMethod": {
"message": "മറ്റൊരു രണ്ട് ഘട്ട ലോഗിൻ രീതി ഉപയോഗിക്കുക"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "നിങ്ങളുടെ കമ്പ്യൂട്ടറിന്റെ യുഎസ്ബി പോർട്ടിലേക്ക് യുബിക്കി ഇടുക, തുടർന്ന് അതിന്റെ ബട്ടൺ അമർത്തുക."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "പ്രവേശനം ലഭ്യമല്ല"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "രണ്ട്-ഘട്ട പ്രവേശനം ഓപ്ഷനുകൾ"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "നിങ്ങളുടെ രണ്ട്-ഘടക ദാതാക്കളിലേക്കുള്ള ആക്സസ്സ് നഷ്ടപ്പെട്ടോ? നിങ്ങളുടെ അക്കൗണ്ടിൽ നിന്ന് രണ്ട്-ഘടക ദാതാക്കളെ പ്രവർത്തനരഹിതമാക്കാൻ നിങ്ങളുടെ റിക്കവറി കോഡ് ഉപയോഗിക്കുക."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "സ്വയം ഹോസ്റ്റുചെയ്ത എൻവിയോണ്മെന്റ്"
},
- "selfHostedEnvironmentFooter": {
- "message": "തങ്ങളുടെ പരിസരത്ത് ചെയ്യുന്ന ബിറ്റ് വാർഡൻ ഇൻസ്റ്റാളേഷന്റെ അടിസ്ഥാന URL വ്യക്തമാക്കുക."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "ഇഷ്ടാനുസൃത എൻവിയോണ്മെന്റ്"
},
- "customEnvironmentFooter": {
- "message": "വിപുലമായ ഉപയോക്താക്കൾക്കായി. ഓരോ സേവനത്തിന്റെയും അടിസ്ഥാന URL നിങ്ങൾക്ക് സ്വതന്ത്രമായി വ്യക്തമാക്കാൻ കഴിയും."
- },
"baseUrl": {
"message": "സെർവർ URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "അടുക്കാൻ വലിച്ചിടുക"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "വാചകം"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "വാൾട് ടൈം ഔട്ട് ആക്ഷൻ"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "പൂട്ടുക",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/mr/messages.json b/apps/browser/src/_locales/mr/messages.json
index d156e6d6458..9a49998d3d9 100644
--- a/apps/browser/src/_locales/mr/messages.json
+++ b/apps/browser/src/_locales/mr/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "मुख्य पासवर्डचा संकेत (पर्यायी)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "पासवर्ड संकेत"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "मुख्य पासवर्ड संकेत मिळवा"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "फोल्डर संपादित करा"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "पासवर्ड पुनर्जनित करा"
},
@@ -454,22 +482,6 @@
"length": {
"message": "लांबी"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "ओळख सत्यापित करा"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "तुमची तिजोरीला कुलूप लावले आहे. पुढे जाण्यासाठी तुमची ओळख सत्यापित करा."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/my/messages.json b/apps/browser/src/_locales/my/messages.json
index 6ab3755c8f4..c9c29611deb 100644
--- a/apps/browser/src/_locales/my/messages.json
+++ b/apps/browser/src/_locales/my/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Length"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/nb/messages.json b/apps/browser/src/_locales/nb/messages.json
index 16469051a0c..0ff4ed9486a 100644
--- a/apps/browser/src/_locales/nb/messages.json
+++ b/apps/browser/src/_locales/nb/messages.json
@@ -7,7 +7,7 @@
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
- "message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
+ "message": "Hjemme, på jobben eller på farten sikrer Bitwarden enkelt alle dine passord, passnøkler og sensitiv informasjon",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
@@ -20,19 +20,19 @@
"message": "Opprett en konto"
},
"newToBitwarden": {
- "message": "New to Bitwarden?"
+ "message": "Er du ny til Bitwarden?"
},
"logInWithPasskey": {
- "message": "Log in with passkey"
+ "message": "Logg inn med passnøkkel"
},
"useSingleSignOn": {
"message": "Use single sign-on"
},
"welcomeBack": {
- "message": "Welcome back"
+ "message": "Velkommen tilbake"
},
"setAStrongPassword": {
- "message": "Set a strong password"
+ "message": "Velg et sterkt passord"
},
"finishCreatingYourAccountBySettingAPassword": {
"message": "Finish creating your account by setting a password"
@@ -80,11 +80,20 @@
"masterPassHint": {
"message": "Et hint for hovedpassordet (valgfritt)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
- "message": "Join organization"
+ "message": "Bli med i organisasjonen"
},
"joinOrganizationName": {
- "message": "Join $ORGANIZATIONNAME$",
+ "message": "Bli med i $ORGANIZATIONNAME$",
"placeholders": {
"organizationName": {
"content": "$1",
@@ -138,31 +147,31 @@
"message": "Kopier sikkerhetskoden"
},
"copyName": {
- "message": "Copy name"
+ "message": "Kopiér navn"
},
"copyCompany": {
- "message": "Copy company"
+ "message": "Kopiér firma"
},
"copySSN": {
- "message": "Copy Social Security number"
+ "message": "Kopiér fødselsnummer"
},
"copyPassportNumber": {
- "message": "Copy passport number"
+ "message": "Kopiér passnummer"
},
"copyLicenseNumber": {
- "message": "Copy license number"
+ "message": "Kopiér lisensnummer"
},
"copyPrivateKey": {
- "message": "Copy private key"
+ "message": "Kopiér privat nøkkel"
},
"copyPublicKey": {
- "message": "Copy public key"
+ "message": "Kopiér offentlig nøkkel"
},
"copyFingerprint": {
- "message": "Copy fingerprint"
+ "message": "Kopiér fingeravtrykk"
},
"copyCustomField": {
- "message": "Copy $FIELD$",
+ "message": "Kopiér $FIELD$",
"placeholders": {
"field": {
"content": "$1",
@@ -171,13 +180,17 @@
}
},
"copyWebsite": {
- "message": "Copy website"
+ "message": "Kopiér nettsted"
},
"copyNotes": {
- "message": "Copy notes"
+ "message": "Kopiér notater"
+ },
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
},
"fill": {
- "message": "Fill",
+ "message": "Fyll",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
},
"autoFill": {
@@ -193,10 +206,10 @@
"message": "Auto-utfyll identitet"
},
"fillVerificationCode": {
- "message": "Fill verification code"
+ "message": "Fyll inn verifiseringskode"
},
"fillVerificationCodeAria": {
- "message": "Fill Verification Code",
+ "message": "Fyll inn verifiseringskode",
"description": "Aria label for the heading displayed the inline menu for totp code autofill"
},
"generatePasswordCopied": {
@@ -239,23 +252,17 @@
"message": "Legg til en gjenstand"
},
"accountEmail": {
- "message": "Account email"
+ "message": "Kontoens E-postadresse"
},
"requestHint": {
- "message": "Request hint"
+ "message": "Be om et hint"
},
"requestPasswordHint": {
- "message": "Request password hint"
+ "message": "Be om passordhint"
},
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Passordhint"
- },
- "enterEmailToGetHint": {
- "message": "Skriv inn e-postadressen din for å motta hintet til hovedpassordet."
- },
"getMasterPasswordHint": {
"message": "Få et hint om superpassordet"
},
@@ -281,13 +288,13 @@
"message": "Endre hovedpassordet"
},
"continueToWebApp": {
- "message": "Continue to web app?"
+ "message": "Vil du fortsette til nettappen?"
},
"continueToWebAppDesc": {
"message": "Explore more features of your Bitwarden account on the web app."
},
"continueToHelpCenter": {
- "message": "Continue to Help Center?"
+ "message": "Vil du fortsette til Hjelpesenteret?"
},
"continueToHelpCenterDesc": {
"message": "Learn more about how to use Bitwarden on the Help Center."
@@ -299,7 +306,7 @@
"message": "Help others find out if Bitwarden is right for them. Visit your browser's extension store and leave a rating now."
},
"changeMasterPasswordOnWebConfirmation": {
- "message": "You can change your master password on the Bitwarden web app."
+ "message": "Du kan endre hovedpassordet ditt i Bitwardens nettapp."
},
"fingerprintPhrase": {
"message": "Fingeravtrykksfrase",
@@ -316,22 +323,22 @@
"message": "Logg ut"
},
"aboutBitwarden": {
- "message": "About Bitwarden"
+ "message": "Om Bitwarden"
},
"about": {
"message": "Om"
},
"moreFromBitwarden": {
- "message": "More from Bitwarden"
+ "message": "Mer fra Bitwarden"
},
"continueToBitwardenDotCom": {
- "message": "Continue to bitwarden.com?"
+ "message": "Vil du fortsette til bitwarden.com?"
},
"bitwardenForBusiness": {
- "message": "Bitwarden for Business"
+ "message": "Bitwarden for bedrifter"
},
"bitwardenAuthenticator": {
- "message": "Bitwarden Authenticator"
+ "message": "Bitwarden-autentiserer"
},
"continueToAuthenticatorPageDesc": {
"message": "Bitwarden Authenticator allows you to store authenticator keys and generate TOTP codes for 2-step verification flows. Learn more on the bitwarden.com website"
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Rediger mappen"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Ny mappe"
},
@@ -382,7 +398,7 @@
"message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums"
},
"noFoldersAdded": {
- "message": "No folders added"
+ "message": "Ingen mapper er lagt til"
},
"createFoldersToOrganize": {
"message": "Create folders to organize your vault items"
@@ -431,7 +447,7 @@
"message": "Generer automatisk sterke og unike passord for dine innlogginger."
},
"bitWebVaultApp": {
- "message": "Bitwarden web app"
+ "message": "Bitwardens nett-app"
},
"importItems": {
"message": "Importer elementer"
@@ -443,7 +459,19 @@
"message": "Generer et passord"
},
"generatePassphrase": {
- "message": "Generate passphrase"
+ "message": "Generér passordfrase"
+ },
+ "passwordGenerated": {
+ "message": "Passord generert"
+ },
+ "passphraseGenerated": {
+ "message": "Passordfrase generert"
+ },
+ "usernameGenerated": {
+ "message": "Brukernavn generert"
+ },
+ "emailGenerated": {
+ "message": "E-postadresse generert"
},
"regeneratePassword": {
"message": "Omgenerer et passord"
@@ -454,28 +482,12 @@
"length": {
"message": "Lengde"
},
- "uppercase": {
- "message": "Store bokstaver (A–Å)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Små bokstaver (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Tall (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Spesialtegn (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Inkluder",
"description": "Card header for password generator include block"
},
"uppercaseDescription": {
- "message": "Include uppercase characters",
+ "message": "Inkluder store bokstaver",
"description": "Tooltip for the password generator uppercase character checkbox"
},
"uppercaseLabel": {
@@ -483,7 +495,7 @@
"description": "Label for the password generator uppercase character checkbox"
},
"lowercaseDescription": {
- "message": "Include lowercase characters",
+ "message": "Inkluder små bokstaver",
"description": "Full description for the password generator lowercase character checkbox"
},
"lowercaseLabel": {
@@ -499,13 +511,9 @@
"description": "Label for the password generator numbers checkbox"
},
"specialCharactersDescription": {
- "message": "Include special characters",
+ "message": "Inkluder spesialtegn",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Antall ord"
},
@@ -526,7 +534,7 @@
"message": "Minste antall spesialtegn"
},
"avoidAmbiguous": {
- "message": "Avoid ambiguous characters",
+ "message": "Unngå forvekslingsbare tegn",
"description": "Label for the avoid ambiguous characters checkbox."
},
"generatorPolicyInEffect": {
@@ -555,7 +563,7 @@
"message": "Passord"
},
"totp": {
- "message": "Authenticator secret"
+ "message": "Autentiseringsnøkkel"
},
"passphrase": {
"message": "Passfrase"
@@ -564,19 +572,19 @@
"message": "Favoritt"
},
"unfavorite": {
- "message": "Unfavorite"
+ "message": "Fjern favorittstempel"
},
"itemAddedToFavorites": {
- "message": "Item added to favorites"
+ "message": "Gjenstand lagt til i favorittene"
},
"itemRemovedFromFavorites": {
- "message": "Item removed from favorites"
+ "message": "Gjenstand fjernet fra favorittene"
},
"notes": {
"message": "Notater"
},
"privateNote": {
- "message": "Private note"
+ "message": "Privat notat"
},
"note": {
"message": "Notat"
@@ -597,10 +605,10 @@
"message": "Åpne"
},
"launchWebsite": {
- "message": "Launch website"
+ "message": "Åpne nettstedet"
},
"launchWebsiteName": {
- "message": "Launch website $ITEMNAME$",
+ "message": "Åpne nettstedet $ITEMNAME$",
"placeholders": {
"itemname": {
"content": "$1",
@@ -621,7 +629,7 @@
"message": "Annet"
},
"unlockMethods": {
- "message": "Unlock options"
+ "message": "Opplåsingsalternativer"
},
"unlockMethodNeededToChangeTimeoutActionDesc": {
"message": "Set up an unlock method to change your vault timeout action."
@@ -630,10 +638,10 @@
"message": "Set up an unlock method in Settings"
},
"sessionTimeoutHeader": {
- "message": "Session timeout"
+ "message": "Tidsavbrudd for økten"
},
"vaultTimeoutHeader": {
- "message": "Vault timeout"
+ "message": "Tidsavbrudd for hvelvet"
},
"otherOptions": {
"message": "Andre valg"
@@ -644,20 +652,26 @@
"browserNotSupportClipboard": {
"message": "Nettleseren din støtter ikke kopiering til utklippstavlen på noe enkelt vis. Prøv å kopiere det manuelt i stedet."
},
- "verifyIdentity": {
- "message": "Bekreft identitet"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Fortsett innloggingen"
},
"yourVaultIsLocked": {
"message": "Hvelvet ditt er låst. Kontroller hovedpassordet ditt for å fortsette."
},
"yourVaultIsLockedV2": {
- "message": "Your vault is locked"
+ "message": "Hvelvet ditt er låst"
},
"yourAccountIsLocked": {
- "message": "Your account is locked"
+ "message": "Kontoen din er låst"
},
"or": {
- "message": "or"
+ "message": "eller"
},
"unlock": {
"message": "Lås opp"
@@ -745,7 +759,7 @@
"message": "Your master password cannot be recovered if you forget it!"
},
"masterPassHintLabel": {
- "message": "Master password hint"
+ "message": "Få et hint om hovedpassordet"
},
"errorOccurred": {
"message": "En feil har oppstått"
@@ -779,16 +793,16 @@
"message": "Din nye konto har blitt opprettet! Du kan nå logge på."
},
"newAccountCreated2": {
- "message": "Your new account has been created!"
+ "message": "Den nye kontoen din er opprettet!"
},
"youHaveBeenLoggedIn": {
- "message": "You have been logged in!"
+ "message": "Du har blitt logget inn!"
},
"youSuccessfullyLoggedIn": {
- "message": "You successfully logged in"
+ "message": "Du har vellykket logget inn"
},
"youMayCloseThisWindow": {
- "message": "You may close this window"
+ "message": "Du kan lukke dette vinduet"
},
"masterPassSent": {
"message": "Vi har sendt deg en E-post med hintet til superpassordet."
@@ -834,16 +848,16 @@
"message": "Bitwarden can store and fill 2-step verification codes. Select the camera icon to take a screenshot of this website's authenticator QR code, or copy and paste the key into this field."
},
"learnMoreAboutAuthenticators": {
- "message": "Learn more about authenticators"
+ "message": "Lær mer om autentisering"
},
"copyTOTP": {
- "message": "Copy Authenticator key (TOTP)"
+ "message": "Kopier autentiseringsnøkkel (TOTP)"
},
"loggedOut": {
"message": "Logget av"
},
"loggedOutDesc": {
- "message": "You have been logged out of your account."
+ "message": "Du har blitt logget ut av kontoen din."
},
"loginExpired": {
"message": "Din innloggingsøkt har utløpt."
@@ -852,19 +866,34 @@
"message": "Logg inn"
},
"logInToBitwarden": {
- "message": "Log in to Bitwarden"
+ "message": "Logg inn på Bitwarden"
+ },
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
},
"restartRegistration": {
- "message": "Restart registration"
+ "message": "Start registreringen på nytt"
},
"expiredLink": {
- "message": "Expired link"
+ "message": "Utløpt lenke"
},
"pleaseRestartRegistrationOrTryLoggingIn": {
"message": "Please restart registration or try logging in."
},
"youMayAlreadyHaveAnAccount": {
- "message": "You may already have an account"
+ "message": "Du har kanskje allerede en konto"
},
"logOutConfirmation": {
"message": "Er du sikker på at du vil logge av?"
@@ -875,6 +904,9 @@
"no": {
"message": "Nei"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "En uventet feil har oppstått."
},
@@ -891,7 +923,7 @@
"message": "Make your account more secure by setting up two-step login in the Bitwarden web app."
},
"twoStepLoginConfirmationTitle": {
- "message": "Continue to web app?"
+ "message": "Vil du fortsette til nettappen?"
},
"editedFolder": {
"message": "Redigerte mappen"
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Vis kort på fanesiden"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Vis kortelementer på fanesiden for lett auto-utfylling."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Vis identiteter på fanesiden"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Tøm utklippstavlen",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Ja, lagre nå"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Spør om å oppdatere eksisterende innlogginger"
},
@@ -1049,7 +1134,7 @@
"message": "Lås opp"
},
"additionalOptions": {
- "message": "Additional options"
+ "message": "Ekstra innstillinger"
},
"enableContextMenuItem": {
"message": "Vis alternativer for kontekstmeny"
@@ -1084,10 +1169,6 @@
"message": "Lyst",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarisert mørk",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1113,7 +1194,7 @@
"message": "Set a file password to encrypt the export and import it to any Bitwarden account using the password for decryption."
},
"exportTypeHeading": {
- "message": "Export type"
+ "message": "Eksporttype"
},
"accountRestricted": {
"message": "Account restricted"
@@ -1126,7 +1207,7 @@
"description": "WARNING (should stay in capitalized letters if the language permits)"
},
"warningCapitalized": {
- "message": "Warning",
+ "message": "Advarsel",
"description": "Warning (should maintain locale-relevant capitalization)"
},
"confirmVaultExport": {
@@ -1206,7 +1287,7 @@
"message": "Fil"
},
"fileToShare": {
- "message": "File to share"
+ "message": "Filen som skal deles"
},
"selectFile": {
"message": "Velg en fil."
@@ -1242,7 +1323,7 @@
"message": "1 GB med kryptert fillagring for filvedlegg."
},
"premiumSignUpEmergency": {
- "message": "Emergency access."
+ "message": "Nødtilgang."
},
"premiumSignUpTwoStepOptions": {
"message": "Proprietary two-step login options such as YubiKey and Duo."
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Kjøp Premium"
},
- "premiumPurchaseAlert": {
- "message": "Du kan kjøpe et Premium-medlemskap på bitwarden.com. Vil du besøke det nettstedet nå?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1275,7 +1353,7 @@
"message": "Takk for at du støtter Bitwarden."
},
"premiumFeatures": {
- "message": "Upgrade to Premium and receive:"
+ "message": "Oppgrader til Premium og motta:"
},
"premiumPrice": {
"message": "Og alt det for %price%/år!",
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Husk på meg"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send E-posten med verifiseringskoden på nytt"
},
"useAnotherTwoStepMethod": {
"message": "Bruk en annen 2-trinnsinnloggingsmetode"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Sett inn din YubiKey i din datamaskins USB-uttak, og så trykk på dens knapp."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Åpne ny fane"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Autentiser WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Innloggingen er utilgjengelig"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Alternativer for 2-trinnsinnlogging"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Har du mistet tilgang til alle dine 2-trinnsleverandører? Bruk din gjenopprettingskode til å fjerne alle 2-trinnsleverandører fra din konto."
},
@@ -1413,14 +1513,11 @@
"message": "E-post"
},
"emailDescV2": {
- "message": "Enter a code sent to your email."
+ "message": "Skriv inn koden du har fått tilsendt på E-post."
},
"selfHostedEnvironment": {
"message": "Selvbetjent miljø"
},
- "selfHostedEnvironmentFooter": {
- "message": "Spesifiser grunn-nettadressen til din selvbetjente Bitwarden-installasjon."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Tilpasset miljø"
},
- "customEnvironmentFooter": {
- "message": "For avanserte brukere. Du kan bestemme grunn-nettadressen til hver tjeneste separat."
- },
"baseUrl": {
"message": "Tjener-nettadresse"
},
@@ -1462,29 +1556,29 @@
"message": "Miljø-nettadressene har blitt lagret."
},
"showAutoFillMenuOnFormFields": {
- "message": "Show autofill menu on form fields",
+ "message": "Vis autoutfyll-menyen i tekstbokser",
"description": "Represents the message for allowing the user to enable the autofill overlay"
},
"autofillSuggestionsSectionTitle": {
- "message": "Autofill suggestions"
+ "message": "Autoutfyllingsforslag"
},
"showInlineMenuLabel": {
- "message": "Show autofill suggestions on form fields"
+ "message": "Vis autoutfyll-forslag i tekstbokser"
},
"showInlineMenuIdentitiesLabel": {
- "message": "Display identities as suggestions"
+ "message": "Vis identiteter som forslag"
},
"showInlineMenuCardsLabel": {
- "message": "Display cards as suggestions"
+ "message": "Vis kort som forslag"
},
"showInlineMenuOnIconSelectionLabel": {
- "message": "Display suggestions when icon is selected"
+ "message": "Vis forslag når ikonet er valgt"
},
"showInlineMenuOnFormFieldsDescAlt": {
"message": "Applies to all logged in accounts."
},
"turnOffBrowserBuiltInPasswordManagerSettings": {
- "message": "Turn off your browser's built in password manager settings to avoid conflicts."
+ "message": "Skru av din nettlesers innebygde passordbehandler for å unngå konflikter."
},
"turnOffBrowserBuiltInPasswordManagerSettingsLink": {
"message": "Rediger nettleserinnstillingene."
@@ -1514,7 +1608,7 @@
"message": "Kompromitterte eller upålitelige nettsider kan utnytte auto-utfylling når du laster inn siden."
},
"learnMoreAboutAutofillOnPageLoadLinkText": {
- "message": "Learn more about risks"
+ "message": "Lær mer om risikoer"
},
"learnMoreAboutAutofill": {
"message": "Lær mer om auto-utfylling"
@@ -1523,7 +1617,7 @@
"message": "Standard autofyll innstilling for innloggingselementer"
},
"defaultAutoFillOnPageLoadDesc": {
- "message": "Etter aktivering av auto-utfylling på sidelasser, kan du aktivere eller deaktivere funksjonen for individuelle innloggingselementer. Dette er standardinnstillingen for innloggingselementer som ikke er satt opp separat."
+ "message": "Du kan skru av auto-utfylling ved sideinnlastinger for individuelle innloggingsgjenstander fra gjenstandens «Redigér»-visning."
},
"itemAutoFillOnPageLoad": {
"message": "Auto-utfyll på sideinnlastning (hvis aktivert i Alternativer)"
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Dra for å sortere"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Tekst"
},
@@ -1583,7 +1680,7 @@
"message": "Boolsk verdi"
},
"cfTypeCheckbox": {
- "message": "Checkbox"
+ "message": "Avkryssingsboks"
},
"cfTypeLinked": {
"message": "Tilkoblet",
@@ -1768,10 +1865,10 @@
"message": "Identitet"
},
"typeSshKey": {
- "message": "SSH key"
+ "message": "SSH-nøkkel"
},
"newItemHeader": {
- "message": "New $TYPE$",
+ "message": "Ny $TYPE$",
"placeholders": {
"type": {
"content": "$1",
@@ -1780,7 +1877,7 @@
}
},
"editItemHeader": {
- "message": "Edit $TYPE$",
+ "message": "Rediger $TYPE$",
"placeholders": {
"type": {
"content": "$1",
@@ -1789,7 +1886,7 @@
}
},
"viewItemHeader": {
- "message": "View $TYPE$",
+ "message": "Vis $TYPE$",
"placeholders": {
"type": {
"content": "$1",
@@ -1801,10 +1898,10 @@
"message": "Passordhistorikk"
},
"generatorHistory": {
- "message": "Generator history"
+ "message": "Generatorhistorikk"
},
"clearGeneratorHistoryTitle": {
- "message": "Clear generator history"
+ "message": "Tøm generatorhistorikk"
},
"cleargGeneratorHistoryDescription": {
"message": "If you continue, all entries will be permanently deleted from generator's history. Are you sure you want to continue?"
@@ -1816,7 +1913,7 @@
"message": "Samlinger"
},
"nCollections": {
- "message": "$COUNT$ collections",
+ "message": "$COUNT$ samlinger",
"placeholders": {
"count": {
"content": "$1",
@@ -1846,7 +1943,7 @@
"message": "Sikre notiser"
},
"sshKeys": {
- "message": "SSH Keys"
+ "message": "SSH-nøkler"
},
"clear": {
"message": "Tøm",
@@ -1872,7 +1969,7 @@
"description": "Domain name. Ex. website.com"
},
"baseDomainOptionRecommended": {
- "message": "Base domain (recommended)",
+ "message": "Grunndomene (anbefalt)",
"description": "Domain name. Ex. website.com"
},
"domainName": {
@@ -1929,10 +2026,10 @@
"message": "Tøm historikk"
},
"nothingToShow": {
- "message": "Nothing to show"
+ "message": "Ingenting å vise"
},
"nothingGeneratedRecently": {
- "message": "You haven't generated anything recently"
+ "message": "Du har ikke generert noe i det siste"
},
"remove": {
"message": "Fjern"
@@ -2002,7 +2099,7 @@
"message": "Angi PIN-koden din for å låse opp Bitwarden. PIN-innstillingene tilbakestilles hvis du logger deg helt ut av programmet."
},
"setYourPinCode1": {
- "message": "Your PIN will be used to unlock Bitwarden instead of your master password. Your PIN will reset if you ever fully log out of Bitwarden."
+ "message": "PIN-koden din vil bli brukt til å låse opp Bitwarden i stedet for hovedpassordet ditt. PIN-koden din tilbakestilles hvis du noen gang logger deg helt ut av Bitwarden."
},
"pinRequired": {
"message": "PIN-kode er påkrevd."
@@ -2011,13 +2108,13 @@
"message": "Ugyldig PIN-kode."
},
"tooManyInvalidPinEntryAttemptsLoggingOut": {
- "message": "Too many invalid PIN entry attempts. Logging out."
+ "message": "For mange ugyldige PIN-kodeforsøk. Logger ut."
},
"unlockWithBiometrics": {
"message": "Lås opp med biometri"
},
"unlockWithMasterPassword": {
- "message": "Unlock with master password"
+ "message": "Lås opp med hovedpassord"
},
"awaitDesktop": {
"message": "Venter på bekreftelse fra skrivebordsprogrammet"
@@ -2029,7 +2126,7 @@
"message": "Lås med hovedpassordet når du starter nettleseren på nytt"
},
"lockWithMasterPassOnRestart1": {
- "message": "Require master password on browser restart"
+ "message": "Krev hovedpassord ved omstart av nettleseren"
},
"selectOneCollection": {
"message": "Du må velge minst én samling."
@@ -2041,33 +2138,48 @@
"message": "Klon"
},
"passwordGenerator": {
- "message": "Password generator"
+ "message": "Passordgenerator"
},
"usernameGenerator": {
- "message": "Username generator"
+ "message": "Brukernavngenerator"
+ },
+ "useThisEmail": {
+ "message": "Bruk denne E-postadressen"
},
"useThisPassword": {
"message": "Bruk dette passordet"
},
"useThisUsername": {
- "message": "Use this username"
+ "message": "Bruk dette brukernavnet"
},
"securePasswordGenerated": {
"message": "Secure password generated! Don't forget to also update your password on the website."
},
"useGeneratorHelpTextPartOne": {
- "message": "Use the generator",
+ "message": "Bruk denne generatoren",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
"useGeneratorHelpTextPartTwo": {
- "message": "to create a strong unique password",
+ "message": "for å lage et sterkt og unikt passord",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Handling ved tidsavbrudd i hvelvet"
},
"vaultTimeoutAction1": {
- "message": "Timeout action"
+ "message": "Handling ved tidsavbrudd"
+ },
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
},
"lock": {
"message": "Lås",
@@ -2096,7 +2208,7 @@
"message": "Gjenopprettet objekt"
},
"alreadyHaveAccount": {
- "message": "Already have an account?"
+ "message": "Har du allerede en konto?"
},
"vaultTimeoutLogOutConfirmation": {
"message": "Hvis du logger ut, fjerner du all tilgang til hvelvet ditt og krever online godkjenning etter tidsavbrudd. Er du sikker på at du vil bruke denne innstillingen?"
@@ -2108,7 +2220,7 @@
"message": "Autofyll og lagre"
},
"fillAndSave": {
- "message": "Fill and save"
+ "message": "Fyll og lagre"
},
"autoFillSuccessAndSavedUri": {
"message": "Autoutfylt objekt og lagret URI"
@@ -2117,7 +2229,7 @@
"message": "Autoutfylt element"
},
"insecurePageWarning": {
- "message": "Warning: This is an unsecured HTTP page, and any information you submit can potentially be seen and changed by others. This Login was originally saved on a secure (HTTPS) page."
+ "message": "Advarsel: Dette er en usikret HTTP-side, og all informasjon du sender inn kan potensielt bli sett og endret av andre. Denne påloggingen ble opprinnelig lagret på et sikkert (HTTPS) nettsted."
},
"insecurePageWarningFillPrompt": {
"message": "Ønsker du likevel å fylle ut denne innloggingen?"
@@ -2195,10 +2307,10 @@
"message": "Avslutt abonnement"
},
"atAnyTime": {
- "message": "at any time."
+ "message": "når som helst."
},
"byContinuingYouAgreeToThe": {
- "message": "By continuing, you agree to the"
+ "message": "Ved å fortsette, samtykker du til"
},
"and": {
"message": "og"
@@ -2288,7 +2400,7 @@
"message": "Please unlock this user in the desktop application and try again."
},
"biometricsNotAvailableTitle": {
- "message": "Biometric unlock unavailable"
+ "message": "Biometrisk opplåsing er utilgjengelig"
},
"biometricsNotAvailableDesc": {
"message": "Biometric unlock is currently unavailable. Please try again later."
@@ -2324,6 +2436,12 @@
"message": "Domener",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blokkerte domener"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Ekskluderte domener"
},
@@ -2333,8 +2451,120 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Endre dette i innstillingene"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
- "message": "Website $number$ (URI)",
+ "message": "Nettsted $number$ (URİ)",
"placeholders": {
"number": {
"content": "$1",
@@ -2351,18 +2581,21 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
"limitSendViews": {
- "message": "Limit views"
+ "message": "Begrens visninger"
},
"limitSendViewsHint": {
- "message": "No one can view this Send after the limit is reached.",
+ "message": "Ingen kan se denne Send-en etter at grensen er nådd.",
"description": "Displayed under the limit views field on Send"
},
"limitSendViewsCount": {
- "message": "$ACCESSCOUNT$ views left",
+ "message": "$ACCESSCOUNT$ visninger igjen",
"description": "Displayed under the limit views field on Send",
"placeholders": {
"accessCount": {
@@ -2376,14 +2609,14 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendDetails": {
- "message": "Send details",
+ "message": "Send-detaljer",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendTypeText": {
"message": "Tekst"
},
"sendTypeTextToShare": {
- "message": "Text to share"
+ "message": "Teksten som skal deles"
},
"sendTypeFile": {
"message": "Fil"
@@ -2393,7 +2626,7 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"hideTextByDefault": {
- "message": "Hide text by default"
+ "message": "Skjul tekst som standard"
},
"expired": {
"message": "Utløpt"
@@ -2473,7 +2706,7 @@
"message": "Egendefinert"
},
"sendPasswordDescV3": {
- "message": "Add an optional password for recipients to access this Send.",
+ "message": "Legg til et valgfritt passord for at mottakerne skal få tilgang til denne Send-en.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"createSend": {
@@ -2528,7 +2761,7 @@
}
},
"sendLinkCopied": {
- "message": "Send link copied",
+ "message": "Send-lenken ble kopiert",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"editedSend": {
@@ -2536,7 +2769,7 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendFilePopoutDialogText": {
- "message": "Pop out extension?",
+ "message": "Vil du sprette ut utvidelsen?",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendFilePopoutDialogDesc": {
@@ -2553,7 +2786,7 @@
"message": "For å velge en fil med Safari, popp ut i et nytt vindu ved å klikke på dette banneret."
},
"popOut": {
- "message": "Pop out"
+ "message": "Sprett ut"
},
"sendFileCalloutHeader": {
"message": "Før du starter"
@@ -2574,7 +2807,7 @@
"message": "Det oppstod en feil ved lagring av slettingen og utløpsdatoene."
},
"hideYourEmail": {
- "message": "Hide your email address from viewers."
+ "message": "Skjul E-postadressen din fra seere."
},
"passwordPrompt": {
"message": "Forespørsel om hovedpassord på nytt"
@@ -2619,7 +2852,7 @@
"message": "Velg mappe …"
},
"noFoldersFound": {
- "message": "No folders found",
+ "message": "Ingen mapper ble funnet",
"description": "Used as a message within the notification bar when no folders are found"
},
"orgPermissionsUpdatedMustSetPassword": {
@@ -2631,7 +2864,7 @@
"description": "Used as a card title description on the set password page to explain why the user is there"
},
"cardMetrics": {
- "message": "out of $TOTAL$",
+ "message": "av $TOTAL$",
"placeholders": {
"total": {
"content": "$1",
@@ -2789,14 +3022,28 @@
"error": {
"message": "Feil"
},
+ "decryptionError": {
+ "message": "Dekrypteringsfeil"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "for å unngå ytterligere datatap.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generer brukernavn"
},
"generateEmail": {
- "message": "Generate email"
+ "message": "Generér E-post"
},
"spinboxBoundariesHint": {
- "message": "Value must be between $MIN$ and $MAX$.",
+ "message": "Verdien må være mellom $MIN$ og $MAX$.",
"description": "Explains spin box minimum and maximum values to the user",
"placeholders": {
"min": {
@@ -2810,7 +3057,7 @@
}
},
"passwordLengthRecommendationHint": {
- "message": " Use $RECOMMENDED$ characters or more to generate a strong password.",
+ "message": " Bruk minst $RECOMMENDED$ tegn for å generere et sterkt passord.",
"description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).",
"placeholders": {
"recommended": {
@@ -2861,11 +3108,11 @@
"message": "Generer et e-postalias med en ekstern videresendingstjeneste."
},
"forwarderDomainName": {
- "message": "Email domain",
+ "message": "E-postdomene",
"description": "Labels the domain name email forwarder service option"
},
"forwarderDomainNameHint": {
- "message": "Choose a domain that is supported by the selected service",
+ "message": "Velg et domene som støttes av den valgte tjenesten",
"description": "Guidance provided for email forwarding services that support multiple email domains."
},
"forwarderError": {
@@ -2883,11 +3130,11 @@
}
},
"forwarderGeneratedBy": {
- "message": "Generated by Bitwarden.",
+ "message": "Generert av Bitwarden.",
"description": "Displayed with the address on the forwarding service's configuration screen."
},
"forwarderGeneratedByWithWebsite": {
- "message": "Website: $WEBSITE$. Generated by Bitwarden.",
+ "message": "Nettsted: $WEBSITE$. Generert av Bitwarden.",
"description": "Displayed with the address on the forwarding service's configuration screen.",
"placeholders": {
"WEBSITE": {
@@ -2897,7 +3144,7 @@
}
},
"forwaderInvalidToken": {
- "message": "Invalid $SERVICENAME$ API token",
+ "message": "Ugyldig $SERVICENAME$-API-sjetong",
"description": "Displayed when the user's API token is empty or rejected by the forwarding service.",
"placeholders": {
"servicename": {
@@ -2907,7 +3154,7 @@
}
},
"forwaderInvalidTokenWithMessage": {
- "message": "Invalid $SERVICENAME$ API token: $ERRORMESSAGE$",
+ "message": "Ugyldig $SERVICENAME$-API-sjetong: $ERRORMESSAGE$",
"description": "Displayed when the user's API token is rejected by the forwarding service with an error message.",
"placeholders": {
"servicename": {
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -2931,7 +3202,7 @@
}
},
"forwarderNoDomain": {
- "message": "Invalid $SERVICENAME$ domain.",
+ "message": "Ugyldig $SERVICENAME$-domene.",
"description": "Displayed when the domain is empty or domain authorization failed at the forwarding service.",
"placeholders": {
"servicename": {
@@ -2951,7 +3222,7 @@
}
},
"forwarderUnknownError": {
- "message": "Unknown $SERVICENAME$ error occurred.",
+ "message": "Ukjent $SERVICENAME$-feil oppstod.",
"description": "Displayed when the forwarding service failed due to an unknown error.",
"placeholders": {
"servicename": {
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Innstillingene har blitt endret"
- },
- "environmentEditedClick": {
- "message": "Klikk her"
- },
- "environmentEditedReset": {
- "message": "for å tilbakestille til forhåndskonfigurerte innstillinger"
- },
"serverVersion": {
"message": "Server Versjon"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Logg på med hovedpassord"
},
- "loggingInAs": {
- "message": "Logger på som"
- },
- "notYou": {
- "message": "Ikke deg?"
- },
"newAroundHere": {
"message": "Er du ny her?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Logg inn med enhet"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Logg på med enhet må settes opp i Bitwarden-innstillingene. Trenger du et annet alternativ?"
- },
"fingerprintPhraseHeader": {
"message": "Fingeravtrykksfrase"
},
@@ -3068,28 +3321,34 @@
"message": "Send varslingen på nytt"
},
"viewAllLogInOptions": {
- "message": "View all log in options"
- },
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
+ "message": "Vis alle påloggingsalternativer"
},
"notificationSentDevice": {
"message": "Et varsel er sendt til enheten din."
},
- "aNotificationWasSentToYourDevice": {
- "message": "A notification was sent to your device"
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
+ "notificationSentDeviceAnchor": {
+ "message": "nett-app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
+ "aNotificationWasSentToYourDevice": {
+ "message": "Et varsel ble sendt til enheten din"
},
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
"needAnotherOptionV1": {
- "message": "Need another option?"
+ "message": "Trenger du et annet alternativ?"
},
"loginInitiated": {
- "message": "Login initiated"
+ "message": "Innlogging igangsatt"
+ },
+ "logInRequestSent": {
+ "message": "Forespørsel sendt"
},
"exposedMasterPassword": {
"message": "Eksponert hovedpassord"
@@ -3149,10 +3408,10 @@
"message": "Autofill shortcut"
},
"autofillKeyboardShortcutUpdateLabel": {
- "message": "Change shortcut"
+ "message": "Endre snarvei"
},
"autofillKeyboardManagerShortcutsLabel": {
- "message": "Manage shortcuts"
+ "message": "Behandle snarveier"
},
"autofillShortcut": {
"message": "Auto-utfyll tastatursnarvei"
@@ -3161,7 +3420,7 @@
"message": "The autofill login shortcut is not set. Change this in the browser's settings."
},
"autofillLoginShortcutText": {
- "message": "The autofill login shortcut is $COMMAND$. Manage all shortcuts in the browser's settings.",
+ "message": "Autoutfyll-snarveien for pålogging er $COMMAND$. Håndter alle snarveiene i nettleserens innstillinger.",
"placeholders": {
"command": {
"content": "$1",
@@ -3188,7 +3447,7 @@
"message": "Device approval required. Select an approval option below:"
},
"deviceApprovalRequiredV2": {
- "message": "Device approval required"
+ "message": "Enhetsgodkjennelse kreves"
},
"selectAnApprovalOptionBelow": {
"message": "Select an approval option below"
@@ -3205,32 +3464,29 @@
"requestAdminApproval": {
"message": "Be om administratorgodkjennelse"
},
- "approveWithMasterPassword": {
- "message": "Godkjenn med hovedpassord"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
"creatingAccountOn": {
- "message": "Creating account on"
+ "message": "Oppretter en konto på"
},
"checkYourEmail": {
- "message": "Check your email"
+ "message": "Sjekk E-postinnboksen din"
},
"followTheLinkInTheEmailSentTo": {
- "message": "Follow the link in the email sent to"
+ "message": "Følg lenken i E-postadressen som ble sendt til"
},
"andContinueCreatingYourAccount": {
"message": "and continue creating your account."
},
"noEmail": {
- "message": "No email?"
+ "message": "Ingen E-post?"
},
"goBack": {
"message": "Gå tilbake"
},
"toEditYourEmailAddress": {
- "message": "to edit your email address."
+ "message": "for å redigere E-postadressen din."
},
"eu": {
"message": "EU",
@@ -3254,11 +3510,8 @@
"adminApprovalRequestSentToAdmins": {
"message": "Forespørselen din har blitt sendt til administratoren din."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Du vil bli varslet når det er godkjent."
- },
"troubleLoggingIn": {
- "message": "Trouble logging in?"
+ "message": "Har du problemer med å logge inn?"
},
"loginApproved": {
"message": "Innlogging godkjent"
@@ -3270,14 +3523,14 @@
"message": "Active user email not found. Logging you out."
},
"deviceTrusted": {
- "message": "Device trusted"
+ "message": "Enheten er betrodd"
},
"sendsNoItemsTitle": {
- "message": "No active Sends",
+ "message": "Ingen aktive Send",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendsNoItemsMessage": {
- "message": "Use Send to securely share encrypted information with anyone.",
+ "message": "Bruk Send til å dele kryptert informasjon med noen.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"inputRequired": {
@@ -3354,10 +3607,10 @@
}
},
"singleFieldNeedsAttention": {
- "message": "1 field needs your attention."
+ "message": "1 felt trenger din oppmerksomhet."
},
"multipleFieldsNeedAttention": {
- "message": "$COUNT$ fields need your attention.",
+ "message": "$COUNT$ felter trenger din oppmerksomhet.",
"placeholders": {
"count": {
"content": "$1",
@@ -3393,41 +3646,9 @@
"message": "Undermeny"
},
"toggleCollapse": {
- "message": "Toggle collapse",
+ "message": "Utvid eller klapp sammen",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Vil du importere dataene dine til Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Lagre som ukryptert fil",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importer til Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importerer …",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Dataene ble vellykket importert!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias-domene"
},
@@ -3458,7 +3679,7 @@
"description": "Screen reader and tool tip label for the overlay button"
},
"bitwardenVault": {
- "message": "Bitwarden autofill menu",
+ "message": "Bitwardens autoutfyllingsmeny",
"description": "Page title in overlay"
},
"unlockYourAccountToViewMatchingLogins": {
@@ -3514,7 +3735,7 @@
"description": "Screen reader text (aria-label) for new login button within inline menu"
},
"newCard": {
- "message": "New card",
+ "message": "Nytt kort",
"description": "Button text to display within inline menu when there are no matching items on a credit card field"
},
"addNewCardItemAria": {
@@ -3544,7 +3765,7 @@
"description": "Used for the header of the import dialog, the import button and within the file-password-prompt"
},
"importError": {
- "message": "Import error"
+ "message": "Importeringsfeil"
},
"importErrorDesc": {
"message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again."
@@ -3631,7 +3852,7 @@
"message": "Popout extension"
},
"launchDuo": {
- "message": "Launch Duo"
+ "message": "Start Duo"
},
"importFormatError": {
"message": "Data is not formatted correctly. Please check your import file and try again."
@@ -3705,19 +3926,19 @@
"message": "Bekreft filpassord"
},
"exportSuccess": {
- "message": "Vault data exported"
+ "message": "Hvelvdataen ble eksportert"
},
"typePasskey": {
- "message": "Passkey"
+ "message": "Passnøkkel"
},
"accessing": {
- "message": "Accessing"
+ "message": "Logger inn på"
},
"loggedInExclamation": {
- "message": "Logged in!"
+ "message": "Innlogget!"
},
"passkeyNotCopied": {
- "message": "Passkey will not be copied"
+ "message": "Passkoden vil ikke bli kopiert"
},
"passkeyNotCopiedAlert": {
"message": "The passkey will not be copied to the cloned item. Do you want to continue cloning this item?"
@@ -3741,16 +3962,16 @@
"message": "No matching logins for this site"
},
"searchSavePasskeyNewLogin": {
- "message": "Search or save passkey as new login"
+ "message": "Søk eller lagre passnøkkelen som en ny innlogging"
},
"confirm": {
"message": "Bekreft"
},
"savePasskey": {
- "message": "Save passkey"
+ "message": "Lagre passnøkkel"
},
"savePasskeyNewLogin": {
- "message": "Save passkey as new login"
+ "message": "Lagre passnøkkelen som en ny pålogging"
},
"chooseCipherForPasskeySave": {
"message": "Choose a login to save this passkey to"
@@ -3759,7 +3980,7 @@
"message": "Choose a passkey to log in with"
},
"passkeyItem": {
- "message": "Passkey Item"
+ "message": "Passkode-gjenstand"
},
"overwritePasskey": {
"message": "Overwrite passkey?"
@@ -3813,7 +4034,7 @@
"message": "Approve the login request in your authentication app or enter a one-time passcode."
},
"passcode": {
- "message": "Passcode"
+ "message": "Passkode"
},
"lastPassMasterPassword": {
"message": "LastPass-hovedpassord"
@@ -3853,11 +4074,14 @@
"message": "Bytt kontoer"
},
"switchToAccount": {
- "message": "Switch to account"
+ "message": "Bytt til konto"
},
"activeAccount": {
"message": "Aktiv konto"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Tilgjengelige kontoer"
},
@@ -3874,13 +4098,13 @@
"message": "låst opp"
},
"server": {
- "message": "server"
+ "message": "tjener"
},
"hostedAt": {
"message": "betjent hos"
},
"useDeviceOrHardwareKey": {
- "message": "Use your device or hardware key"
+ "message": "Bruk enhets- eller maskinvarenøkkel"
},
"justOnce": {
"message": "Kun én gang"
@@ -3902,11 +4126,11 @@
"description": "Label indicating the most common import formats"
},
"confirmContinueToBrowserSettingsTitle": {
- "message": "Continue to browser settings?",
+ "message": "Vil du fortsette til nettleserinnstillingene?",
"description": "Title for dialog which asks if the user wants to proceed to a relevant browser settings page"
},
"confirmContinueToHelpCenter": {
- "message": "Continue to Help Center?",
+ "message": "Vil du fortsette til Hjelpesenteret?",
"description": "Title for dialog which asks if the user wants to proceed to a relevant Help Center page"
},
"confirmContinueToHelpCenterPasswordManagementContent": {
@@ -3926,7 +4150,7 @@
"description": "Body content for dialog which asks if the user wants to proceed to the browser's keyboard shortcut settings page"
},
"overrideDefaultBrowserAutofillTitle": {
- "message": "Make Bitwarden your default password manager?",
+ "message": "Vil du sette Bitwarden som din standard passordbehandler?",
"description": "Dialog title facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutofillDescription": {
@@ -3946,7 +4170,7 @@
"description": "Description for the dialog that appears when the user has not granted the extension permission to set privacy settings"
},
"makeDefault": {
- "message": "Make default",
+ "message": "Gjør det til standarden",
"description": "Button text for the setting that allows overriding the default browser autofill settings"
},
"saveCipherAttemptSuccess": {
@@ -3954,7 +4178,7 @@
"description": "Notification message for when saving credentials has succeeded."
},
"passwordSaved": {
- "message": "Password saved!",
+ "message": "Passordet ble lagret!",
"description": "Notification message for when saving credentials has succeeded."
},
"updateCipherAttemptSuccess": {
@@ -3962,7 +4186,7 @@
"description": "Notification message for when updating credentials has succeeded."
},
"passwordUpdated": {
- "message": "Password updated!",
+ "message": "Passordet ble oppdatert!",
"description": "Notification message for when updating credentials has succeeded."
},
"saveCipherAttemptFailed": {
@@ -3973,19 +4197,22 @@
"message": "Suksess"
},
"removePasskey": {
- "message": "Remove passkey"
+ "message": "Fjern passordnøkkel"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"autofillSuggestions": {
- "message": "Autofill suggestions"
+ "message": "Autoutfyllingsforslag"
+ },
+ "itemSuggestions": {
+ "message": "Foreslåtte gjenstander"
},
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
"yourVaultIsEmpty": {
- "message": "Your vault is empty"
+ "message": "Hvelvet ditt er tomt"
},
"noItemsMatchSearch": {
"message": "No items match your search"
@@ -3994,7 +4221,7 @@
"message": "Clear filters or try another search term"
},
"copyInfoTitle": {
- "message": "Copy info - $ITEMNAME$",
+ "message": "Kopiér info - $ITEMNAME$",
"description": "Title for a button that opens a menu with options to copy information from an item.",
"placeholders": {
"itemname": {
@@ -4004,7 +4231,7 @@
}
},
"copyNoteTitle": {
- "message": "Copy Note - $ITEMNAME$",
+ "message": "Kopiér notat - $ITEMNAME$",
"description": "Title for a button copies a note to the clipboard.",
"placeholders": {
"itemname": {
@@ -4014,7 +4241,7 @@
}
},
"moreOptionsLabel": {
- "message": "More options, $ITEMNAME$",
+ "message": "Flere innstillinger, $ITEMNAME$",
"description": "Aria label for a button that opens a menu with more options for an item.",
"placeholders": {
"itemname": {
@@ -4024,7 +4251,7 @@
}
},
"moreOptionsTitle": {
- "message": "More options - $ITEMNAME$",
+ "message": "Flere innstillinger - $ITEMNAME$",
"description": "Title for a button that opens a menu with more options for an item.",
"placeholders": {
"itemname": {
@@ -4034,7 +4261,7 @@
}
},
"viewItemTitle": {
- "message": "View item - $ITEMNAME$",
+ "message": "Vis gjenstand - $ITEMNAME$",
"description": "Title for a link that opens a view for an item.",
"placeholders": {
"itemname": {
@@ -4044,7 +4271,7 @@
}
},
"autofillTitle": {
- "message": "Autofill - $ITEMNAME$",
+ "message": "Autoutfyll - $ITEMNAME$",
"description": "Title for a button that autofills a login item.",
"placeholders": {
"itemname": {
@@ -4053,20 +4280,34 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
- "message": "No values to copy"
+ "message": "Ingen verdier å kopiere"
},
"assignToCollections": {
- "message": "Assign to collections"
+ "message": "Legg til i samlinger"
},
"copyEmail": {
"message": "Copy email"
},
"copyPhone": {
- "message": "Copy phone"
+ "message": "Kopiér telefonnummer"
},
"copyAddress": {
- "message": "Copy address"
+ "message": "Kopiér adresse"
},
"adminConsole": {
"message": "Admin Console"
@@ -4087,7 +4328,7 @@
"message": "Error assigning target folder."
},
"viewItemsIn": {
- "message": "View items in $NAME$",
+ "message": "Vis gjenstander i $NAME$",
"description": "Button to view the contents of a folder or collection",
"placeholders": {
"name": {
@@ -4097,7 +4338,7 @@
}
},
"backTo": {
- "message": "Back to $NAME$",
+ "message": "Tilbake til $NAME$",
"description": "Navigate back to a previous folder or collection",
"placeholders": {
"name": {
@@ -4110,7 +4351,7 @@
"message": "Ny"
},
"removeItem": {
- "message": "Remove $NAME$",
+ "message": "Fjern $NAME$",
"description": "Remove a selected option, such as a folder or collection",
"placeholders": {
"name": {
@@ -4120,22 +4361,13 @@
}
},
"itemsWithNoFolder": {
- "message": "Items with no folder"
+ "message": "Gjenstander uten mappe"
},
"itemDetails": {
- "message": "Item details"
+ "message": "Gjenstandens detaljer"
},
"itemName": {
- "message": "Item name"
- },
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
+ "message": "Gjenstandens navn"
},
"organizationIsDeactivated": {
"message": "Organization is deactivated"
@@ -4154,31 +4386,31 @@
"message": "Tilleggsinformasjon"
},
"itemHistory": {
- "message": "Item history"
+ "message": "Gjenstandshistorikk"
},
"lastEdited": {
- "message": "Last edited"
+ "message": "Nyligst redigert"
},
"ownerYou": {
- "message": "Owner: You"
+ "message": "Eier: Du"
},
"linked": {
"message": "Tilknyttet"
},
"copySuccessful": {
- "message": "Copy Successful"
+ "message": "Kopiering lyktes"
},
"upload": {
"message": "Last opp"
},
"addAttachment": {
- "message": "Add attachment"
+ "message": "Legg til vedlegg"
},
"maxFileSizeSansPunctuation": {
- "message": "Maximum file size is 500 MB"
+ "message": "Maksimal filstørrelse er 500 MB"
},
"deleteAttachmentName": {
- "message": "Delete attachment $NAME$",
+ "message": "Slett $NAME$-vedlegget",
"placeholders": {
"name": {
"content": "$1",
@@ -4187,7 +4419,7 @@
}
},
"downloadAttachmentName": {
- "message": "Download $NAME$",
+ "message": "Last ned $NAME$",
"placeholders": {
"name": {
"content": "$1",
@@ -4211,10 +4443,10 @@
"message": "Filter vault"
},
"filterApplied": {
- "message": "One filter applied"
+ "message": "Ett filter er benyttet"
},
"filterAppliedPlural": {
- "message": "$COUNT$ filters applied",
+ "message": "$COUNT$ filtre er benyttet",
"placeholders": {
"count": {
"content": "$1",
@@ -4223,16 +4455,16 @@
}
},
"personalDetails": {
- "message": "Personal details"
+ "message": "Personlige detaljer"
},
"identification": {
- "message": "Identification"
+ "message": "Identifikasjon"
},
"contactInfo": {
"message": "Kontaktinfo"
},
"downloadAttachment": {
- "message": "Download - $ITEMNAME$",
+ "message": "Last ned - $ITEMNAME$",
"placeholders": {
"itemname": {
"content": "$1",
@@ -4241,23 +4473,23 @@
}
},
"cardNumberEndsWith": {
- "message": "card number ends with",
+ "message": "kortnummeret slutter med",
"description": "Used within the inline menu to provide an aria description when users are attempting to fill a card cipher."
},
"loginCredentials": {
"message": "Legitimasjoner for innlogging"
},
"authenticatorKey": {
- "message": "Authenticator key"
+ "message": "Autentiseringsnøkkel"
},
"autofillOptions": {
- "message": "Autofill options"
+ "message": "Autoutfyllings-innstillinger"
},
"websiteUri": {
- "message": "Website (URI)"
+ "message": "Nettsted (URİ)"
},
"websiteUriCount": {
- "message": "Website (URI) $COUNT$",
+ "message": "Nettsted (URİ) $COUNT$",
"description": "Label for an input field that contains a website URI. The input field is part of a list of fields, and the count indicates the position of the field in the list.",
"placeholders": {
"count": {
@@ -4267,7 +4499,7 @@
}
},
"websiteAdded": {
- "message": "Website added"
+ "message": "Nettsted lagt til"
},
"addWebsite": {
"message": "Legg til nettsted"
@@ -4276,7 +4508,7 @@
"message": "Slett nettsted"
},
"defaultLabel": {
- "message": "Default ($VALUE$)",
+ "message": "Standard ($VALUE$)",
"description": "A label that indicates the default value for a field with the current default value in parentheses.",
"placeholders": {
"value": {
@@ -4307,16 +4539,16 @@
"message": "Autofill on page load?"
},
"cardExpiredTitle": {
- "message": "Expired card"
+ "message": "Utløpt kort"
},
"cardExpiredMessage": {
"message": "If you've renewed it, update the card's information"
},
"cardDetails": {
- "message": "Card details"
+ "message": "Kortdetaljer"
},
"cardBrandDetails": {
- "message": "$BRAND$ details",
+ "message": "$BRAND$-detaljer",
"placeholders": {
"brand": {
"content": "$1",
@@ -4328,7 +4560,7 @@
"message": "Aktiver animasjoner"
},
"showAnimations": {
- "message": "Show animations"
+ "message": "Vis animasjoner"
},
"addAccount": {
"message": "Legg til konto"
@@ -4340,15 +4572,15 @@
"message": "Data"
},
"passkeys": {
- "message": "Passkeys",
+ "message": "Passnøkler",
"description": "A section header for a list of passkeys."
},
"passwords": {
- "message": "Passwords",
+ "message": "Passord",
"description": "A section header for a list of passwords."
},
"logInWithPasskeyAriaLabel": {
- "message": "Log in with passkey",
+ "message": "Logg inn med passnøkkel",
"description": "ARIA label for the inline menu button that logs in with a passkey."
},
"assign": {
@@ -4373,19 +4605,19 @@
}
},
"addField": {
- "message": "Add field"
+ "message": "Legg til felt"
},
"add": {
"message": "Legg til"
},
"fieldType": {
- "message": "Field type"
+ "message": "Felttype"
},
"fieldLabel": {
- "message": "Field label"
+ "message": "Feltetikett"
},
"textHelpText": {
- "message": "Use text fields for data like security questions"
+ "message": "Bruk tekstfelter for data som sikkerhetsspørsmål"
},
"hiddenHelpText": {
"message": "Use hidden fields for sensitive data like a password"
@@ -4403,7 +4635,7 @@
"message": "Rediger felt"
},
"editFieldLabel": {
- "message": "Edit $LABEL$",
+ "message": "Rediger $LABEL$",
"placeholders": {
"label": {
"content": "$1",
@@ -4412,7 +4644,7 @@
}
},
"deleteCustomField": {
- "message": "Delete $LABEL$",
+ "message": "Slett $LABEL$",
"placeholders": {
"label": {
"content": "$1",
@@ -4421,7 +4653,7 @@
}
},
"fieldAdded": {
- "message": "$LABEL$ added",
+ "message": "$LABEL$ er lagt til",
"placeholders": {
"label": {
"content": "$1",
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4456,7 +4691,7 @@
}
},
"selectCollectionsToAssign": {
- "message": "Select collections to assign"
+ "message": "Velg samlinger å tilordne"
},
"personalItemTransferWarningSingular": {
"message": "1 item will be permanently transferred to the selected organization. You will no longer own this item."
@@ -4496,19 +4731,10 @@
"message": "Successfully assigned collections"
},
"nothingSelected": {
- "message": "You have not selected anything."
- },
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
+ "message": "Du har ikke valgt noe."
},
"itemsMovedToOrg": {
- "message": "Items moved to $ORGNAME$",
+ "message": "Gjenstandene ble flyttet til $ORGNAME$",
"placeholders": {
"orgname": {
"content": "$1",
@@ -4517,7 +4743,7 @@
}
},
"itemMovedToOrg": {
- "message": "Item moved to $ORGNAME$",
+ "message": "Gjenstanden ble flyttet til $ORGNAME$",
"placeholders": {
"orgname": {
"content": "$1",
@@ -4543,7 +4769,7 @@
}
},
"itemLocation": {
- "message": "Item Location"
+ "message": "Gjenstandens plassering"
},
"fileSend": {
"message": "File Send"
@@ -4557,20 +4783,14 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
- "message": "Account actions"
+ "message": "Kontohandlinger"
},
"showNumberOfAutofillSuggestions": {
"message": "Show number of login autofill suggestions on extension icon"
},
"showQuickCopyActions": {
- "message": "Show quick copy actions on Vault"
+ "message": "Vis hurtigkopieringshandlinger i hvelvet"
},
"systemDefault": {
"message": "Systemforvalg"
@@ -4579,16 +4799,16 @@
"message": "Enterprise policy requirements have been applied to this setting"
},
"sshPrivateKey": {
- "message": "Private key"
+ "message": "Privat nøkkel"
},
"sshPublicKey": {
- "message": "Public key"
+ "message": "Offentlig nøkkel"
},
"sshFingerprint": {
- "message": "Fingerprint"
+ "message": "Fingeravtrykk"
},
"sshKeyAlgorithm": {
- "message": "Key type"
+ "message": "Nøkkeltype"
},
"sshKeyAlgorithmED25519": {
"message": "ED25519"
@@ -4606,31 +4826,31 @@
"message": "Prøv igjen"
},
"vaultCustomTimeoutMinimum": {
- "message": "Minimum custom timeout is 1 minute."
+ "message": "Minste egendefinerte tidsavbrudd er 1 minutt."
},
"additionalContentAvailable": {
- "message": "Additional content is available"
+ "message": "Ytterligere innhold er tilgjengelig"
},
"fileSavedToDevice": {
"message": "File saved to device. Manage from your device downloads."
},
"showCharacterCount": {
- "message": "Show character count"
+ "message": "Vis tegntelleren"
},
"hideCharacterCount": {
- "message": "Hide character count"
+ "message": "Skjul tegntelleren"
},
"itemsInTrash": {
- "message": "Items in trash"
+ "message": "Gjenstander i papirkurven"
},
"noItemsInTrash": {
- "message": "No items in trash"
+ "message": "Ingen gjenstander i papirkurven"
},
"noItemsInTrashDesc": {
- "message": "Items you delete will appear here and be permanently deleted after 30 days"
+ "message": "Gjenstander du sletter, vises her og slettes permanent etter 30 dager"
},
"trashWarning": {
- "message": "Items that have been in trash more than 30 days will automatically be deleted"
+ "message": "Gjenstander som har ligget i papirkurven i mer enn 30 dager, blir automatisk slettet"
},
"restore": {
"message": "Gjenopprett"
@@ -4641,23 +4861,50 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometrisk opplåsing er utilgjengelig for øyeblikket."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Autentiserer"
},
"fillGeneratedPassword": {
- "message": "Fill generated password",
+ "message": "Fyll inn generert passord",
"description": "Heading for the password generator within the inline menu"
},
"passwordRegenerated": {
- "message": "Password regenerated",
+ "message": "Passord ble generert på nytt",
"description": "Notification message for when a password has been regenerated"
},
"saveLoginToBitwarden": {
- "message": "Save login to Bitwarden?",
+ "message": "Vil du lagre påloggingen i Bitwarden?",
"description": "Confirmation message for saving a login to Bitwarden"
},
"spaceCharacterDescriptor": {
- "message": "Space",
+ "message": "Mellomrom",
"description": "Represents the space key in screen reader content as a readable word"
},
"tildeCharacterDescriptor": {
@@ -4665,15 +4912,15 @@
"description": "Represents the ~ key in screen reader content as a readable word"
},
"backtickCharacterDescriptor": {
- "message": "Backtick",
+ "message": "Baklengs apostrof",
"description": "Represents the ` key in screen reader content as a readable word"
},
"exclamationCharacterDescriptor": {
- "message": "Exclamation mark",
+ "message": "Utropstegn",
"description": "Represents the ! key in screen reader content as a readable word"
},
"atSignCharacterDescriptor": {
- "message": "At sign",
+ "message": "Alfakrøll",
"description": "Represents the @ key in screen reader content as a readable word"
},
"hashSignCharacterDescriptor": {
@@ -4681,11 +4928,11 @@
"description": "Represents the # key in screen reader content as a readable word"
},
"dollarSignCharacterDescriptor": {
- "message": "Dollar sign",
+ "message": "Dollartegn",
"description": "Represents the $ key in screen reader content as a readable word"
},
"percentSignCharacterDescriptor": {
- "message": "Percent sign",
+ "message": "Prosenttegn",
"description": "Represents the % key in screen reader content as a readable word"
},
"caretCharacterDescriptor": {
@@ -4693,7 +4940,7 @@
"description": "Represents the ^ key in screen reader content as a readable word"
},
"ampersandCharacterDescriptor": {
- "message": "Ampersand",
+ "message": "Prosenttegn",
"description": "Represents the & key in screen reader content as a readable word"
},
"asteriskCharacterDescriptor": {
@@ -4701,23 +4948,23 @@
"description": "Represents the * key in screen reader content as a readable word"
},
"parenLeftCharacterDescriptor": {
- "message": "Left parenthesis",
+ "message": "Venstre parantes",
"description": "Represents the ( key in screen reader content as a readable word"
},
"parenRightCharacterDescriptor": {
- "message": "Right parenthesis",
+ "message": "Høyre parantes",
"description": "Represents the ) key in screen reader content as a readable word"
},
"hyphenCharacterDescriptor": {
- "message": "Underscore",
+ "message": "Understrek",
"description": "Represents the _ key in screen reader content as a readable word"
},
"underscoreCharacterDescriptor": {
- "message": "Hyphen",
+ "message": "Bindestrek",
"description": "Represents the - key in screen reader content as a readable word"
},
"plusCharacterDescriptor": {
- "message": "Plus",
+ "message": "Plusstegn",
"description": "Represents the + key in screen reader content as a readable word"
},
"equalsCharacterDescriptor": {
@@ -4725,19 +4972,19 @@
"description": "Represents the = key in screen reader content as a readable word"
},
"braceLeftCharacterDescriptor": {
- "message": "Left brace",
+ "message": "Venstre krøllparentes",
"description": "Represents the { key in screen reader content as a readable word"
},
"braceRightCharacterDescriptor": {
- "message": "Right brace",
+ "message": "Høyre krøllparentes",
"description": "Represents the } key in screen reader content as a readable word"
},
"bracketLeftCharacterDescriptor": {
- "message": "Left bracket",
+ "message": "Venstre firkantparantes",
"description": "Represents the [ key in screen reader content as a readable word"
},
"bracketRightCharacterDescriptor": {
- "message": "Right bracket",
+ "message": "Høyre firkantparantes",
"description": "Represents the ] key in screen reader content as a readable word"
},
"pipeCharacterDescriptor": {
@@ -4745,69 +4992,69 @@
"description": "Represents the | key in screen reader content as a readable word"
},
"backSlashCharacterDescriptor": {
- "message": "Back slash",
+ "message": "Skråstrek bakover",
"description": "Represents the back slash key in screen reader content as a readable word"
},
"colonCharacterDescriptor": {
- "message": "Colon",
+ "message": "Kolon",
"description": "Represents the : key in screen reader content as a readable word"
},
"semicolonCharacterDescriptor": {
- "message": "Semicolon",
+ "message": "Semikolon",
"description": "Represents the ; key in screen reader content as a readable word"
},
"doubleQuoteCharacterDescriptor": {
- "message": "Double quote",
+ "message": "Hermetegn",
"description": "Represents the double quote key in screen reader content as a readable word"
},
"singleQuoteCharacterDescriptor": {
- "message": "Single quote",
+ "message": "Apostrofe",
"description": "Represents the ' key in screen reader content as a readable word"
},
"lessThanCharacterDescriptor": {
- "message": "Less than",
+ "message": "Mindre enn",
"description": "Represents the < key in screen reader content as a readable word"
},
"greaterThanCharacterDescriptor": {
- "message": "Greater than",
+ "message": "Større enn",
"description": "Represents the > key in screen reader content as a readable word"
},
"commaCharacterDescriptor": {
- "message": "Comma",
+ "message": "Komma",
"description": "Represents the , key in screen reader content as a readable word"
},
"periodCharacterDescriptor": {
- "message": "Period",
+ "message": "Tidsperiode",
"description": "Represents the . key in screen reader content as a readable word"
},
"questionCharacterDescriptor": {
- "message": "Question mark",
+ "message": "Spørsmålstegn",
"description": "Represents the ? key in screen reader content as a readable word"
},
"forwardSlashCharacterDescriptor": {
- "message": "Forward slash",
+ "message": "Skråstrek",
"description": "Represents the / key in screen reader content as a readable word"
},
"lowercaseAriaLabel": {
- "message": "Lowercase"
+ "message": "Små bokstaver"
},
"uppercaseAriaLabel": {
- "message": "Uppercase"
+ "message": "Store bokstaver"
},
"generatedPassword": {
- "message": "Generated password"
+ "message": "Generert passord"
},
"compactMode": {
- "message": "Compact mode"
+ "message": "Kompakt modus"
},
"beta": {
"message": "Beta"
},
"importantNotice": {
- "message": "Important notice"
+ "message": "Viktig melding"
},
"setupTwoStepLogin": {
- "message": "Set up two-step login"
+ "message": "Sett opp 2-trinnspålogging"
},
"newDeviceVerificationNoticeContentPage1": {
"message": "Bitwarden will send a code to your account email to verify logins from new devices starting in February 2025."
@@ -4816,7 +5063,7 @@
"message": "You can set up two-step login as an alternative way to protect your account or change your email to one you can access."
},
"remindMeLater": {
- "message": "Remind me later"
+ "message": "Minn meg på det senere"
},
"newDeviceVerificationNoticePageOneFormContent": {
"message": "Do you have reliable access to your email, $EMAIL$?",
@@ -4828,24 +5075,69 @@
}
},
"newDeviceVerificationNoticePageOneEmailAccessNo": {
- "message": "No, I do not"
+ "message": "Nei, det gjør jeg ikke"
},
"newDeviceVerificationNoticePageOneEmailAccessYes": {
"message": "Yes, I can reliably access my email"
},
"turnOnTwoStepLogin": {
- "message": "Turn on two-step login"
+ "message": "Slå på 2-trinnsinnlogging"
},
"changeAcctEmail": {
- "message": "Change account email"
+ "message": "Endre kontoens E-postadresse"
},
"extensionWidth": {
- "message": "Extension width"
+ "message": "Utvidelsens bredde"
},
"wide": {
- "message": "Wide"
+ "message": "Bred"
},
"extraWide": {
- "message": "Extra wide"
+ "message": "Ekstra bred"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Vennligst oppdater skrivebordsprogrammet ditt"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "For å bruke biometrisk opplåsing, må du oppdatere skrivebordsprogrammet eller skru av fingeravtrykksopplåsing i skrivebordsinnstillingene."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/ne/messages.json b/apps/browser/src/_locales/ne/messages.json
index 6ab3755c8f4..c9c29611deb 100644
--- a/apps/browser/src/_locales/ne/messages.json
+++ b/apps/browser/src/_locales/ne/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Length"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/nl/messages.json b/apps/browser/src/_locales/nl/messages.json
index d167ba220c1..1c2b09ca3e3 100644
--- a/apps/browser/src/_locales/nl/messages.json
+++ b/apps/browser/src/_locales/nl/messages.json
@@ -7,7 +7,7 @@
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
- "message": "Thuis, op werk of onderweg. Bitwarden beveiligt makkelijk all je wachtwoorden, passkeys en gevoelige informatie",
+ "message": "Thuis, op werk of onderweg. Bitwarden beveiligt makkelijk al je wachtwoorden, passkeys en gevoelige informatie",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
@@ -38,7 +38,7 @@
"message": "Rond het aanmaken van je account af met het instellen van een wachtwoord"
},
"enterpriseSingleSignOn": {
- "message": "Single sign-on voor bedrijven"
+ "message": "Enterprise Single Sign-On"
},
"cancel": {
"message": "Annuleren"
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Hoofdwachtwoordhint (optioneel)"
},
+ "passwordStrengthScore": {
+ "message": "Wachtwoordsterkte score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Lid van organisatie worden"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Notities kopiëren"
},
+ "copy": {
+ "message": "Kopiëren",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Invullen",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Als je het e-mailadres van je account invult, versturen we je je wachtwoordhint"
},
- "passwordHint": {
- "message": "Wachtwoordhint"
- },
- "enterEmailToGetHint": {
- "message": "Voer het e-mailadres van je account in om je hoofdwachtwoordhint te ontvangen."
- },
"getMasterPasswordHint": {
"message": "Hoofdwachtwoordhint opvragen"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Map bewerken"
},
+ "editFolderWithName": {
+ "message": "Map bewerken: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Nieuwe map"
},
@@ -409,7 +425,7 @@
"message": "Ontdek Bitwarden community-forums"
},
"contactSupport": {
- "message": "Contacteer Bitwarden support"
+ "message": "Contacteer Bitwarden ondersteuning"
},
"sync": {
"message": "Synchroniseren"
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Wachtwoordzin genereren"
},
+ "passwordGenerated": {
+ "message": "Wachtwoord gegenereerd"
+ },
+ "passphraseGenerated": {
+ "message": "Wachtwoorden gegenereerd"
+ },
+ "usernameGenerated": {
+ "message": "Gebruikersnaam gegenereerd"
+ },
+ "emailGenerated": {
+ "message": "E-mail gegenereerd"
+ },
"regeneratePassword": {
"message": "Wachtwoord opnieuw genereren"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Lengte"
},
- "uppercase": {
- "message": "Hoofdletters (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Kleine letters (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Cijfers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Speciale tekens (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Toevoegen",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Speciale tekens toevoegen",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Aantal woorden"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Je webbrowser ondersteunt kopiëren naar plakbord niet. Kopieer handmatig."
},
- "verifyIdentity": {
- "message": "Identiteit verifiëren"
+ "verifyYourIdentity": {
+ "message": "Verifieer je identiteit"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We herkennen dit apparaat niet. Voer de code in die naar je e-mail is verzonden om je identiteit te verifiëren."
+ },
+ "continueLoggingIn": {
+ "message": "Doorgaan met inloggen"
},
"yourVaultIsLocked": {
"message": "Je kluis is vergrendeld. Bevestig je identiteit om door te gaan."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Inloggen op Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Voer de code in die naar je e-mailadres is verstuurd"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Voer de code uit je authenticatie-app in"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Druk op je YubiKey om te verifiëren"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Jouw account vereist Duo tweestapslogin. Volg de onderstaande stappen om het inloggen te voltooien."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Volg de onderstaande stappen om het inloggen af te ronden."
+ },
"restartRegistration": {
"message": "Registratie herstarten"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Nee"
},
+ "location": {
+ "message": "Locatie"
+ },
"unexpectedError": {
"message": "Er is een onverwachte fout opgetreden."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Vraag om een item toe te voegen als het niet is gevonden is je kluis. Dit geld voor alle ingelogde accounts."
},
- "showCardsInVaultView": {
- "message": "Kaarten als Autofill-suggesties in de kluisweergave weergeven"
+ "showCardsInVaultViewV2": {
+ "message": "Kaarten altijd als auto-invullen suggesties in de kluisweergave weergeven"
},
"showCardsCurrentTab": {
"message": "Kaarten weergeven op tabpagina"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Kaartenitems weergeven op de tabpagina voor gemakkelijk automatisch invullen."
},
- "showIdentitiesInVaultView": {
- "message": "Identiteiten als Autofill-suggesties in de kluisweergave weergeven"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Identiteiten altijd als auto-invullen suggesties in de kluisweergave weergeven"
},
"showIdentitiesCurrentTab": {
"message": "Identiteiten weergeven op tabpagina"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Klik op items om automatisch in te vullen op de kluisweergave"
},
+ "clickToAutofill": {
+ "message": "Klik items in de automatisch invullen suggestie om in te vullen"
+ },
"clearClipboard": {
"message": "Klembord wissen",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Ja, nu opslaan"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ opgeslagen in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ bijgewerkt in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Opslaan als nieuwe login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Login bijwerken",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Login opslaan?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Bestaande login bijwerken?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login opgeslagen",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login bijgewerkt",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Fout bij opslaan",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh nee! We konden dit niet opslaan. Probeer de gegevens handmatig in te voeren.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Vraag om bijwerken bestaande login"
},
@@ -1084,10 +1169,6 @@
"message": "Licht",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Overbelicht donker",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exporteren vanuit"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Premium aanschaffen"
},
- "premiumPurchaseAlert": {
- "message": "Je kunt een Premium-abonnement aanschaffen in de webkluis op bitwarden.com. Wil je de website nu bezoeken?"
- },
"premiumPurchaseAlertV2": {
"message": "Je kunt Premium via je accountinstellingen in de Bitwarden-webapp kopen."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Mijn gegevens onthouden"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "30 dagen niet opnieuw vragen op dit apparaat"
+ },
"sendVerificationCodeEmailAgain": {
"message": "E-mail met verificatiecode opnieuw versturen"
},
"useAnotherTwoStepMethod": {
"message": "Gebruik een andere methode voor tweestapsaanmelding"
},
+ "selectAnotherMethod": {
+ "message": "Kies een andere methode",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Gebruik je herstelcode"
+ },
"insertYubiKey": {
"message": "Plaats je YubiKey in de USB-poort van je computer en druk op de knop."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Nieuwe tab openen"
},
+ "openInNewTab": {
+ "message": "Openen in nieuwe tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticeer WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Beveiligingssleutel lezen"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Wacht op interactie met beveiligingssleutel…"
+ },
"loginUnavailable": {
"message": "Login niet beschikbaar"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Opties voor tweestapsaanmelding"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Kies methode voor tweestapslogin"
+ },
"recoveryCodeDesc": {
"message": "Ben je de toegang tot al je tweestapsaanbieders verloren? Gebruik dan je herstelcode om alle tweestapsaanbieders op je account uit te schakelen."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Zelfgehoste omgeving"
},
- "selfHostedEnvironmentFooter": {
- "message": "Geef de basis-URL van jouw zelfgehoste Bitwarden-installatie."
- },
"selfHostedBaseUrlHint": {
"message": "Specificeer de basis-URL van je zelfgehoste Bitwarden-installatie. Bijvoorbeeld: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Aangepaste omgeving"
},
- "customEnvironmentFooter": {
- "message": "Voor gevorderde gebruikers. Je kunt de basis-URL van elke dienst afzonderlijk instellen."
- },
"baseUrl": {
"message": "Server-URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Slepen om te sorteren"
},
+ "dragToReorder": {
+ "message": "Sleep om te herschikken"
+ },
"cfTypeText": {
"message": "Tekst"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Gebruikersnaamgenerator"
},
+ "useThisEmail": {
+ "message": "Dit e-mailadres gebruiken"
+ },
"useThisPassword": {
"message": "Dit wachtwoord gebruiken"
},
@@ -2063,12 +2163,24 @@
"message": "om een sterk uniek wachtwoord te maken",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Kluis aanpassingen"
+ },
"vaultTimeoutAction": {
"message": "Actie bij time-out"
},
"vaultTimeoutAction1": {
"message": "Time-out actie"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Nieuwe aanpassingsopties"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Pas je kluis ervaring aan met snelle kopieeracties, compacte modus en meer!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Alle weergave-instellingen bekijken"
+ },
"lock": {
"message": "Vergrendelen",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domeinen",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Geblokkeerde domeinen"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Meer informatie over geblokkeerde domeinen"
+ },
"excludedDomains": {
"message": "Uitgesloten domeinen"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden zal voor deze domeinen niet vragen om de wachtwoorden op te slaan voor alle ingelogde accounts. Je moet de pagina verversen om de wijzigingen op te slaan."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill en andere gerelateerde functies worden niet aangeboden voor deze websites. Vernieuw de pagina om de wijzigingen toe te passen."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is geblokkeerd voor deze website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Dit aanpassen in instellingen"
+ },
+ "change": {
+ "message": "Wijzigen"
+ },
+ "changeButtonTitle": {
+ "message": "Wachtwoord wijzigen - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Wachtwoorden in gevaar"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ vraagt je om één wachtwoord te wijzigen omdat deze een risico vormt.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ vraagt je om de $COUNT$ wachtwoorden te wijzigen omdat ze een risico vormen.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Je organisaties vragen je de $COUNT$ wachtwoorden te wijzigen omdat ze een risico vormen.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Eén risicovol wachtwoord beoordelen en wijzigen"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "$COUNT$ risicovolle wachtwoorden beoordelen en wijzigen",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Risicovolle wachtwoorden sneller wijzigen"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Werk je instellingen bij voor het snel automatisch invullen van je wachtwoorden en genereren van nieuwe"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Risicovolle logins bekijken"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Risicovolle wachtwoorden bekijken"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "De wachtwoorden van je organisatie zijn in gevaar omdat ze zwak, hergebruikt en/of gelekt zijn.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Voorbeeld van een lijst van risicovolle logins"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Genereer snel een sterk, uniek wachtwoord met het automatisch invulmenu van Bitwarden op de risicovolle website.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Voorbeeld van het automatisch invulmenu van Bitwarden met een gegenereerd wachtwoord"
+ },
+ "updateInBitwarden": {
+ "message": "Bijwerken in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden vraagt je vervolgens het wachtwoord bij te werken in de wachtwoordbeheerder.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Voorbeeld van een Bitwarden melding die de gebruiker aanspoort tot het bijwerken van de login"
+ },
+ "turnOnAutofill": {
+ "message": "Automatisch invullen inschakelen"
+ },
+ "turnedOnAutofill": {
+ "message": "Automatisch invullen ingeschakeld"
+ },
+ "dismiss": {
+ "message": "Sluiten"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Wijzigingen in geblokkeerde domeinen opgeslagen"
+ },
"excludedDomainsSavedSuccess": {
"message": "Uitgesloten domeinwijzigingen opgeslagen"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Fout"
},
+ "decryptionError": {
+ "message": "Ontsleutelingsfout"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden kon de onderstaande kluisitem(s) niet ontsleutelen."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Neem contact op met de klantenservice",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "om extra dataverlies te voorkomen.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Gebruikersnamen genereren"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ heeft je aanvraag geweigerd. Neem contact op met je serviceprovider voor hulp.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ heeft je aanvraag geweigerd: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Kan $SERVICENAME$ gemaskeerde e-mailaccount-ID niet verkrijgen.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Instellingen zijn bijgewerkt"
- },
- "environmentEditedClick": {
- "message": "Klik hier"
- },
- "environmentEditedReset": {
- "message": "om terug te gaan naar vooraf geconfigureerde instellingen"
- },
"serverVersion": {
"message": "Serverversie"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Inloggen met je hoofdwachtwoord"
},
- "loggingInAs": {
- "message": "Inloggen als"
- },
- "notYou": {
- "message": "Ben jij dit niet?"
- },
"newAroundHere": {
"message": "Nieuw hier?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Inloggen met apparaat"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Inloggen met apparaat moet aangezet worden in de instellingen van de Bitwarden app. Nood aan een andere optie?"
- },
"fingerprintPhraseHeader": {
"message": "Vingerafdrukzin"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Alle inlogopties bekijken"
},
- "viewAllLoginOptionsV1": {
- "message": "Alle inlogopties weergeven"
- },
"notificationSentDevice": {
"message": "Er is een melding naar je apparaat verzonden."
},
+ "notificationSentDevicePart1": {
+ "message": "Ontgrendel Bitwarden op je apparaat of op de"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "webapp"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Zorg ervoor dat de vingerafdrukzin overeenkomt met de onderstaande voor je deze goedkeurt."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Er is een melding naar je apparaat verzonden"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Zorg ervoor dat je kluis is ontgrendeld en de vingerafdrukzin hetzelfde is op het andere apparaat"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Je krijgt een melding zodra de aanvraag is goedgekeurd"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Inloggen gestart"
},
+ "logInRequestSent": {
+ "message": "Verzoek verzonden"
+ },
"exposedMasterPassword": {
"message": "Gelekt hoofdwachtwoord"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Goedkeuring van beheerder vragen"
},
- "approveWithMasterPassword": {
- "message": "Goedkeuren met hoofdwachtwoord"
- },
"ssoIdentifierRequired": {
"message": "Organisatie SSO-identificatie vereist."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Je verzoek is naar je beheerder verstuurd."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Je krijgt een melding zodra je bent goedgekeurd."
- },
"troubleLoggingIn": {
"message": "Problemen met inloggen?"
},
@@ -3396,38 +3649,6 @@
"message": "In-/Uitklappen",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Gegevens importeren naar Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Je LastPass-gegevens beschermen en naar Bitwarden importeren?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Als niet-versleuteld bestand opslaan",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Naar Bitwarden importeren",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importeren…",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Gegevens succesvol geïmporteerd!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Fout bij importeren. Controleer console voor meer informatie.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Netwerkfout opgetreden tijdens het importeren.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Aliasdomein"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Actief account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Beschikbare accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Suggesties automatisch invullen"
},
+ "itemSuggestions": {
+ "message": "Voorgestelde items"
+ },
"autofillSuggestionsTip": {
"message": "Inlogitem opslaan voor automatisch invullen op deze site"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "$FIELD$, $VALUE$ kopiëren",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Geen waarden om te kopiëren"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Itemnaam"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Je kunt verzamelingen niet verwijderen met alleen rechten voor weergeven: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organisatie is gedeactiveerd"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Website URI herschikken. Gebruik de pijltjestoets om het item omhoog of omlaag te verplaatsen."
+ },
"reorderFieldUp": {
"message": "$LABEL$ is naar boven verplaatst, positie $INDEX$ van $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Je hebt niets geselecteerd."
},
- "movedItemsToOrg": {
- "message": "Geselecteerde items verplaatst naar $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items verplaatst naar $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Tekst-Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden heeft een nieuw uiterlijk!"
- },
- "bitwardenNewLookDesc": {
- "message": "Automatisch invullen en zoeken is makkelijker en intuïtiever dan ooit vanaf het tabblad Kluis. Kijk rond!"
- },
"accountActions": {
"message": "Accountacties"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Je hebt geen toestemming om dit item te bewerken"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometrisch ontgrendelen is niet beschikbaar omdat pincode of wachtwoordontgrendeling eerst vereist is."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometrisch ontgrendelen is momenteel niet beschikbaar."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometrisch ontgrendelen is niet beschikbaar vanwege verkeerd geconfigureerde systeembestanden."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometrisch ontgrendelen is niet beschikbaar vanwege verkeerd geconfigureerde systeembestanden."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometrisch ontgrendelen is niet beschikbaar omdat de Bitwarden-desktopapp is afgesloten."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometrisch ontgrendelen is niet beschikbaar omdat het niet is ingeschakeld voor $EMAIL$ in de Bitwarden-desktopapp.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometrisch ontgrendelen is momenteel niet beschikbaar om een onbekende reden."
+ },
"authenticating": {
"message": "Aan het inloggen"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra breed"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Het wachtwoord dat je hebt ingevoerd is onjuist."
+ },
+ "importSshKey": {
+ "message": "Importeren"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Wachtwoord bevestigen"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Voer het wachtwoord voor de SSH sleutel in."
+ },
+ "enterSshKeyPassword": {
+ "message": "Wachtwoord invoeren"
+ },
+ "invalidSshKey": {
+ "message": "De SSH-sleutel is ongeldig"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Het type SSH-sleutel is niet ondersteund"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Sleutel importeren van klembord"
+ },
+ "sshKeyImported": {
+ "message": "SSH-sleutel succesvol geïmporteerd"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Je kunt verzamelingen niet verwijderen met alleen rechten voor weergeven: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Werk je desktopapplicatie bij"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Als je biometrische gegevens wilt gebruiken, moet je de desktopapplicatie bijwerken of vingerafdrukontgrendeling uitschakelen in de instellingen van de desktopapplicatie."
+ },
+ "changeAtRiskPassword": {
+ "message": "Risicovol wachtwoord wijzigen"
}
}
diff --git a/apps/browser/src/_locales/nn/messages.json b/apps/browser/src/_locales/nn/messages.json
index 6ab3755c8f4..c9c29611deb 100644
--- a/apps/browser/src/_locales/nn/messages.json
+++ b/apps/browser/src/_locales/nn/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Length"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/or/messages.json b/apps/browser/src/_locales/or/messages.json
index 6ab3755c8f4..c9c29611deb 100644
--- a/apps/browser/src/_locales/or/messages.json
+++ b/apps/browser/src/_locales/or/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Length"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/pl/messages.json b/apps/browser/src/_locales/pl/messages.json
index a429059ea7d..f4c1303bd18 100644
--- a/apps/browser/src/_locales/pl/messages.json
+++ b/apps/browser/src/_locales/pl/messages.json
@@ -20,10 +20,10 @@
"message": "Utwórz konto"
},
"newToBitwarden": {
- "message": "New to Bitwarden?"
+ "message": "Nowy użytkownik Bitwarden?"
},
"logInWithPasskey": {
- "message": "Zaloguj się używając passkey"
+ "message": "Zaloguj się używając klucza dostępu"
},
"useSingleSignOn": {
"message": "Użyj jednokrotnego logowania"
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Podpowiedź do hasła głównego (opcjonalnie)"
},
+ "passwordStrengthScore": {
+ "message": "Siła hasła: $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Dołącz do organizacji"
},
@@ -120,7 +129,7 @@
"message": "Kopiuj hasło"
},
"copyPassphrase": {
- "message": "Kopiuj frazę bezpieczeństwa"
+ "message": "Skopiuj hasło wyrazowe"
},
"copyNote": {
"message": "Kopiuj notatkę"
@@ -147,7 +156,7 @@
"message": "Kopiuj numer PESEL"
},
"copyPassportNumber": {
- "message": "Kopiuj numer paszportu"
+ "message": "Skopiuj numer paszportu"
},
"copyLicenseNumber": {
"message": "Kopiuj numer licencji"
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Kopiuj notatki"
},
+ "copy": {
+ "message": "Kopiuj",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Wypełnij",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Wprowadź adres e-mail swojego konta, a podpowiedź hasła zostanie wysłana do Ciebie"
},
- "passwordHint": {
- "message": "Podpowiedź do hasła"
- },
- "enterEmailToGetHint": {
- "message": "Wpisz adres e-mail powiązany z kontem, aby otrzymać podpowiedź do hasła głównego."
- },
"getMasterPasswordHint": {
"message": "Uzyskaj podpowiedź do hasła głównego"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edytuj folder"
},
+ "editFolderWithName": {
+ "message": "Edytuj folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Nowy folder"
},
@@ -443,7 +459,19 @@
"message": "Wygeneruj hasło"
},
"generatePassphrase": {
- "message": "Wygenruj frazę zabezpieczającą"
+ "message": "Wygeneruj hasło wyrazowe"
+ },
+ "passwordGenerated": {
+ "message": "Hasło zostało wygenerowane"
+ },
+ "passphraseGenerated": {
+ "message": "Hasło wyrazowe zostało wygenerowane"
+ },
+ "usernameGenerated": {
+ "message": "Nazwa użytkownika została wygenerowana"
+ },
+ "emailGenerated": {
+ "message": "E-mail został wygenerowany"
},
"regeneratePassword": {
"message": "Wygeneruj ponownie hasło"
@@ -454,22 +482,6 @@
"length": {
"message": "Długość"
},
- "uppercase": {
- "message": "Wielkie litery (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Małe litery (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Cyfry (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Znaki specjalne (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Uwzględnij",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Uwzględnij znaki specjalne",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Liczba słów"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Przeglądarka nie obsługuje łatwego kopiowania schowka. Skopiuj element ręcznie."
},
- "verifyIdentity": {
- "message": "Zweryfikuj tożsamość"
+ "verifyYourIdentity": {
+ "message": "Potwierdź swoją tożsamość"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Nie rozpoznajemy tego urządzenia. Wpisz kod wysłany na Twój e-mail, aby zweryfikować tożsamość."
+ },
+ "continueLoggingIn": {
+ "message": "Kontynuuj logowanie"
},
"yourVaultIsLocked": {
"message": "Sejf jest zablokowany. Zweryfikuj swoją tożsamość, aby kontynuować."
@@ -788,7 +802,7 @@
"message": "Zalogowałeś się pomyślnie"
},
"youMayCloseThisWindow": {
- "message": "Możesz zamknąć to okno."
+ "message": "Możesz zamknąć to okno"
},
"masterPassSent": {
"message": "Wysłaliśmy Tobie wiadomość e-mail z podpowiedzią do hasła głównego."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Zaloguj się do Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Wpisz kod wysłany na Twój adres e-mail"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Wpisz kod z aplikacji uwierzytelniającej"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Naciśnij YubiKey aby uwierzytelnić"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Logowanie dwustopniowe Duo jest wymagane dla twojego konta. Wykonaj poniższe kroki, by dokończyć logowanie"
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Wykonaj poniższe kroki, by dokończyć logowanie"
+ },
"restartRegistration": {
"message": "Zrestartuj rejestrację"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Nie"
},
+ "location": {
+ "message": "Lokalizacja"
+ },
"unexpectedError": {
"message": "Wystąpił nieoczekiwany błąd."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Poproś o dodanie elementu, jeśli nie zostanie znaleziony w Twoim sejfie. Dotyczy wszystkich zalogowanych kont."
},
- "showCardsInVaultView": {
- "message": "Pokaż karty jako sugestie autouzupełniania w widoku sejfu"
+ "showCardsInVaultViewV2": {
+ "message": "Zawsze pokazuj karty jako sugestie autouzupełniania w widoku sejfu"
},
"showCardsCurrentTab": {
"message": "Pokaż karty na stronie głównej"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Pokaż elementy karty na stronie głównej, aby ułatwić autouzupełnianie."
},
- "showIdentitiesInVaultView": {
- "message": "Pokaż tożsamości jako sugestie autouzupełniania w widoku sejfu"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Zawsze pokazuj tożsamości jako sugestie autouzupełniania w widoku sejfu"
},
"showIdentitiesCurrentTab": {
"message": "Pokaż tożsamości na stronie głównej"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Kliknij na dane logowania, aby autouzupełnić w widoku Sejfu"
},
+ "clickToAutofill": {
+ "message": "Kliknij elementy w sugestii autouzupełniania, aby wypełnić"
+ },
"clearClipboard": {
"message": "Wyczyść schowek",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Zapisz"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ został zapisany w Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ został zaktualizowany w Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Zapisz jako nowy login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Zaktualizuj dane logowania",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Zapisać dane logowania?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Zaktualizować istniejące dane logowania?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Dane logowania zapisane",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Dane logowania zostały zaktualizowane",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Błąd podczas zapisywania",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "O nie! Nie mogliśmy zapisać tego. Spróbuj wprowadzić szczegóły ręcznie.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Poproś o aktualizację istniejących danych logowania"
},
@@ -1031,10 +1116,10 @@
"message": "Poproś o aktualizację hasła, gdy zmiana zostanie wykryta na stronie. Dotyczy wszystkich zalogowanych kont."
},
"enableUsePasskeys": {
- "message": "Pytaj o zapisywanie i używanie passkey"
+ "message": "Pytaj o zapisywanie i używanie kluczy dostępu"
},
"usePasskeysDesc": {
- "message": "Pytaj o zapisywanie nowych passkey albo danych logowania z passkey w Twoim sejfie. Dotyczy wszystkich zalogowanych kont."
+ "message": "Pytaj o zapisywanie nowych kluczy dostępu albo danych logowania z kluczy w Twoim sejfie. Dotyczy wszystkich zalogowanych kont."
},
"notificationChangeDesc": {
"message": "Czy chcesz zaktualizować to hasło w Bitwarden?"
@@ -1055,7 +1140,7 @@
"message": "Pokaż opcje menu kontekstowego"
},
"contextMenuItemDesc": {
- "message": "Użyj drugiego kliknięcia, aby uzyskać dostęp do generowania haseł i pasujących danych logowania do witryny. "
+ "message": "Użyj drugiego kliknięcia, aby uzyskać dostęp do generowania haseł i pasujących danych logowania do witryny."
},
"contextMenuItemDescAlt": {
"message": "Użyj drugiego kliknięcia, aby uzyskać dostęp do generowania haseł i pasujących danych logowania do witryny. Dotyczy wszystkich zalogowanych kont."
@@ -1084,10 +1169,6 @@
"message": "Jasny",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized Dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Eksportuj z"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Kup konto Premium"
},
- "premiumPurchaseAlert": {
- "message": "Konto Premium możesz zakupić na stronie sejfu bitwarden.com. Czy chcesz otworzyć tę stronę?"
- },
"premiumPurchaseAlertV2": {
"message": "Możesz kupić Premium w ustawieniach konta w aplikacji internetowej Bitwarden."
},
@@ -1320,7 +1398,7 @@
"message": "Limit czasu uwierzytelniania"
},
"authenticationSessionTimedOut": {
- "message": "The authentication session timed out. Please restart the login process."
+ "message": "Upłynął limit czasu uwierzytelniania. Uruchom ponownie proces logowania."
},
"enterVerificationCodeEmail": {
"message": "Wpisz 6-cyfrowy kod weryfikacyjny, który został przesłany na adres $EMAIL$.",
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Zapamiętaj mnie"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Nie pytaj ponownie na tym urządzeniu przez 30 dni"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Wyślij ponownie wiadomość z kodem weryfikacyjnym"
},
"useAnotherTwoStepMethod": {
"message": "Użyj innej metody logowania dwustopniowego"
},
+ "selectAnotherMethod": {
+ "message": "Wybierz inną metodę",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Użyj kodu odzyskiwania"
+ },
"insertYubiKey": {
"message": "Włóż klucz YubiKey do portu USB komputera, a następnie dotknij jego przycisku."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Otwórz nową kartę"
},
+ "openInNewTab": {
+ "message": "Otwórz w nowej karcie"
+ },
"webAuthnAuthenticate": {
"message": "Uwierzytelnianie WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Odczytaj klucz bezpieczeństwa"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Oczekiwanie na interakcję z kluczem bezpieczeństwa..."
+ },
"loginUnavailable": {
"message": "Logowanie jest niedostępne"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Opcje logowania dwustopniowego"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Wybierz metodę logowania dwustopniowego"
+ },
"recoveryCodeDesc": {
"message": "Utraciłeś dostęp do wszystkich swoich mechanizmów dwustopniowego logowania? Użyj kodów odzyskiwania, aby wyłączyć dwustopniowe logowanie na Twoim koncie."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Samodzielnie hostowane środowisko"
},
- "selfHostedEnvironmentFooter": {
- "message": "Wpisz podstawowy adres URL hostowanej instalacji Bitwarden."
- },
"selfHostedBaseUrlHint": {
"message": "Określ bazowy adres URL swojej instalacji Bitwarden. Przykład: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Niestandardowe środowisko"
},
- "customEnvironmentFooter": {
- "message": "Dla zaawansowanych użytkowników. Możesz wpisać podstawowy adres URL niezależnie dla każdej usługi."
- },
"baseUrl": {
"message": "Adres URL serwera"
},
@@ -1478,7 +1572,7 @@
"message": "Pokazuj karty jako sugestie"
},
"showInlineMenuOnIconSelectionLabel": {
- "message": "Wyświetlaj sugestie kiedy ikona jest zaznaczona"
+ "message": "Wyświetlaj sugestie, kiedy ikona jest zaznaczona"
},
"showInlineMenuOnFormFieldsDescAlt": {
"message": "Dotyczy wszystkich zalogowanych kont."
@@ -1523,7 +1617,7 @@
"message": "Domyślne ustawienie autouzupełniania"
},
"defaultAutoFillOnPageLoadDesc": {
- "message": "Po włączeniu autouzupełnianiu po załadowaniu strony, możesz włączyć lub wyłączyć tę funkcję dla poszczególnych wpisów."
+ "message": "Po włączeniu autouzupełnianiu po załadowaniu strony możesz włączyć lub wyłączyć tę funkcję dla poszczególnych wpisów."
},
"itemAutoFillOnPageLoad": {
"message": "Automatycznie uzupełniaj po załadowaniu strony (jeśli włączono w opcjach)"
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Przeciągnij, aby posortować"
},
+ "dragToReorder": {
+ "message": "Przeciągnij, aby zmienić kolejność"
+ },
"cfTypeText": {
"message": "Tekst"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Generator nazw użytkownika"
},
+ "useThisEmail": {
+ "message": "Użyj tego adresu e-mail"
+ },
"useThisPassword": {
"message": "Użyj tego hasła"
},
@@ -2063,12 +2163,24 @@
"message": ", aby utworzyć mocne unikalne hasło",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Dostosowanie sejfu"
+ },
"vaultTimeoutAction": {
"message": "Sposób blokowania sejfu"
},
"vaultTimeoutAction1": {
"message": "Akcja po przekroczeniu limitu czasu"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Nowe opcje dostosowywania"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Dostosuj swój sejf dzięki akcjom szybkiego kopiowania, trybowi kompaktowemu i więcej!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Zobacz wszystkie ustawienia wyglądu"
+ },
"lock": {
"message": "Zablokuj",
"description": "Verb form: to make secure or inaccessible by"
@@ -2114,7 +2226,7 @@
"message": "URI został zapisany i automatycznie uzupełniony"
},
"autoFillSuccess": {
- "message": "Element został automatycznie uzupełniony"
+ "message": "Element został automatycznie uzupełniony "
},
"insecurePageWarning": {
"message": "Ostrzeżenie: Jest to niezabezpieczona strona HTTP i wszelkie przekazane informacje mogą być potencjalnie widoczne i zmienione przez innych. Ten login został pierwotnie zapisany na stronie bezpiecznej (HTTPS)."
@@ -2123,7 +2235,7 @@
"message": "Nadal chcesz uzupełnić ten login?"
},
"autofillIframeWarning": {
- "message": "Formularz jest hostowany przez inną domenę niż zapisany adres URI dla tego loginu. Wybierz OK, aby i tak automatycznie wypełnić lub anuluj aby zatrzymać."
+ "message": "Formularz jest hostowany przez inną domenę niż zapisany adres URI dla tego loginu. Wybierz OK, aby i tak automatycznie wypełnić lub anuluj, aby zatrzymać."
},
"autofillIframeWarningTip": {
"message": "Aby zapobiec temu ostrzeżeniu w przyszłości, zapisz ten URI, $HOSTNAME$, dla tej witryny.",
@@ -2267,7 +2379,7 @@
"message": "Klucz biometryczny jest niepoprawny"
},
"nativeMessagingWrongUserKeyDesc": {
- "message": "Odblokowanie biometryczne nie powiodło się. Sekretny klucz biometryczny nie odblokował sejfu. Spróbuj skonfigurować biometrię ponownie."
+ "message": "Odblokowanie biometryczne się nie powiodło. Sekretny klucz biometryczny nie odblokował sejfu. Spróbuj skonfigurować biometrię ponownie."
},
"biometricsNotEnabledTitle": {
"message": "Dane biometryczne są wyłączone"
@@ -2324,6 +2436,12 @@
"message": "Domeny",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Zablokowane domeny"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Dowiedz się więcej o zablokowanych domenach"
+ },
"excludedDomains": {
"message": "Wykluczone domeny"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Aplikacja Bitwarden nie będzie proponować zapisywania danych logowania dla tych domen dla wszystkich zalogowanych kont. Musisz odświeżyć stronę, aby zastosowywać zmiany."
},
+ "blockedDomainsDesc": {
+ "message": "Autouzupełnianie i inne powiązane funkcje nie będą oferowane dla tych stron. Aby zmiany zaczęły obowiązywać, musisz odświeżyć stronę."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autouzupełnianie jest zablokowane dla tej witryny."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Zmień to w ustawieniach"
+ },
+ "change": {
+ "message": "Zmień"
+ },
+ "changeButtonTitle": {
+ "message": "Zmień hasło - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Zagrożone hasła"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ prosi o zmianę jednego hasła, ponieważ jest ono zagrożone.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ prosi o zmianę $COUNT$ haseł, ponieważ są one zagrożone.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Twoje organizacje proszą o zmianę $COUNT$ haseł, ponieważ są one zagrożone.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Przejrzyj i zmień jedno zagrożone hasło"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Przejrzyj i zmień $COUNT$ zagrożonych haseł ",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Zmień zagrożone hasła szybciej"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Zaktualizuj swoje ustawienia, aby szybko autouzupełniać hasła i generować nowe"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Przejrzyj zagrożone loginy"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Przejrzyj zagrożone hasła"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Twoje hasła organizacji są zagrożone, ponieważ są słabe, ponownie używane i/lub narażone.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Ilustracja listy loginów, które są zagrożone"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Szybko wygeneruj silne, unikalne hasło z menu autouzupełniania Bitwarden na stronie narażonej na ryzyko.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Ilustracja menu autouzupełniania Bitwarden pokazująca wygenerowane hasło"
+ },
+ "updateInBitwarden": {
+ "message": "Aktualizacja w Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden poprosi Cię o aktualizację hasła w menedżerze haseł.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Ilustracja powiadomienia Bitwardena, która prosi użytkownika o aktualizację logowania"
+ },
+ "turnOnAutofill": {
+ "message": "Włącz autouzupełnienie"
+ },
+ "turnedOnAutofill": {
+ "message": "Włączono autouzupełnianie"
+ },
+ "dismiss": {
+ "message": "Odrzuć"
+ },
"websiteItemLabel": {
"message": "Strona internetowa $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Zmiany w zablokowanych domenach zapisane"
+ },
"excludedDomainsSavedSuccess": {
"message": "Zmiany w wykluczonych domenach zapisane"
},
@@ -2540,7 +2773,7 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendFilePopoutDialogDesc": {
- "message": "To create a file Send, you need to pop out the extension to a new window.",
+ "message": "Aby utworzyć plik Send, musisz wysunąć rozszerzenie do nowego okna.",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendLinuxChromiumFileWarning": {
@@ -2553,7 +2786,7 @@
"message": "Aby wybrać plik za pomocą przeglądarki Safari, otwórz rozszerzenie w nowym oknie."
},
"popOut": {
- "message": "Pop out"
+ "message": "Odepnij"
},
"sendFileCalloutHeader": {
"message": "Zanim zaczniesz"
@@ -2789,6 +3022,20 @@
"error": {
"message": "Błąd"
},
+ "decryptionError": {
+ "message": "Błąd odszyfrowywania"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden nie mógł odszyfrować elementów sejfu wymienionych poniżej."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Skontaktuj się z działem obsługi klienta,",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "aby uniknąć dalszej utraty danych.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Wygeneruj nazwę użytkownika"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ odrzucił Twoje żądanie. Skontaktuj się z dostawcą usług w celu uzyskania pomocy.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ odrzucił Twoje żądanie: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Nie można uzyskać ID maskowanego konta e-mail dla $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Ustawienia zostały zmienione"
- },
- "environmentEditedClick": {
- "message": "Kliknij tutaj"
- },
- "environmentEditedReset": {
- "message": "aby zresetować do wstępnie skonfigurowanych ustawień"
- },
"serverVersion": {
"message": "Wersja serwera"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Logowanie hasłem głównym"
},
- "loggingInAs": {
- "message": "Logowanie jako"
- },
- "notYou": {
- "message": "To nie Ty?"
- },
"newAroundHere": {
"message": "Nowy użytkownik?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Zaloguj się za pomocą urządzenia"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Logowanie za pomocą urządzenia musi być włączone w ustawieniach aplikacji Bitwarden. Potrzebujesz innej opcji?"
- },
"fingerprintPhraseHeader": {
"message": "Unikalny identyfikator konta"
},
@@ -3070,20 +3323,23 @@
"viewAllLogInOptions": {
"message": "Zobacz wszystkie sposoby logowania"
},
- "viewAllLoginOptionsV1": {
- "message": "Zobacz wszystkie sposoby logowania"
- },
"notificationSentDevice": {
"message": "Powiadomienie zostało wysłane na urządzenie."
},
+ "notificationSentDevicePart1": {
+ "message": "Odblokuj Bitwarden na swoim urządzeniu lub w"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "aplikacji internetowej"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Upewnij się, że fraza odcisku palca zgadza się z tą poniżej, zanim zatwierdzisz."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Powiadomienie zostało wysłane na twoje urządzenie"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
- "message": "You will be notified once the request is approved"
+ "message": "Zostaniesz powiadomiony po zatwierdzeniu prośby"
},
"needAnotherOptionV1": {
"message": "Potrzebujesz innego sposobu?"
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Logowanie rozpoczęte"
},
+ "logInRequestSent": {
+ "message": "Żądanie wysłane"
+ },
"exposedMasterPassword": {
"message": "Ujawnione hasło główne"
},
@@ -3122,7 +3381,7 @@
}
},
"autofillPageLoadPolicyActivated": {
- "message": "Twoja organizacji włączyła autouzupełnianie podczas wczytywania strony."
+ "message": "Twoja organizacja włączyła autouzupełnianie podczas wczytywania strony."
},
"howToAutofill": {
"message": "Jak autouzupełniać"
@@ -3197,7 +3456,7 @@
"message": "Zapamiętaj to urządzenie"
},
"uncheckIfPublicDevice": {
- "message": "Odznacz jeśli używasz publicznego urządzenia"
+ "message": "Odznacz, jeśli używasz publicznego urządzenia"
},
"approveFromYourOtherDevice": {
"message": "Zatwierdź z innego twojego urządzenia"
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Poproś administratora o zatwierdzenie"
},
- "approveWithMasterPassword": {
- "message": "Zatwierdź przy użyciu hasła głównego"
- },
"ssoIdentifierRequired": {
"message": "Identyfikator organizacji jest wymagany."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Twoja prośba została wysłana do Twojego administratora."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Zostaniesz powiadomiony po zatwierdzeniu."
- },
"troubleLoggingIn": {
"message": "Problem z zalogowaniem?"
},
@@ -3396,43 +3649,11 @@
"message": "Zwiń/rozwiń",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Zaimportować Twoje dane do Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Ochronić Twoje dane LastPass i zaimportować do Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Zapisz jako niezaszyfrowany plik",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importuj do Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importowanie...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Dane pomyślnie zaimportowane!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Błąd podczas importowania. Sprawdź konsolę, aby uzyskać szczegółowe informacje.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Wystąpił błąd sieci podczas importu.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Domena aliasu"
},
"passwordRepromptDisabledAutofillOnPageLoad": {
- "message": "Elementy z pytaniem o hasło głównege nie mogą być automatycznie wypełniane przy wczytywaniu strony. Automatyczne wypełnianie po wczytywania strony zostało wyłączone.",
+ "message": "Elementy z pytaniem o hasło główne nie mogą być autouzupełniane przy wczytywaniu strony. Autouzupełnianie podczas wczytywania strony zostało wyłączone.",
"description": "Toast message for describing that master password re-prompt cannot be autofilled on page load."
},
"autofillOnPageLoadSetToDefault": {
@@ -3478,7 +3699,7 @@
"description": "Screen reader text (aria-label) for unlock account button in overlay"
},
"totpCodeAria": {
- "message": "Time-based One-Time Password Verification Code",
+ "message": "Kod weryfikacyjny jednorazowego hasła oparty na czasie",
"description": "Aria label for the totp code displayed in the inline menu for autofill"
},
"totpSecondsSpanAria": {
@@ -3708,7 +3929,7 @@
"message": "Dane sejfu zostały wyeksportowane"
},
"typePasskey": {
- "message": "Passkey"
+ "message": "Klucz dostępu"
},
"accessing": {
"message": "Uzyskiwanie dostępu"
@@ -3717,22 +3938,22 @@
"message": "Zalogowano!"
},
"passkeyNotCopied": {
- "message": "Passkey nie zostanie skopiowany"
+ "message": "Klucz dostępu nie zostanie skopiowany"
},
"passkeyNotCopiedAlert": {
- "message": "Passkey nie zostanie skopiowane do sklonowanego elementu. Czy chcesz kontynuować klonowanie tego elementu?"
+ "message": "Klucz dostępu nie zostanie skopiowany do sklonowanego elementu. Czy chcesz kontynuować klonowanie tego elementu?"
},
"passkeyFeatureIsNotImplementedForAccountsWithoutMasterPassword": {
"message": "Weryfikacja jest wymagana przez stronę inicjującą. Ta funkcja nie jest jeszcze zaimplementowana dla kont bez hasła głównego."
},
"logInWithPasskeyQuestion": {
- "message": "Zaloguj się za pomocą passkey?"
+ "message": "Zalogować za pomocą klucza dostępu?"
},
"passkeyAlreadyExists": {
- "message": "Passkey już istnieje dla tej aplikacji."
+ "message": "Klucz dostępu już istnieje dla tej aplikacji."
},
"noPasskeysFoundForThisApplication": {
- "message": "Nie znaleziono passkey'a dla tej aplikacji."
+ "message": "Nie znaleziono klucza dostępu dla tej aplikacji."
},
"noMatchingPasskeyLogin": {
"message": "Nie masz pasujących danych logowania do tej witryny."
@@ -3741,37 +3962,37 @@
"message": "Brak pasujących loginów dla tej witryny"
},
"searchSavePasskeyNewLogin": {
- "message": "Wyszukaj alb zapisz passkey jako nowy login"
+ "message": "Wyszukaj albo zapisz klucz dostępu jako nowy login"
},
"confirm": {
"message": "Potwierdź"
},
"savePasskey": {
- "message": "Zapisz passkey"
+ "message": "Zapisz klucz dostępu"
},
"savePasskeyNewLogin": {
- "message": "Zapisz passkey jako nowe dane logowania"
+ "message": "Zapisz klucz dostępu jako nowe dane logowania"
},
"chooseCipherForPasskeySave": {
- "message": "Wybierz dane logowania do których przypisać passkey"
+ "message": "Wybierz dane logowania, do których przypisać klucz dostępu"
},
"chooseCipherForPasskeyAuth": {
- "message": "Wybierz passkey żeby się zalogować"
+ "message": "Wybierz klucz dostępu, żeby się zalogować"
},
"passkeyItem": {
- "message": "Element Passkey"
+ "message": "Element klucza dostępu"
},
"overwritePasskey": {
- "message": "Zastąpić passkey?"
+ "message": "Zastąpić klucz dostępu?"
},
"overwritePasskeyAlert": {
- "message": "Ten element zawiera już passkey. Czy na pewno chcesz nadpisać bieżący passkey?"
+ "message": "Ten element zawiera już klucz dostępu. Czy na pewno chcesz nadpisać bieżący klucza dostępu?"
},
"featureNotSupported": {
"message": "Funkcja nie jest jeszcze obsługiwana"
},
"yourPasskeyIsLocked": {
- "message": "Wymagane uwierzytelnienie aby używać passkey. Sprawdź swoją tożsamość, aby kontynuować."
+ "message": "Wymagane uwierzytelnienie, aby używać klucza dostępu. Sprawdź swoją tożsamość, aby kontynuować."
},
"multifactorAuthenticationCancelled": {
"message": "Uwierzytelnianie wieloskładnikowe zostało anulowane"
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktywne konto"
},
+ "bitwardenAccount": {
+ "message": "Konto Bitwarden"
+ },
"availableAccounts": {
"message": "Dostępne konta"
},
@@ -3973,13 +4197,16 @@
"message": "Sukces"
},
"removePasskey": {
- "message": "Usuń passkey"
+ "message": "Usuń klucz dostępu"
},
"passkeyRemoved": {
- "message": "Passkey został usunięty"
+ "message": "Klucz dostępu został usunięty"
},
"autofillSuggestions": {
- "message": "Sugestie autouzupełnienia"
+ "message": "Sugestie autouzupełniania"
+ },
+ "itemSuggestions": {
+ "message": "Sugerowane elementy"
},
"autofillSuggestionsTip": {
"message": "Zapisz element logowania dla tej witryny, aby automatycznie wypełnić"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Kopiuj $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Brak wartości do skopiowania"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Nazwa elementu"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Nie można usunąć kolekcji z uprawnieniami tylko do przeglądania: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organizacja jest wyłączona"
},
@@ -4340,7 +4572,7 @@
"message": "Dane"
},
"passkeys": {
- "message": "Passkeys",
+ "message": "Klucze dostępu",
"description": "A section header for a list of passkeys."
},
"passwords": {
@@ -4348,7 +4580,7 @@
"description": "A section header for a list of passwords."
},
"logInWithPasskeyAriaLabel": {
- "message": "Zaloguj się za pomocą passkey",
+ "message": "Zaloguj się za pomocą klucza dostępu",
"description": "ARIA label for the inline menu button that logs in with a passkey."
},
"assign": {
@@ -4430,7 +4662,7 @@
}
},
"reorderToggleButton": {
- "message": "Zmień kolejność $LABEL$. Użyj klawiszy że strzałkami aby przenieść element w górę lub w dół.",
+ "message": "Zmień kolejność $LABEL$. Użyj klawiszy ze strzałkami, aby przenieść element w górę lub w dół.",
"placeholders": {
"label": {
"content": "$1",
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Zmień kolejność URI strony. Użyj klawiszy ze strzałkami, aby przenieść element w górę lub w dół."
+ },
"reorderFieldUp": {
"message": "$LABEL$ przeniósł się w górę, pozycja $INDEX$ z $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Nie zaznaczyłeś żadnych elementów."
},
- "movedItemsToOrg": {
- "message": "Zaznaczone elementy zostały przeniesione do $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Elementy przeniesione do $ORGNAME$",
"placeholders": {
@@ -4546,22 +4772,16 @@
"message": "Lokalizacja elementu"
},
"fileSend": {
- "message": "File Send"
+ "message": "Wysyłka pliku"
},
"fileSends": {
- "message": "File Sends"
+ "message": "Wysyłki plików"
},
"textSend": {
- "message": "Text Send"
+ "message": "Wysyłka tekstu"
},
"textSends": {
- "message": "Text Sends"
- },
- "bitwardenNewLook": {
- "message": "Bitwarden ma nowy wygląd!"
- },
- "bitwardenNewLookDesc": {
- "message": "Auto wypełnianie i szukanie na zakładce sejfu jest teraz prostsze i bardziej intuicyjne. Rozejrzyj się tam!"
+ "message": "Wysyłki tekstów"
},
"accountActions": {
"message": "Akcje konta"
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Nie masz uprawnień do edycji tego elementu"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Odblokowanie odciskiem palca jest niedostępne, ponieważ najpierw wymagane jest odblokowanie kodem PIN lub hasłem."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Odblokowanie biometryczne jest obecnie niedostępne."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Odblokowanie biometryczne jest niedostępne z powodu nieprawidłowej konfiguracji plików systemowych."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Odblokowanie biometryczne jest niedostępne z powodu nieprawidłowej konfiguracji plików systemowych."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Odblokowanie odciskiem palca jest niedostępne, ponieważ aplikacja desktopowa Bitwarden jest zamknięta."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Odblokowanie biometryczne jest niedostępne, ponieważ nie jest włączone dla $EMAIL$ w aplikacji desktopowej Bitwarden.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Odblokowanie biometryczne jest obecnie niedostępne z nieznanego powodu."
+ },
"authenticating": {
"message": "Uwierzytelnianie"
},
@@ -4665,7 +4912,7 @@
"description": "Represents the ~ key in screen reader content as a readable word"
},
"backtickCharacterDescriptor": {
- "message": "Backtick",
+ "message": "Grawis",
"description": "Represents the ` key in screen reader content as a readable word"
},
"exclamationCharacterDescriptor": {
@@ -4689,7 +4936,7 @@
"description": "Represents the % key in screen reader content as a readable word"
},
"caretCharacterDescriptor": {
- "message": "Caret",
+ "message": "Daszek",
"description": "Represents the ^ key in screen reader content as a readable word"
},
"ampersandCharacterDescriptor": {
@@ -4745,7 +4992,7 @@
"description": "Represents the | key in screen reader content as a readable word"
},
"backSlashCharacterDescriptor": {
- "message": "Back slash",
+ "message": "Ukośnik wsteczny",
"description": "Represents the back slash key in screen reader content as a readable word"
},
"colonCharacterDescriptor": {
@@ -4785,7 +5032,7 @@
"description": "Represents the ? key in screen reader content as a readable word"
},
"forwardSlashCharacterDescriptor": {
- "message": "Forward slash",
+ "message": "Ukośnik prawy",
"description": "Represents the / key in screen reader content as a readable word"
},
"lowercaseAriaLabel": {
@@ -4804,22 +5051,22 @@
"message": "Beta"
},
"importantNotice": {
- "message": "Important notice"
+ "message": "Ważna informacja"
},
"setupTwoStepLogin": {
- "message": "Set up two-step login"
+ "message": "Skonfiguruj dwustopniowe logowanie"
},
"newDeviceVerificationNoticeContentPage1": {
- "message": "Bitwarden will send a code to your account email to verify logins from new devices starting in February 2025."
+ "message": "Bitwarden wyśle kod na Twój adres e-mail w celu zweryfikowania logowania z nowych urządzeń, począwszy od lutego 2025 r."
},
"newDeviceVerificationNoticeContentPage2": {
- "message": "You can set up two-step login as an alternative way to protect your account or change your email to one you can access."
+ "message": "Możesz skonfigurować dwustopniowe logowanie jako alternatywny sposób ochrony konta lub zmienić swój adres e-mail, do którego masz dostęp."
},
"remindMeLater": {
- "message": "Remind me later"
+ "message": "Przypomnij mi później"
},
"newDeviceVerificationNoticePageOneFormContent": {
- "message": "Do you have reliable access to your email, $EMAIL$?",
+ "message": "Czy masz pewny dostęp do swojego adresu e-mail, $EMAIL$?",
"placeholders": {
"email": {
"content": "$1",
@@ -4828,16 +5075,16 @@
}
},
"newDeviceVerificationNoticePageOneEmailAccessNo": {
- "message": "No, I do not"
+ "message": "Nie, nie mam"
},
"newDeviceVerificationNoticePageOneEmailAccessYes": {
- "message": "Yes, I can reliably access my email"
+ "message": "Tak, mam pewny dostęp do mojego adresu e-mail"
},
"turnOnTwoStepLogin": {
- "message": "Turn on two-step login"
+ "message": "Włącz dwustopniowe logowanie"
},
"changeAcctEmail": {
- "message": "Change account email"
+ "message": "Zmień adres e-mail konta"
},
"extensionWidth": {
"message": "Szerokość rozszerzenia"
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Bardzo szerokie"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Wprowadzone hasło jest nieprawidłowe."
+ },
+ "importSshKey": {
+ "message": "Importuj"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Potwierdź hasło"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Wprowadź hasło dla klucza SSH."
+ },
+ "enterSshKeyPassword": {
+ "message": "Wprowadź hasło"
+ },
+ "invalidSshKey": {
+ "message": "Klucz SSH jest nieprawidłowy"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Typ klucza SSH nie jest obsługiwany"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Importuj klucz ze schowka"
+ },
+ "sshKeyImported": {
+ "message": "Klucz SSH zaimportowano pomyślnie"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Nie można usunąć kolekcji z uprawnieniami tylko do przeglądania: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Zaktualizuj aplikację na komputer"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Aby używać odblokowywania biometrycznego, zaktualizuj aplikację na komputerze lub wyłącz odblokowywanie odciskiem palca w ustawieniach aplikacji na komputerze."
+ },
+ "changeAtRiskPassword": {
+ "message": "Zmień hasło zagrożone"
}
}
diff --git a/apps/browser/src/_locales/pt_BR/messages.json b/apps/browser/src/_locales/pt_BR/messages.json
index cd0c9979103..0b5d569f443 100644
--- a/apps/browser/src/_locales/pt_BR/messages.json
+++ b/apps/browser/src/_locales/pt_BR/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Dica de Senha Mestra (opcional)"
},
+ "passwordStrengthScore": {
+ "message": "Pontos fortes da senha: $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Juntar-se à organização"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copiar Notas"
},
+ "copy": {
+ "message": "Copiar",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Preencher",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Digite o endereço de seu correio eletrônico da sua conta e sua dica da senha será enviada para você"
},
- "passwordHint": {
- "message": "Dica da Senha"
- },
- "enterEmailToGetHint": {
- "message": "Insira o seu endereço de e-mail para receber a dica da sua senha mestra."
- },
"getMasterPasswordHint": {
"message": "Obter dica da senha mestra"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Editar Pasta"
},
+ "editFolderWithName": {
+ "message": "Editar pasta: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Nova pasta"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Gerar frase secreta"
},
+ "passwordGenerated": {
+ "message": "Senha gerada"
+ },
+ "passphraseGenerated": {
+ "message": "Senha gerada"
+ },
+ "usernameGenerated": {
+ "message": "Nome de usuário gerado"
+ },
+ "emailGenerated": {
+ "message": "E-mail gerado"
+ },
"regeneratePassword": {
"message": "Gerar Nova Senha"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Comprimento"
},
- "uppercase": {
- "message": "Maiúsculas (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Minúsculas (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Números (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Caracteres especiais (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Incluir",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Incluir caracteres especiais",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Número de Palavras"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "O seu navegador web não suporta cópia para a área de transferência. Em alternativa, copie manualmente."
},
- "verifyIdentity": {
- "message": "Verificar Identidade"
+ "verifyYourIdentity": {
+ "message": "Verifique a sua identidade"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Não reconhecemos este dispositivo. Digite o código enviado por e-mail para verificar a sua identidade."
+ },
+ "continueLoggingIn": {
+ "message": "Manter sessão"
},
"yourVaultIsLocked": {
"message": "Seu cofre está trancado. Verifique sua identidade para continuar."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Inicie a sessão no Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Digite o código enviado por e-mail"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Digite o código a partir do seu autenticador"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Insira sua YubiKey para autenticar"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Siga os passos abaixo para finalizar o login."
+ },
"restartRegistration": {
"message": "Reiniciar registro"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Não"
},
+ "location": {
+ "message": "Localização"
+ },
"unexpectedError": {
"message": "Ocorreu um erro inesperado."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Pedir para adicionar um item se um não for encontrado no seu cofre. Aplica-se a todas as contas logadas."
},
- "showCardsInVaultView": {
- "message": "Mostrar cartões como sugestões de preenchimento automático na exibição do Cofre"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Mostrar cartões em páginas com guias."
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Exibir itens de cartão em páginas com abas para simplificar o preenchimento automático"
},
- "showIdentitiesInVaultView": {
- "message": "Mostrar identifica como sugestões de preenchimento automático na exibição do Cofre"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Exibir Identidades na Aba Atual"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Limpar Área de Transferência",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Salvar"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ salvo no Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ atualizado no Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Salvar como nova sessão",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Atualizar sessão",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Salvar sessão?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Atualizar a sessão atual?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Sessão salva",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Sessão atualizada",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Erro ao salvar",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Ops! Não foi possível salvar isso. Tente digitar os detalhes manualmente.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Pedir para atualizar os dados de login existentes"
},
@@ -1084,10 +1169,6 @@
"message": "Claro",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized (escuro)",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exportar de"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Comprar Premium"
},
- "premiumPurchaseAlert": {
- "message": "Você pode comprar a assinatura premium no cofre web em bitwarden.com. Você deseja visitar o site agora?"
- },
"premiumPurchaseAlertV2": {
"message": "Você pode comprar Premium nas configurações de sua conta no aplicativo web do Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Lembrar de mim"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Não perguntar novamente neste dispositivo por 30 dias"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Enviar código de verificação para o e-mail novamente"
},
"useAnotherTwoStepMethod": {
"message": "Utilizar outro método de verificação em duas etapas"
},
+ "selectAnotherMethod": {
+ "message": "Escolher outro método",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use seu código de recuperação"
+ },
"insertYubiKey": {
"message": "Insira a sua YubiKey na porta USB do seu computador, e depois toque no botão da mesma."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Abrir nova aba"
},
+ "openInNewTab": {
+ "message": "Abrir numa nova aba"
+ },
"webAuthnAuthenticate": {
"message": "Autenticar WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Ler chave de segurança"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Aguardando interação com a chave de segurança..."
+ },
"loginUnavailable": {
"message": "Sessão Indisponível"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Opções de Login em Duas Etapas"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Escolher iniciar sessão em duas etapas"
+ },
"recoveryCodeDesc": {
"message": "Perdeu o acesso a todos os seus provedores de duas etapas? Utilize o seu código de recuperação para desativar todos os provedores de duas etapas da sua conta."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Ambiente Auto-hospedado"
},
- "selfHostedEnvironmentFooter": {
- "message": "Especifique a URL de base da sua instalação local do Bitwarden."
- },
"selfHostedBaseUrlHint": {
"message": "Especifique a URL de base da sua instalação local do Bitwarden. Exemplo: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Ambiente Personalizado"
},
- "customEnvironmentFooter": {
- "message": "Para usuários avançados. Você pode especificar a URL de base de cada serviço independentemente."
- },
"baseUrl": {
"message": "URL do Servidor"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Arrastar para ordenar"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Texto"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Gerador de usuário"
},
+ "useThisEmail": {
+ "message": "Usar este e-mail"
+ },
"useThisPassword": {
"message": "Use esta senha"
},
@@ -2063,12 +2163,24 @@
"message": "para criar uma senha única e forte",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Personalização do cofre"
+ },
"vaultTimeoutAction": {
"message": "Ação de Tempo Limite do Cofre"
},
"vaultTimeoutAction1": {
"message": "Ação do tempo"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Novas opções de personalização"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Ver todas as configurações de aparência"
+ },
"lock": {
"message": "Bloquear",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domínios",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Domínios bloqueados"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Saiba mais sobre domínios bloqueados"
+ },
"excludedDomains": {
"message": "Domínios Excluídos"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "O Bitwarden não irá pedir para salvar os detalhes de credencial para estes domínios. Você deve atualizar a página para que as alterações entrem em vigor."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Alterar"
+ },
+ "changeButtonTitle": {
+ "message": "Alterar senha - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Senhas em risco"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Atualizar no Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Ativar preenchimento automático"
+ },
+ "turnedOnAutofill": {
+ "message": "Desativar preenchimento automático"
+ },
+ "dismiss": {
+ "message": "Dispensar"
+ },
"websiteItemLabel": {
"message": "Site $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Mudanças de domínios excluídos salvas"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Erro"
},
+ "decryptionError": {
+ "message": "Erro ao descriptografar"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "O Bitwarden não pode descriptografar o(s) item(ns) do cofre listado abaixo."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Gerar Usuário"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Não foi possível obter a máscara do ID da conta de email $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "As configurações foram editadas"
- },
- "environmentEditedClick": {
- "message": "Clique aqui"
- },
- "environmentEditedReset": {
- "message": "para redefinir para as configurações pré-configuradas"
- },
"serverVersion": {
"message": "Versão do servidor"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Entrar com a senha mestra"
},
- "loggingInAs": {
- "message": "Logar como"
- },
- "notYou": {
- "message": "Não é você?"
- },
"newAroundHere": {
"message": "Novo por aqui?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Fazer login com dispositivo"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Login com dispositivo deve ser habilitado nas configurações do aplicativo móvel do Bitwarden. Necessita de outra opção?"
- },
"fingerprintPhraseHeader": {
"message": "Frase de impressão digital"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Visualizar todas as opções de login"
},
- "viewAllLoginOptionsV1": {
- "message": "Visualizar todas as opções de login"
- },
"notificationSentDevice": {
"message": "Uma notificação foi enviada para seu dispositivo."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Uma notificação foi enviada para o seu dispositivo"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Certifique-se que sua conta esteja desbloqueada e que a frase de identificação corresponda à do outro dispositivo"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Você será notificado assim que a requisição for aprovada"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login iniciado"
},
+ "logInRequestSent": {
+ "message": "Pedido enviado"
+ },
"exposedMasterPassword": {
"message": "Senha mestra comprometida"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Solicitar aprovação do administrador"
},
- "approveWithMasterPassword": {
- "message": "Aprovar com senha mestra"
- },
"ssoIdentifierRequired": {
"message": "Identificador SSO da organização é necessário."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Seu pedido foi enviado para seu administrador."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Será notificado assim que for aprovado."
- },
"troubleLoggingIn": {
"message": "Problemas em efetuar login?"
},
@@ -3396,38 +3649,6 @@
"message": "Alternar colapso",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Importar seus dados para o Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Proteja seus dados do LastPass e importe para o Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Salvar como arquivo não criptografado",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importar para o Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importando...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Dados importados com sucesso!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Erro ao importar. Verifique o console para detalhes.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Erro de rede encontrado durante a importação.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias do domínio"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Conta ativa"
},
+ "bitwardenAccount": {
+ "message": "Conta Bitwarden"
+ },
"availableAccounts": {
"message": "Contas disponíveis"
},
@@ -3979,7 +4203,10 @@
"message": "Chave de acesso removida"
},
"autofillSuggestions": {
- "message": "Sugestões de autopreenchimento"
+ "message": "Sugestões de preenchimento automático"
+ },
+ "itemSuggestions": {
+ "message": "Itens sugeridos"
},
"autofillSuggestionsTip": {
"message": "Salvar um item de login para este site autopreenchimento"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copiar $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Não há valores para copiar"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Nome do item"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Você não pode remover coleções com permissões de Somente leitura: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "A organização está desativada"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ se moveu para cima, posição $INDEX$ de $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Você selecionou nada."
},
- "movedItemsToOrg": {
- "message": "Itens selecionados movidos para $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Itens movidos para $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Texto enviado"
},
- "bitwardenNewLook": {
- "message": "Bitwarden tem uma nova aparência!"
- },
- "bitwardenNewLookDesc": {
- "message": "É mais fácil e mais intuitivo do que nunca autopreenchimento e pesquise na guia Cofre. Dê uma olhada ao redor!"
- },
"accountActions": {
"message": "Ações da conta"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Você não tem permissão para editar este arquivo"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Autenticando"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra Grande"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Você não pode remover coleções com permissões de Somente leitura: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/pt_PT/messages.json b/apps/browser/src/_locales/pt_PT/messages.json
index def50289ae6..c1f1f51609c 100644
--- a/apps/browser/src/_locales/pt_PT/messages.json
+++ b/apps/browser/src/_locales/pt_PT/messages.json
@@ -62,7 +62,7 @@
"message": "Uma dica da palavra-passe mestra pode ajudá-lo a lembrar-se da sua palavra-passe, caso se esqueça dela."
},
"masterPassHintText": {
- "message": "Se se esquecer da sua palavra-passe, a dica da palavra-passe pode ser enviada para o seu e-mail. Máximo de $CURRENT$/$MAXIMUM$ caracteres.",
+ "message": "Se se esquecer da sua palavra-passe, a dica da palavra-passe pode ser enviada para o seu e-mail. Máximo de $CURRENT$/$MAXIMUM$ carateres.",
"placeholders": {
"current": {
"content": "$1",
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Dica da palavra-passe mestra (opcional)"
},
+ "passwordStrengthScore": {
+ "message": "Pontuação da força da palavra-passe: $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Aderir à organização"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copiar notas"
},
+ "copy": {
+ "message": "Copiar",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Preencher",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Introduza o endereço de e-mail da sua conta e ser-lhe-á enviada a sua dica da palavra-passe"
},
- "passwordHint": {
- "message": "Dica da palavra-passe"
- },
- "enterEmailToGetHint": {
- "message": "Introduza o endereço de e-mail da sua conta para receber a dica da sua palavra-passe mestra."
- },
"getMasterPasswordHint": {
"message": "Obter a dica da palavra-passe mestra"
},
@@ -296,7 +303,7 @@
"message": "Continuar para a loja de extensões do navegador?"
},
"continueToBrowserExtensionStoreDesc": {
- "message": "Ajude outras pessoas a descobrir se o Bitwarden lhes é adequado. Visite a loja de extensões do seu navegador e deixe uma avaliação agora."
+ "message": "Ajude outras pessoas a descobrir se o Bitwarden lhes é adequado. Visite a loja de extensões do seu navegador e deixe uma classificação agora."
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Pode alterar a sua palavra-passe mestra na aplicação Web Bitwarden."
@@ -340,7 +347,7 @@
"message": "Gestor de Segredos Bitwarden"
},
"continueToSecretsManagerPageDesc": {
- "message": "Armazene, gira e partilhe segredos de programador de forma segura com o Gestor de Segredos Bitwarden. Saiba mais no site bitwarden.com."
+ "message": "Armazene, faça a gestão e partilhe de forma segura os segredos dos programadores com o Gestor de Segredos Bitwarden. Saiba mais no site bitwarden.com."
},
"passwordlessDotDev": {
"message": "Passwordless.dev"
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Editar pasta"
},
+ "editFolderWithName": {
+ "message": "Editar pasta: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Nova pasta"
},
@@ -379,7 +395,7 @@
"message": "Nome da pasta"
},
"folderHintText": {
- "message": "Aninhe uma pasta adicionando o nome da pasta principal seguido de um \"/\". Exemplo: Redes Sociais/Fóruns"
+ "message": "Crie uma subpasta adicionando o nome da pasta principal seguido de um \"/\". Exemplo: Redes Sociais/Fóruns"
},
"noFoldersAdded": {
"message": "Nenhuma pasta adicionada"
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Gerar frase de acesso"
},
+ "passwordGenerated": {
+ "message": "Palavra-passe gerada"
+ },
+ "passphraseGenerated": {
+ "message": "Frase de acesso gerada"
+ },
+ "usernameGenerated": {
+ "message": "Nome de utilizador gerado"
+ },
+ "emailGenerated": {
+ "message": "E-mail gerado"
+ },
"regeneratePassword": {
"message": "Regenerar palavra-passe"
},
@@ -454,28 +482,12 @@
"length": {
"message": "Comprimento"
},
- "uppercase": {
- "message": "Maiúsculas (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Minúsculas (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Números (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Caracteres especiais (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Incluir",
"description": "Card header for password generator include block"
},
"uppercaseDescription": {
- "message": "Incluir caracteres em maiúsculas",
+ "message": "Incluir carateres em maiúsculas",
"description": "Tooltip for the password generator uppercase character checkbox"
},
"uppercaseLabel": {
@@ -483,7 +495,7 @@
"description": "Label for the password generator uppercase character checkbox"
},
"lowercaseDescription": {
- "message": "Incluir caracteres em minúsculas",
+ "message": "Incluir carateres em minúsculas",
"description": "Full description for the password generator lowercase character checkbox"
},
"lowercaseLabel": {
@@ -499,13 +511,9 @@
"description": "Label for the password generator numbers checkbox"
},
"specialCharactersDescription": {
- "message": "Incluir caracteres especiais",
+ "message": "Incluir carateres especiais",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Número de palavras"
},
@@ -523,10 +531,10 @@
"message": "Mínimo de números"
},
"minSpecial": {
- "message": "Mínimo de caracteres especiais"
+ "message": "Mínimo de carateres especiais"
},
"avoidAmbiguous": {
- "message": "Evitar caracteres ambíguos",
+ "message": "Evitar carateres ambíguos",
"description": "Label for the avoid ambiguous characters checkbox."
},
"generatorPolicyInEffect": {
@@ -639,13 +647,19 @@
"message": "Outras opções"
},
"rateExtension": {
- "message": "Avaliar a extensão"
+ "message": "Classificar a extensão"
},
"browserNotSupportClipboard": {
"message": "O seu navegador Web não suporta a cópia fácil da área de transferência. Em vez disso, copie manualmente."
},
- "verifyIdentity": {
- "message": "Verificar identidade"
+ "verifyYourIdentity": {
+ "message": "Verifique a sua identidade"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Não reconhecemos este dispositivo. Introduza o código enviado para o seu e-mail para verificar a sua identidade."
+ },
+ "continueLoggingIn": {
+ "message": "Continuar a iniciar sessão"
},
"yourVaultIsLocked": {
"message": "O seu cofre está bloqueado. Verifique a sua identidade para continuar."
@@ -763,7 +777,7 @@
"message": "É necessário reescrever a palavra-passe mestra."
},
"masterPasswordMinlength": {
- "message": "A palavra-passe mestra deve ter pelo menos $VALUE$ caracteres.",
+ "message": "A palavra-passe mestra deve ter pelo menos $VALUE$ carateres.",
"description": "The Master Password must be at least a specific number of characters long.",
"placeholders": {
"value": {
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Iniciar sessão no Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Introduza o código enviado para o seu e-mail"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Introduza o código da sua app de autenticação"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Prima a sua YubiKey para se autenticar"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "A verificação de dois passos do Duo é necessária para a sua conta. Siga os passos abaixo para concluir o início de sessão."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Siga os passos abaixo para concluir o início de sessão."
+ },
"restartRegistration": {
"message": "Reiniciar registo"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Não"
},
+ "location": {
+ "message": "Localização"
+ },
"unexpectedError": {
"message": "Ocorreu um erro inesperado."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Pedir para adicionar um item se não for encontrado um no seu cofre. Aplica-se a todas as contas com sessão iniciada."
},
- "showCardsInVaultView": {
- "message": "Mostrar cartões como sugestões de preenchimento automático na vista do cofre"
+ "showCardsInVaultViewV2": {
+ "message": "Mostrar sempre cartões como sugestões de preenchimento automático na vista do cofre"
},
"showCardsCurrentTab": {
"message": "Mostrar cartões na página Separador"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Listar itens de cartões na página Separador para facilitar o preenchimento automático."
},
- "showIdentitiesInVaultView": {
- "message": "Mostrar identidades como sugestões de preenchimento automático na vista do cofre"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Mostrar sempre identidades como sugestões de preenchimento automático na vista do cofre"
},
"showIdentitiesCurrentTab": {
"message": "Mostrar identidades na página Separador"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Clique nos itens para preencher automaticamente na vista do cofre"
},
+ "clickToAutofill": {
+ "message": "Clique nos itens da sugestão de preenchimento automático para preencher"
+ },
"clearClipboard": {
"message": "Limpar área de transferência",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Guardar"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ guardado no Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ atualizado no Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Guardar como nova credencial",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Atualizar credencial",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Guardar credencial?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Atualizar credencial existente?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Credencial guardada",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Credencial atualizada",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Erro ao guardar",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh não! Não conseguimos guardar isto. Tente introduzir os detalhes manualmente.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Pedir para atualizar credencial existente"
},
@@ -1084,10 +1169,6 @@
"message": "Claro",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized (escuro)",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exportar de"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Adquirir Premium"
},
- "premiumPurchaseAlert": {
- "message": "Pode adquirir uma subscrição Premium no cofre web em bitwarden.com. Pretende visitar o site agora?"
- },
"premiumPurchaseAlertV2": {
"message": "Pode adquirir o Premium a partir das definições da sua conta na aplicação Web Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Memorizar"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Não voltar a perguntar neste dispositivo durante 30 dias"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Enviar e-mail com o código de verificação novamente"
},
"useAnotherTwoStepMethod": {
"message": "Utilizar outro método de verificação de dois passos"
},
+ "selectAnotherMethod": {
+ "message": "Selecionar outro método",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Utilize o seu código de recuperação"
+ },
"insertYubiKey": {
"message": "Introduza a sua YubiKey na porta USB do seu computador, depois toque no botão da mesma."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Abrir novo separador"
},
+ "openInNewTab": {
+ "message": "Abrir num novo separador"
+ },
"webAuthnAuthenticate": {
"message": "Autenticar o WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Ler chave de segurança"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "A aguardar interação da chave de segurança..."
+ },
"loginUnavailable": {
"message": "Início de sessão indisponível"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Opções de verificação de dois passos"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Selecionar método de verificação de dois passos"
+ },
"recoveryCodeDesc": {
"message": "Perdeu o acesso a todos os seus fornecedores de verificação de dois passos? Utilize o seu código de recuperação para desativar todos os fornecedores de verificação de dois passos da sua conta."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Ambiente auto-hospedado"
},
- "selfHostedEnvironmentFooter": {
- "message": "Especifique o URL de base da sua instalação Bitwarden hospedada no local."
- },
"selfHostedBaseUrlHint": {
"message": "Especifique o URL de base da sua instalação Bitwarden hospedada no local. Exemplo: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Ambiente personalizado"
},
- "customEnvironmentFooter": {
- "message": "Para utilizadores avançados. Pode especificar o URL de base de cada serviço de forma independente."
- },
"baseUrl": {
"message": "URL do servidor"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Arraste para ordenar"
},
+ "dragToReorder": {
+ "message": "Arraste para reordenar"
+ },
"cfTypeText": {
"message": "Texto"
},
@@ -1583,7 +1680,7 @@
"message": "Booleano"
},
"cfTypeCheckbox": {
- "message": "Checkbox"
+ "message": "Caixa de verificação"
},
"cfTypeLinked": {
"message": "Associado",
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Gerador de nomes de utilizador"
},
+ "useThisEmail": {
+ "message": "Utilizar este e-mail"
+ },
"useThisPassword": {
"message": "Utilizar esta palavra-passe"
},
@@ -2063,12 +2163,24 @@
"message": "para criar uma palavra-passe forte e única",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Personalização do cofre"
+ },
"vaultTimeoutAction": {
"message": "Ação de tempo limite do cofre"
},
"vaultTimeoutAction1": {
"message": "Ação de tempo limite"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Novas opções de personalização"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Personalize a sua experiência no cofre com ações de cópia rápida, modo compacto e muito mais!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Ver todas as definições de Aspeto"
+ },
"lock": {
"message": "Bloquear",
"description": "Verb form: to make secure or inaccessible by"
@@ -2168,16 +2280,16 @@
}
},
"policyInEffectUppercase": {
- "message": "Contém um ou mais caracteres em maiúsculas"
+ "message": "Contém um ou mais carateres em maiúsculas"
},
"policyInEffectLowercase": {
- "message": "Contém um ou mais caracteres em minúsculas"
+ "message": "Contém um ou mais carateres em minúsculas"
},
"policyInEffectNumbers": {
"message": "Contém um ou mais números"
},
"policyInEffectSpecial": {
- "message": "Contém um ou mais dos seguintes caracteres especiais $CHARS$",
+ "message": "Contém um ou mais dos seguintes carateres especiais $CHARS$",
"placeholders": {
"chars": {
"content": "$1",
@@ -2324,6 +2436,12 @@
"message": "Domínios",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Domínios bloqueados"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Saiba mais sobre domínios bloqueados"
+ },
"excludedDomains": {
"message": "Domínios excluídos"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "O Bitwarden não pedirá para guardar os detalhes de início de sessão destes domínios para todas as contas com sessão iniciada. É necessário atualizar a página para que as alterações tenham efeito."
},
+ "blockedDomainsDesc": {
+ "message": "O preenchimento automático e outras funcionalidades relacionadas não serão disponibilizados para estes sites. É necessário atualizar a página para que as alterações tenham efeito."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "O preenchimento automático está bloqueado para este site."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Alterar esta opção nas definições"
+ },
+ "change": {
+ "message": "Alterar"
+ },
+ "changeButtonTitle": {
+ "message": "Alterar palavra-passe - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Palavras-passe em risco"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "A $ORGANIZATION$ pede-lhe que altere uma palavra-passe por estarem em risco.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "A $ORGANIZATION$ pede-lhe que altere as $COUNT$ palavras-passe por estarem em risco.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "As suas organizações pedem-lhe que altere as $COUNT$ palavras-passe por estarem em risco.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Rever e alterar uma palavra-passe em risco"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Rever e alterar as $COUNT$ palavras-passe em risco",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Alterar mais rapidamente as palavras-passe em risco"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Atualize as suas definições para poder preencher automaticamente as suas palavras-passe e gerar novas palavras-passe"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Rever credenciais em risco"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Rever palavras-passe em risco"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "As palavras-passe da sua organização estão em risco porque são fracas, reutilizadas e/ou expostas.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Ilustração de uma lista de credenciais que estão em risco"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Gira rapidamente uma palavra-passe forte e única com o menu de preenchimento automático do Bitwarden no site em risco.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Ilustração do menu de preenchimento automático do Bitwarden com uma palavra-passe gerada"
+ },
+ "updateInBitwarden": {
+ "message": "Atualização no Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "O Bitwarden pedir-lhe-á então para atualizar a palavra-passe no gestor de palavras-passe.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Ilustração de uma notificação do Bitwarden a pedir ao utilizador que atualize a credencial"
+ },
+ "turnOnAutofill": {
+ "message": "Ativar o preenchimento automático"
+ },
+ "turnedOnAutofill": {
+ "message": "Preenchimento automático ativado"
+ },
+ "dismiss": {
+ "message": "Dispensar"
+ },
"websiteItemLabel": {
"message": "Site $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Alterações do domínio bloqueado guardadas"
+ },
"excludedDomainsSavedSuccess": {
"message": "Alterações do domínio excluído guardadas"
},
@@ -2757,7 +2990,7 @@
"message": "Saiu da organização."
},
"toggleCharacterCount": {
- "message": "Mostrar/ocultar contagem de caracteres"
+ "message": "Mostrar/ocultar contagem de carateres"
},
"sessionTimeout": {
"message": "A sua sessão expirou. Por favor, volte atrás e tente iniciar sessão novamente."
@@ -2789,6 +3022,20 @@
"error": {
"message": "Erro"
},
+ "decryptionError": {
+ "message": "Erro de desencriptação"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "O Bitwarden não conseguiu desencriptar o(s) item(ns) do cofre listado(s) abaixo."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contacte o serviço de apoio ao cliente",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "para evitar perdas adicionais de dados.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Gerar nome de utilizador"
},
@@ -2810,7 +3057,7 @@
}
},
"passwordLengthRecommendationHint": {
- "message": " Utilize $RECOMMENDED$ caracteres ou mais para gerar uma palavra-passe forte.",
+ "message": " Utilize $RECOMMENDED$ carateres ou mais para gerar uma palavra-passe forte.",
"description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).",
"placeholders": {
"recommended": {
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ recusou o seu pedido. Por favor, contacte o seu fornecedor de serviços para obter assistência.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ recusou o seu pedido: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Não foi possível obter o ID da conta de e-mail mascarada de $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "As definições foram editadas"
- },
- "environmentEditedClick": {
- "message": "Clique aqui"
- },
- "environmentEditedReset": {
- "message": "para voltar às definições predefinidas"
- },
"serverVersion": {
"message": "Versão do servidor"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Iniciar sessão com a palavra-passe mestra"
},
- "loggingInAs": {
- "message": "A iniciar sessão como"
- },
- "notYou": {
- "message": "Utilizador incorreto?"
- },
"newAroundHere": {
"message": "É novo por cá?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Iniciar sessão com o dispositivo"
},
- "loginWithDeviceEnabledInfo": {
- "message": "O início de sessão com o dispositivo deve ser ativado nas definições da aplicação Bitwarden. Precisa de outra opção?"
- },
"fingerprintPhraseHeader": {
"message": "Frase de impressão digital"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Ver todas as opções de início de sessão"
},
- "viewAllLoginOptionsV1": {
- "message": "Ver todas as opções de início de sessão"
- },
"notificationSentDevice": {
"message": "Foi enviada uma notificação para o seu dispositivo."
},
+ "notificationSentDevicePart1": {
+ "message": "Desbloqueie o Bitwarden no seu dispositivo ou no "
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "aplicação web"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Certifique-se de que a frase da impressão digital corresponde à frase abaixo indicada antes de a aprovar."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Foi enviada uma notificação para o seu dispositivo"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Certifique-se de que a sua conta está desbloqueada e que a frase de impressão digital corresponde à do outro dispositivo"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Será notificado quando o pedido for aprovado"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "A preparar o início de sessão"
},
+ "logInRequestSent": {
+ "message": "Pedido enviado"
+ },
"exposedMasterPassword": {
"message": "Palavra-passe mestra exposta"
},
@@ -3113,7 +3372,7 @@
"message": "A sua palavra-passe mestra não pode ser recuperada se a esquecer!"
},
"characterMinimum": {
- "message": "$LENGTH$ caracteres no mínimo",
+ "message": "$LENGTH$ carateres no mínimo",
"placeholders": {
"length": {
"content": "$1",
@@ -3161,7 +3420,7 @@
"message": "O atalho de preenchimento automático de credenciais não está definido. Altere-o nas definições do navegador."
},
"autofillLoginShortcutText": {
- "message": "O atalho de preenchimento automático de credenciais é $COMMAND$. Gira todos os atalhos nas definidções do navegador.",
+ "message": "O atalho de preenchimento automático de credenciais é $COMMAND$. Organize todos os atalhos nas definições do navegador.",
"placeholders": {
"command": {
"content": "$1",
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Pedir aprovação do administrador"
},
- "approveWithMasterPassword": {
- "message": "Aprovar com a palavra-passe mestra"
- },
"ssoIdentifierRequired": {
"message": "É necessário o identificador de SSO da organização."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "O seu pedido foi enviado ao seu administrador."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Será notificado quando for aprovado."
- },
"troubleLoggingIn": {
"message": "Problemas a iniciar sessão?"
},
@@ -3290,7 +3543,7 @@
"message": "Procurar"
},
"inputMinLength": {
- "message": "O campo deve ter pelo menos $COUNT$ caracteres.",
+ "message": "O campo deve ter pelo menos $COUNT$ carateres.",
"placeholders": {
"count": {
"content": "$1",
@@ -3299,7 +3552,7 @@
}
},
"inputMaxLength": {
- "message": "O campo não pode exceder os $COUNT$ caracteres de comprimento.",
+ "message": "O campo não pode exceder os $COUNT$ carateres de comprimento.",
"placeholders": {
"count": {
"content": "$1",
@@ -3308,7 +3561,7 @@
}
},
"inputForbiddenCharacters": {
- "message": "Não são permitidos os seguintes caracteres: $CHARACTERS$",
+ "message": "Não são permitidos os seguintes carateres: $CHARACTERS$",
"placeholders": {
"characters": {
"content": "$1",
@@ -3317,7 +3570,7 @@
}
},
"inputMinValue": {
- "message": "O valor do campo tem de ser, pelo menos, $MIN$ caracteres.",
+ "message": "O valor do campo tem de ser, pelo menos, $MIN$ carateres.",
"placeholders": {
"min": {
"content": "$1",
@@ -3326,7 +3579,7 @@
}
},
"inputMaxValue": {
- "message": "O valor do campo não pode exceder os $MAX$ caracteres.",
+ "message": "O valor do campo não pode exceder os $MAX$ carateres.",
"placeholders": {
"max": {
"content": "$1",
@@ -3396,38 +3649,6 @@
"message": "Alternar colapso",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Importar os seus dados para o Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Proteger os seus dados LastPass e importar para o Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Guardar como ficheiro não encriptado",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importar para o Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "A importar...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Dados importados com sucesso!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Erro de importação. Verifique a consola para obter detalhes.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Erro de rede encontrado durante a importação.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias de domínio"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Conta ativa"
},
+ "bitwardenAccount": {
+ "message": "Conta Bitwarden"
+ },
"availableAccounts": {
"message": "Contas disponíveis"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Sugestões de preenchimento automático"
},
+ "itemSuggestions": {
+ "message": "Itens sugeridos"
+ },
"autofillSuggestionsTip": {
"message": "Guarde uma credencial deste site para preenchimento automático"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copiar $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Não há valores a copiar"
},
@@ -4078,7 +4319,7 @@
"message": "Notificações"
},
"appearance": {
- "message": "Aparência"
+ "message": "Aspeto"
},
"errorAssigningTargetCollection": {
"message": "Erro ao atribuir a coleção de destino."
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Nome do item"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Não é possível remover coleções com permissões de Apenas visualização: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "A organização está desativada"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reordenar o URI do site. Utilize a tecla de seta para mover o item para cima ou para baixo."
+ },
"reorderFieldUp": {
"message": "$LABEL$ movido para cima, posição $INDEX$ de $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Não selecionou nada."
},
- "movedItemsToOrg": {
- "message": "Itens selecionados movidos para $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Itens movidos para $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Sends de texto"
},
- "bitwardenNewLook": {
- "message": "O Bitwarden tem um novo visual!"
- },
- "bitwardenNewLookDesc": {
- "message": "É mais fácil e mais intuitivo do que nunca preencher automaticamente e pesquisar a partir do separador Cofre. Dê uma vista de olhos!"
- },
"accountActions": {
"message": "Ações da conta"
},
@@ -4615,10 +4835,10 @@
"message": "Ficheiro guardado no dispositivo. Gira-o a partir das transferências do seu dispositivo."
},
"showCharacterCount": {
- "message": "Mostrar contagem de caracteres"
+ "message": "Mostrar contagem de carateres"
},
"hideCharacterCount": {
- "message": "Ocultar contagem de caracteres"
+ "message": "Ocultar contagem de carateres"
},
"itemsInTrash": {
"message": "Itens no lixo"
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Não tem permissão para editar este item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "O desbloqueio biométrico não está disponível porque o desbloqueio por PIN ou palavra-passe é necessário primeiro."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "O desbloqueio biométrico está atualmente indisponível."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "O desbloqueio biométrico não está disponível devido a ficheiros de sistema mal configurados."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "O desbloqueio biométrico não está disponível devido a ficheiros de sistema mal configurados."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "O desbloqueio biométrico não está disponível porque a app para computador Bitwarden está fechada."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "O desbloqueio biométrico não está disponível porque não está ativado para $EMAIL$ na app Bitwarden para computador.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "O desbloqueio biométrico está atualmente indisponível por um motivo desconhecido."
+ },
"authenticating": {
"message": "A autenticar"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Muito ampla"
+ },
+ "sshKeyWrongPassword": {
+ "message": "A palavra-passe que introduziu está incorreta."
+ },
+ "importSshKey": {
+ "message": "Importar"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirmar palavra-passe"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Introduza a palavra-passe para a chave SSH."
+ },
+ "enterSshKeyPassword": {
+ "message": "Introduzir palavra-passe"
+ },
+ "invalidSshKey": {
+ "message": "A chave SSH é inválida"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "O tipo de chave SSH não é suportado"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Importar chave da área de transferência"
+ },
+ "sshKeyImported": {
+ "message": "Chave SSH importada com sucesso"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Não é possível remover coleções com permissões de Apenas visualização: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Por favor, atualize a sua aplicação para computador"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Para utilizar o desbloqueio biométrico, atualize a sua aplicação para computador ou desative o desbloqueio por impressão digital nas definições dessa mesma app."
+ },
+ "changeAtRiskPassword": {
+ "message": "Alterar palavra-passe em risco"
}
}
diff --git a/apps/browser/src/_locales/ro/messages.json b/apps/browser/src/_locales/ro/messages.json
index 58c0a313f69..5ce73eb2e49 100644
--- a/apps/browser/src/_locales/ro/messages.json
+++ b/apps/browser/src/_locales/ro/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Indiciu pentru parola principală (opțional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Alăturați-vă organizației"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copiază notițele"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Introduceți adresa de e-mail a contului și indiciul pentru parolă va fi trimis pe email"
},
- "passwordHint": {
- "message": "Indiciu parolă"
- },
- "enterEmailToGetHint": {
- "message": "Adresa de e-mail a contului pentru primirea indiciului parolei principale."
- },
"getMasterPasswordHint": {
"message": "Obținere indiciu parolă principală"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Editare dosar"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Folder nou"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerare parolă"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Lungime"
},
- "uppercase": {
- "message": "Litere mari (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Litere mici (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numere (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Caractere speciale (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Număr de cuvinte"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Browserul dvs. nu acceptă copierea în clipboard. Transcrieți datele manual."
},
- "verifyIdentity": {
- "message": "Verificare identitate"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Seiful dvs. este blocat. Verificați-vă identitatea pentru a continua."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Reporniți înregistrarea"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Nu"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "A survenit o eroare neașteptată."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Afișați cardurile pe pagina Filă"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Listați elementele cardului pe pagina Filă pentru a facilita completarea automată."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Afișați identitățile pe pagina Filă"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Golire clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Salvare"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Solicitați actualizarea autentificării existente"
},
@@ -1084,10 +1169,6 @@
"message": "Luminos",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Întuneric solarizat",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Achiziționare abonament Premium"
},
- "premiumPurchaseAlert": {
- "message": "Puteți achiziționa un abonament Premium pe website-ul bitwarden.com. Doriți să vizitați site-ul acum?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Memorare autentificare"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Retrimitere e-mail cu codul de verificare"
},
"useAnotherTwoStepMethod": {
"message": "Utilizare de metodă diferită de autentificare în două etape"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Introduceți YubiKey în portul USB al calculatorului apoi apăsați butonul acestuia."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Deschideți o filă nouă"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Autentificare WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Autentificare indisponibilă"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Opțiuni de autentificare în două etape"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Ați pierdut accesul la toți furnizorii de autentificare în două etape? Utilizați codul de recuperare pentru a dezactiva toți acești furnizori din contul dvs."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Mediu autogăzduit"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specificați URL-ul de bază al implementări Bitwarden găzduită local."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Mediu personalizat"
},
- "customEnvironmentFooter": {
- "message": "Pentru utilizatorii avansați. Puteți specifica URL-ul de bază al fiecărui serviciu în mod independent."
- },
"baseUrl": {
"message": "URL server"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Tragere pentru sortare"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Acțiune la expirarea seifului"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Blocare",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Domenii excluse"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Eroare"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generare nume de utilizator"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Setările au fost editate"
- },
- "environmentEditedClick": {
- "message": "Faceți clic aici"
- },
- "environmentEditedReset": {
- "message": "pentru a restabili setările preconfigurate"
- },
"serverVersion": {
"message": "Versiune server"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Autentificați-vă cu parola principală"
},
- "loggingInAs": {
- "message": "Autentificare ca"
- },
- "notYou": {
- "message": "Nu sunteți dvs.?"
- },
"newAroundHere": {
"message": "Sunteți nou pe aici?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Conectați-vă cu dispozitivul"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Conectarea cu dispozitivul trebuie să fie configurată în setările aplicației Bitwarden. Aveți nevoie de o altă opțiune?"
- },
"fingerprintPhraseHeader": {
"message": "Fraza amprentă"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "O notificare a fost trimisă pe dispozitivul dvs."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Conectare inițiată"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Parolă principală compromisă"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Cereți aprobarea administratorului"
},
- "approveWithMasterPassword": {
- "message": "Aprobați cu parola principală"
- },
"ssoIdentifierRequired": {
"message": "Identificatorul SSO al organizației este necesar."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Cererea dvs. a fost trimisă administratorului."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Veți primi o notificare după aprobare."
- },
"troubleLoggingIn": {
"message": "Aveți probleme la logare?"
},
@@ -3396,38 +3649,6 @@
"message": "Comutare restrângere",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/ru/messages.json b/apps/browser/src/_locales/ru/messages.json
index acdee563ceb..11d8de4acbe 100644
--- a/apps/browser/src/_locales/ru/messages.json
+++ b/apps/browser/src/_locales/ru/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Подсказка к мастер-паролю (необяз.)"
},
+ "passwordStrengthScore": {
+ "message": "Оценка надежности пароля $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Присоединиться к организации"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Скопировать заметки"
},
+ "copy": {
+ "message": "Скопировать",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Заполнить",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Введите email вашего аккаунта, и вам будет отправлена подсказка для пароля"
},
- "passwordHint": {
- "message": "Подсказка к паролю"
- },
- "enterEmailToGetHint": {
- "message": "Введите email аккаунта для получения подсказки к мастер-паролю."
- },
"getMasterPasswordHint": {
"message": "Получить подсказку к мастер-паролю"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Изменить папку"
},
+ "editFolderWithName": {
+ "message": "Редактировать папку: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Новый папка"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Создать парольную фразу"
},
+ "passwordGenerated": {
+ "message": "Пароль создан"
+ },
+ "passphraseGenerated": {
+ "message": "Парольная фраза создана"
+ },
+ "usernameGenerated": {
+ "message": "Имя пользователя создано"
+ },
+ "emailGenerated": {
+ "message": "Email создан"
+ },
"regeneratePassword": {
"message": "Создать новый пароль"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Длина"
},
- "uppercase": {
- "message": "Прописные буквы (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Строчные буквы (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Цифры (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Специальные символы (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Включить",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Включить специальные символы",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Количество слов"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Ваш браузер не поддерживает копирование данных в буфер обмена. Скопируйте вручную."
},
- "verifyIdentity": {
- "message": "Подтвердить личность"
+ "verifyYourIdentity": {
+ "message": "Подтвердите вашу личность"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Мы не распознали это устройство. Введите код, отправленный на ваш email, чтобы подтвердить вашу личность."
+ },
+ "continueLoggingIn": {
+ "message": "Продолжить вход"
},
"yourVaultIsLocked": {
"message": "Ваше хранилище заблокировано. Подтвердите свою личность, чтобы продолжить"
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Войти в Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Введите код, отправленный на ваш email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Введите код из приложения-аутентификатора"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Нажмите на YubiKey для аутентификации"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Для вашего аккаунта требуется двухэтапная аутентификация Duo. Выполните следующие действия, чтобы завершить авторизацию."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Следуйте указаниям ниже, чтобы завершить авторизацию."
+ },
"restartRegistration": {
"message": "Перезапустить регистрацию"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Нет"
},
+ "location": {
+ "message": "Местоположение"
+ },
"unexpectedError": {
"message": "Произошла непредвиденная ошибка."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Запрос на добавление элемента, если он отсутствует в вашем хранилище. Применяется ко всем авторизованным аккаунтам."
},
- "showCardsInVaultView": {
- "message": "Показывать карты как предложение автозаполнения при просмотре Хранилище"
+ "showCardsInVaultViewV2": {
+ "message": "Всегда показывать карты как предложения автозаполнения при просмотре хранилища"
},
"showCardsCurrentTab": {
"message": "Показывать карты на вкладке"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Карты будут отображены на вкладке для удобного автозаполнения."
},
- "showIdentitiesInVaultView": {
- "message": "Показывать личности как предложение автозаполнения при просмотре Хранилище"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Всегда показывать личности как предложения автозаполнения при просмотре хранилища"
},
"showIdentitiesCurrentTab": {
"message": "Показывать Личности на вкладке"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Кликните элементы для автозаполнения в режиме просмотра хранилища"
},
+ "clickToAutofill": {
+ "message": "Выберите элементы в предложении автозаполнения для вставки"
+ },
"clearClipboard": {
"message": "Очистить буфер обмена",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Сохранить"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ сохранен в Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ обновлен в Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Сохранить как новый логин",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Обновить логин",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Сохранить логин?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Обновить существующий логин?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Логин сохранен",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Логин обновлен",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Ошибка при сохранении",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "О нет! Мы не смогли сохранить это. Попробуйте ввести данные вручную.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Спрашивать при обновлении существующего логина"
},
@@ -1084,10 +1169,6 @@
"message": "Светлая",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Экспорт из"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Купить Премиум"
},
- "premiumPurchaseAlert": {
- "message": "Вы можете купить Премиум на bitwarden.com. Перейти на сайт сейчас?"
- },
"premiumPurchaseAlertV2": {
"message": "Премиум можно приобрести в настройках аккаунта в веб-версии Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Запомнить меня"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Не спрашивать на этом устройстве в течение 30 дней"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Отправить код подтверждения еще раз"
},
"useAnotherTwoStepMethod": {
"message": "Использовать другой метод двухэтапной аутентификации"
},
+ "selectAnotherMethod": {
+ "message": "Выбрать другой способ",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Использовать код восстановления"
+ },
"insertYubiKey": {
"message": "Вставьте свой YubiKey в USB-порт компьютера и нажмите его кнопку."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Открыть новую вкладку"
},
+ "openInNewTab": {
+ "message": "Открыть в новой вкладке"
+ },
"webAuthnAuthenticate": {
"message": "Аутентификация WebAutn"
},
+ "readSecurityKey": {
+ "message": "Считать ключ безопасности"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Ожидание взаимодействия с ключом безопасности..."
+ },
"loginUnavailable": {
"message": "Вход недоступен"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Настройки двухэтапной аутентификации"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Выбрать другой метод двухэтапной аутентификации"
+ },
"recoveryCodeDesc": {
"message": "Потеряли доступ ко всем вариантам двухэтапной аутентификации? Используйте код восстановления, чтобы отключить двухэтапную аутентификацию для вашей учетной записи."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Окружение пользовательского хостинга"
},
- "selfHostedEnvironmentFooter": {
- "message": "Укажите URL Bitwarden на вашем сервере."
- },
"selfHostedBaseUrlHint": {
"message": "Укажите базовый URL вашего локального хостинга Bitwarden. Пример: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Пользовательское окружение"
},
- "customEnvironmentFooter": {
- "message": "Для опытных пользователей. Можно указать URL отдельно для каждой службы."
- },
"baseUrl": {
"message": "URL сервера"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Перетащите для сортировки"
},
+ "dragToReorder": {
+ "message": "Перетащите для изменения порядка"
+ },
"cfTypeText": {
"message": "Текстовое"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Генератор имени пользователя"
},
+ "useThisEmail": {
+ "message": "Использовать этот email"
+ },
"useThisPassword": {
"message": "Использовать этот пароль"
},
@@ -2063,12 +2163,24 @@
"message": "для создания надежного уникального пароля",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Настройка хранилища"
+ },
"vaultTimeoutAction": {
"message": "Действие по тайм-ауту хранилища"
},
"vaultTimeoutAction1": {
"message": "Тайм-аут действия"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Новые возможности настроек"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Настройте работу с хранилищем с помощью действий быстрого копирования, компактного режима и многого другого!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Посмотреть все настройки внешнего вида"
+ },
"lock": {
"message": "Блокировка",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Домены",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Заблокированные домены"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Узнайте больше о заблокированных доменах"
+ },
"excludedDomains": {
"message": "Исключенные домены"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden не будет предлагать сохранение логинов для этих доменов для всех авторизованных аккаунтов. Для вступления изменений в силу необходимо обновить страницу."
},
+ "blockedDomainsDesc": {
+ "message": "Автозаполнение и другие связанные с ним функции не будут предлагаться для этих сайтов. Чтобы изменения вступили в силу, необходимо обновить страницу."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Автозаполнение для этого сайта заблокировано."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Измените это в настройках"
+ },
+ "change": {
+ "message": "Изменить"
+ },
+ "changeButtonTitle": {
+ "message": "Изменить пароль - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Пароли, подверженные риску"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ запрашивает смену одного пароля, так как он подвержен риску.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ запрашивает смену $COUNT$ паролей, так как они подвержены риску.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Ваша организация запрашивает смену $COUNT$ паролей, так как они подвержены риску.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Проверить и изменить один пароль, подверженный риску"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Проверить и изменить $COUNT$ паролей, подверженных риску",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Меняйте пароли, подверженные риску, быстрее"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Обновите настройки, чтобы можно было быстро автоматически заполнять пароли и генерировать новые"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Обзор логинов, подверженных риску"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Обзор паролей, подверженных риску"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Пароли вашей организации подвержены риску, потому что они слабые, повторно используются и/или раскрыты.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Иллюстрация списка логинов, которые подвержены риску"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Быстро сгенерируйте надежный уникальный пароль с помощью меню автозаполнения Bitwarden на сайте, подверженном риску.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Иллюстрация меню автозаполнения Bitwarden, отображающего сгенерированный пароль"
+ },
+ "updateInBitwarden": {
+ "message": "Обновить в Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "После этого Bitwarden предложит вам обновить пароль в менеджере паролей.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Иллюстрация уведомления Bitwarden, предлагающего пользователю обновить логин"
+ },
+ "turnOnAutofill": {
+ "message": "Включить автозаполнение"
+ },
+ "turnedOnAutofill": {
+ "message": "Автозаполнение включено"
+ },
+ "dismiss": {
+ "message": "Отклонить"
+ },
"websiteItemLabel": {
"message": "Сайт $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Изменения в заблокированном домене сохранены"
+ },
"excludedDomainsSavedSuccess": {
"message": "Изменения в исключенном домене сохранены"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Ошибка"
},
+ "decryptionError": {
+ "message": "Ошибка расшифровки"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden не удалось расшифровать элемент(ы) хранилища, перечисленные ниже."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Обратитесь в службу поддержки,",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "чтобы избежать дополнительной потери данных.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Создать имя пользователя"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ отклонил(а) ваш запрос. Обратитесь за помощью к своему провайдеру.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ отклонил(а) ваш запрос: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Не удалось получить скрытый идентификатор email аккаунта $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Настройки были изменены"
- },
- "environmentEditedClick": {
- "message": "Нажмите здесь"
- },
- "environmentEditedReset": {
- "message": "для сброса к предварительно настроенным параметрам"
- },
"serverVersion": {
"message": "Версия сервера"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Войти с мастер-паролем"
},
- "loggingInAs": {
- "message": "Войти как"
- },
- "notYou": {
- "message": "Не вы?"
- },
"newAroundHere": {
"message": "Вы здесь впервые?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Войти с помощью устройства"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Вход с устройства должен быть настроен в настройках мобильного приложения Bitwarden. Нужен другой вариант?"
- },
"fingerprintPhraseHeader": {
"message": "Фраза отпечатка"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Посмотреть все варианты авторизации"
},
- "viewAllLoginOptionsV1": {
- "message": "Посмотреть все варианты авторизации"
- },
"notificationSentDevice": {
"message": "На ваше устройство отправлено уведомление."
},
+ "notificationSentDevicePart1": {
+ "message": "Разблокируйте Bitwarden на своем устройстве или"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "веб-приложении"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Перед одобрением убедитесь, что фраза отпечатка совпадает с приведенной ниже."
+ },
"aNotificationWasSentToYourDevice": {
"message": "На ваше устройство было отправлено уведомление"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Убедитесь, что ваш аккаунт разблокирован и фраза отпечатка совпадает с фразой на другом устройстве"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Вы получите уведомление, когда запрос будет одобрен"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Вход инициирован"
},
+ "logInRequestSent": {
+ "message": "Запрос отправлен"
+ },
"exposedMasterPassword": {
"message": "Мастер-пароль скомпрометирован"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Запросить одобрение администратора"
},
- "approveWithMasterPassword": {
- "message": "Одобрить с мастер-паролем"
- },
"ssoIdentifierRequired": {
"message": "Требуется идентификатор SSO организации."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Ваш запрос был отправлен администратору."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Вас уведомят об одобрении."
- },
"troubleLoggingIn": {
"message": "Не удалось войти?"
},
@@ -3396,38 +3649,6 @@
"message": "Свернуть/развернуть",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Импортировать данные в Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Защитить данные LastPass и импортировать их в Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Сохранить как незашифрованный файл",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Импортировать в Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Импорт...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Данные успешно импортированы!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Ошибка импорта. Проверьте консоль для получения подробной информации.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Во время импорта возникла сетевая ошибка.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Псевдоним домена"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Активный аккаунт"
},
+ "bitwardenAccount": {
+ "message": "Аккаунт Bitwarden"
+ },
"availableAccounts": {
"message": "Доступные аккаунты"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Предложения по автозаполнению"
},
+ "itemSuggestions": {
+ "message": "Предлагаемые элементы"
+ },
"autofillSuggestionsTip": {
"message": "Сохранить логин для этого сайта для автозаполнения"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Скопировать $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Нет значений для копирования"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Название элемента"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Вы не можете удалить коллекции с правами только на просмотр: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Организация деактивирована"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Изменить порядок URI. Используйте клавиши курсора для перемещения элемента вверх или вниз."
+ },
"reorderFieldUp": {
"message": "$LABEL$ перемещено вверх, позиция $INDEX$ $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Вы ничего не выбрали."
},
- "movedItemsToOrg": {
- "message": "Выбранные элементы перемещены в $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Элементы перемещены в $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Текстовая Send"
},
- "bitwardenNewLook": {
- "message": "У Bitwarden новый облик!"
- },
- "bitwardenNewLookDesc": {
- "message": "Теперь автозаполнение и поиск на вкладке Хранилище стали проще и интуитивно понятнее, чем когда-либо. Осмотритесь!"
- },
"accountActions": {
"message": "Действия аккаунта"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "У вас нет разрешения на редактирование этого элемента"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Биометрическая разблокировка недоступна, поскольку сначала требуется разблокировка с помощью PIN-кода или пароля."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Биометрическая разблокировка в настоящее время недоступна."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Биометрическая разблокировка недоступна из-за неправильно настроенных системных файлов."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Биометрическая разблокировка недоступна из-за неправильно настроенных системных файлов."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Биометрическая разблокировка недоступна, поскольку Bitwarden для компьютера закрыт."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Биометрическая разблокировка недоступна, потому что она не включена для $EMAIL$ в приложении Bitwarden для компьютера.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Биометрическая разблокировка в настоящее время недоступна по неизвестной причине."
+ },
"authenticating": {
"message": "Аутентификация"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Очень широкое"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Введенный пароль неверен."
+ },
+ "importSshKey": {
+ "message": "Импорт"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Подтвердите пароль"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Введите пароль для ключа SSH."
+ },
+ "enterSshKeyPassword": {
+ "message": "Введите пароль"
+ },
+ "invalidSshKey": {
+ "message": "Ключ SSH недействителен"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Тип ключа SSH не поддерживается"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Импорт ключа из буфера обмена"
+ },
+ "sshKeyImported": {
+ "message": "Ключ SSH успешно импортирован"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Вы не можете удалить коллекции с правами только на просмотр: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Пожалуйста, обновите приложение для компьютера"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Чтобы использовать биометрическую разблокировку, обновите приложение для компьютера или отключите разблокировку по отпечатку пальца в настройках компьютера."
+ },
+ "changeAtRiskPassword": {
+ "message": "Изменить пароль, подверженный риску"
}
}
diff --git a/apps/browser/src/_locales/si/messages.json b/apps/browser/src/_locales/si/messages.json
index b25c2fd30d5..721d16a2eee 100644
--- a/apps/browser/src/_locales/si/messages.json
+++ b/apps/browser/src/_locales/si/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "ප්රධාන මුරපදය ඉඟියක් (විකල්ප)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "මුරපදය ඉඟිය"
- },
- "enterEmailToGetHint": {
- "message": "ඔබගේ ප්රධාන මුරපදය ඉඟියක් ලබා ගැනීමට ඔබගේ ගිණුම ඊ-තැපැල් ලිපිනය ඇතුලත් කරන්න."
- },
"getMasterPasswordHint": {
"message": "ප්රධාන මුරපදය ඉඟියක් ලබා ගන්න"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "බහාලුම සංස්කරණය"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "මුරපදය ප්රතිජනනය"
},
@@ -454,22 +482,6 @@
"length": {
"message": "දිග"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "වචන ගණන"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "ඔබේ වෙබ් බ්රව්සරය පහසු පසුරු පුවරුවක් පිටපත් කිරීමට සහාය නොදක්වයි. ඒ වෙනුවට එය අතින් පිටපත් කරන්න."
},
- "verifyIdentity": {
- "message": "අනන්යතාවය සත්යාපනය කරන්න"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "ඔබේ සුරක්ෂිතාගාරය අගුළු දමා ඇත. දිගටම කරගෙන යාමට ඔබේ අනන්යතාවය සත්යාපනය කරන්න."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "නැත"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "අනපේක්ෂිත දෝෂයක් සිදුවී ඇත."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "පසුරු පුවරුවට පැහැදිලි",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "සුරකින්න"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "ආලෝකය",
"description": "Light color"
},
- "solarizedDark": {
- "message": "අඳුරු අඳුරු",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "වාරික මිලදී"
},
- "premiumPurchaseAlert": {
- "message": "ඔබට bitwarden.com වෙබ් සුරක්ෂිතාගාරයේ වාරික සාමාජිකත්වය මිලදී ගත හැකිය. ඔබට දැන් වෙබ් අඩවියට පිවිසීමට අවශ්යද?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "මාව මතක තබා ගන්න"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "සත්යාපන කේතය නැවත විද්යුත් තැපෑල යවන්න"
},
"useAnotherTwoStepMethod": {
"message": "තවත් පියවර දෙකක පිවිසුම් ක්රමයක් භාවිතා කරන්න"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "ඔබේ පරිගණකයේ USB පෝට් එකට ඔබගේ YuBiKey ඇතුල් කරන්න, ඉන්පසු එහි බොත්තම ස්පර්ශ කරන්න."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "නව ටැබය විවෘත කරන්න"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "සත්යවත් වෙබ් සත්යවත් කරන්න"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "ලොගින් වන්න ලබාගත නොහැක"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "ද්වි-පියවර ලොගින් වන්න විකල්ප"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "ඔබගේ ද්වි-සාධක සපයන්නන් සියලු ප්රවේශ අහිමි? ඔබගේ ගිණුමෙන් සියලුම ද්වි-සාධක සපයන්නන් අක්රීය කිරීමට ඔබගේ ප්රතිසාධන කේතය භාවිතා කරන්න."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "ස්වයං සත්කාරක පරිසරය"
},
- "selfHostedEnvironmentFooter": {
- "message": "බිට්වර්ඩන් ස්ථාපනය සත්කාරකත්වය දරනු ලබන ඔබගේ පරිශ්රයේ මූලික URL එක සඳහන් කරන්න."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "අභිරුචි පරිසරය"
},
- "customEnvironmentFooter": {
- "message": "උසස් පරිශීලකයින් සඳහා. එක් එක් සේවාවෙහි මූලික URL එක ස්වාධීනව සඳහන් කළ හැකිය."
- },
"baseUrl": {
"message": "සේවාදායකය URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "වර්ග කිරීමට ඇද දමන්න"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "පෙළ"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "සුරක්ෂිතාගාරය කාලය ක්රියාකාරී"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "අගුල",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "බැහැර වසම්"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/sk/messages.json b/apps/browser/src/_locales/sk/messages.json
index 5d11227f003..897db9f3176 100644
--- a/apps/browser/src/_locales/sk/messages.json
+++ b/apps/browser/src/_locales/sk/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Nápoveď k hlavnému heslu (voliteľné)"
},
+ "passwordStrengthScore": {
+ "message": "Sila hesla $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Pripojte sa k organizácii"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Kopírovať poznámky"
},
+ "copy": {
+ "message": "Kopírovať",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Vyplniť",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Zadajte e-mailovú adresu účtu a zašleme vám nápoveď k heslu"
},
- "passwordHint": {
- "message": "Nápoveď k heslu"
- },
- "enterEmailToGetHint": {
- "message": "Zadajte emailovú adresu na zaslanie nápovede pre vaše hlavné heslo."
- },
"getMasterPasswordHint": {
"message": "Získať nápoveď k hlavnému heslu"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Upraviť priečinok"
},
+ "editFolderWithName": {
+ "message": "Upraviť priečinok: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Nový priečinok"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generovať prístupovú frázu"
},
+ "passwordGenerated": {
+ "message": "Heslo vygenerované"
+ },
+ "passphraseGenerated": {
+ "message": "Prístupová fráza vygenerovaná"
+ },
+ "usernameGenerated": {
+ "message": "Používateľské meno vygenerované"
+ },
+ "emailGenerated": {
+ "message": "E-mail vygenoravný"
+ },
"regeneratePassword": {
"message": "Vygenerovať nové heslo"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Dĺžka"
},
- "uppercase": {
- "message": "Veľké písmená (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Malé písmená (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Čísla (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Špeciálne znaky (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Zahrnúť",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Zahrnúť špeciálne znaky",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Počet slov"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Váš webový prehliadač nepodporuje automatické kopírovanie do schránky. Kopírujte manuálne."
},
- "verifyIdentity": {
- "message": "Overiť identitu"
+ "verifyYourIdentity": {
+ "message": "Overte svoju totožnosť"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Toto zariadenie nepoznáme. Na overenie vašej totožnosti zadajte kód, ktorý bol zaslaný na váš e-mail."
+ },
+ "continueLoggingIn": {
+ "message": "Pokračovať v prihlasovaní"
},
"yourVaultIsLocked": {
"message": "Váš trezor je uzamknutý. Ak chcete pokračovať, overte svoju identitu."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Prihlásenie do Bitwardenu"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Zadajte kód zaslaný na váš e-mail"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Zadajte kód z overovacej aplikácie"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Stlačte YubiKey na overenie"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Pre váš účet sa vyžaduje dvojstupňové prihlásenie Duo. Na dokončenie prihlásenie nasledujte pokyny."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Na dokončenie prihlásenia postupujte podľa pokynov."
+ },
"restartRegistration": {
"message": "Zopakovať registráciu"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Nie"
},
+ "location": {
+ "message": "Poloha"
+ },
"unexpectedError": {
"message": "Vyskytla sa neočakávaná chyba."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Požiada o pridanie položky, ak sa v trezore nenachádza. Platí pre všetky prihlásené účty."
},
- "showCardsInVaultView": {
- "message": "Zobraziť karty ako návrhy automatického vypĺňania v zobrazení trezora"
+ "showCardsInVaultViewV2": {
+ "message": "Vždy zobraziť karty ako návrhy automatického vypĺňania v zobrazení trezora"
},
"showCardsCurrentTab": {
"message": "Zobraziť karty na stránke \"Aktuálna karta\""
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Zoznam položiek karty na stránke \"Aktuálna karta\" na jednoduché automatické vyplnenie."
},
- "showIdentitiesInVaultView": {
- "message": "Zobraziť identity ako návrhy automatického vypĺňania v zobrazení trezora"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Vždy zobraziť identity ako návrhy automatického vypĺňania v zobrazení trezora"
},
"showIdentitiesCurrentTab": {
"message": "Zobraziť identity na stránke \"Aktuálna karta\""
@@ -1005,7 +1037,10 @@
"message": "Zoznam položiek identity na stránke \"Aktuálna karta\" na jednoduché automatické vypĺňanie."
},
"clickToAutofillOnVault": {
- "message": "Kliknutím na položku v trezore automaticky vyplniť"
+ "message": "Kliknutím na položky v trezore automaticky vyplniť"
+ },
+ "clickToAutofill": {
+ "message": "Kliknutím na položky v ponuke automatického vypĺňania vyplniť"
},
"clearClipboard": {
"message": "Vymazať schránku",
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Uložiť"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ uložené do Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ aktualizované v Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Uložiť ako nové prihlasovacie údaje",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Aktualizovať prihlasovacie údaje",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Uložiť prihlasovacie údaje?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Aktualizovať existujúce prihlasovacie údaje?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Prihlasovacie údaje uložené",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Prihlasovacie údaje aktualizované",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Chyba pri ukladaní",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Ale nie! Nepodarilo sa nám to uložiť. Skúste zadať údaje manuálne.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Požiadať o aktualizáciu existujúceho prihlasovania"
},
@@ -1084,10 +1169,6 @@
"message": "Svetlý",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized – tmavý",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exportovať z"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Zakúpiť Prémiový účet"
},
- "premiumPurchaseAlert": {
- "message": "Svoje prémiové členstvo si môžete zakúpiť vo webovom trezore bitwarden.com. Chcete navštíviť túto stránku teraz?"
- },
"premiumPurchaseAlertV2": {
"message": "Prémiové členstvo si môžete zakúpiť v nastaveniach svojho účtu vo webovej aplikácii Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Zapamätať si ma"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Nepýtať sa znova na tomto zariadení 30 dní"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Znovu zaslať overovací kód emailom"
},
"useAnotherTwoStepMethod": {
"message": "Použiť inú dvojstupňovú metódu prihlásenia"
},
+ "selectAnotherMethod": {
+ "message": "Vyberte iný spôsob",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Použiť obnovovací kód"
+ },
"insertYubiKey": {
"message": "Vložte váš YubiKey do USB portu počítača a stlačte jeho tlačidlo."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Otvoriť v novej karte"
},
+ "openInNewTab": {
+ "message": "Otvoriť v novej karte"
+ },
"webAuthnAuthenticate": {
"message": "Overiť cez WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Prečítať bezpečnostný kľúč"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Čaká sa na interakciu s bezpečnostným kľúčom..."
+ },
"loginUnavailable": {
"message": "Prihlásenie nie je dispozícii"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Možnosti dvojstupňového prihlásenia"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Vyberte metódu dvojstupňového prihlásenia"
+ },
"recoveryCodeDesc": {
"message": "Stratili ste prístup ku všetkým vašim dvojstupňovým poskytovateľom? Použite váš záchranný kód pre vypnutie všetkých poskytovateľov vo vašom účte."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Prostredie s vlastným hostingom"
},
- "selfHostedEnvironmentFooter": {
- "message": "Zadajte základnú URL adresu lokálne hosťovanej inštalácie Bitwarden."
- },
"selfHostedBaseUrlHint": {
"message": "Zadajte základnú URL adresu lokálne hosťovanej inštalácie Bitwarden. Napríklad: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Vlastné prostredie"
},
- "customEnvironmentFooter": {
- "message": "Pre pokročilých používateľov. Základnú adresu URL každej služby môžete určiť samostatne."
- },
"baseUrl": {
"message": "URL servera"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Zoradiť presúvaním"
},
+ "dragToReorder": {
+ "message": "Ťahaním preskupiť"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Generátor používateľského mena"
},
+ "useThisEmail": {
+ "message": "Použiť tento e-mail"
+ },
"useThisPassword": {
"message": "Použiť toto heslo"
},
@@ -2063,12 +2163,24 @@
"message": "na vytvorenie silného, unikátneho hesla.",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Prispôsobenie trezora"
+ },
"vaultTimeoutAction": {
"message": "Akcia pri vypršaní časového limitu pre trezor"
},
"vaultTimeoutAction1": {
"message": "Akcia pri vypršaní časového limitu"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Nové možnosti prispôsobenia"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Prispôsobte si trezor pomocou akcií rýchleho kopírovania, kompaktného režimu a ďalších možností!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Zobraziť všetky nastavenia vzhľadu"
+ },
"lock": {
"message": "Uzamknúť",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domény",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blokované domény"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Viac informácií o blokovaných doménach"
+ },
"excludedDomains": {
"message": "Vylúčené domény"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden nebude požadovať ukladanie prihlasovacích údajov pre tieto domény pre všetky prihlásené účty. Aby sa zmeny prejavili, musíte stránku obnoviť."
},
+ "blockedDomainsDesc": {
+ "message": "Automatické vypĺňanie a ďalšie súvisiace funkcie sa na týchto webových stránkach nebudú ponúkať. Aby sa zmeny prejavili, musíte stránku obnoviť."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Automatické vypĺňanie je pre túto webovú stránku zablokované."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Zmeňte to v nastaveniach"
+ },
+ "change": {
+ "message": "Zmeniť"
+ },
+ "changeButtonTitle": {
+ "message": "Zmeniť heslo - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Rizikové heslá"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ vás žiada o zmenu hesla, pretože je ohrozené.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ vás žiada o zmenu $COUNT$ hesiel, pretože sú ohrozené.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Vaše organizácie vás žiadajú o zmenu $COUNT$ hesiel, pretože sú ohrozené.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Skontrolujte a zmeňte jedno ohrozené heslo"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Skontrolujte a zmeňte $COUNT$ ohrozené heslá",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Zmeňte rizikové heslá rýchlejšie"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Aktualizujte nastavenia, aby ste mohli rýchlo vypĺňať svoje heslá a vygenerovať nové"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Prehľad ohrozených prihlasovacích mien"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Prehľad ohrozených hesiel"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Heslá vašej organizácie sú v ohrození, pretože sú slabé, opakovane používané a/alebo uniknuté.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Príklady zoznamu prihlásení, ktoré sú ohrozené"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Rýchlo generujte silné, jedinečné heslo pomocu ponuky automatického vypĺňania Bitwardenu na ohrozených stránkach.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Príklad ponuky automatického vypĺňania Bitwardenu zobrazujúca vygenerované heslo"
+ },
+ "updateInBitwarden": {
+ "message": "Aktualizovať v Bitwardene"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden vás vyzve na aktualizáciu hesla v správcovi hesiel.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Príklad upozornenia Bitwardenu na aktualizovanie prihlasovacích údajov"
+ },
+ "turnOnAutofill": {
+ "message": "Zapnúť automatické vypĺňanie"
+ },
+ "turnedOnAutofill": {
+ "message": "Zapnuté automatické vypĺňanie"
+ },
+ "dismiss": {
+ "message": "Zrušiť"
+ },
"websiteItemLabel": {
"message": "Webstránka $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Zmeny v blokovaných doménach boli uložené"
+ },
"excludedDomainsSavedSuccess": {
"message": "Uložené zmeny vylúčenej domény"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Chyba"
},
+ "decryptionError": {
+ "message": "Chyba dešifrovania"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden nedokázal dešifrovať nižšie uvedené položky trezoru."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Kontaktujte zákaznícku podporu,",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "aby ste predišli ďalším stratám údajov.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Vygenerovať používateľské meno"
},
@@ -2855,7 +3102,7 @@
"message": "Služba"
},
"forwardedEmail": {
- "message": "Alias preposlaného e-mailu"
+ "message": "Alias presmerovaného e-mailu"
},
"forwardedEmailDesc": {
"message": "Vytvoriť e-mailový alias pomocou externej služby preposielania."
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "Služba $SERVICENAME$ odmietla vašu žiadosť. Obráťte sa na svojho poskytovateľa služieb a požiadajte o pomoc.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "Služba $SERVICENAME$ odmietla vašu žiadosť: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Nepodarilo sa získať ID maskovaného e-mailového účtu $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Nastavenia boli upravené"
- },
- "environmentEditedClick": {
- "message": "Kliknite sem"
- },
- "environmentEditedReset": {
- "message": "na obnovenie predvolených nastavení"
- },
"serverVersion": {
"message": "Verzia servera"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Prihlásenie pomocou hlavného hesla"
},
- "loggingInAs": {
- "message": "Prihlasujete sa ako"
- },
- "notYou": {
- "message": "Nie ste to vy?"
- },
"newAroundHere": {
"message": "Ste tu nový?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Prihlásiť pomocou zariadenia"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Prihlásenie pomocou zariadenia musí byť nastavené v nastaveniach aplikácie Bitwarden. Potrebujete inú možnosť?"
- },
"fingerprintPhraseHeader": {
"message": "Fráza odtlačku prsta"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Zobraziť všetky možnosti prihlásenia"
},
- "viewAllLoginOptionsV1": {
- "message": "Zobraziť všetky možnosti prihlásenia"
- },
"notificationSentDevice": {
"message": "Do vášho zariadenia bolo odoslané upozornenie."
},
+ "notificationSentDevicePart1": {
+ "message": "Odomknúť Bitwarden vo svojom zariadení alebo vo"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "webovej aplikácii"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Pred schválením sa uistite, že sa odtlačok prístupovej frázy zhoduje s tou uvedenou nižšie."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Do vášho zariadenia bolo odoslané upozornenie"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Uistite sa, že je váš účet odomknutý a fráza odtlačku prsta sa zhoduje s frázou na druhom zariadení"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Po schválení žiadosti budete informovaní"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Iniciované prihlásenie"
},
+ "logInRequestSent": {
+ "message": "Požiadavka bola odoslaná"
+ },
"exposedMasterPassword": {
"message": "Odhalené hlavné heslo"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Žiadosť o schválenie správcom"
},
- "approveWithMasterPassword": {
- "message": "Schváliť pomocou hlavného hesla"
- },
"ssoIdentifierRequired": {
"message": "Pole identifikátora SSO je povinné."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Vaša žiadosť bola odoslaná správcovi."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Po schválení budete informovaný."
- },
"troubleLoggingIn": {
"message": "Máte problémy s prihlásením?"
},
@@ -3396,38 +3649,6 @@
"message": "Prepnúť zbalenie",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Importovať údaje do Bitwardenu?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Ochrániť údaje z LastPassu a importovať ich do Bitwardenu?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Uložiť ako nezašifrovaný súbor",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importovať do Bitwardenu",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importovanie...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Import údajov prebehol úspešne!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Chyba pri importovaní. Podrobnosti nájdete v konzole.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Počas importu sa vyskytla chyba siete.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias doména"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktívny účet"
},
+ "bitwardenAccount": {
+ "message": "Účet Bitwarden"
+ },
"availableAccounts": {
"message": "Dostupné účty"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Návrhy automatického vypĺňania"
},
+ "itemSuggestions": {
+ "message": "Navrhované položky"
+ },
"autofillSuggestionsTip": {
"message": "Uložte položku prihlásenia pre tento web na automatické vyplnenie"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Kopírovať $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Nie je čo kopírovať"
},
@@ -4107,7 +4348,7 @@
}
},
"new": {
- "message": "Nová"
+ "message": "Nové"
},
"removeItem": {
"message": "Odstrániť $NAME$",
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Názov položky"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Zbierky, ktoré môžete len zobraziť nemôžete odstrániť: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organizácia je vypnutá"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Zmeniť poradie URI webovej stránky. Na presun položky hore alebo dole použite klávesy so šípkami."
+ },
"reorderFieldUp": {
"message": "$LABEL$ presunuté vyššie, pozícia $INDEX$/$LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Nič ste nevybrali."
},
- "movedItemsToOrg": {
- "message": "Vybraté položky boli presunuté do $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Položky presunuté do $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Textové Sendy"
},
- "bitwardenNewLook": {
- "message": "Bitwarden má nový vzhľad!"
- },
- "bitwardenNewLookDesc": {
- "message": "Automatické vypĺňanie a vyhľadávanie na karte Trezor je jednoduchšie a intuitívnejšie ako kedykoľvek predtým. Poobzerajte sa!"
- },
"accountActions": {
"message": "Operácie s účtom"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Na úpravu tejto položky nemáte oprávnenie"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Odomykanie biometrickými údajmi je nedostupné pretože je najskôr potrebné odomykanie pomocou PIN alebo hesla."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Odomykanie biometrickými údajmi je momentálne nedostupné."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Odomykanie biometrickými údajmi je nedostupné v dôsledku zle nastavených systémových súborov."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Odomykanie biometrickými údajmi je nedostupné v dôsledku zle nastavených systémových súborov."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Odomykanie biometrickými údajmi je nedostupné, pretože aplikácia Bitwarden pre desktop je zatvorená."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Odomykanie biometrickými údajmi je nedostupné, pretože nie je povolené pre $EMAIL$ v aplikácii Bitwarden pre desktop.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Odomykanie biometrickými údajmi je momentálne z neznámych dôvodov nedostupné."
+ },
"authenticating": {
"message": "Overuje sa"
},
@@ -4819,7 +5066,7 @@
"message": "Pripomenúť neskôr"
},
"newDeviceVerificationNoticePageOneFormContent": {
- "message": "Máte spoľahlivý prístup k svojmu e-mailu, $EMAIL$?",
+ "message": "Máte zaručený prístup k e-mailu $EMAIL$?",
"placeholders": {
"email": {
"content": "$1",
@@ -4831,7 +5078,7 @@
"message": "Nie, nemám"
},
"newDeviceVerificationNoticePageOneEmailAccessYes": {
- "message": "Áno, mám spoľahlivý prístup k svojmu e-mailu"
+ "message": "Áno, mám zaručený prístup k e-mailu"
},
"turnOnTwoStepLogin": {
"message": "Zapnúť dvojstupňové prihlásenie"
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra široké"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Zadané heslo je nesprávne."
+ },
+ "importSshKey": {
+ "message": "Importovať"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Potvrdiť heslo"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Zadajte heslo pre kľúč SSH."
+ },
+ "enterSshKeyPassword": {
+ "message": "Zadať heslo"
+ },
+ "invalidSshKey": {
+ "message": "Kľúč SSH je neplatný"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Tento typ kľúča SSH nie je podporovaný"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Importovať kľúč zo schránky"
+ },
+ "sshKeyImported": {
+ "message": "Kľúč SSH bol úspešne importovaný"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Zbierky, ktoré môžete len zobraziť nemôžete odstrániť: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Aktualizujte desktopovú aplikáciu"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Ak chcete používať biometrické odomykanie, aktualizujte desktopovú aplikáciu alebo vypnite odomykanie odtlačkom prsta v nastaveniach desktopovej aplikácie."
+ },
+ "changeAtRiskPassword": {
+ "message": "Zmeniť rizikové heslá"
}
}
diff --git a/apps/browser/src/_locales/sl/messages.json b/apps/browser/src/_locales/sl/messages.json
index 490f991d252..f6a543ea5ea 100644
--- a/apps/browser/src/_locales/sl/messages.json
+++ b/apps/browser/src/_locales/sl/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Namig za glavno geslo (neobvezno)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Namig za geslo"
- },
- "enterEmailToGetHint": {
- "message": "Vnesite e-poštni naslov svojega računa in poslali vam bomo namig za vaše glavno geslo."
- },
"getMasterPasswordHint": {
"message": "Pridobi namig za glavno geslo"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Uredi mapo"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Ponovno ustvari geslo"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Dolžina"
},
- "uppercase": {
- "message": "Velike črke (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Male črke (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Števke (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Posebni znaki (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Število besed"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Vaš brskalnik ne podpira enostavnega kopiranja na odložišče. Prosimo, kopirajte ročno."
},
- "verifyIdentity": {
- "message": "Preverjanje istovetnosti"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Vaš trezor je zaklenjen. Za nadaljevanje potrdite svojo identiteto."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Ne"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Prišlo je do nepričakovane napake."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Če predmeta ni v trezorju, ga je potrebno dodati. Velja za vse prijavljene račune."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Prikaži kartice na strani Zavihek"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Na strani Zavihek prikaži kartice za lažje samodejno izpoljnjevanje."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Prikaži identitete na strani Zavihek"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Počisti odložišče",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Da, shrani zdaj"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Predlagaj posodobitev obstoječe prijave"
},
@@ -1084,10 +1169,6 @@
"message": "Svetlo",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Kupite premium članstvo"
},
- "premiumPurchaseAlert": {
- "message": "Premium članstvo lahko kupite na spletnem trezoju bitwarden.com. Želite obiskati spletno stran zdaj?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Zapomni si me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Ponovno pošlji verifikacijsko kodo na email"
},
"useAnotherTwoStepMethod": {
"message": "Uporabi drugi način prijave v dveh korakih"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Priključi svoj YubiKey v USB priključek, nato pa pritisni na njegovo tipko."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Odpri nov zavihek"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Prijava ni na voljo"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Možnosti dvostopenjske prijave"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Ste izgubili dostop do vseh ponudnikov dvostopenjske prijave? Uporabite svojo kodo za obnovitev in tako onemogočite dvostopenjsko prijavo v svoj račun."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Okolje po meri"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "URL naslov strežnika"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Sortirajte z vlečenjem"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Besedilo"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Dejanje ob poteku roka"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Zaklepanje",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Izključene domene"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Napaka"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Ustvari uporabniško ime"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Kliknite tukaj"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Verzija strežnika"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Niste vi?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Identifikacijsko geslo"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/sr/messages.json b/apps/browser/src/_locales/sr/messages.json
index d515c2a0c6b..3c7bef94c13 100644
--- a/apps/browser/src/_locales/sr/messages.json
+++ b/apps/browser/src/_locales/sr/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Савет Главне Лозинке (опционо)"
},
+ "passwordStrengthScore": {
+ "message": "Снага лозинкe $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Придружи Организацију"
},
@@ -159,7 +168,7 @@
"message": "Копирај јавни кључ"
},
"copyFingerprint": {
- "message": "Копирати отисак"
+ "message": "Копирај отисак прста"
},
"copyCustomField": {
"message": "Копирати $FIELD$",
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Копирати белешке"
},
+ "copy": {
+ "message": "Копирај",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Попуни",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Унесите имејл свог налога и биће вам послат савет за лозинку"
},
- "passwordHint": {
- "message": "Савет лозинке"
- },
- "enterEmailToGetHint": {
- "message": "Унесите Ваш имејл да би добили савет за Вашу Главну Лозинку."
- },
"getMasterPasswordHint": {
"message": "Добити савет за Главну Лозинку"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Уреди фасциклу"
},
+ "editFolderWithName": {
+ "message": "Уредити фасциклу: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Нова фасцикла"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Генеришите приступну фразу"
},
+ "passwordGenerated": {
+ "message": "Лозинка генерисана"
+ },
+ "passphraseGenerated": {
+ "message": "Приступна фраза је генерисана"
+ },
+ "usernameGenerated": {
+ "message": "Корисничко име генерисано"
+ },
+ "emailGenerated": {
+ "message": "Имејл генерисан"
+ },
"regeneratePassword": {
"message": "Поново генериши лозинку"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Дужина"
},
- "uppercase": {
- "message": "Велика слова (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Мала слова (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Цифре (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Специјална слова (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Укључити",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Укључити специјална слова",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Број речи"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Ваш прегледач не подржава једноставно копирање у клипборду. Уместо тога копирајте га ручно."
},
- "verifyIdentity": {
- "message": "Потврдите идентитет"
+ "verifyYourIdentity": {
+ "message": "Потврдите свој идентитет"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Не препознајемо овај уређај. Унесите код послат на адресу ваше електронске поште да би сте потврдили ваш идентитет."
+ },
+ "continueLoggingIn": {
+ "message": "Настави са пријављивањем"
},
"yourVaultIsLocked": {
"message": "Сеф је закључан. Унесите главну лозинку за наставак."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Пријавите се на Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Унесите кôд послат на ваш имејл"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Унесите кôд из апликације за аутентификацију"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Стисните Ваш YubiKey за аутентификацију"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "За ваш налог је потребан два корака. Следите наведене кораке да бисте завршили пријављивање."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Следите наведене кораке да бисте завршили пријављивање."
+ },
"restartRegistration": {
"message": "Поново покрените регистрацију"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Не"
},
+ "location": {
+ "message": "Локација"
+ },
"unexpectedError": {
"message": "Дошло је до неочекиване грешке."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Затражите да додате ставку ако она није пронађена у вашем сефу. Односи се на све пријављене налоге."
},
- "showCardsInVaultView": {
- "message": "Прикажите картице као предлоге за ауто-попуњавање у приказу сефа"
+ "showCardsInVaultViewV2": {
+ "message": "Увек приказуј картице као препоруке аутоматског попуњавања на приказу трезора"
},
"showCardsCurrentTab": {
"message": "Прикажи кредитне картице на страници картице"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Прикажи ставке кредитних картица на страници картице за лакше аутоматско допуњавање."
},
- "showIdentitiesInVaultView": {
- "message": "Прикажите идентитете као предлоге за ауто-попуњавање у приказу сефа"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Увек приказуј идентитете као препоруке аутоматског попуњавања на приказу трезора"
},
"showIdentitiesCurrentTab": {
"message": "Прикажи идентитете на страници"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Кликните на ставке за ауто-попуњавање у приказу сефа"
},
+ "clickToAutofill": {
+ "message": "Кликните на ставке у ауто-пуњење предлогу за попуњавање"
+ },
"clearClipboard": {
"message": "Обриши привремену меморију",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Сачувај"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ сачуван и Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ ажурирано у Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Сачувати као нову пријаву",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Ажурирати пријаву",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Сачувати пријаву?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Ажурирајте постојећу пријаву?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Пријава сачувана",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Пријава ажурирана",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Грешка при снимању",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Ох не! Нисмо могли да то сачувамо. Покушајте да ручно унесете детаље.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Питај за ажурирање постојеће пријаве"
},
@@ -1084,10 +1169,6 @@
"message": "Светла",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized црно",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Извоз од"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Купити премијум"
},
- "premiumPurchaseAlert": {
- "message": "Можете купити премијум претплату на bitwarden.com. Да ли желите да посетите веб сајт сада?"
- },
"premiumPurchaseAlertV2": {
"message": "Можете да купите Премиум у подешавањима налога у веб апликацији Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Запамти ме"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Не питајте поново на овом уређају 30 дана"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Поново послати верификациони код на имејл"
},
"useAnotherTwoStepMethod": {
"message": "Користите другу методу пријављивања у два корака"
},
+ "selectAnotherMethod": {
+ "message": "Изаберите другу методу",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Употребите шифру за опоравак"
+ },
"insertYubiKey": {
"message": "Убаците свој YubiKey у УСБ порт рачунара, а затим додирните његово дугме."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Отвори нови језичак "
},
+ "openInNewTab": {
+ "message": "Отвори у новом језичку"
+ },
"webAuthnAuthenticate": {
"message": "WebAutn аутентификација"
},
+ "readSecurityKey": {
+ "message": "Читај сигурносни кључ"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Чека се интеракција сигурносног кључа..."
+ },
"loginUnavailable": {
"message": "Пријава недоступна"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Опције дво-коракне пријаве"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Одабрати методу пријављивања у два корака"
+ },
"recoveryCodeDesc": {
"message": "Изгубили сте приступ свим својим двофакторским добављачима? Употребите код за опоравак да онемогућите све двофакторске добављаче из налога."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Самостално окружење"
},
- "selfHostedEnvironmentFooter": {
- "message": "Наведите основни УРЛ ваше локалне Bitwarden инсталације."
- },
"selfHostedBaseUrlHint": {
"message": "Наведите основну УРЛ адресу вашег локалног хостовања Bitwarden-а. Пример: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Прилагођено окружење"
},
- "customEnvironmentFooter": {
- "message": "За напредне кориснике. Можете да одредите независно основни УРЛ сваког сервиса."
- },
"baseUrl": {
"message": "УРЛ Сервера"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Превуците за сортирање"
},
+ "dragToReorder": {
+ "message": "Превуците да бисте организовали"
+ },
"cfTypeText": {
"message": "Текст"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Генератор корисничког имена"
},
+ "useThisEmail": {
+ "message": "Користи ову епошту"
+ },
"useThisPassword": {
"message": "Употреби ову лозинку"
},
@@ -2063,12 +2163,24 @@
"message": "да креирате јаку јединствену лозинку",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Прилагођавање сефа"
+ },
"vaultTimeoutAction": {
"message": "Акција на тајмаут сефа"
},
"vaultTimeoutAction1": {
"message": "Акција тајмаута"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Нове опције прилагођавања"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Прилагодите своје искуство сефа помоћу брзих акција копирања, компактног режима и још много тога!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Погледајте сва подешавања изглед"
+ },
"lock": {
"message": "Закључај",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Домени",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Блокирани домени"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Сазнајте више о блокираним доменима"
+ },
"excludedDomains": {
"message": "Изузети домени"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden неће тражити да сачува податке за пријављивање за ове домене за све пријављене налоге. Морате освежити страницу да би промене ступиле на снагу."
},
+ "blockedDomainsDesc": {
+ "message": "Аутоматско попуњавање и сродне функције неће бити понуђене за ове веб сајтове. Морате освежити страницу да би се измене примениле."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Аутоматско попуњавање је блокирано за овај веб сајт."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Промените ово у подешавањима"
+ },
+ "change": {
+ "message": "Промени"
+ },
+ "changeButtonTitle": {
+ "message": "Промена лозинке - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Лозинке под ризиком"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ тражи да промените једну лозинку јер је ризична.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ тражи да промените $COUNT$ лозинке пошто су под ризиком.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Ваша организација тражи да промените $COUNT$ лозинке пошто су под ризиком.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Прегледајте и промените једну лозинку за ризик"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Прегледајте и промените лозинке под ризиком: $COUNT$",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Брже промените лозинке за ризик"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Ажурирајте поставке да бисте брзо поставили лозинке и генерисати нове"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Прегледајте ризичне пријаве"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Прегледати ризичне лозинке"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Ваше организационе лозинке су ризичне јер су слабе, поново употребљене и/или изложене.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Илустрација листе пријаве које су ризичне"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Брзо генеришите снажну, јединствену лозинку са Bitwarden менијем аутопуњења за коришћење на ризичном сајту.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Илустрација Bitwarden-ског менија аутопуњења који приказују генерисану лозинку"
+ },
+ "updateInBitwarden": {
+ "message": "Ажурирања у Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden ће тада затражити да ажурирате лозинку у менаџеру лозинке.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Илустрација Bitwarden-ског обавештења за ажирриање пријаве"
+ },
+ "turnOnAutofill": {
+ "message": "Омогућите ауто-пуњење"
+ },
+ "turnedOnAutofill": {
+ "message": "Ауто-пуњење упаљено"
+ },
+ "dismiss": {
+ "message": "Одбаци"
+ },
"websiteItemLabel": {
"message": "Сајт $number$ (УРЛ)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Измене блокираних домена су сачуване"
+ },
"excludedDomainsSavedSuccess": {
"message": "Изузете промене домена су сачуване"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Грешка"
},
+ "decryptionError": {
+ "message": "Грешка при декрипцији"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden није могао да декриптује ставке из трезора наведене испод."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Обратите се корисничкој подршци",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "да бисте избегли додатни губитак података.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Генериши име"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ одбио ваш захтев. Обратите се свом провајдеру сервиса за помоћ.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ одбио ваш захтев: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Није могуће добити ИД налога маскираног имејла $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Поставке су уређене"
- },
- "environmentEditedClick": {
- "message": "Кликните овде"
- },
- "environmentEditedReset": {
- "message": "за рисетовање на подразумевана подешавања"
- },
"serverVersion": {
"message": "Верзија сервера"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Пријавите се са главном лозинком"
},
- "loggingInAs": {
- "message": "Пријављивање као"
- },
- "notYou": {
- "message": "Нисте Ви?"
- },
"newAroundHere": {
"message": "Нов овде?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Пријавите се са уређајем"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Пријава помоћу уређаја мора бити подешена у подешавањима Bitwarden апликације. Потребна је друга опција?"
- },
"fingerprintPhraseHeader": {
"message": "Сигурносна фраза сефа"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Погледајте сав извештај у опције"
},
- "viewAllLoginOptionsV1": {
- "message": "Погледајте сав извештај у опције"
- },
"notificationSentDevice": {
"message": "Обавештење је послато на ваш уређај."
},
+ "notificationSentDevicePart1": {
+ "message": "Откључај Bitwarden на твом уређају или на"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "веб апликација"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Потврдите да се фраза отиска прста поклапа са овом испод пре одобравања."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Обавештење је послато на ваш уређај"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Уверите се да је ваш налог откључан и да се фраза отиска подудара на другом уређају"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Бићете обавештени када захтев буде одобрен"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Пријава је покренута"
},
+ "logInRequestSent": {
+ "message": "Захтев је послат"
+ },
"exposedMasterPassword": {
"message": "Изложена главна лозинка"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Затражити одобрење администратора"
},
- "approveWithMasterPassword": {
- "message": "Одобрити са главном лозинком"
- },
"ssoIdentifierRequired": {
"message": "Потребан је SSO идентификатор организације."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Ваш захтев је послат вашем администратору."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Бићете обавештени када буде одобрено."
- },
"troubleLoggingIn": {
"message": "Имате проблема са пријављивањем?"
},
@@ -3396,38 +3649,6 @@
"message": "Промени проширење",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Увезите своје податке у Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Заштитите своје LastPass податке и увезите у Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Сачувати као нешифровану датотеку",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Увоз у Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Увоз...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Подаци су успешно увезени!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Грешка при увозу. Проверите конзолу за детаље.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Дошло је до грешке на мрежи током увоза.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Домен алијаса"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Активан налог"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden налог"
+ },
"availableAccounts": {
"message": "Доступни налози"
},
@@ -3979,7 +4203,10 @@
"message": "Приступни кључ је уклоњен"
},
"autofillSuggestions": {
- "message": "Предлози за ауто-попуњавање"
+ "message": "Предлози аутоматског попуњавања"
+ },
+ "itemSuggestions": {
+ "message": "Предложене ставке"
},
"autofillSuggestionsTip": {
"message": "Сачувајте ставку за пријаву за ову локацију за ауто-попуњавање"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Копирај $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Нема вредности за копирање"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Име ставке"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Не можете уклонити колекције са дозволама само за приказ: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Организација је деактивирана"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Преместити УРЛ сајта. Користите тастер са стрелицом да бисте померили ставку."
+ },
"reorderFieldUp": {
"message": "$LABEL$ премештено на горе, позиција $INDEX$ од $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Нисте ништа изабрали."
},
- "movedItemsToOrg": {
- "message": "Одабране ставке премештене у $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Ставке премештене у $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Текст „Send“"
},
- "bitwardenNewLook": {
- "message": "Bitwarden има нови изглед!"
- },
- "bitwardenNewLookDesc": {
- "message": "Лакше је и интуитивније него икада да се аутоматски попуњава и тражи са картице Сефа. Проверите!"
- },
"accountActions": {
"message": "Акције везане за налог"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Немате дозволу да уређујете ову ставку"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Биометријско откључавање није доступно јер је пре тога потребно унети ПИН или лозинку за откључавање."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Биометријско откључавање тренутно није доступно."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Биометријско откључавање није доступно због лоше подешених системских датотека."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Биометријско откључавање није доступно због лоше подешених системских датотека."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Биометријско откључавање није доступно јер је Bitwarden апликација на рачунару угашена."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Биометријско откључавање није доступно јер није омогућено за $EMAIL$ у Bitwarden апликацији на рачунару.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Биометријско откључавање није доступно из непознатог разлога."
+ },
"authenticating": {
"message": "Аутентификација"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Врло широко"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Лозинка коју сте унели није тачна."
+ },
+ "importSshKey": {
+ "message": "Увоз"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Потврда лозинке"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Унети лозинку за SSH кључ."
+ },
+ "enterSshKeyPassword": {
+ "message": "Унесите лозинку"
+ },
+ "invalidSshKey": {
+ "message": "SSH кључ је неважећи"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Тип SSH кључа није подржан"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Увезите кључ из оставе"
+ },
+ "sshKeyImported": {
+ "message": "SSH кључ је успешно увезен"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Не можете уклонити колекције са дозволама само за приказ: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Молим вас надоградите вашу апликацију на рачунару"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Да би сте користили биометријско откључавање, надоградите вашу апликацију на рачунару, или онемогућите откључавање отиском прста у подешавањима на рачунару."
+ },
+ "changeAtRiskPassword": {
+ "message": "Променити ризичну лозинку"
}
}
diff --git a/apps/browser/src/_locales/sv/messages.json b/apps/browser/src/_locales/sv/messages.json
index 84de9bbfa05..6db7a22490e 100644
--- a/apps/browser/src/_locales/sv/messages.json
+++ b/apps/browser/src/_locales/sv/messages.json
@@ -14,7 +14,7 @@
"message": "Logga in eller skapa ett nytt konto för att komma åt ditt säkra valv."
},
"inviteAccepted": {
- "message": "Invitation accepted"
+ "message": "Inbjudan accepterades"
},
"createAccount": {
"message": "Skapa konto"
@@ -35,7 +35,7 @@
"message": "Ställ in ett starkt lösenord"
},
"finishCreatingYourAccountBySettingAPassword": {
- "message": "Finish creating your account by setting a password"
+ "message": "Slutför skapandet av ditt konto genom att ange ett lösenord"
},
"enterpriseSingleSignOn": {
"message": "Single Sign-On för företag"
@@ -80,11 +80,20 @@
"masterPassHint": {
"message": "Huvudlösenordsledtråd (valfri)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
- "message": "Join organization"
+ "message": "Gå med i organisation"
},
"joinOrganizationName": {
- "message": "Join $ORGANIZATIONNAME$",
+ "message": "Gå med i $ORGANIZATIONNAME$",
"placeholders": {
"organizationName": {
"content": "$1",
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Kopiera anteckningar"
},
+ "copy": {
+ "message": "Kopiera",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fyll",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -193,10 +206,10 @@
"message": "Autofyll identitet"
},
"fillVerificationCode": {
- "message": "Fill verification code"
+ "message": "Fyll i verifieringskod"
},
"fillVerificationCodeAria": {
- "message": "Fill Verification Code",
+ "message": "Fyll i verifieringskod",
"description": "Aria label for the heading displayed the inline menu for totp code autofill"
},
"generatePasswordCopied": {
@@ -239,7 +252,7 @@
"message": "Lägg till objekt"
},
"accountEmail": {
- "message": "Account email"
+ "message": "Kontots e-post"
},
"requestHint": {
"message": "Begär ledtråd"
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Lösenordsledtråd"
- },
- "enterEmailToGetHint": {
- "message": "Ange din e-postadress för att hämta din huvudlösenordsledtråd."
- },
"getMasterPasswordHint": {
"message": "Hämta huvudlösenordsledtråd"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Redigera mapp"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Ny mapp"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generera lösenfras"
},
+ "passwordGenerated": {
+ "message": "Lösenord genererades"
+ },
+ "passphraseGenerated": {
+ "message": "Lösenordsfras genererades"
+ },
+ "usernameGenerated": {
+ "message": "Användarnamn genererades"
+ },
+ "emailGenerated": {
+ "message": "E-post genererades"
+ },
"regeneratePassword": {
"message": "Återskapa lösenord"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Längd"
},
- "uppercase": {
- "message": "Versaler (A-Ö)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Gemener (a-ö)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Siffror (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Specialtecken (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Inkludera",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Inkludera specialtecken",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Antal ord"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Din webbläsare har inte stöd för att enkelt kopiera till urklipp. Kopiera till urklipp manuellt istället."
},
- "verifyIdentity": {
- "message": "Verifiera identitet"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Ditt valv är låst. Verifiera din identitet för att fortsätta."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Logga in på Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Nej"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Ett okänt fel har inträffat."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Visa kort på fliksida"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Lista kortobjekt på fliksidan för enkel automatisk fyllning."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Visa identiteter på fliksidan"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Rensa urklipp",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Spara"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Be om att uppdatera befintlig inloggning"
},
@@ -1084,10 +1169,6 @@
"message": "Ljust",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized mörk",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Exportera från"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Köp Premium"
},
- "premiumPurchaseAlert": {
- "message": "Du kan köpa premium-medlemskap i Bitwardens webbvalv. Vill du besöka webbplatsen nu?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Kom ihåg mig"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Skicka e-postmeddelandet med verifieringskoden igen"
},
"useAnotherTwoStepMethod": {
"message": "Använd en annan inloggningsmetod för tvåstegsverifiering"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Sätt i din YubiKey i en av datorns USB-portar och sätt fingret på knappen."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Öppna ny flik"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Autentisera WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Inloggning ej tillgänglig"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Alternativ för tvåstegsverifiering"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Förlorat åtkomst till alla dina metoder för tvåstegsverifiering? Använd din återställningskod för att inaktivera tvåstegsverifiering på ditt konto."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Egen-hostad miljö"
},
- "selfHostedEnvironmentFooter": {
- "message": "Ange bas-URL:en för din \"on-premise\"-hostade Bitwarden-installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Anpassad miljö"
},
- "customEnvironmentFooter": {
- "message": "För avancerade användare. Du kan ange bas-URL:en för varje tjänst oberoende av varandra."
- },
"baseUrl": {
"message": "Server-URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Dra för att sortera"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Åtgärd när valvets tidsgräns överskrids"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lås",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domäner",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Exkluderade domäner"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Webbplats $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Fel"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generera användarnamn"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Inställningarna har ändrats"
- },
- "environmentEditedClick": {
- "message": "Klicka här"
- },
- "environmentEditedReset": {
- "message": "för att återställa till förkonfigurerade inställningar"
- },
"serverVersion": {
"message": "Serverversion"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Logga in med huvudlösenord"
},
- "loggingInAs": {
- "message": "Loggar in som"
- },
- "notYou": {
- "message": "Är det inte du?"
- },
"newAroundHere": {
"message": "Är du ny här?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Logga in med enhet"
},
- "loginWithDeviceEnabledInfo": {
- "message": "\"Logga in med enhet\" måste ställas in i inställningarna i Bitwardens app. Behöver du ett annat alternativ?"
- },
"fingerprintPhraseHeader": {
"message": "Fingeravtrycksfras"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Visa alla inloggningsalternativ"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "En avisering har skickats till din enhet."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Inloggning påbörjad"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Huvudlösenordet har exponerats"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Be om godkännande från administratör"
},
- "approveWithMasterPassword": {
- "message": "Godkänn med huvudlösenord"
- },
"ssoIdentifierRequired": {
"message": "Organisationens SSO-identifierare krävs."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Din begäran har skickats till din administratör."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Du kommer att meddelas vid godkännande."
- },
"troubleLoggingIn": {
"message": "Problem med att logga in?"
},
@@ -3396,38 +3649,6 @@
"message": "Växla synlig/dold",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Importera din data till Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Skydda din LastPass-data och importera till Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Spara som okrypterad fil",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Importera till Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importerar...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data har importerats till ditt valv!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Fel vid importeringen. Kolla konsolen för detaljer.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Nätverksfel uppstod vid import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Aliasdomän"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktivt konto"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Tillgängliga konton"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Objektnamn"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden har fått ett nytt utseende!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Kontoåtgärder"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/te/messages.json b/apps/browser/src/_locales/te/messages.json
index 6ab3755c8f4..c9c29611deb 100644
--- a/apps/browser/src/_locales/te/messages.json
+++ b/apps/browser/src/_locales/te/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master password hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Password hint"
- },
- "enterEmailToGetHint": {
- "message": "Enter your account email address to receive your master password hint."
- },
"getMasterPasswordHint": {
"message": "Get master password hint"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Edit folder"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Length"
},
- "uppercase": {
- "message": "Uppercase (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Lowercase (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Numbers (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Special characters (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Your web browser does not support easy clipboard copying. Copy it manually instead."
},
- "verifyIdentity": {
- "message": "Verify identity"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Your vault is locked. Verify your identity to continue."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "No"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occurred."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Show cards on Tab page"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "List card items on the Tab page for easy autofill."
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Show identities on Tab page"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Clear clipboard",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Save"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Ask to update existing login"
},
@@ -1084,10 +1169,6 @@
"message": "Light",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Send verification code email again"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step login options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "Server URL"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Text"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Vault timeout action"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Lock",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/th/messages.json b/apps/browser/src/_locales/th/messages.json
index d9ff1c3f076..c545f802d64 100644
--- a/apps/browser/src/_locales/th/messages.json
+++ b/apps/browser/src/_locales/th/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Master Password Hint (optional)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Join organization"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "คำใบ้รหัสผ่าน"
- },
- "enterEmailToGetHint": {
- "message": "กรอกอีเมลของบัญชีของคุณ เพื่อรับคำใบ้เกี่ยวกับรหัสผ่านหลักของคุณ"
- },
"getMasterPasswordHint": {
"message": "รับคำใบ้เกี่ยวกับรหัสผ่านหลักของคุณ"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "แก้ไขโฟลเดอร์"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "New folder"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Regenerate Password"
},
@@ -454,22 +482,6 @@
"length": {
"message": "ความยาว"
},
- "uppercase": {
- "message": "ตัวพิมพ์ใหญ่ (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "ตัวพิมพ์เล็ก (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "ตัวเลข (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "อักขระพิเศษ (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Include",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Include special characters",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Number of Words"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "เว็บเบราว์เซอร์ของคุณไม่รองรับการคัดลอกคลิปบอร์ดอย่างง่าย คัดลอกด้วยตนเองแทน"
},
- "verifyIdentity": {
- "message": "ยืนยันตัวตน"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "ตู้เซฟของคุณถูกล็อก ยืนยันตัวตนของคุณเพื่อดำเนินการต่อ"
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Restart registration"
},
@@ -875,6 +904,9 @@
"no": {
"message": "ไม่ใช่"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "An unexpected error has occured."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Ask to add an item if one isn't found in your vault. Applies to all logged in accounts."
},
- "showCardsInVaultView": {
- "message": "Show cards as Autofill suggestions on Vault view"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "แสดงการ์ดบนหน้าแท็บ"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "บัตรรายการในหน้าแท็บเพื่อให้ป้อนอัตโนมัติได้ง่าย"
},
- "showIdentitiesInVaultView": {
- "message": "Show identities as Autofill suggestions on Vault view"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "แสดงตัวตนบนหน้าแท็บ"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "ล้างคลิปบอร์ด",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Yes, Save Now"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "ขอให้ปรับปรุงการเข้าสู่ระบบที่มีอยู่"
},
@@ -1084,10 +1169,6 @@
"message": "สว่าง",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized Dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Export from"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Purchase Premium"
},
- "premiumPurchaseAlert": {
- "message": "You can purchase Premium membership on the bitwarden.com web vault. Do you want to visit the website now?"
- },
"premiumPurchaseAlertV2": {
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Remember me"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "ส่งโค้ดยืนยันไปยังอีเมลอีกครั้ง"
},
"useAnotherTwoStepMethod": {
"message": "Use another two-step login method"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Insert your YubiKey into your computer's USB port, then touch its button."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Open new tab"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Authenticate WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Login Unavailable"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Two-step Login Options"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Lost access to all of your two-factor providers? Use your recovery code to turn off all two-factor providers from your account."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Self-hosted Environment"
},
- "selfHostedEnvironmentFooter": {
- "message": "Specify the base URL of your on-premise hosted bitwarden installation."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Custom Environment"
},
- "customEnvironmentFooter": {
- "message": "For advanced users. You can specify the base URL of each service independently."
- },
"baseUrl": {
"message": "URL ของเซิร์ฟเวอร์"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Drag to sort"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "ข้อความ"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Username generator"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "การดำเนินการหลังหมดเวลาล็อคตู้เซฟ"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "ล็อก",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Domains",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Excluded domains"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden will not ask to save login details for these domains for all logged in accounts. You must refresh the page for changes to take effect."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Website $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Excluded domain changes saved"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Error"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Generate username"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Settings have been edited"
- },
- "environmentEditedClick": {
- "message": "Click here"
- },
- "environmentEditedReset": {
- "message": "to reset to pre-configured settings"
- },
"serverVersion": {
"message": "Server version"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Log in with master password"
},
- "loggingInAs": {
- "message": "Logging in as"
- },
- "notYou": {
- "message": "Not you?"
- },
"newAroundHere": {
"message": "New around here?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Log in with device"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Log in with device must be set up in the settings of the Bitwarden app. Need another option?"
- },
"fingerprintPhraseHeader": {
"message": "Fingerprint phrase"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "A notification has been sent to your device."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Login initiated"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Exposed Master Password"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Request admin approval"
},
- "approveWithMasterPassword": {
- "message": "Approve with master password"
- },
"ssoIdentifierRequired": {
"message": "Organization SSO identifier is required."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Your request has been sent to your admin."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "You will be notified once approved."
- },
"troubleLoggingIn": {
"message": "Trouble logging in?"
},
@@ -3396,38 +3649,6 @@
"message": "Toggle collapse",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Import your data to Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Protect your LastPass data and import to Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Save as unencrypted file",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Import to Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Importing...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Data successfully imported!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Error importing. Check console for details.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Network error encountered during import.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias domain"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Active account"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Available accounts"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Autofill suggestions"
},
+ "itemSuggestions": {
+ "message": "Suggested items"
+ },
"autofillSuggestionsTip": {
"message": "Save a login item for this site to autofill"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "No values to copy"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Item name"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Organization is deactivated"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "You have not selected anything."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Items moved to $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/tr/messages.json b/apps/browser/src/_locales/tr/messages.json
index e1236b3f86d..e69b33d63af 100644
--- a/apps/browser/src/_locales/tr/messages.json
+++ b/apps/browser/src/_locales/tr/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Ana parola ipucu (isteğe bağlı)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Kuruluşa katıl"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Notları kopyala"
},
+ "copy": {
+ "message": "Kopyala",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Doldur",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Hesabınızın e-posta adresini girdiğinizde parola ipucunuz size gönderilecektir"
},
- "passwordHint": {
- "message": "Parola ipucu"
- },
- "enterEmailToGetHint": {
- "message": "Ana parola ipucunu almak için hesabınızın e-posta adresini girin."
- },
"getMasterPasswordHint": {
"message": "Ana parola ipucunu al"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Klasörü düzenle"
},
+ "editFolderWithName": {
+ "message": "Klasörü düzenle: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Yeni klasör"
},
@@ -385,7 +401,7 @@
"message": "Hiç klasör eklenmedi"
},
"createFoldersToOrganize": {
- "message": "Create folders to organize your vault items"
+ "message": "Kasanızdaki kayıtları organize etmek için klasörler oluşturun"
},
"deleteFolderPermanently": {
"message": "Bu klasörü kalıcı olarak silmek istediğinizden emin misiniz?"
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Parola üret"
},
+ "passwordGenerated": {
+ "message": "Parola üretildi"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Kullanıcı adı üretildi"
+ },
+ "emailGenerated": {
+ "message": "E-posta üretildi"
+ },
"regeneratePassword": {
"message": "Yeni parola oluştur"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Uzunluk"
},
- "uppercase": {
- "message": "Büyük harf (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Küçük harf (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Rakamlar (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Özel karakterler (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Dahil et",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Özel karakterleri dahil et",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Kelime sayısı"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Web tarayıcınız panoya kopyalamayı desteklemiyor. Parolayı elle kopyalayın."
},
- "verifyIdentity": {
- "message": "Kimliği doğrula"
+ "verifyYourIdentity": {
+ "message": "Kimliğinizi doğrulayın"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Bu cihazı tanıyamadık. Kimliğinizi doğrulamak için e-postanıza gönderilen kodu girin."
+ },
+ "continueLoggingIn": {
+ "message": "Giriş yapmaya devam et"
},
"yourVaultIsLocked": {
"message": "Kasanız kilitli. Devam etmek için kimliğinizi doğrulayın."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Bitwarden'a giriş yapın"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "E-posta adresinize gönderilen kodu girin"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Kimlik doğrulama uygulamanızdaki kodu girin"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Kaydı yeniden başlat"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Hayır"
},
+ "location": {
+ "message": "Konum"
+ },
"unexpectedError": {
"message": "Beklenmedik bir hata oluştu."
},
@@ -978,7 +1010,7 @@
"message": "Hesap eklemeyi öner"
},
"vaultSaveOptionsTitle": {
- "message": "Kasa seçeneklerine kaydet"
+ "message": "Kasaya kaydetme seçenekleri"
},
"addLoginNotificationDesc": {
"message": "\"Hesap ekle\" bildirimi, ilk kez kullandığınız hesap bilgilerini kasanıza kaydetmek isteyip istemediğinizi otomatik olarak sorar."
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Kasanızda bulunmayan kayıtların eklenmesini isteyip istemediğinizi sorar. Oturum açmış tüm hesaplar için geçerlidir."
},
- "showCardsInVaultView": {
- "message": "Kasa görünümünde kartları otomatik doldurma önerisi olarak göster"
+ "showCardsInVaultViewV2": {
+ "message": "Kasa görünümünde kartları her zaman otomatik doldurma önerisi olarak göster"
},
"showCardsCurrentTab": {
"message": "Sekme sayfasında kartları göster"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Kolay otomatik doldurma için sekme sayfasında kartları listele."
},
- "showIdentitiesInVaultView": {
- "message": "Kasa görünümünde kimlikleri otomatik doldurma önerisi olarak göster"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Kasa görünümünde kimlikleri her zaman otomatik doldurma önerisi olarak göster"
},
"showIdentitiesCurrentTab": {
"message": "Sekme sayfasında kimlikleri göster"
@@ -1005,7 +1037,10 @@
"message": "Kolay otomatik doldurma için sekme sayfasında kimlikleri listele."
},
"clickToAutofillOnVault": {
- "message": "Kasa görünümünde otomatik doldurmak istediğiniz kayıtlara tıklayın"
+ "message": "Kasa görünümünde kayıtlara tıklayınca otomatik doldur"
+ },
+ "clickToAutofill": {
+ "message": "Otomatik doldurma önerisindeki kayıtlara tıkladığımda doldur"
},
"clearClipboard": {
"message": "Panoyu temizle",
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Kaydet"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ Bitwarden'a kaydedildi.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ Bitwarden'da güncellendi.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Yeni hesap olarak kaydet",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Hesabı güncelle",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Hesap kaydedilsin mi?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Mevcut hesap güncellensin mi?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Hesap kaydedildi",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Hesap güncellendi",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Kaydetme hatası",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Bu hesabı kaydedemedik. Bilgileri elle girmeyi deneyin.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Mevcut hesapları güncellemeyi öner"
},
@@ -1084,10 +1169,6 @@
"message": "Açık",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized koyu",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Dışa aktarılacak konum"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Premium satın al"
},
- "premiumPurchaseAlert": {
- "message": "Premium üyeliği bitwarden.com web kasası üzerinden satın alabilirsiniz. Şimdi siteye gitmek ister misiniz?"
- },
"premiumPurchaseAlertV2": {
"message": "Bitwarden web uygulamasındaki hesap ayarlarınızdan Premium abonelik satın alabilirsiniz."
},
@@ -1275,7 +1353,7 @@
"message": "Bitwarden'ı desteklediğiniz için teşekkür ederiz."
},
"premiumFeatures": {
- "message": "Premium'a yükseltin ve şunları alın:"
+ "message": "Premium'a geçmenin avantajları:"
},
"premiumPrice": {
"message": "Bunların hepsi sadece yılda $PRICE$!",
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Beni hatırla"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Doğrulama kodunu yeniden gönder"
},
"useAnotherTwoStepMethod": {
"message": "Başka bir iki aşamalı giriş yöntemini kullan"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "YubiKey'i bilgisayarınızın USB portuna takın, ardından düğmesine dokunun."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Yeni sekme aç"
},
+ "openInNewTab": {
+ "message": "Yeni sekmede aç"
+ },
"webAuthnAuthenticate": {
"message": "WebAutn ile doğrula"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Giriş yapılamıyor"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "İki aşamalı giriş seçenekleri"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "İki aşamalı doğrulama sağlayıcılarınıza ulaşamıyor musunuz? Kurtarma kodunuzu kullanarak hesabınızdaki tüm iki aşamalı giriş sağlayıcılarını devre dışı bırakabilirsiniz."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Şirket içinde barındırılan ortam"
},
- "selfHostedEnvironmentFooter": {
- "message": "Kurum içinde barındırılan Bitwarden kurulumunuzun taban URL'sini belirtin."
- },
"selfHostedBaseUrlHint": {
"message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Özel ortam"
},
- "customEnvironmentFooter": {
- "message": "İleri düzey kullanıcılar için. Her hizmetin taban URL'sini bağımsız olarak belirleyebilirsiniz."
- },
"baseUrl": {
"message": "Sunucu URL'si"
},
@@ -1466,7 +1560,7 @@
"description": "Represents the message for allowing the user to enable the autofill overlay"
},
"autofillSuggestionsSectionTitle": {
- "message": "Önerileri otomatik doldur"
+ "message": "Otomatik doldurma önerileri"
},
"showInlineMenuLabel": {
"message": "Form alanlarında otomatik doldurma önerilerini göster"
@@ -1502,13 +1596,13 @@
"description": "Overlay appearance select option for showing the field on click of the overlay icon"
},
"enableAutoFillOnPageLoadSectionTitle": {
- "message": "Sayfa yüklendiğinde otomatik doldur"
+ "message": "Sayfa yüklenince otomatik doldur"
},
"enableAutoFillOnPageLoad": {
- "message": "Sayfa yüklendiğinde otomatik doldur"
+ "message": "Sayfa yüklenince otomatik doldur"
},
"enableAutoFillOnPageLoadDesc": {
- "message": "Sayfa yüklendiğinde giriş formu tespit edilirse otomatik olarak formu doldur."
+ "message": "Sayfa yüklenince giriş formu tespit edilirse otomatik olarak formu doldur."
},
"experimentalFeature": {
"message": "Ele geçirilmiş veya güvenilmeyen web siteleri sayfa yüklenirken otomatik doldurmayı suistimal edebilir."
@@ -1523,19 +1617,19 @@
"message": "Hesaplar için varsayılan otomatik doldurma ayarı"
},
"defaultAutoFillOnPageLoadDesc": {
- "message": "\"Sayfa yüklendiğinde otomatik doldur\"u her hesabın \"Düzenle\" görünümünden ayrı ayrı kapatabilirsiniz."
+ "message": "\"Sayfa yüklenince otomatik doldur\"u her hesabın \"Düzenle\" görünümünden ayrı ayrı kapatabilirsiniz."
},
"itemAutoFillOnPageLoad": {
- "message": "Sayfa yüklendiğinde otomatik doldur (Seçeneklerde ayarlanmışsa)"
+ "message": "Sayfa yüklenince otomatik doldur (Seçeneklerde ayarlanmışsa)"
},
"autoFillOnPageLoadUseDefault": {
"message": "Varsayılan ayarı kullan"
},
"autoFillOnPageLoadYes": {
- "message": "Sayfa yüklendiğinde otomatik doldur"
+ "message": "Sayfa yüklenince otomatik doldur"
},
"autoFillOnPageLoadNo": {
- "message": "Sayfa yüklendiğinde otomatik doldurma"
+ "message": "Sayfa yüklenince otomatik doldurma"
},
"commandOpenPopup": {
"message": "Kasayı açılır pencerede aç"
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Sıralamak için sürükleyin"
},
+ "dragToReorder": {
+ "message": "Sıralamak için sürükleyin"
+ },
"cfTypeText": {
"message": "Metin"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Kullanıcı adı üreteci"
},
+ "useThisEmail": {
+ "message": "Bu e-postayı kullan"
+ },
"useThisPassword": {
"message": "Bu parolayı kullan"
},
@@ -2063,12 +2163,24 @@
"message": "üreteci kullanabilirsiniz",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Kasa kişiselleştirme"
+ },
"vaultTimeoutAction": {
"message": "Kasa zaman aşımı eylemi"
},
"vaultTimeoutAction1": {
"message": "Zaman aşımı eylemi"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Yeni özelleştirme seçenekleri"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Kilitle",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Alan adları",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Engellenen alan adları"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Engellenmiş alan adları hakkında bilgi alın"
+ },
"excludedDomains": {
"message": "Hariç tutulan alan adları"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden, oturum açmış tüm hesaplar için bu alan adlarının hesap bilgilerini kaydetmeyi sormayacaktır. Değişikliklerin etkili olması için sayfayı yenilemeniz gerekir."
},
+ "blockedDomainsDesc": {
+ "message": "Bu siteler için otomatik doldurma ve diğer ilgili özellikler önerilmeyecektir. Değişikliklerin devreye girmesi için sayfayı yenilemelisiniz."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Bu sitede otomatik doldurma engellenmiş."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Bunu ayarlardan değiştirebilirsiniz"
+ },
+ "change": {
+ "message": "Değiştir"
+ },
+ "changeButtonTitle": {
+ "message": "Parolayı değiştir - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Riskli parolalar"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Otomatik doldurmayı etkinleştir"
+ },
+ "turnedOnAutofill": {
+ "message": "Otomatik doldurma etkinleştirildi"
+ },
+ "dismiss": {
+ "message": "Kapat"
+ },
"websiteItemLabel": {
"message": "Web sitesi $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Engelli alan adı değişiklikleri kaydedildi"
+ },
"excludedDomainsSavedSuccess": {
"message": "Alan adı istisnası değişiklikleri kaydedildi"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Hata"
},
+ "decryptionError": {
+ "message": "Şifre çözme sorunu"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Kullanıcı adı oluştur"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Unable to obtain $SERVICENAME$ masked email account ID.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Ayarlar düzenlendi"
- },
- "environmentEditedClick": {
- "message": "Buraya tıklayarak"
- },
- "environmentEditedReset": {
- "message": "ön tanımlı ayarları sıfırlayabilirsiniz"
- },
"serverVersion": {
"message": "Sunucu sürümü"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Ana parola ile giriş yap"
},
- "loggingInAs": {
- "message": "Giriş yapılan kullanıcı:"
- },
- "notYou": {
- "message": "Siz değil misiniz?"
- },
"newAroundHere": {
"message": "Buralarda yeni misiniz?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Cihazla giriş yap"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Cihazla girişi Bitwarden mobil uygulamasının ayarlarından etkinleştirmelisiniz. Başka bir seçeneğe mi ihtiyacınız var?"
- },
"fingerprintPhraseHeader": {
"message": "Parmak izi ifadesi"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Tüm giriş seçeneklerini gör"
},
- "viewAllLoginOptionsV1": {
- "message": "Tüm giriş seçeneklerini gör"
- },
"notificationSentDevice": {
"message": "Cihazınıza bir bildirim gönderildi."
},
+ "notificationSentDevicePart1": {
+ "message": "Bitwarden kilidini cihazınızdan veya"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web uygulamasından açın"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Onay vermeden önce parmak izi ifadesinin aşağıdakiyle eşleştiğini kontrol edin."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Cihazınıza bir bildirim gönderildi"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Lütfen hesabınızın kilidinin açık olduğundan ve parmak izi ifadesinin diğer cihazla eşleştiğinden emin olun"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "İsteğiniz onaylanınca size haber vereceğiz"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Giriş başlatıldı"
},
+ "logInRequestSent": {
+ "message": "İstek gönderildi"
+ },
"exposedMasterPassword": {
"message": "Açığa Çıkmış Ana Parola"
},
@@ -3122,7 +3381,7 @@
}
},
"autofillPageLoadPolicyActivated": {
- "message": "Kuruluş ilkeleriniz, sayfa yüklendiğinde otomatik doldurmayı etkinleştirdi."
+ "message": "Kuruluş ilkeleriniz, sayfa yüklenince otomatik doldurmayı etkinleştirdi."
},
"howToAutofill": {
"message": "Otomatik doldurma nasıl yapılır?"
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Yönetici onayı iste"
},
- "approveWithMasterPassword": {
- "message": "Ana parola ile onayla"
- },
"ssoIdentifierRequired": {
"message": "Kuruluş SSO tanımlayıcısı gereklidir."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "İsteğiniz yöneticinize gönderildi."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Onaylandıktan sonra bilgilendirileceksiniz."
- },
"troubleLoggingIn": {
"message": "Giriş yaparken sorun mu yaşıyorsunuz?"
},
@@ -3396,47 +3649,15 @@
"message": "Daraltmayı aç/kapat",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Verileriniz Bitwarden'a aktarılsın mı?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "LastPass verileriniz korunsun ve Bitwarden'a aktarılsın mı?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Şifrelenmemiş dosya olarak kaydet",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Bitwarden'a aktar",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "İçe aktarılıyor...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Veriler başarıyla içe aktarıldı!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "İçe aktarma hatası. Ayrıntılar için konsolu kontrol edin.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "İçe aktarma sırasında ağ hatasıyla karşılaşıldı.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Alias alan adı"
},
"passwordRepromptDisabledAutofillOnPageLoad": {
- "message": "Ana parolayı yeniden isteyen kayıtlar sayfa yüklendiğinde otomatik olarak doldurulamaz. Sayfa yüklendiğinde otomatik doldurma kapatıldı.",
+ "message": "Ana parolayı yeniden isteyen kayıtlar sayfa yüklenince otomatik olarak doldurulamaz. Sayfa yüklenince otomatik doldurma kapatıldı.",
"description": "Toast message for describing that master password re-prompt cannot be autofilled on page load."
},
"autofillOnPageLoadSetToDefault": {
- "message": "Sayfa yüklendiğinde otomatik doldurma, varsayılan ayarı kullanacak şekilde ayarlandı.",
+ "message": "Sayfa yüklenince otomatik doldurma, varsayılan ayarı kullanacak şekilde ayarlandı.",
"description": "Toast message for informing the user that autofill on page load has been set to the default setting."
},
"turnOffMasterPasswordPromptToEditField": {
@@ -3711,7 +3932,7 @@
"message": "Geçiş anahtarı"
},
"accessing": {
- "message": "Erişim"
+ "message": "Erişilen konum:"
},
"loggedInExclamation": {
"message": "Giriş yapıldı!"
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Aktif hesap"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden hesabı"
+ },
"availableAccounts": {
"message": "Mevcut hesaplar"
},
@@ -3979,7 +4203,10 @@
"message": "Geçiş anahtarı kaldırıldı"
},
"autofillSuggestions": {
- "message": "Önerileri otomatik doldur"
+ "message": "Otomatik doldurma önerileri"
+ },
+ "itemSuggestions": {
+ "message": "Önerilen kayıtlar"
},
"autofillSuggestionsTip": {
"message": "Otomatik doldurma için bu siteye ait bir hesap kaydededin"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Kopyala: $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Kopyalanacak değer yok"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Kayıt adı"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Kuruluş pasifleştirilmiş"
},
@@ -4304,7 +4536,7 @@
}
},
"autoFillOnPageLoad": {
- "message": "Sayfa yüklendiğinde otomatik doldur"
+ "message": "Sayfa yüklenince otomatik doldur"
},
"cardExpiredTitle": {
"message": "Kartın süresi dolmuş"
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Hiçbir şey seçmediniz."
},
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Kayıtlar $ORGNAME$ kuruluşuna taşındı",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Metin Send'leri"
},
- "bitwardenNewLook": {
- "message": "Bitwarden'ın tasarımı güncellendi!"
- },
- "bitwardenNewLookDesc": {
- "message": "Otomatik doldurma ve kasanızda arama yapma artık eskisinden daha kolay. Yeni tasarıma göz atmayı unutmayın!"
- },
"accountActions": {
"message": "Hesap işlemleri"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Bu kaydı düzenleme yetkisine sahip değilsiniz"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Kimlik doğrulanıyor"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Ekstra geniş"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Girdiğiniz parola yanlış."
+ },
+ "importSshKey": {
+ "message": "İçe aktar"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Parolayı onaylayın"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "SSH anahtarının parolasını girin."
+ },
+ "enterSshKeyPassword": {
+ "message": "Parolayı girin"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Lütfen masaüstü uygulamanızı güncelleyin"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/uk/messages.json b/apps/browser/src/_locales/uk/messages.json
index 8e20bc56ff5..d18d90babff 100644
--- a/apps/browser/src/_locales/uk/messages.json
+++ b/apps/browser/src/_locales/uk/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Підказка для головного пароля (необов'язково)"
},
+ "passwordStrengthScore": {
+ "message": "Рейтинг надійності пароля $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Приєднатися до організації"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Копіювати нотатки"
},
+ "copy": {
+ "message": "Копіювати",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Заповнити",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Введіть адресу е-пошти свого облікового запису і вам буде надіслано підказку для пароля"
},
- "passwordHint": {
- "message": "Підказка для пароля"
- },
- "enterEmailToGetHint": {
- "message": "Введіть свою адресу е-пошти, щоб отримати підказку для головного пароля."
- },
"getMasterPasswordHint": {
"message": "Отримати підказку для головного пароля"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Редагування"
},
+ "editFolderWithName": {
+ "message": "Редагувати теку: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Нова тека"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Генерувати парольну фразу"
},
+ "passwordGenerated": {
+ "message": "Пароль згенеровано"
+ },
+ "passphraseGenerated": {
+ "message": "Парольну фразу згенеровано"
+ },
+ "usernameGenerated": {
+ "message": "Ім'я користувача згенеровано"
+ },
+ "emailGenerated": {
+ "message": "Адресу е-пошти згенеровано"
+ },
"regeneratePassword": {
"message": "Генерувати новий"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Довжина"
},
- "uppercase": {
- "message": "Верхній регістр (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Нижній регістр (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Числа (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Спеціальні символи (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Включити",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Спеціальні символи",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Кількість слів"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Ваш браузер не підтримує копіювання даних в буфер обміну. Скопіюйте вручну."
},
- "verifyIdentity": {
- "message": "Виконати перевірку"
+ "verifyYourIdentity": {
+ "message": "Підтвердьте свою особу"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "Ми не розпізнаємо цей пристрій. Введіть код, надісланий на вашу електронну пошту, щоб підтвердити вашу особу."
+ },
+ "continueLoggingIn": {
+ "message": "Продовжити вхід"
},
"yourVaultIsLocked": {
"message": "Ваше сховище заблоковане. Для продовження виконайте перевірку."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Увійти в Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Введіть код, надісланий вам електронною поштою"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Введіть код з програми автентифікації"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Натисніть свій YubiKey для автентифікації"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Для вашого облікового запису необхідно пройти двоетапну перевірку з Duo. Виконайте наведені нижче кроки, щоб завершити вхід."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Виконайте наведені нижче кроки, щоб завершити вхід."
+ },
"restartRegistration": {
"message": "Перезапустити реєстрацію"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Ні"
},
+ "location": {
+ "message": "Розташування"
+ },
"unexpectedError": {
"message": "Сталася неочікувана помилка."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Запитувати про додавання запису, якщо такого не знайдено у вашому сховищі. Застосовується для всіх облікових записів, до яких виконано вхід."
},
- "showCardsInVaultView": {
- "message": "Показувати картки як пропозиції автозаповнення в режимі перегляду сховища"
+ "showCardsInVaultViewV2": {
+ "message": "Завжди показувати картки як пропозиції автозаповнення в режимі перегляду сховища"
},
"showCardsCurrentTab": {
"message": "Показувати картки на вкладці"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Показувати список карток на сторінці вкладки для легкого автозаповнення."
},
- "showIdentitiesInVaultView": {
- "message": "Показувати посвідчення як пропозиції автозаповнення в режимі перегляду сховища"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Завжди показувати посвідчення як пропозиції автозаповнення в режимі перегляду сховища"
},
"showIdentitiesCurrentTab": {
"message": "Показувати посвідчення на вкладці"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Натисніть на запис у режимі перегляду сховища для автозаповнення"
},
+ "clickToAutofill": {
+ "message": "Натисніть запис у пропозиціях для автозаповнення"
+ },
"clearClipboard": {
"message": "Очистити буфер обміну",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Зберегти"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ збережено до Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ оновлено у Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Зберегти як новий запис",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Оновити запис",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Зберегти запис?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Оновити наявний запис?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Запис збережено",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Запис оновлено",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Помилка збереження",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "На жаль, не вдається зберегти. Введіть дані вручну.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Запитувати про оновлення запису"
},
@@ -1084,10 +1169,6 @@
"message": "Світла",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized темна",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Експортувати з"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Придбати преміум"
},
- "premiumPurchaseAlert": {
- "message": "Ви можете передплатити преміум у сховищі на bitwarden.com. Хочете перейти на вебсайт зараз?"
- },
"premiumPurchaseAlertV2": {
"message": "Ви можете придбати Преміум у налаштуваннях облікового запису вебпрограмі Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Запам'ятати мене"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Більше не запитувати на цьому пристрої протягом 30 днів"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Надіслати код підтвердження ще раз"
},
"useAnotherTwoStepMethod": {
"message": "Інший спосіб двоетапної перевірки"
},
+ "selectAnotherMethod": {
+ "message": "Обрати інший спосіб",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Скористайтеся своїм кодом відновлення"
+ },
"insertYubiKey": {
"message": "Вставте свій YubiKey в USB порт комп'ютера, потім торкніться цієї кнопки."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Відкрити нову вкладку"
},
+ "openInNewTab": {
+ "message": "Відкрити в новій вкладці"
+ },
"webAuthnAuthenticate": {
"message": "Автентифікація WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Зчитати ключ безпеки"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Очікується взаємодія з ключем безпеки..."
+ },
"loginUnavailable": {
"message": "Вхід недоступний"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Налаштування двоетапної перевірки"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Виберіть спосіб двоетапної перевірки"
+ },
"recoveryCodeDesc": {
"message": "Втратили доступ до всіх провайдерів двоетапної перевірки? Скористайтеся кодом відновлення, щоб вимкнути двоетапну перевірку для свого облікового запису."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Середовище власного хостингу"
},
- "selfHostedEnvironmentFooter": {
- "message": "Вкажіть основну URL-адресу вашого встановлення Bitwarden на власному хостингу."
- },
"selfHostedBaseUrlHint": {
"message": "Вкажіть основну URL-адресу вашого встановлення Bitwarden на власному хостингу. Зразок: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Власне середовище"
},
- "customEnvironmentFooter": {
- "message": "Для досвідчених користувачів. Ви можете вказати основну URL-адресу окремо для кожної служби."
- },
"baseUrl": {
"message": "URL-адреса сервера"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Перетягніть, щоб відсортувати"
},
+ "dragToReorder": {
+ "message": "Потягніть, щоб упорядкувати"
+ },
"cfTypeText": {
"message": "Текст"
},
@@ -1603,10 +1700,10 @@
"message": "Показувати піктограми вебсайтів"
},
"faviconDesc": {
- "message": "Показувати впізнаване зображення біля кожного запису."
+ "message": "Показувати зображення біля кожного запису."
},
"faviconDescAlt": {
- "message": "Показати впізнаване зображення поруч з кожним записом. Застосовується для всіх облікових записів, до яких виконано вхід."
+ "message": "Показувати зображення поруч з кожним записом. Застосовується для всіх облікових записів, до яких виконано вхід."
},
"enableBadgeCounter": {
"message": "Показувати лічильник"
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Генератор імені користувача"
},
+ "useThisEmail": {
+ "message": "Використати цю е-пошту"
+ },
"useThisPassword": {
"message": "Використати цей пароль"
},
@@ -2063,12 +2163,24 @@
"message": "для створення надійного, унікального пароля",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Налаштування сховища"
+ },
"vaultTimeoutAction": {
"message": "Дія після часу очікування сховища"
},
"vaultTimeoutAction1": {
"message": "Дія після часу очікування"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "Нові можливості налаштування"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Налаштуйте своє сховище за допомогою швидких дій копіювання, компактного режиму та інших можливостей!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "Всі налаштування подання"
+ },
"lock": {
"message": "Блокувати",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Домени",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Заблоковані домени"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Докладніше про заблоковані домени"
+ },
"excludedDomains": {
"message": "Виключені домени"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden не запитуватиме про збереження даних входу для цих доменів для всіх облікових записів, до яких виконано вхід. Потрібно оновити сторінку для застосування змін."
},
+ "blockedDomainsDesc": {
+ "message": "Автозаповнення та інші пов'язані функції не пропонуватимуться для цих вебсайтів. Вам слід оновити сторінку для застосування змін."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Автозаповнення для цього вебсайту заблоковано."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Змінити в налаштуваннях"
+ },
+ "change": {
+ "message": "Змінити"
+ },
+ "changeButtonTitle": {
+ "message": "Змінити пароль – $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "Ризиковані паролі"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ вимагає зміни один пароль, оскільки він ризикований.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ вимагає зміни $COUNT$ паролів, оскільки вони ризиковані.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Ваші організації вимагають зміни $COUNT$ паролів, оскільки вони ризиковані.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Перегляньте і змініть один ризикований пароль"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Перегляньте і змініть $COUNT$ ризикованих паролів",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Швидше змінюйте ризиковані паролі"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Оновіть налаштування, щоб швидше автоматично заповнювати й створювати паролі"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Переглянути записи з ризиком"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Переглянути ризиковані паролі"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Паролі вашої організації ризиковані, оскільки вони ненадійні, повторно використовуються, та/або викриті.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Ілюстрація списку ризикованих записів"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Швидко згенеруйте надійний, унікальний пароль через меню автозаповнення Bitwarden на сайті з ризикованим паролем.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Ілюстрація меню автозаповнення Bitwarden, що показує згенерований пароль"
+ },
+ "updateInBitwarden": {
+ "message": "Оновити в Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Потім Bitwarden запропонує вам оновити пароль у менеджері паролів.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Ілюстрація сповіщення Bitwarden, що спонукає користувача оновити пароль"
+ },
+ "turnOnAutofill": {
+ "message": "Увімкніть автозаповнення"
+ },
+ "turnedOnAutofill": {
+ "message": "Автозаповнення увімкнено"
+ },
+ "dismiss": {
+ "message": "Відхилити"
+ },
"websiteItemLabel": {
"message": "Вебсайт $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Зміни заблокованих доменів збережено"
+ },
"excludedDomainsSavedSuccess": {
"message": "Виняток для домену збережено"
},
@@ -2376,7 +2609,7 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendDetails": {
- "message": "Надіслати подробиці",
+ "message": "Подробиці відправлення",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendTypeText": {
@@ -2789,6 +3022,20 @@
"error": {
"message": "Помилка"
},
+ "decryptionError": {
+ "message": "Помилка розшифрування"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden не зміг розшифрувати вказані нижче елементи сховища."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Зверніться до служби підтримки клієнтів,",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "щоб уникнути втрати даних.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Генерувати ім'я користувача"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ відхилив ваш запит. Зверніться до провайдера послуг по допомогу.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ відхилив ваш запит: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Не вдалося отримати ідентифікатор замаскованої е-пошти облікового запису для $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Налаштування змінено"
- },
- "environmentEditedClick": {
- "message": "Натисніть тут,"
- },
- "environmentEditedReset": {
- "message": "щоб скинути налаштування"
- },
"serverVersion": {
"message": "Версія сервера"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Увійти з головним паролем"
},
- "loggingInAs": {
- "message": "Вхід у систему як"
- },
- "notYou": {
- "message": "Не ви?"
- },
"newAroundHere": {
"message": "Виконуєте вхід вперше?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Увійти з пристроєм"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Потрібно увімкнути схвалення запитів на вхід у налаштуваннях програми Bitwarden. Потрібен інший варіант?"
- },
"fingerprintPhraseHeader": {
"message": "Фраза відбитка"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "Переглянути всі варіанти входу"
},
- "viewAllLoginOptionsV1": {
- "message": "Переглянути всі варіанти входу"
- },
"notificationSentDevice": {
"message": "Сповіщення було надіслано на ваш пристрій."
},
+ "notificationSentDevicePart1": {
+ "message": "Розблокуйте Bitwarden на своєму пристрої або у"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "вебпрограмі"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Перш ніж підтверджувати, обов'язково перевірте відповідність зазначеної нижче фрази відбитка."
+ },
"aNotificationWasSentToYourDevice": {
"message": "Сповіщення надіслано на ваш пристрій"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Переконайтеся, що ваш обліковий запис розблоковано і фраза відбитка на іншому пристрої збігається"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "Після схвалення запиту ви отримаєте сповіщення"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Ініційовано вхід"
},
+ "logInRequestSent": {
+ "message": "Запит надіслано"
+ },
"exposedMasterPassword": {
"message": "Головний пароль викрито"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Запит підтвердження адміністратора"
},
- "approveWithMasterPassword": {
- "message": "Затвердити з головним паролем"
- },
"ssoIdentifierRequired": {
"message": "Потрібен SSO-ідентифікатор організації."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Ваш запит відправлено адміністратору."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Ви отримаєте сповіщення після затвердження."
- },
"troubleLoggingIn": {
"message": "Проблема під час входу?"
},
@@ -3396,38 +3649,6 @@
"message": "Згорнути/розгорнути",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Імпортувати ваші дані до Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Захистити ваші дані LastPass та імпортувати до Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Зберегти незашифрований файл",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Імпортувати до Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Триває імпортування...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Дані успішно імпортовано!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Помилка імпортування. Перевірте консоль для перегляду подробиць.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Під час імпортування сталася мережева помилка.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Псевдонім домену"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Активний обліковий запис"
},
+ "bitwardenAccount": {
+ "message": "Обліковий запис Bitwarden"
+ },
"availableAccounts": {
"message": "Доступні облікові записи"
},
@@ -3981,6 +4205,9 @@
"autofillSuggestions": {
"message": "Пропозиції автозаповнення"
},
+ "itemSuggestions": {
+ "message": "Запропоновані записи"
+ },
"autofillSuggestionsTip": {
"message": "Зберегти дані входу цього сайту для автозаповнення"
},
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Копіювати $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Немає значень для копіювання"
},
@@ -4078,7 +4319,7 @@
"message": "Сповіщення"
},
"appearance": {
- "message": "Вигляд"
+ "message": "Подання"
},
"errorAssigningTargetCollection": {
"message": "Помилка призначення цільової збірки."
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Назва запису"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Ви не можете вилучати збірки, маючи дозвіл лише на перегляд: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Організацію деактивовано"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Змініть порядок URI вебсайтів. Використовуйте стрілки, щоб перемістити елемент вгору чи вниз."
+ },
"reorderFieldUp": {
"message": "$LABEL$ переміщено вгору, позиція $INDEX$ з $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Ви нічого не вибрали."
},
- "movedItemsToOrg": {
- "message": "Вибрані записи переміщено до $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Записи переміщено до $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Відправлення тексту"
},
- "bitwardenNewLook": {
- "message": "Bitwarden має новий вигляд!"
- },
- "bitwardenNewLookDesc": {
- "message": "Ще простіше автозаповнення та інтуїтивніший пошук у сховищі. Ознайомтеся!"
- },
"accountActions": {
"message": "Дії з обліковим записом"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "Вам не дозволено редагувати цей запис"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Біометричне розблокування недоступне, оскільки спочатку потрібно ввести PIN-код або пароль."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Біометричне розблокування наразі недоступне."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Біометричне розблокування недоступне через неправильно налаштовані системні файли."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Біометричне розблокування недоступне через неправильно налаштовані системні файли."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Біометричне розблокування недоступне, оскільки програму Bitwarden для комп'ютера закрито."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Біометричне розблокування недоступне, оскільки воно не увімкнене для $EMAIL$ у програмі Bitwarden для комп'ютера.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Біометричне розблокування зараз недоступне з невідомої причини."
+ },
"authenticating": {
"message": "Аутентифікація"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Дуже широке"
+ },
+ "sshKeyWrongPassword": {
+ "message": "Ви ввели неправильний пароль."
+ },
+ "importSshKey": {
+ "message": "Імпорт"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Підтвердити пароль"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Введіть пароль для ключа SSH."
+ },
+ "enterSshKeyPassword": {
+ "message": "Введіть пароль"
+ },
+ "invalidSshKey": {
+ "message": "Ключ SSH недійсний"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "Тип ключа SSH не підтримується"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Імпортувати ключ із буфера обміну"
+ },
+ "sshKeyImported": {
+ "message": "Ключ SSH успішно імпортовано"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Ви не можете вилучати збірки, маючи дозвіл лише на перегляд: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Оновіть свою комп'ютерну програму"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "Щоб використовувати біометричне розблокування, оновіть комп'ютерну програму, або вимкніть розблокування відбитком пальця в налаштуваннях системи."
+ },
+ "changeAtRiskPassword": {
+ "message": "Змінити ризикований пароль"
}
}
diff --git a/apps/browser/src/_locales/vi/messages.json b/apps/browser/src/_locales/vi/messages.json
index 268b12a6254..db0da3b5874 100644
--- a/apps/browser/src/_locales/vi/messages.json
+++ b/apps/browser/src/_locales/vi/messages.json
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "Gợi ý mật khẩu chính (tùy chọn)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "Tham gia tổ chức"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "Copy notes"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "Fill",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "Enter your account email address and your password hint will be sent to you"
},
- "passwordHint": {
- "message": "Gợi ý mật khẩu"
- },
- "enterEmailToGetHint": {
- "message": "Nhập địa chỉ email tài khoản của bạn để nhận gợi ý mật khẩu chính."
- },
"getMasterPasswordHint": {
"message": "Nhận gợi ý mật khẩu chính"
},
@@ -372,6 +379,15 @@
"editFolder": {
"message": "Chỉnh sửa thư mục"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "Thư mục mới"
},
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "Generate passphrase"
},
+ "passwordGenerated": {
+ "message": "Password generated"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
+ },
"regeneratePassword": {
"message": "Tạo lại mật khẩu"
},
@@ -454,22 +482,6 @@
"length": {
"message": "Độ dài"
},
- "uppercase": {
- "message": "Chữ in hoa (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "Chữ in thường (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "Chữ số (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "Ký tự đặc biệt (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "Bao gồm",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "Bao gồm các ký tự đặc biệt",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "Số từ"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "Trình duyệt web của bạn không hỗ trợ dễ dàng sao chép bộ nhớ tạm. Bạn có thể sao chép nó theo cách thủ công để thay thế."
},
- "verifyIdentity": {
- "message": "Xác minh danh tính"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "We don't recognize this device. Enter the code sent to your email to verify your identity."
+ },
+ "continueLoggingIn": {
+ "message": "Continue logging in"
},
"yourVaultIsLocked": {
"message": "Kho của bạn đã bị khóa. Xác minh danh tính của bạn để mở khoá."
@@ -854,6 +868,21 @@
"logInToBitwarden": {
"message": "Log in to Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
+ },
"restartRegistration": {
"message": "Tiến hành đăng ký lại"
},
@@ -875,6 +904,9 @@
"no": {
"message": "Không"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "Một lỗi bất ngờ đã xảy ra."
},
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "Đưa ra lựa chọn để thêm một mục nếu không tìm thấy mục đó trong hòm của bạn. Áp dụng với mọi tài khoản đăng nhập trên thiết bị."
},
- "showCardsInVaultView": {
- "message": "Hiển thị các thẻ như các gợi ý tự động điền trên giao diện kho"
+ "showCardsInVaultViewV2": {
+ "message": "Always show cards as Autofill suggestions on Vault view"
},
"showCardsCurrentTab": {
"message": "Hiển thị thẻ trên trang Tab"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "Liệt kê các mục thẻ trên trang Tab để dễ dàng tự động điền."
},
- "showIdentitiesInVaultView": {
- "message": "Hiển thị các danh tính như các gợi ý tự động điền trên giao diện kho"
+ "showIdentitiesInVaultViewV2": {
+ "message": "Always show identities as Autofill suggestions on Vault view"
},
"showIdentitiesCurrentTab": {
"message": "Hiển thị danh tính trên trang Tab"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "Click items to autofill on Vault view"
},
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
+ },
"clearClipboard": {
"message": "Dọn dẹp khay nhớ tạm",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "Lưu"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "Hỏi để cập nhật đăng nhập hiện có"
},
@@ -1084,10 +1169,6 @@
"message": "Sáng",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized Dark",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "Xuất từ"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "Mua bản Cao Cấp"
},
- "premiumPurchaseAlert": {
- "message": "Bạn có thể nâng cấp làm thành viên cao cấp trong kho bitwarden nền web. Bạn có muốn truy cập trang web bây giờ?"
- },
"premiumPurchaseAlertV2": {
"message": "Bạn có thể mua gói Premium từ cài đặt tài khoản trên trang Bitwarden."
},
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "Ghi nhớ đăng nhập"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "Gửi lại email chứa mã xác nhận"
},
"useAnotherTwoStepMethod": {
"message": "Sử dụng phương pháp đăng nhập 2 bước khác"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "Lắp YubiKey vào cổng USB máy tính của bạn, sau đó chạm vào nút trên nó."
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "Mở thẻ mới"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "Xác thực WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "Đăng nhập không có sẵn"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "Tùy chọn xác thực hai lớp"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "Bạn mất quyền truy cập vào tất cả các dịch vụ xác thực 2 lớp? Sử dụng mã phục hồi của bạn để vô hiệu hóa tất cả các dịch vụ xác thực hai lớp trong tài khoản của bạn."
},
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "Môi trường tự lưu trữ"
},
- "selfHostedEnvironmentFooter": {
- "message": "Chỉ định liên kết cơ bản của cài đặt bitwarden tại chỗ của bạn."
- },
"selfHostedBaseUrlHint": {
"message": "Nhập địa chỉ cơ sở của bản cài đặt Bitwarden được lưu trữ tại máy chủ của bạn. Ví dụ: https://bitwarden.company.com"
},
@@ -1433,9 +1530,6 @@
"customEnvironment": {
"message": "Môi trường tùy chỉnh"
},
- "customEnvironmentFooter": {
- "message": "Đối với người dùng nâng cao. Bạn có thể chỉ định URL cơ bản của mỗi dịch vụ một cách độc lập."
- },
"baseUrl": {
"message": "URL máy chủ"
},
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "Kéo để sắp xếp"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "Văn bản"
},
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "Bộ tạo tên người dùng"
},
+ "useThisEmail": {
+ "message": "Use this email"
+ },
"useThisPassword": {
"message": "Use this password"
},
@@ -2063,12 +2163,24 @@
"message": "to create a strong unique password",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "Hành động khi hết thời gian chờ của kho lưu trữ"
},
"vaultTimeoutAction1": {
"message": "Timeout action"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "Khóa",
"description": "Verb form: to make secure or inaccessible by"
@@ -2324,6 +2436,12 @@
"message": "Các tên miền",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "Blocked domains"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "Tên miền đã loại trừ"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "Bitwarden sẽ không yêu cầu lưu thông tin đăng nhập cho các miền này. Bạn phải làm mới trang để các thay đổi có hiệu lực."
},
+ "blockedDomainsDesc": {
+ "message": "Autofill and other related features will not be offered for these websites. You must refresh the page for changes to take effect."
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "Autofill is blocked for this website."
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "Change this in settings"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "Trang Web $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "Blocked domain changes saved"
+ },
"excludedDomainsSavedSuccess": {
"message": "Các thay đổi tên miền loại trừ đã được lưu"
},
@@ -2789,6 +3022,20 @@
"error": {
"message": "Lỗi"
},
+ "decryptionError": {
+ "message": "Decryption error"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden could not decrypt the vault item(s) listed below."
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "Contact customer success",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "to avoid additional data loss.",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "Tạo tên người dùng"
},
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "Không thể lấy ID tài khoản email ẩn từ $SERVICENAME$.",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "Cài đặt đã được chỉnh sửa"
- },
- "environmentEditedClick": {
- "message": "Nhấn vào đây"
- },
- "environmentEditedReset": {
- "message": "để đặt lại cài đặt đã thiết đặt từ trước"
- },
"serverVersion": {
"message": "Phiên bản máy chủ"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "Đăng nhập bằng mật khẩu chính"
},
- "loggingInAs": {
- "message": "Đang đăng nhập với tên"
- },
- "notYou": {
- "message": "Không phải bạn?"
- },
"newAroundHere": {
"message": "Bạn mới tới đây sao?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "Đăng nhập bằng thiết bị"
},
- "loginWithDeviceEnabledInfo": {
- "message": "Đăng nhập bằng thiết bị phải được thiết lập trong cài đặt của ứng dụng Bitwarden. Dùng cách khác?"
- },
"fingerprintPhraseHeader": {
"message": "Cụm vân tay"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "View all log in options"
},
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
- },
"notificationSentDevice": {
"message": "Một thông báo đã được gửi đến thiết bị của bạn."
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "web app"
+ },
+ "notificationSentDevicePart2": {
+ "message": "Make sure the Fingerprint phrase matches the one below before approving."
+ },
"aNotificationWasSentToYourDevice": {
"message": "A notification was sent to your device"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "You will be notified once the request is approved"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "Bắt đầu đăng nhập"
},
+ "logInRequestSent": {
+ "message": "Request sent"
+ },
"exposedMasterPassword": {
"message": "Mật khẩu chính bị lộ"
},
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "Yêu cầu quản trị viên phê duyệt"
},
- "approveWithMasterPassword": {
- "message": "Phê duyệt bằng mật khẩu chính"
- },
"ssoIdentifierRequired": {
"message": "Cần có mã định danh SSO của tổ chức."
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "Yêu cầu của bạn đã được gửi đến quản trị viên."
},
- "youWillBeNotifiedOnceApproved": {
- "message": "Bạn sẽ có thông báo nếu được phê duyệt."
- },
"troubleLoggingIn": {
"message": "Không thể đăng nhập?"
},
@@ -3396,38 +3649,6 @@
"message": "Bật/tắt thu gọn",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "Nhập dữ liệu của bạn vào Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "Bảo vệ dữ liệu LastPass của bạn và nhập vào Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "Lưu dưới dạng tập tin không được mã hóa",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "Nhập vào Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "Đang nhập...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "Dữ liệu đã được nhập thành công!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "Xảy ra lỗi trong quá trình nhập. Kiểm tra bảng điều khiển để biết thêm chi tiết.",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "Đã xảy ra lỗi mạng trong quá trình nhập dữ liệu.",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "Tên miền thay thế"
},
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "Tài khoản đang hoạt động"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "Các tài khoản khả dụng"
},
@@ -3979,7 +4203,10 @@
"message": "Đã xóa mã khoá"
},
"autofillSuggestions": {
- "message": "Gợi ý điền tự động"
+ "message": "Autofill suggestions"
+ },
+ "itemSuggestions": {
+ "message": "Suggested items"
},
"autofillSuggestionsTip": {
"message": "Lưu thông tin đăng nhập cho trang này để tự động điền"
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "Không có giá trị để sao chép"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "Tên mục"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "Bạn không thể xóa các bộ sưu tập với quyền chỉ xem: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "Tổ chức không còn hoạt động"
},
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
"message": "$LABEL$ đã di chuyển lên vị trí $INDEX$ / $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "Bạn chưa chọn gì."
},
- "movedItemsToOrg": {
- "message": "Đã chuyển các mục được chọn đến $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "Các mục đã được chuyển tới $ORGNAME$",
"placeholders": {
@@ -4557,12 +4783,6 @@
"textSends": {
"message": "Text Sends"
},
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
- },
"accountActions": {
"message": "Account actions"
},
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "You don't have permission to edit this item"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "Biometric unlock is unavailable because PIN or password unlock is required first."
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "Biometric unlock is currently unavailable."
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "Biometric unlock is unavailable due to misconfigured system files."
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "Biometric unlock is unavailable because the Bitwarden desktop app is closed."
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "Biometric unlock is currently unavailable for an unknown reason."
+ },
"authenticating": {
"message": "Authenticating"
},
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "Extra wide"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "Bạn không thể xóa các bộ sưu tập với quyền chỉ xem: $COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "Please update your desktop application"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings."
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/_locales/zh_CN/messages.json b/apps/browser/src/_locales/zh_CN/messages.json
index 69c1194af47..bdfaeb92531 100644
--- a/apps/browser/src/_locales/zh_CN/messages.json
+++ b/apps/browser/src/_locales/zh_CN/messages.json
@@ -7,7 +7,7 @@
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
- "message": "无论是在家里、工作中还是在外出时,Bitwarden 都可以轻松地保护您的所有密码、通行密钥和敏感信息。",
+ "message": "无论是在家中、工作中还是在旅途中,Bitwarden 都可以轻松地保护您的所有密码、通行密钥和敏感信息。",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
@@ -56,7 +56,7 @@
"message": "主密码"
},
"masterPassDesc": {
- "message": "主密码是您访问密码库的唯一密码。它非常重要,请您不要忘记。一旦忘记,无任何办法恢复此密码。"
+ "message": "主密码是用于访问您的密码库的密码。不要忘记您的主密码,这一点非常重要。一旦忘记,无任何办法恢复此密码。"
},
"masterPassHintDesc": {
"message": "主密码提示可以在您忘记密码时帮您回忆起来。"
@@ -80,6 +80,15 @@
"masterPassHint": {
"message": "主密码提示(可选)"
},
+ "passwordStrengthScore": {
+ "message": "密码强度评分 $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "加入组织"
},
@@ -176,6 +185,10 @@
"copyNotes": {
"message": "复制备注"
},
+ "copy": {
+ "message": "复制",
+ "description": "Copy to clipboard"
+ },
"fill": {
"message": "填充",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "输入您的账户电子邮箱地址,您的密码提示将发送给您"
},
- "passwordHint": {
- "message": "密码提示"
- },
- "enterEmailToGetHint": {
- "message": "请输入您的账户电子邮箱地址来接收主密码提示。"
- },
"getMasterPasswordHint": {
"message": "获取主密码提示"
},
@@ -290,7 +297,7 @@
"message": "前往帮助中心吗?"
},
"continueToHelpCenterDesc": {
- "message": "访问帮助中心了解更多如何使用 Bitwarden 的信息。"
+ "message": "在帮助中心进一步了解如何使用 Bitwarden。"
},
"continueToBrowserExtensionStore": {
"message": "前往浏览器扩展商店吗?"
@@ -372,6 +379,15 @@
"editFolder": {
"message": "编辑文件夹"
},
+ "editFolderWithName": {
+ "message": "编辑文件夹:$FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "新增文件夹"
},
@@ -379,13 +395,13 @@
"message": "文件夹名称"
},
"folderHintText": {
- "message": "通过在父文件夹名后面跟随「/」来嵌套文件夹。示例:Social/Forums"
+ "message": "通过在父文件夹名后面添加「/」来嵌套文件夹。示例:Social/Forums"
},
"noFoldersAdded": {
"message": "未添加文件夹"
},
"createFoldersToOrganize": {
- "message": "创建文件夹以整理你的密码库项目"
+ "message": "创建文件夹以整理您的密码库项目"
},
"deleteFolderPermanently": {
"message": "您确定要永久删除这个文件夹吗?"
@@ -445,6 +461,18 @@
"generatePassphrase": {
"message": "生成密码短语"
},
+ "passwordGenerated": {
+ "message": "密码已生成"
+ },
+ "passphraseGenerated": {
+ "message": "密码短语已生成"
+ },
+ "usernameGenerated": {
+ "message": "用户名已生成"
+ },
+ "emailGenerated": {
+ "message": "电子邮箱已生成"
+ },
"regeneratePassword": {
"message": "重新生成密码"
},
@@ -454,22 +482,6 @@
"length": {
"message": "长度"
},
- "uppercase": {
- "message": "大写 (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "小写 (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "数字 (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "特殊字符 (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "包含",
"description": "Card header for password generator include block"
@@ -502,10 +514,6 @@
"message": "包含特殊字符",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "单词个数"
},
@@ -644,8 +652,14 @@
"browserNotSupportClipboard": {
"message": "您的浏览器不支持剪贴板简单复制,请手动复制。"
},
- "verifyIdentity": {
- "message": "验证身份"
+ "verifyYourIdentity": {
+ "message": "验证您的身份"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "我们无法识别这个设备。请输入发送到您电子邮箱中的代码以验证您的身份。"
+ },
+ "continueLoggingIn": {
+ "message": "继续登录"
},
"yourVaultIsLocked": {
"message": "您的密码库已锁定。请先验证您的身份。"
@@ -748,7 +762,7 @@
"message": "主密码提示"
},
"errorOccurred": {
- "message": "发生了一个错误"
+ "message": "发生错误"
},
"emailRequired": {
"message": "必须填写电子邮箱地址。"
@@ -834,7 +848,7 @@
"message": "Bitwarden 可以存储并填充两步验证码。选择相机图标来截取此网站的验证器二维码,或者手动复制并粘贴密钥到此字段。"
},
"learnMoreAboutAuthenticators": {
- "message": "了解更多关于验证器的信息"
+ "message": "进一步了解验证器"
},
"copyTOTP": {
"message": "复制验证器密钥 (TOTP)"
@@ -854,14 +868,29 @@
"logInToBitwarden": {
"message": "登录到 Bitwarden"
},
+ "enterTheCodeSentToYourEmail": {
+ "message": "输入发送到您的电子邮箱的代码"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "输入来自您的验证器 App 的代码"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "按下 YubiKey 以验证身份"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "您的账户要求使用 Duo 两步登录。请按照以下步骤完成登录。"
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "按照以下步骤完成登录。"
+ },
"restartRegistration": {
- "message": "重新开始注册"
+ "message": "重启注册"
},
"expiredLink": {
"message": "失效链接"
},
"pleaseRestartRegistrationOrTryLoggingIn": {
- "message": "请重新注册或尝试登录。"
+ "message": "请重启注册或尝试登录。"
},
"youMayAlreadyHaveAnAccount": {
"message": "您可能已经有一个账户了"
@@ -875,6 +904,9 @@
"no": {
"message": "否"
},
+ "location": {
+ "message": "位置"
+ },
"unexpectedError": {
"message": "发生意外错误。"
},
@@ -885,7 +917,7 @@
"message": "文件夹已添加"
},
"twoStepLoginConfirmation": {
- "message": "两步登录要求您从其他设备(例如安全钥匙、验证器 App、短信、电话或者电子邮件)来验证您的登录,这能使您的账户更加安全。两步登录需要在 bitwarden.com 网页版密码库中设置。现在访问此网站吗?"
+ "message": "两步登录要求您从其他设备(例如安全密钥、验证器 App、短信、电话或者电子邮件)来验证您的登录,这能使您的账户更加安全。两步登录需要在 bitwarden.com 网页版密码库中设置。现在访问此网站吗?"
},
"twoStepLoginConfirmationContent": {
"message": "在 Bitwarden 网页 App 中设置两步登录,让您的账户更加安全。"
@@ -971,7 +1003,7 @@
"message": "搜索类型"
},
"noneFolder": {
- "message": "无文件夹",
+ "message": "默认文件夹",
"description": "This is the folder for uncategorized items"
},
"enableAddLoginNotification": {
@@ -984,10 +1016,10 @@
"message": "在密码库中找不到匹配项目时询问添加一个。"
},
"addLoginNotificationDescAlt": {
- "message": "如果在密码库中找不到项目,询问添加一个。适用于所有已登录的账户。"
+ "message": "在密码库中找不到匹配项目时询问添加一个。适用于所有已登录的账户。"
},
- "showCardsInVaultView": {
- "message": "在密码库视图中将支付卡显示为自动填充建议"
+ "showCardsInVaultViewV2": {
+ "message": "在密码库视图中将支付卡始终显示为自动填充建议"
},
"showCardsCurrentTab": {
"message": "在标签页上显示支付卡"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "在标签页上列出支付卡项目,以便于自动填充。"
},
- "showIdentitiesInVaultView": {
- "message": "在密码库视图中将身份显示为自动填充建议"
+ "showIdentitiesInVaultViewV2": {
+ "message": "在密码库视图中将身份始终显示为自动填充建议"
},
"showIdentitiesCurrentTab": {
"message": "在标签页上显示身份"
@@ -1007,6 +1039,9 @@
"clickToAutofillOnVault": {
"message": "在密码库视图中点击项目以自动填充"
},
+ "clickToAutofill": {
+ "message": "点击自动填充建议中的项目以填充"
+ },
"clearClipboard": {
"message": "清空剪贴板",
"description": "Clipboard is the operating system thing where you copy/paste data to on your device."
@@ -1021,14 +1056,64 @@
"notificationAddSave": {
"message": "保存"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ 已保存到 Bitwarden。",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ 已在 Bitwarden 中更新。",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "保存为新的登录",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "更新登录",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "保存登录吗?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "更新现有的登录吗?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "登录已保存",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "登录已更新",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "保存时出错",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "哦不!我们无法保存它。请尝试手动输入详细信息。",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "询问更新现有的登录"
},
"changedPasswordNotificationDesc": {
- "message": "在网站上检测到更改时询问更新登录密码。"
+ "message": "在网站上检测到更改时询问更新登录的密码。"
},
"changedPasswordNotificationDescAlt": {
- "message": "当在网站上检测到更改时,询问更新登录项目的密码。适用于所有已登录的账户。"
+ "message": "在网站上检测到更改时询问更新登录的密码。适用于所有已登录的账户。"
},
"enableUsePasskeys": {
"message": "询问保存和使用通行密钥"
@@ -1084,10 +1169,6 @@
"message": "浅色",
"description": "Light color"
},
- "solarizedDark": {
- "message": "过曝暗",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "导出自"
},
@@ -1142,7 +1223,7 @@
"message": "每个 Bitwarden 用户账户的账户加密密钥都是唯一的,因此您无法将加密的导出导入到另一个账户。"
},
"exportMasterPassword": {
- "message": "输入您的主密码以导出你的密码库数据。"
+ "message": "输入您的主密码以导出您的密码库数据。"
},
"shared": {
"message": "已共享"
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "购买高级版"
},
- "premiumPurchaseAlert": {
- "message": "您可以在 bitwarden.com 网页版密码库购买高级会员。现在要访问吗?"
- },
"premiumPurchaseAlertV2": {
"message": "您可以在 Bitwarden 网页 App 的账户设置中购买高级版。"
},
@@ -1278,7 +1356,7 @@
"message": "升级到高级版并接收:"
},
"premiumPrice": {
- "message": "全部仅需 $PRICE$ /年!",
+ "message": "所有功能仅需 $PRICE$ /年!",
"placeholders": {
"price": {
"content": "$1",
@@ -1287,7 +1365,7 @@
}
},
"premiumPriceV2": {
- "message": "全部仅需 $PRICE$ 每年!",
+ "message": "所有功能仅需 $PRICE$ /年!",
"placeholders": {
"price": {
"content": "$1",
@@ -1305,7 +1383,7 @@
"message": "如果登录包含验证器密钥,当自动填充此登录时,将 TOTP 验证码复制到剪贴板。"
},
"enableAutoBiometricsPrompt": {
- "message": "启动时要求生物识别"
+ "message": "启动时提示生物识别"
},
"premiumRequired": {
"message": "需要高级会员"
@@ -1343,17 +1421,27 @@
"rememberMe": {
"message": "记住我"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "30 天内在此设备上不再询问"
+ },
"sendVerificationCodeEmailAgain": {
"message": "再次发送验证码电子邮件"
},
"useAnotherTwoStepMethod": {
"message": "使用其他两步登录方式"
},
+ "selectAnotherMethod": {
+ "message": "选择其他方式",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "使用您的恢复代码"
+ },
"insertYubiKey": {
"message": "将您的 YubiKey 插入计算机的 USB 端口,然后触摸其按钮。"
},
"insertU2f": {
- "message": "将您的安全钥匙插入计算机的 USB 端口。如果它有按钮,请触摸它。"
+ "message": "将您的安全密钥插入计算机的 USB 端口。如果它有按钮,请触摸它。"
},
"webAuthnNewTab": {
"message": "要开始 WebAuthn 2FA 验证,请点击下面的按钮打开一个新标签页,并按照新标签页中提供的说明操作。"
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "打开新标签页"
},
+ "openInNewTab": {
+ "message": "在新标签页中打开"
+ },
"webAuthnAuthenticate": {
"message": "验证 WebAuthn"
},
+ "readSecurityKey": {
+ "message": "读取安全密钥"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "等待安全密钥交互..."
+ },
"loginUnavailable": {
"message": "登录不可用"
},
@@ -1371,13 +1468,16 @@
"message": "此账户已设置两步登录,但此浏览器不支持任何已配置的两步登录提供程序。"
},
"noTwoStepProviders2": {
- "message": "请使用支持的网页浏览器(例如 Chrome)和/或添加其他支持更广泛的提供程序(例如验证器 App)。"
+ "message": "请使用受支持的网页浏览器(例如 Chrome),和/或添加其他跨网页浏览器支持更好的提供程序(例如验证器 App)。"
},
"twoStepOptions": {
"message": "两步登录选项"
},
+ "selectTwoStepLoginMethod": {
+ "message": "选择两步登录方式"
+ },
"recoveryCodeDesc": {
- "message": "无法访问您所有的双重身份提供程序吗?请使用您的恢复代码来停用您账户中所有的双重身份提供程序。"
+ "message": "无法访问您所有的双重身份提供程序吗?请使用您的恢复代码来关闭您账户中所有的双重身份提供程序。"
},
"recoveryCodeTitle": {
"message": "恢复代码"
@@ -1390,7 +1490,7 @@
"description": "'Bitwarden Authenticator' is a product name and should not be translated."
},
"yubiKeyTitleV2": {
- "message": "Yubico OTP 安全钥匙"
+ "message": "Yubico OTP 安全密钥"
},
"yubiKeyDesc": {
"message": "使用 YubiKey 来访问您的账户。支持 YubiKey 4、4 Nano、4C 以及 NEO 设备。"
@@ -1400,14 +1500,14 @@
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
},
"duoOrganizationDesc": {
- "message": "为您的组织使用 Duo Security 的 Duo 移动 App、短信、电话或 U2F 安全钥匙来进行验证。",
+ "message": "为您的组织使用 Duo Security 的 Duo 移动 App、短信、电话或 U2F 安全密钥来进行验证。",
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
},
"webAuthnTitle": {
"message": "FIDO2 WebAuthn"
},
"webAuthnDesc": {
- "message": "使用任何 WebAuthn 兼容的安全钥匙访问您的帐户。"
+ "message": "使用任何 WebAuthn 兼容的安全密钥访问您的账户。"
},
"emailTitle": {
"message": "电子邮箱"
@@ -1418,9 +1518,6 @@
"selfHostedEnvironment": {
"message": "自托管环境"
},
- "selfHostedEnvironmentFooter": {
- "message": "指定您本地托管的 Bitwarden 安装的基础 URL。"
- },
"selfHostedBaseUrlHint": {
"message": "指定您的本地托管 Bitwarden 安装的基础 URL。例如:https://bitwarden.company.com"
},
@@ -1428,14 +1525,11 @@
"message": "对于高级配置,您可以单独指定每个服务的基础 URL。"
},
"selfHostedEnvFormInvalid": {
- "message": "您必须添加基础服务器 URL 或至少一个自定义环境。"
+ "message": "您必须添加基础服务器 URL 或至少添加一个自定义环境。"
},
"customEnvironment": {
"message": "自定义环境"
},
- "customEnvironmentFooter": {
- "message": "适用于高级用户。您可以分别指定各个服务的基础 URL。"
- },
"baseUrl": {
"message": "服务器 URL"
},
@@ -1514,10 +1608,10 @@
"message": "不完整或不信任的网站可以利用页面加载时的自动填充功能。"
},
"learnMoreAboutAutofillOnPageLoadLinkText": {
- "message": "了解更多关于风险的信息"
+ "message": "进一步了解风险"
},
"learnMoreAboutAutofill": {
- "message": "了解更多关于自动填充的信息"
+ "message": "进一步了解自动填充"
},
"defaultAutoFillOnPageLoad": {
"message": "登录项目的默认自动填充设置"
@@ -1553,7 +1647,7 @@
"message": "为当前网站自动填充最后一次使用的身份信息"
},
"commandGeneratePasswordDesc": {
- "message": "生成一个新的随机密码并将其复制到剪贴板中。"
+ "message": "生成一个新的随机密码并将其复制到剪贴板"
},
"commandLockVaultDesc": {
"message": "锁定密码库"
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "拖动排序"
},
+ "dragToReorder": {
+ "message": "拖动以重新排序"
+ },
"cfTypeText": {
"message": "文本型"
},
@@ -1744,7 +1841,7 @@
"message": "州 / 省"
},
"zipPostalCode": {
- "message": "邮编 / 邮政代码"
+ "message": "邮政编码"
},
"country": {
"message": "国家"
@@ -1856,7 +1953,7 @@
"message": "检查密码是否已经被公开。"
},
"passwordExposed": {
- "message": "此密码在泄露数据中已被公开 $VALUE$ 次。请立即修改。",
+ "message": "此密码在数据泄露中已被暴露 $VALUE$ 次。请立即修改。",
"placeholders": {
"value": {
"content": "$1",
@@ -1868,11 +1965,11 @@
"message": "没有在已知的数据泄露中发现此密码,它暂时比较安全。"
},
"baseDomain": {
- "message": "基础域",
+ "message": "基础域名",
"description": "Domain name. Ex. website.com"
},
"baseDomainOptionRecommended": {
- "message": "基础域(推荐)",
+ "message": "基础域名(推荐)",
"description": "Domain name. Ex. website.com"
},
"domainName": {
@@ -1980,10 +2077,10 @@
"description": "ex. A weak password. Scale: Weak -> Good -> Strong"
},
"weakMasterPassword": {
- "message": "弱主密码"
+ "message": "脆弱的主密码"
},
"weakMasterPasswordDesc": {
- "message": "您选择的主密码较弱。您应该使用强密码(或密码短语)来正确保护您的 Bitwarden 账户。仍要使用此主密码吗?"
+ "message": "您选择的主密码较弱。您应该使用强密码(或密码短语)来正确保护您的 Bitwarden 账户。确定要使用这个主密码吗?"
},
"pin": {
"message": "PIN 码",
@@ -2020,16 +2117,16 @@
"message": "使用主密码解锁"
},
"awaitDesktop": {
- "message": "等待来自桌面应用程序的确认"
+ "message": "等待来自桌面端的确认"
},
"awaitDesktopDesc": {
- "message": "请确认在 Bitwarden 桌面应用程序中设置了生物识别以设置浏览器的生物识别。"
+ "message": "请确认在 Bitwarden 桌面应用程序中使用了生物识别以设置浏览器的生物识别。"
},
"lockWithMasterPassOnRestart": {
"message": "浏览器重启后使用主密码锁定"
},
"lockWithMasterPassOnRestart1": {
- "message": "浏览器重启时需要主密码"
+ "message": "浏览器重启时要求主密码"
},
"selectOneCollection": {
"message": "您必须至少选择一个集合。"
@@ -2046,6 +2143,9 @@
"usernameGenerator": {
"message": "用户名生成器"
},
+ "useThisEmail": {
+ "message": "使用此电子邮箱"
+ },
"useThisPassword": {
"message": "使用此密码"
},
@@ -2063,12 +2163,24 @@
"message": "创建一个强大且唯一的密码",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "密码库自定义"
+ },
"vaultTimeoutAction": {
"message": "密码库超时动作"
},
"vaultTimeoutAction1": {
"message": "超时动作"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "新的自定义选项"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "自定义您的密码库体验,包括快速复制操作、紧凑模式等!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "查看所有外观设置"
+ },
"lock": {
"message": "锁定",
"description": "Verb form: to make secure or inaccessible by"
@@ -2096,7 +2208,7 @@
"message": "项目已恢复"
},
"alreadyHaveAccount": {
- "message": "已经拥有账户了吗?"
+ "message": "已经有账户了吗?"
},
"vaultTimeoutLogOutConfirmation": {
"message": "超时后注销账户将解除对密码库的所有访问权限,并需要进行在线身份验证。确定使用此设置吗?"
@@ -2273,7 +2385,7 @@
"message": "生物识别未设置"
},
"biometricsNotEnabledDesc": {
- "message": "需要首先在桌面应用程序的设置中设置生物识别才能使用浏览器的生物识别。"
+ "message": "需要首先在桌面端的设置中设置生物识别,才能使用浏览器的生物识别。"
},
"biometricsNotSupportedTitle": {
"message": "不支持生物识别"
@@ -2318,20 +2430,138 @@
"message": "一个组织策略正影响您的所有权选项。"
},
"personalOwnershipPolicyInEffectImports": {
- "message": "组织策略已阻止将项目导入您的个人密码库。"
+ "message": "某个组织策略已阻止将项目导入您的个人密码库。"
},
"domainsTitle": {
"message": "域名",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "屏蔽域名"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "进一步了解屏蔽域名"
+ },
"excludedDomains": {
"message": "排除域名"
},
"excludedDomainsDesc": {
- "message": "Bitwarden 将不会询问是否为这些域名保存登录信息。您必须刷新页面才能使更改生效。"
+ "message": "Bitwarden 将不会提示保存这些域名的登录信息。您必须刷新页面才能使更改生效。"
},
"excludedDomainsDescAlt": {
- "message": "Bitwarden 不会询问保存所有已登录的账户的这些域名的登录信息。必须刷新页面才能使更改生效。"
+ "message": "Bitwarden 将不会提示为所有已登录账户保存这些域名的登录信息。您必须刷新页面才能使更改生效。"
+ },
+ "blockedDomainsDesc": {
+ "message": "将不会为这些网站提供自动填充和其他相关功能。您必须刷新页面才能使更改生效。"
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "该网站的自动填充已被屏蔽。"
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "在设置中更改它"
+ },
+ "change": {
+ "message": "更改"
+ },
+ "changeButtonTitle": {
+ "message": "更改密码 - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "存在风险的密码"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ 要求您更改 1 个密码,因为它存在风险。",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ 要求您更改 $COUNT$ 个密码,因为它们存在风险。",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "您的组织要求您更改 $COUNT$ 个密码,因为它们存在风险。",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "审查并更改 1 个存在风险的密码"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "审查并更改 $COUNT$ 个存在风险的密码",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "尽快更改有风险的密码"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "更新您的设置,以便您可以快速自动填充密码并生成新的密码"
+ },
+ "reviewAtRiskLogins": {
+ "message": "审查存在风险的登录"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "审查存在风险的密码"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "您的组织密码存在风险,因为它们过于简单、被重复使用和/或已暴露。",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "存在风险的登录列表示意图"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "在存在风险的网站上,使用 Bitwarden 自动填充菜单快速生成强大且唯一的密码。",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Bitwarden 自动填充菜单显示生成的密码示意图"
+ },
+ "updateInBitwarden": {
+ "message": "在 Bitwarden 中更新"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "然后,Bitwarden 会提示您更新密码管理器中的密码。",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "提示用户更新登录的 Bitwarden 通知示意图"
+ },
+ "turnOnAutofill": {
+ "message": "开启自动填充"
+ },
+ "turnedOnAutofill": {
+ "message": "已开启自动填充"
+ },
+ "dismiss": {
+ "message": "忽略"
},
"websiteItemLabel": {
"message": "网站 $number$ (URI)",
@@ -2351,11 +2581,14 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "屏蔽域名更改已保存"
+ },
"excludedDomainsSavedSuccess": {
"message": "排除域名更改已保存"
},
"limitSendViews": {
- "message": "限制查看"
+ "message": "查看次数限制"
},
"limitSendViewsHint": {
"message": "达到限额后,任何人无法查看此 Send。",
@@ -2473,7 +2706,7 @@
"message": "自定义"
},
"sendPasswordDescV3": {
- "message": "添加一个用于收件人访问此 Send 的可选密码。",
+ "message": "添加一个用于接收者访问此 Send 的可选密码。",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"createSend": {
@@ -2601,7 +2834,7 @@
"message": "更新主密码"
},
"updateMasterPasswordWarning": {
- "message": "您的主密码最近被您组织的管理员更改过。要访问密码库,您必须立即更新它。继续操作将使您退出当前会话并要求您重新登录。其他设备上的活动会话可能会继续保持活动状态长达一小时。"
+ "message": "您的主密码最近被您组织的管理员更改过。要访问密码库,您必须立即更新它。继续操作将使您退出当前会话,并要求您重新登录。其他设备上的活动会话可能会继续保持活动状态长达一小时。"
},
"updateWeakMasterPasswordWarning": {
"message": "您的主密码不符合某一项或多项组织策略要求。要访问密码库,必须立即更新您的主密码。继续操作将使您退出当前会话,并要求您重新登录。其他设备上的活动会话可能会继续保持活动状态长达一小时。"
@@ -2613,7 +2846,7 @@
"message": "自动注册"
},
"resetPasswordAutoEnrollInviteWarning": {
- "message": "此组织有一个企业策略,将为您自动注册密码重置。注册后将允许组织管理员更改您的主密码。"
+ "message": "此组织有一个企业策略,将自动为您注册密码重置。注册后将允许组织管理员更改您的主密码。"
},
"selectFolder": {
"message": "选择文件夹..."
@@ -2631,7 +2864,7 @@
"description": "Used as a card title description on the set password page to explain why the user is there"
},
"cardMetrics": {
- "message": "$TOTAL$ 不足",
+ "message": "总计 $TOTAL$",
"placeholders": {
"total": {
"content": "$1",
@@ -2789,6 +3022,20 @@
"error": {
"message": "错误"
},
+ "decryptionError": {
+ "message": "解密错误"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden 无法解密下列密码库项目。"
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "联系客户成功团队",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "以避免额外的数据丢失。",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "生成用户名"
},
@@ -2810,7 +3057,7 @@
}
},
"passwordLengthRecommendationHint": {
- "message": " 使用 $RECOMMENDED$ 或更多个字符生成强大的密码。",
+ "message": " 使用 $RECOMMENDED$ 个或更多字符生成强大的密码。",
"description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).",
"placeholders": {
"recommended": {
@@ -2820,7 +3067,7 @@
}
},
"passphraseNumWordsRecommendationHint": {
- "message": " 使用 $RECOMMENDED$ 或更多个单词生成强大的密码短语。",
+ "message": " 使用 $RECOMMENDED$ 个或更多单词生成强大的密码短语。",
"description": "Appended to `spinboxBoundariesHint` to recommend a number of words to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).",
"placeholders": {
"recommended": {
@@ -2920,6 +3167,30 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ 拒绝了您的请求。请联系您的服务提供商寻求帮助。",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ 拒绝了您的请求:$ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
"message": "无法获取 $SERVICENAME$ 电子邮箱账户 ID。",
"description": "Displayed when the forwarding service fails to return an account ID.",
@@ -2990,7 +3261,7 @@
"message": "组织已停用。"
},
"disabledOrganizationFilterError": {
- "message": "无法访问已停用组织中的项目。请联系您的组织所有者获取协助。"
+ "message": "无法访问已停用组织中的项目。请联系您的组织所有者寻求帮助。"
},
"loggingInTo": {
"message": "正在登录到 $DOMAIN$",
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "设置已编辑"
- },
- "environmentEditedClick": {
- "message": "点击此处"
- },
- "environmentEditedReset": {
- "message": "重置为预设设置"
- },
"serverVersion": {
"message": "服务器版本"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "使用主密码登录"
},
- "loggingInAs": {
- "message": "正登录为"
- },
- "notYou": {
- "message": "不是您吗?"
- },
"newAroundHere": {
"message": "初来乍到吗?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "使用设备登录"
},
- "loginWithDeviceEnabledInfo": {
- "message": "必须在 Bitwarden App 的设置中启用设备登录。需要其他登录选项吗?"
- },
"fingerprintPhraseHeader": {
"message": "指纹短语"
},
@@ -3070,18 +3323,21 @@
"viewAllLogInOptions": {
"message": "查看所有登录选项"
},
- "viewAllLoginOptionsV1": {
- "message": "查看所有登录选项"
- },
"notificationSentDevice": {
"message": "通知已发送到您的设备。"
},
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
+ },
+ "notificationSentDeviceAnchor": {
+ "message": "网页 App"
+ },
+ "notificationSentDevicePart2": {
+ "message": "在批准前,请确保指纹短语与下面的相匹配。"
+ },
"aNotificationWasSentToYourDevice": {
"message": "通知已发送到您的设备"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "确保您的账户已解锁,并且指纹短语与其他设备上的相匹配。"
- },
"youWillBeNotifiedOnceTheRequestIsApproved": {
"message": "请求获得批准后,您将收到通知"
},
@@ -3091,6 +3347,9 @@
"loginInitiated": {
"message": "登录已发起"
},
+ "logInRequestSent": {
+ "message": "请求已发送"
+ },
"exposedMasterPassword": {
"message": "已暴露的主密码"
},
@@ -3101,7 +3360,7 @@
"message": "主密码弱且曾经暴露"
},
"weakAndBreachedMasterPasswordDesc": {
- "message": "识别到弱密码且其出现在数据泄露中。请使用一个强且唯一的密码以保护你的账户。确定要使用这个密码吗?"
+ "message": "识别到弱密码且其出现在数据泄露中。请使用一个强且唯一的密码以保护您的账户。确定要使用这个密码吗?"
},
"checkForBreaches": {
"message": "检查已知的数据泄露是否包含此密码。"
@@ -3205,9 +3464,6 @@
"requestAdminApproval": {
"message": "请求管理员批准"
},
- "approveWithMasterPassword": {
- "message": "使用主密码批准"
- },
"ssoIdentifierRequired": {
"message": "必须填写组织 SSO 标识符。"
},
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "您的请求已发送给您的管理员。"
},
- "youWillBeNotifiedOnceApproved": {
- "message": "批准后,您将收到通知。"
- },
"troubleLoggingIn": {
"message": "登录遇到问题吗?"
},
@@ -3290,7 +3543,7 @@
"message": "搜索"
},
"inputMinLength": {
- "message": "至少输入 $COUNT$ 个字符。",
+ "message": "输入长度不能低于 $COUNT$ 个字符。",
"placeholders": {
"count": {
"content": "$1",
@@ -3375,7 +3628,7 @@
"message": "正在获取选项..."
},
"multiSelectNotFound": {
- "message": "未找到任何条目"
+ "message": "未找到任何项目"
},
"multiSelectClearAll": {
"message": "清除全部"
@@ -3396,38 +3649,6 @@
"message": "切换折叠",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "导入您的数据到 Bitwarden 吗?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "保护您的 LastPass 数据并导入到 Bitwarden 吗?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "保存为未加密的文件",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "导入到 Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "导入中...",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "数据导入成功!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "导入时出错。检查控制台以获取详细信息。",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "导入过程中遇到网络错误。",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "别名域"
},
@@ -3568,7 +3789,7 @@
}
},
"tryAgain": {
- "message": "请重试"
+ "message": "重试"
},
"verificationRequiredForActionSetPinToContinue": {
"message": "此操作需要验证。设置一个 PIN 码以继续。"
@@ -3616,7 +3837,7 @@
}
},
"duoHealthCheckResultsInNullAuthUrlError": {
- "message": "与 Duo 服务连接时出错。请使用不同的两步登录方式或联系 Duo 获取协助。"
+ "message": "与 Duo 服务连接时出错。请使用其他两步登录方式或联系 Duo 寻求帮助。"
},
"launchDuoAndFollowStepsToFinishLoggingIn": {
"message": "启动 DUO 并按照步骤完成登录。"
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "活动账户"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden 账户"
+ },
"availableAccounts": {
"message": "可用账户"
},
@@ -3880,7 +4104,7 @@
"message": "托管于"
},
"useDeviceOrHardwareKey": {
- "message": "使用您的设备或实体钥匙"
+ "message": "使用您的设备或硬件密钥"
},
"justOnce": {
"message": "仅此一次"
@@ -3926,7 +4150,7 @@
"description": "Body content for dialog which asks if the user wants to proceed to the browser's keyboard shortcut settings page"
},
"overrideDefaultBrowserAutofillTitle": {
- "message": "将 Bitwarden 设置为您的默认密码管理器吗?",
+ "message": "将 Bitwarden 设置为默认密码管理器吗?",
"description": "Dialog title facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutofillDescription": {
@@ -3934,7 +4158,7 @@
"description": "Dialog message facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutoFillSettings": {
- "message": "将 Bitwarden 设置为您的默认密码管理器",
+ "message": "将 Bitwarden 设置为默认密码管理器",
"description": "Label for the setting that allows overriding the default browser autofill settings"
},
"privacyPermissionAdditionNotGrantedTitle": {
@@ -3981,8 +4205,11 @@
"autofillSuggestions": {
"message": "自动填充建议"
},
+ "itemSuggestions": {
+ "message": "建议的项目"
+ },
"autofillSuggestionsTip": {
- "message": "将此站点保存为登录项目以用于自动填充"
+ "message": "为这个站点保存一个登录项目以自动填充"
},
"yourVaultIsEmpty": {
"message": "您的密码库是空的"
@@ -3991,7 +4218,7 @@
"message": "没有搜索到匹配的项目"
},
"clearFiltersOrTryAnother": {
- "message": "清除筛选器或尝试另一个搜索词"
+ "message": "清除筛选或尝试其他搜索词"
},
"copyInfoTitle": {
"message": "复制信息 - $ITEMNAME$",
@@ -4053,6 +4280,20 @@
}
}
},
+ "copyFieldValue": {
+ "message": "复制 $FIELD$,$VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
"message": "没有要复制的值"
},
@@ -4128,15 +4369,6 @@
"itemName": {
"message": "项目名称"
},
- "cannotRemoveViewOnlyCollections": {
- "message": "您无法删除仅具有「查看」权限的集合:$COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
- },
"organizationIsDeactivated": {
"message": "组织已停用"
},
@@ -4148,7 +4380,7 @@
"description": "Used as a label to indicate that the user is the owner of an item."
},
"contactYourOrgAdmin": {
- "message": "无法访问已停用组织中的项目。请联系您的组织所有者获取协助。"
+ "message": "无法访问已停用组织中的项目。请联系您的组织所有者寻求帮助。"
},
"additionalInformation": {
"message": "更多信息"
@@ -4208,7 +4440,7 @@
"message": "筛选"
},
"filterVault": {
- "message": "密码库筛选"
+ "message": "筛选密码库"
},
"filterApplied": {
"message": "已应用一个筛选"
@@ -4438,6 +4670,9 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "重新排序网站 URI。使用箭头键向上或向下移动项目。"
+ },
"reorderFieldUp": {
"message": "$LABEL$ 已上移,位置 $INDEX$ / $LENGTH$",
"placeholders": {
@@ -4498,15 +4733,6 @@
"nothingSelected": {
"message": "您尚未选择任何内容。"
},
- "movedItemsToOrg": {
- "message": "所选项目已移动到 $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
- },
"itemsMovedToOrg": {
"message": "项目已移动到 $ORGNAME$",
"placeholders": {
@@ -4557,17 +4783,11 @@
"textSends": {
"message": "文本 Send"
},
- "bitwardenNewLook": {
- "message": "Bitwarden 拥有一个新的外观!"
- },
- "bitwardenNewLookDesc": {
- "message": "从密码库标签页自动填充和搜索比以往任何时候都更简单直观。来看看吧!"
- },
"accountActions": {
"message": "账户操作"
},
"showNumberOfAutofillSuggestions": {
- "message": "在扩展图标上显示自动填充建议的登录的数量"
+ "message": "在扩展图标上显示自动填充建议的登录数量"
},
"showQuickCopyActions": {
"message": "在密码库上显示快速复制操作"
@@ -4609,7 +4829,7 @@
"message": "自定义超时时间最小为 1 分钟。"
},
"additionalContentAvailable": {
- "message": "其他内容可用"
+ "message": "有更多内容可用"
},
"fileSavedToDevice": {
"message": "文件已保存到设备。可以在设备下载中进行管理。"
@@ -4641,6 +4861,33 @@
"noEditPermissions": {
"message": "您没有编辑此项目的权限"
},
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "生物识别解锁不可用,因为需要先使用 PIN 或密码解锁。"
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "生物识别解锁当前不可用。"
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "由于系统文件配置错误,生物识别解锁不可用。"
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "由于系统文件配置错误,生物识别解锁不可用。"
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "生物识别解锁不可用,因为 Bitwarden 桌面 App 已关闭。"
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "生物识别解锁不可用,因为在 Bitwarden 桌面 App 中没有为 $EMAIL$ 启用生物识别解锁。",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "由于某个未知的原因,生物识别解锁当前不可用。"
+ },
"authenticating": {
"message": "正在验证"
},
@@ -4819,7 +5066,7 @@
"message": "稍后提醒我"
},
"newDeviceVerificationNoticePageOneFormContent": {
- "message": "您能可正常访问您的电子邮箱 $EMAIL$ 吗?",
+ "message": "您可以正常访问您的电子邮箱 $EMAIL$ 吗?",
"placeholders": {
"email": {
"content": "$1",
@@ -4847,5 +5094,50 @@
},
"extraWide": {
"message": "超宽"
+ },
+ "sshKeyWrongPassword": {
+ "message": "您输入的密码不正确。"
+ },
+ "importSshKey": {
+ "message": "导入"
+ },
+ "confirmSshKeyPassword": {
+ "message": "确认密码"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "输入 SSH 密钥的密码。"
+ },
+ "enterSshKeyPassword": {
+ "message": "输入密码"
+ },
+ "invalidSshKey": {
+ "message": "此 SSH 密钥无效"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "不支持此 SSH 密钥类型"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "从剪贴板导入密钥"
+ },
+ "sshKeyImported": {
+ "message": "SSH 密钥导入成功"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "您无法删除仅具有「查看」权限的集合:$COLLECTIONS$",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "请更新您的桌面应用程序"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "要使用生物识别解锁,请更新您的桌面应用程序,或在桌面设置中禁用指纹解锁。"
+ },
+ "changeAtRiskPassword": {
+ "message": "更改有风险的密码"
}
}
diff --git a/apps/browser/src/_locales/zh_TW/messages.json b/apps/browser/src/_locales/zh_TW/messages.json
index 4b215df6ba2..37e450c8fd2 100644
--- a/apps/browser/src/_locales/zh_TW/messages.json
+++ b/apps/browser/src/_locales/zh_TW/messages.json
@@ -20,7 +20,7 @@
"message": "建立帳戶"
},
"newToBitwarden": {
- "message": "New to Bitwarden?"
+ "message": "第一次使用 Bitwarden?"
},
"logInWithPasskey": {
"message": "使用密碼金鑰登入"
@@ -29,13 +29,13 @@
"message": "使用單一登入"
},
"welcomeBack": {
- "message": "Welcome back"
+ "message": "歡迎回來"
},
"setAStrongPassword": {
"message": "設定一個強密碼"
},
"finishCreatingYourAccountBySettingAPassword": {
- "message": "設定密碼以完成創建您的帳戶。"
+ "message": "設定密碼以完成建立您的帳號"
},
"enterpriseSingleSignOn": {
"message": "企業單一登入"
@@ -80,11 +80,20 @@
"masterPassHint": {
"message": "主密碼提示(選用)"
},
+ "passwordStrengthScore": {
+ "message": "Password strength score $SCORE$",
+ "placeholders": {
+ "score": {
+ "content": "$1",
+ "example": "4"
+ }
+ }
+ },
"joinOrganization": {
"message": "加入組織"
},
"joinOrganizationName": {
- "message": "Join $ORGANIZATIONNAME$",
+ "message": "加入 $ORGANIZATIONNAME$",
"placeholders": {
"organizationName": {
"content": "$1",
@@ -120,7 +129,7 @@
"message": "複製密碼"
},
"copyPassphrase": {
- "message": "Copy passphrase"
+ "message": "複製密碼短語"
},
"copyNote": {
"message": "複製備註"
@@ -153,13 +162,13 @@
"message": "複製駕照號碼"
},
"copyPrivateKey": {
- "message": "Copy private key"
+ "message": "複製私密金鑰"
},
"copyPublicKey": {
- "message": "Copy public key"
+ "message": "複製公開金鑰"
},
"copyFingerprint": {
- "message": "Copy fingerprint"
+ "message": "複製指紋"
},
"copyCustomField": {
"message": "複製 $FIELD$",
@@ -176,8 +185,12 @@
"copyNotes": {
"message": "複製備註"
},
+ "copy": {
+ "message": "Copy",
+ "description": "Copy to clipboard"
+ },
"fill": {
- "message": "Fill",
+ "message": "填入",
"description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible."
},
"autoFill": {
@@ -193,10 +206,10 @@
"message": "自動填入身分資訊"
},
"fillVerificationCode": {
- "message": "Fill verification code"
+ "message": "填入驗證碼"
},
"fillVerificationCodeAria": {
- "message": "Fill Verification Code",
+ "message": "填入驗證碼",
"description": "Aria label for the heading displayed the inline menu for totp code autofill"
},
"generatePasswordCopied": {
@@ -250,12 +263,6 @@
"enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": {
"message": "輸入您帳號的電子郵件,您的密碼提示會傳送給您"
},
- "passwordHint": {
- "message": "密碼提示"
- },
- "enterEmailToGetHint": {
- "message": "請輸入您的帳户電子郵件地址以接收主密碼提示。"
- },
"getMasterPasswordHint": {
"message": "取得主密碼提示"
},
@@ -337,22 +344,22 @@
"message": "您可以使用 Bitwarden 驗證器儲存驗證器金鑰,並為兩步驟驗證流程產生 TOTP 代碼。前往 bitwarden.com 網站以了解更多資訊。"
},
"bitwardenSecretsManager": {
- "message": "Bitwarden Secrets Manager"
+ "message": "Bitwarden 密鑰管理"
},
"continueToSecretsManagerPageDesc": {
- "message": "Securely store, manage, and share developer secrets with Bitwarden Secrets Manager. Learn more on the bitwarden.com website."
+ "message": "使用 Bitwarden 密鑰管理來安全儲存、管理並分享開發人員密鑰。在 bitwarden.com 網站上了解更多。"
},
"passwordlessDotDev": {
"message": "Passwordless.dev"
},
"continueToPasswordlessDotDevPageDesc": {
- "message": "Create smooth and secure login experiences free from traditional passwords with Passwordless.dev. Learn more on the bitwarden.com website."
+ "message": "使用 Passwordless.dev 建立流暢且安全的登入體驗,無需使用傳統密碼。在 bitwarden 網站上了解更多。"
},
"freeBitwardenFamilies": {
- "message": "Free Bitwarden Families"
+ "message": "免費的 Bitwarden 家庭方案"
},
"freeBitwardenFamiliesPageDesc": {
- "message": "You are eligible for Free Bitwarden Families. Redeem this offer today in the web app."
+ "message": "您符合免費 Bitwarden 家庭方案的資格要求。在網頁應用程式中兌換您的優惠。"
},
"version": {
"message": "版本"
@@ -372,6 +379,15 @@
"editFolder": {
"message": "編輯資料夾"
},
+ "editFolderWithName": {
+ "message": "Edit folder: $FOLDERNAME$",
+ "placeholders": {
+ "foldername": {
+ "content": "$1",
+ "example": "Social"
+ }
+ }
+ },
"newFolder": {
"message": "新增資料夾"
},
@@ -379,16 +395,16 @@
"message": "資料夾名稱"
},
"folderHintText": {
- "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums"
+ "message": "在資料夾名稱後面使用「/」來建立樹狀結構。\n例如:社交網路/論壇"
},
"noFoldersAdded": {
- "message": "No folders added"
+ "message": "未新增資料夾"
},
"createFoldersToOrganize": {
- "message": "Create folders to organize your vault items"
+ "message": "建立資料夾來管理您的密碼庫項目"
},
"deleteFolderPermanently": {
- "message": "Are you sure you want to permanently delete this folder?"
+ "message": "您確定要永久刪除此資料夾嗎?"
},
"deleteFolder": {
"message": "刪除資料夾"
@@ -431,7 +447,7 @@
"message": "自動產生安全、唯一的登入密碼。"
},
"bitWebVaultApp": {
- "message": "Bitwarden web app"
+ "message": "Bitwarden 網頁應用程式"
},
"importItems": {
"message": "匯入項目"
@@ -443,7 +459,19 @@
"message": "產生密碼"
},
"generatePassphrase": {
- "message": "Generate passphrase"
+ "message": "產生密碼短語"
+ },
+ "passwordGenerated": {
+ "message": "已產生密碼"
+ },
+ "passphraseGenerated": {
+ "message": "Passphrase generated"
+ },
+ "usernameGenerated": {
+ "message": "Username generated"
+ },
+ "emailGenerated": {
+ "message": "Email generated"
},
"regeneratePassword": {
"message": "重新產生密碼"
@@ -454,28 +482,12 @@
"length": {
"message": "長度"
},
- "uppercase": {
- "message": "大寫 (A-Z)",
- "description": "deprecated. Use uppercaseLabel instead."
- },
- "lowercase": {
- "message": "小寫 (a-z)",
- "description": "deprecated. Use lowercaseLabel instead."
- },
- "numbers": {
- "message": "數字 (0-9)",
- "description": "deprecated. Use numbersLabel instead."
- },
- "specialCharacters": {
- "message": "特殊字元 (!@#$%^&*)",
- "description": "deprecated. Use specialCharactersLabel instead."
- },
"include": {
"message": "包含",
"description": "Card header for password generator include block"
},
"uppercaseDescription": {
- "message": "Include uppercase characters",
+ "message": "包含大寫字元",
"description": "Tooltip for the password generator uppercase character checkbox"
},
"uppercaseLabel": {
@@ -483,7 +495,7 @@
"description": "Label for the password generator uppercase character checkbox"
},
"lowercaseDescription": {
- "message": "Include lowercase characters",
+ "message": "包含小寫字元",
"description": "Full description for the password generator lowercase character checkbox"
},
"lowercaseLabel": {
@@ -491,7 +503,7 @@
"description": "Label for the password generator lowercase character checkbox"
},
"numbersDescription": {
- "message": "Include numbers",
+ "message": "包含數字",
"description": "Full description for the password generator numbers checkbox"
},
"numbersLabel": {
@@ -499,13 +511,9 @@
"description": "Label for the password generator numbers checkbox"
},
"specialCharactersDescription": {
- "message": "Include special characters",
+ "message": "包含特殊字元",
"description": "Full description for the password generator special characters checkbox"
},
- "specialCharactersLabel": {
- "message": "!@#$%^&*",
- "description": "Label for the password generator special characters checkbox"
- },
"numWords": {
"message": "單字數量"
},
@@ -526,11 +534,11 @@
"message": "最少符號位數"
},
"avoidAmbiguous": {
- "message": "Avoid ambiguous characters",
+ "message": "避免易混淆的字元",
"description": "Label for the avoid ambiguous characters checkbox."
},
"generatorPolicyInEffect": {
- "message": "Enterprise policy requirements have been applied to your generator options.",
+ "message": "企業原則之要求已在你的產生器選項中生效",
"description": "Indicates that a policy limits the credential generator screen."
},
"searchVault": {
@@ -564,19 +572,19 @@
"message": "我的最愛"
},
"unfavorite": {
- "message": "Unfavorite"
+ "message": "取消最愛"
},
"itemAddedToFavorites": {
- "message": "Item added to favorites"
+ "message": "項目已加入到最愛"
},
"itemRemovedFromFavorites": {
- "message": "Item removed from favorites"
+ "message": "項目已從最愛中移除"
},
"notes": {
"message": "備註"
},
"privateNote": {
- "message": "Private note"
+ "message": "私人備註"
},
"note": {
"message": "備註"
@@ -600,7 +608,7 @@
"message": "開啟網站"
},
"launchWebsiteName": {
- "message": "Launch website $ITEMNAME$",
+ "message": "開啟網站 $ITEMNAME$",
"placeholders": {
"itemname": {
"content": "$1",
@@ -644,14 +652,20 @@
"browserNotSupportClipboard": {
"message": "您的瀏覽器不支援剪貼簿簡單複製,請手動複製。"
},
- "verifyIdentity": {
- "message": "驗證身份"
+ "verifyYourIdentity": {
+ "message": "Verify your identity"
+ },
+ "weDontRecognizeThisDevice": {
+ "message": "我們無法識別此裝置。請輸入已傳送到您電子郵件的驗證碼以驗證您的身分。"
+ },
+ "continueLoggingIn": {
+ "message": "繼續登入"
},
"yourVaultIsLocked": {
"message": "您的密碼庫已鎖定。請驗證身分以繼續。"
},
"yourVaultIsLockedV2": {
- "message": "Your vault is locked"
+ "message": "您的密碼庫已被鎖定"
},
"yourAccountIsLocked": {
"message": "您的帳戶已被鎖定。"
@@ -742,10 +756,10 @@
"message": "主密碼"
},
"masterPassImportant": {
- "message": "Your master password cannot be recovered if you forget it!"
+ "message": "若您忘記主密碼,將會無法找回!"
},
"masterPassHintLabel": {
- "message": "您已成功創建新帳戶!"
+ "message": "主密碼提示"
},
"errorOccurred": {
"message": "發生錯誤"
@@ -779,10 +793,10 @@
"message": "帳戶已建立!現在可以登入了。"
},
"newAccountCreated2": {
- "message": "您已成功創建新帳戶!"
+ "message": "您已成功建立新帳號!"
},
"youHaveBeenLoggedIn": {
- "message": "You have been logged in!"
+ "message": "你已經登入!"
},
"youSuccessfullyLoggedIn": {
"message": "登入成功"
@@ -797,7 +811,7 @@
"message": "必須填入驗證碼。"
},
"webauthnCancelOrTimeout": {
- "message": "The authentication was cancelled or took too long. Please try again."
+ "message": "驗證已被取消或時間超過。請再試一次。"
},
"invalidVerificationCode": {
"message": "無效的驗證碼"
@@ -834,7 +848,7 @@
"message": "Bitwarden 可以儲存並填入兩步驟驗證碼。選擇相機圖示來截取此網站的驗證器QR code,或手動複製金鑰並貼上到此欄位。"
},
"learnMoreAboutAuthenticators": {
- "message": "Learn more about authenticators"
+ "message": "了解更多驗證程式"
},
"copyTOTP": {
"message": "複製驗證器金鑰 (TOTP)"
@@ -852,19 +866,34 @@
"message": "登入"
},
"logInToBitwarden": {
- "message": "Log in to Bitwarden"
+ "message": "登入 Bitwarden"
+ },
+ "enterTheCodeSentToYourEmail": {
+ "message": "Enter the code sent to your email"
+ },
+ "enterTheCodeFromYourAuthenticatorApp": {
+ "message": "Enter the code from your authenticator app"
+ },
+ "pressYourYubiKeyToAuthenticate": {
+ "message": "Press your YubiKey to authenticate"
+ },
+ "duoTwoFactorRequiredPageSubtitle": {
+ "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in."
+ },
+ "followTheStepsBelowToFinishLoggingIn": {
+ "message": "Follow the steps below to finish logging in."
},
"restartRegistration": {
- "message": "Restart registration"
+ "message": "重新啟動註冊"
},
"expiredLink": {
- "message": "Expired link"
+ "message": "過期連結"
},
"pleaseRestartRegistrationOrTryLoggingIn": {
- "message": "Please restart registration or try logging in."
+ "message": "請重新啟動註冊流程或是重試登入。"
},
"youMayAlreadyHaveAnAccount": {
- "message": "You may already have an account"
+ "message": "您可能已經有帳號"
},
"logOutConfirmation": {
"message": "您確定要登出嗎?"
@@ -875,6 +904,9 @@
"no": {
"message": "否"
},
+ "location": {
+ "message": "Location"
+ },
"unexpectedError": {
"message": "發生了未預期的錯誤。"
},
@@ -888,7 +920,7 @@
"message": "兩步驟登入需要您從其他裝置(例如安全鑰匙、驗證器程式、SMS、手機或電子郵件)來驗證您的登入,這使您的帳戶更加安全。兩步驟登入可以在 bitwarden.com 網頁版密碼庫啟用。現在要前往嗎?"
},
"twoStepLoginConfirmationContent": {
- "message": "Make your account more secure by setting up two-step login in the Bitwarden web app."
+ "message": "在 Bitwarden 網頁應用程式中設定兩步驟登入,讓您的帳號更加安全。"
},
"twoStepLoginConfirmationTitle": {
"message": "前往網頁 App 嗎?"
@@ -934,7 +966,7 @@
"message": "新增 URI"
},
"addDomain": {
- "message": "Add domain",
+ "message": "新增網域",
"description": "'Domain' here refers to an internet domain name (e.g. 'bitwarden.com') and the message in whole described the act of putting a domain value into the context."
},
"addedItem": {
@@ -986,8 +1018,8 @@
"addLoginNotificationDescAlt": {
"message": "如果在您的密碼庫中找不到項目,則詢問是否新增項目。適用於所有已登入的帳戶。"
},
- "showCardsInVaultView": {
- "message": "在密碼庫介面中顯示支付卡自動填入建議"
+ "showCardsInVaultViewV2": {
+ "message": "一律在密碼庫介面中顯示支付卡自動填入建議"
},
"showCardsCurrentTab": {
"message": "於分頁頁面顯示支付卡"
@@ -995,8 +1027,8 @@
"showCardsCurrentTabDesc": {
"message": "於分頁頁面顯示信用卡以便於自動填入。"
},
- "showIdentitiesInVaultView": {
- "message": "在密碼庫介面中顯示身分自動填入建議"
+ "showIdentitiesInVaultViewV2": {
+ "message": "一律在密碼庫介面中顯示身分自動填入建議"
},
"showIdentitiesCurrentTab": {
"message": "於分頁頁面顯示身分"
@@ -1005,7 +1037,10 @@
"message": "於分頁頁面顯示身分以便於自動填入。"
},
"clickToAutofillOnVault": {
- "message": "Click items to autofill on Vault view"
+ "message": "在密碼庫檢視中點擊項目來自動填入"
+ },
+ "clickToAutofill": {
+ "message": "Click items in autofill suggestion to fill"
},
"clearClipboard": {
"message": "清除剪貼簿",
@@ -1021,6 +1056,56 @@
"notificationAddSave": {
"message": "儲存"
},
+ "loginSaveSuccessDetails": {
+ "message": "$USERNAME$ saved to Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is saved."
+ },
+ "loginUpdatedSuccessDetails": {
+ "message": "$USERNAME$ updated in Bitwarden.",
+ "placeholders": {
+ "username": {
+ "content": "$1"
+ }
+ },
+ "description": "Shown to user after login is updated."
+ },
+ "saveAsNewLoginAction": {
+ "message": "Save as new login",
+ "description": "Button text for saving login details as a new entry."
+ },
+ "updateLoginAction": {
+ "message": "Update login",
+ "description": "Button text for updating an existing login entry."
+ },
+ "saveLoginPrompt": {
+ "message": "Save login?",
+ "description": "Prompt asking the user if they want to save their login details."
+ },
+ "updateLoginPrompt": {
+ "message": "Update existing login?",
+ "description": "Prompt asking the user if they want to update an existing login entry."
+ },
+ "loginSaveSuccess": {
+ "message": "Login saved",
+ "description": "Message displayed when login details are successfully saved."
+ },
+ "loginUpdateSuccess": {
+ "message": "Login updated",
+ "description": "Message displayed when login details are successfully updated."
+ },
+ "saveFailure": {
+ "message": "Error saving",
+ "description": "Error message shown when the system fails to save login details."
+ },
+ "saveFailureDetails": {
+ "message": "Oh no! We couldn't save this. Try entering the details manually.",
+ "description": "Detailed error message shown when saving login details fails."
+ },
"enableChangedPasswordNotification": {
"message": "詢問更新現有的登入資料"
},
@@ -1084,10 +1169,6 @@
"message": "淺色",
"description": "Light color"
},
- "solarizedDark": {
- "message": "Solarized 深色主題",
- "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated."
- },
"exportFrom": {
"message": "匯出自"
},
@@ -1262,9 +1343,6 @@
"premiumPurchase": {
"message": "升級為進階會員"
},
- "premiumPurchaseAlert": {
- "message": "您可以在 bitwarden.com 網頁版密碼庫購買進階會員資格。現在要前往嗎?"
- },
"premiumPurchaseAlertV2": {
"message": "您可以在 Bitwarden 網頁 App 的帳號設定中購買進階版。"
},
@@ -1317,10 +1395,10 @@
"message": "輸入驗證器應用程式提供的 6 位數驗證碼。"
},
"authenticationTimeout": {
- "message": "Authentication timeout"
+ "message": "驗證逾時"
},
"authenticationSessionTimedOut": {
- "message": "The authentication session timed out. Please restart the login process."
+ "message": "驗證工作階段因時間過久已逾時。請重試登入。"
},
"enterVerificationCodeEmail": {
"message": "輸入已傳送至 $EMAIL$ 的 6 位數驗證碼。",
@@ -1343,12 +1421,22 @@
"rememberMe": {
"message": "記住我"
},
+ "dontAskAgainOnThisDeviceFor30Days": {
+ "message": "Don't ask again on this device for 30 days"
+ },
"sendVerificationCodeEmailAgain": {
"message": "再次傳送包含驗證碼的電子郵件"
},
"useAnotherTwoStepMethod": {
"message": "使用另一種兩步驟登入方法"
},
+ "selectAnotherMethod": {
+ "message": "Select another method",
+ "description": "Select another two-step login method"
+ },
+ "useYourRecoveryCode": {
+ "message": "Use your recovery code"
+ },
"insertYubiKey": {
"message": "將您的 YubiKey 插入電腦的 USB 連接埠,然後按一下它的按鈕。"
},
@@ -1361,9 +1449,18 @@
"webAuthnNewTabOpen": {
"message": "開啟新分頁"
},
+ "openInNewTab": {
+ "message": "Open in new tab"
+ },
"webAuthnAuthenticate": {
"message": "驗證 WebAuthn"
},
+ "readSecurityKey": {
+ "message": "Read security key"
+ },
+ "awaitingSecurityKeyInteraction": {
+ "message": "Awaiting security key interaction..."
+ },
"loginUnavailable": {
"message": "登入無法使用"
},
@@ -1376,6 +1473,9 @@
"twoStepOptions": {
"message": "兩步驟登入選項"
},
+ "selectTwoStepLoginMethod": {
+ "message": "Select two-step login method"
+ },
"recoveryCodeDesc": {
"message": "無法使用任何雙因素提供程式嗎?請使用您的復原碼以停用您帳戶的所有雙因素提供程式。"
},
@@ -1386,17 +1486,17 @@
"message": "驗證器應用程式"
},
"authenticatorAppDescV2": {
- "message": "Enter a code generated by an authenticator app like Bitwarden Authenticator.",
+ "message": "輸入驗證器應用程式產生的驗證碼,例如 Bitwarden 驗證器。",
"description": "'Bitwarden Authenticator' is a product name and should not be translated."
},
"yubiKeyTitleV2": {
- "message": "Yubico OTP Security Key"
+ "message": "YubiKey OTP 安全金鑰"
},
"yubiKeyDesc": {
"message": "使用 YubiKey 存取您的帳戶。支援 YubiKey 4、4 Nano、4C、以及 NEO 裝置。"
},
"duoDescV2": {
- "message": "Enter a code generated by Duo Security.",
+ "message": "輸入 Duo 應用程式產生的驗證碼。",
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
},
"duoOrganizationDesc": {
@@ -1413,34 +1513,28 @@
"message": "電子郵件"
},
"emailDescV2": {
- "message": "Enter a code sent to your email."
+ "message": "輸入寄送到您電子郵件信箱的驗證碼。"
},
"selfHostedEnvironment": {
"message": "自我裝載環境"
},
- "selfHostedEnvironmentFooter": {
- "message": "指定您內部部署的 Bitwarden 安裝之基礎 URL。"
- },
"selfHostedBaseUrlHint": {
- "message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com"
+ "message": "指定您自建的 Bitwarden 伺服器的網域 URL。例如:https://bitwarden.company.com"
},
"selfHostedCustomEnvHeader": {
- "message": "For advanced configuration, you can specify the base URL of each service independently."
+ "message": "適用於進階設定。您可以單獨指定各個服務的網域 URL。"
},
"selfHostedEnvFormInvalid": {
- "message": "You must add either the base Server URL or at least one custom environment."
+ "message": "您必須新增伺服器網域 URL 或至少一個自定義環境。"
},
"customEnvironment": {
"message": "自訂環境"
},
- "customEnvironmentFooter": {
- "message": "適用於進階使用者。您可以單獨指定各個服務的基礎 URL。"
- },
"baseUrl": {
"message": "伺服器 URL"
},
"selfHostBaseUrl": {
- "message": "Self-host server URL",
+ "message": "自建伺服器 URL",
"description": "Label for field requesting a self-hosted integration service URL"
},
"apiUrl": {
@@ -1466,22 +1560,22 @@
"description": "Represents the message for allowing the user to enable the autofill overlay"
},
"autofillSuggestionsSectionTitle": {
- "message": "Autofill suggestions"
+ "message": "自動填入建議"
},
"showInlineMenuLabel": {
- "message": "Show autofill suggestions on form fields"
+ "message": "在表單欄位上顯示自動填入選單"
},
"showInlineMenuIdentitiesLabel": {
- "message": "Display identities as suggestions"
+ "message": "顯示身分建議"
},
"showInlineMenuCardsLabel": {
- "message": "Display cards as suggestions"
+ "message": "顯示信用卡建議"
},
"showInlineMenuOnIconSelectionLabel": {
- "message": "Display suggestions when icon is selected"
+ "message": "當選擇圖示時,顯示建議"
},
"showInlineMenuOnFormFieldsDescAlt": {
- "message": "Applies to all logged in accounts."
+ "message": "適用於所有已登入的帳戶。"
},
"turnOffBrowserBuiltInPasswordManagerSettings": {
"message": "關閉你的瀏覽器內建密碼管理器設定以避免衝突。"
@@ -1502,7 +1596,7 @@
"description": "Overlay appearance select option for showing the field on click of the overlay icon"
},
"enableAutoFillOnPageLoadSectionTitle": {
- "message": "Autofill on page load"
+ "message": "頁面載入時自動填入"
},
"enableAutoFillOnPageLoad": {
"message": "頁面載入時自動填入"
@@ -1514,7 +1608,7 @@
"message": "被入侵或不被信任的網站,可能會濫用頁面載入的自動填入功能。"
},
"learnMoreAboutAutofillOnPageLoadLinkText": {
- "message": "Learn more about risks"
+ "message": "了解更多風險"
},
"learnMoreAboutAutofill": {
"message": "進一步瞭解「自動填入」功能"
@@ -1544,13 +1638,13 @@
"message": "在側邊欄中開啟密碼庫"
},
"commandAutofillLoginDesc": {
- "message": "Autofill the last used login for the current website"
+ "message": "自動將上次使用的登入資料填入目前網站"
},
"commandAutofillCardDesc": {
- "message": "Autofill the last used card for the current website"
+ "message": "自動將上次使用的信用卡填入目前網站"
},
"commandAutofillIdentityDesc": {
- "message": "Autofill the last used identity for the current website"
+ "message": "自動將上次使用的身分資料填入目前網站"
},
"commandGeneratePasswordDesc": {
"message": "產生一組新的隨機密碼並將它複製到剪貼簿中。"
@@ -1573,6 +1667,9 @@
"dragToSort": {
"message": "透過拖曳來排序"
},
+ "dragToReorder": {
+ "message": "Drag to reorder"
+ },
"cfTypeText": {
"message": "文字型"
},
@@ -1768,7 +1865,7 @@
"message": "身分"
},
"typeSshKey": {
- "message": "SSH key"
+ "message": "SSH 金鑰"
},
"newItemHeader": {
"message": "新增 $TYPE$",
@@ -1801,13 +1898,13 @@
"message": "密碼歷史記錄"
},
"generatorHistory": {
- "message": "Generator history"
+ "message": "產生器歷史記錄"
},
"clearGeneratorHistoryTitle": {
- "message": "Clear generator history"
+ "message": "清除產生器歷史記錄"
},
"cleargGeneratorHistoryDescription": {
- "message": "If you continue, all entries will be permanently deleted from generator's history. Are you sure you want to continue?"
+ "message": "若繼續,所有產生器曾經產生的記錄會被刪除。您確定要繼續?"
},
"back": {
"message": "返回"
@@ -1846,7 +1943,7 @@
"message": "安全筆記"
},
"sshKeys": {
- "message": "SSH Keys"
+ "message": "SSH 金鑰"
},
"clear": {
"message": "清除",
@@ -1929,10 +2026,10 @@
"message": "清除歷史紀錄"
},
"nothingToShow": {
- "message": "Nothing to show"
+ "message": "沒有可顯示的內容"
},
"nothingGeneratedRecently": {
- "message": "You haven't generated anything recently"
+ "message": "您最近未產生任何密碼"
},
"remove": {
"message": "移除"
@@ -2002,7 +2099,7 @@
"message": "設定您用來解鎖 Bitwarden 的 PIN 碼。您的 PIN 設定將在您完全登出本應用程式時被重設。"
},
"setYourPinCode1": {
- "message": "Your PIN will be used to unlock Bitwarden instead of your master password. Your PIN will reset if you ever fully log out of Bitwarden."
+ "message": "您的 PIN 碼會取代主密碼用來解鎖 Bitwarden。您的 PIN 碼會重置,若您完全登出 Bitwarden。"
},
"pinRequired": {
"message": "必須填入 PIN 碼。"
@@ -2017,7 +2114,7 @@
"message": "使用生物特徵辨識解鎖"
},
"unlockWithMasterPassword": {
- "message": "Unlock with master password"
+ "message": "使用主密碼解鎖"
},
"awaitDesktop": {
"message": "等待來自桌面應用程式的確認"
@@ -2029,7 +2126,7 @@
"message": "瀏覽器重啟後使用主密碼鎖定"
},
"lockWithMasterPassOnRestart1": {
- "message": "Require master password on browser restart"
+ "message": "瀏覽器重啟後使用主密碼鎖定"
},
"selectOneCollection": {
"message": "您必須至少選擇一個集合。"
@@ -2041,34 +2138,49 @@
"message": "克隆"
},
"passwordGenerator": {
- "message": "Password generator"
+ "message": "密碼產生器"
},
"usernameGenerator": {
- "message": "Username generator"
+ "message": "使用者名稱產生器"
+ },
+ "useThisEmail": {
+ "message": "使用此電子郵件"
},
"useThisPassword": {
- "message": "Use this password"
+ "message": "使用此密碼"
},
"useThisUsername": {
- "message": "Use this username"
+ "message": "使用此使用者名稱"
},
"securePasswordGenerated": {
- "message": "Secure password generated! Don't forget to also update your password on the website."
+ "message": "已產生安全的密碼!請不要忘記同時更新您網站上的密碼。"
},
"useGeneratorHelpTextPartOne": {
- "message": "Use the generator",
+ "message": "使用產生器",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
"useGeneratorHelpTextPartTwo": {
- "message": "to create a strong unique password",
+ "message": "來產生高強度且唯一的密碼",
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
},
+ "vaultCustomization": {
+ "message": "Vault customization"
+ },
"vaultTimeoutAction": {
"message": "密碼庫逾時動作"
},
"vaultTimeoutAction1": {
"message": "逾時後動作"
},
+ "newCustomizationOptionsCalloutTitle": {
+ "message": "New customization options"
+ },
+ "newCustomizationOptionsCalloutContent": {
+ "message": "Customize your vault experience with quick copy actions, compact mode, and more!"
+ },
+ "newCustomizationOptionsCalloutLink": {
+ "message": "View all Appearance settings"
+ },
"lock": {
"message": "鎖定",
"description": "Verb form: to make secure or inaccessible by"
@@ -2096,7 +2208,7 @@
"message": "項目已還原"
},
"alreadyHaveAccount": {
- "message": "Already have an account?"
+ "message": "已經有帳號了嗎?"
},
"vaultTimeoutLogOutConfirmation": {
"message": "選擇登出將會在密碼庫逾時後移除對密碼庫的所有存取權限,若要重新驗證則需連線網路。確定要使用此設定嗎?"
@@ -2108,7 +2220,7 @@
"message": "自動填入並儲存"
},
"fillAndSave": {
- "message": "Fill and save"
+ "message": "填入並儲存"
},
"autoFillSuccessAndSavedUri": {
"message": "項目已自動填入並且已儲存統一資源標識符(URI)"
@@ -2189,19 +2301,19 @@
"message": "您新的主密碼不符合原則要求。"
},
"receiveMarketingEmailsV2": {
- "message": "Get advice, announcements, and research opportunities from Bitwarden in your inbox."
+ "message": "獲得來自 Bitwarden 的公告、建議及研究資訊電子郵件。"
},
"unsubscribe": {
- "message": "Unsubscribe"
+ "message": "取消訂閱"
},
"atAnyTime": {
- "message": "at any time."
+ "message": "在任何時間。"
},
"byContinuingYouAgreeToThe": {
- "message": "By continuing, you agree to the"
+ "message": "若是繼續,則代表您同意"
},
"and": {
- "message": "and"
+ "message": "和"
},
"acceptPolicies": {
"message": "選中此選取框,即表示您同意下列條款:"
@@ -2222,10 +2334,10 @@
"message": "確定"
},
"errorRefreshingAccessToken": {
- "message": "Access Token Refresh Error"
+ "message": "存取權杖更新失敗"
},
"errorRefreshingAccessTokenDesc": {
- "message": "No refresh token or API keys found. Please try logging out and logging back in."
+ "message": "未找到存取權杖或 API 密鑰。請重試登出再登入。"
},
"desktopSyncVerificationTitle": {
"message": "桌面同步驗證"
@@ -2264,10 +2376,10 @@
"message": "帳戶不相符"
},
"nativeMessagingWrongUserKeyTitle": {
- "message": "Biometric key missmatch"
+ "message": "生物辨識金鑰錯誤"
},
"nativeMessagingWrongUserKeyDesc": {
- "message": "Biometric unlock failed. The biometric secret key failed to unlock the vault. Please try to set up biometrics again."
+ "message": "生物辨識解鎖失敗。生物辨識金鑰解鎖密碼庫失敗。請嘗試重新設定生物辨識。"
},
"biometricsNotEnabledTitle": {
"message": "生物特徵辨識未設定"
@@ -2282,16 +2394,16 @@
"message": "此裝置不支援瀏覽器生物特徵辨識。"
},
"biometricsNotUnlockedTitle": {
- "message": "User locked or logged out"
+ "message": "使用者已鎖定或登出"
},
"biometricsNotUnlockedDesc": {
- "message": "Please unlock this user in the desktop application and try again."
+ "message": "請在桌面應用程式解鎖此使用者之後再重試。"
},
"biometricsNotAvailableTitle": {
"message": "生物辨識解鎖不可用"
},
"biometricsNotAvailableDesc": {
- "message": "Biometric unlock is currently unavailable. Please try again later."
+ "message": "生物辨識解鎖現在無法使用。請稍後重試。"
},
"biometricsFailedTitle": {
"message": "生物特徵辨識失敗"
@@ -2324,6 +2436,12 @@
"message": "網域",
"description": "A category title describing the concept of web domains"
},
+ "blockedDomains": {
+ "message": "已封鎖的網域"
+ },
+ "learnMoreAboutBlockedDomains": {
+ "message": "Learn more about blocked domains"
+ },
"excludedDomains": {
"message": "排除網域"
},
@@ -2333,6 +2451,118 @@
"excludedDomainsDescAlt": {
"message": "對於所有已登入的帳戶,Bitwarden 不會詢問是否儲存這些網域的登入資訊。您必須重新整理頁面變更才會生效。"
},
+ "blockedDomainsDesc": {
+ "message": "自動填入及其它相關的功能無法在這些網站上使用。您必須重新整理頁面來使變更生效。"
+ },
+ "autofillBlockedNoticeV2": {
+ "message": "自動填入已於此網站封鎖"
+ },
+ "autofillBlockedNoticeGuidance": {
+ "message": "您可以於設定中進行更改"
+ },
+ "change": {
+ "message": "Change"
+ },
+ "changeButtonTitle": {
+ "message": "Change password - $ITEMNAME$",
+ "placeholders": {
+ "itemname": {
+ "content": "$1",
+ "example": "Secret Item"
+ }
+ }
+ },
+ "atRiskPasswords": {
+ "message": "At-risk passwords"
+ },
+ "atRiskPasswordDescSingleOrg": {
+ "message": "$ORGANIZATION$ is requesting you change one password because it is at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ }
+ }
+ },
+ "atRiskPasswordsDescSingleOrgPlural": {
+ "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "organization": {
+ "content": "$1",
+ "example": "Acme Corp"
+ },
+ "count": {
+ "content": "$2",
+ "example": "2"
+ }
+ }
+ },
+ "atRiskPasswordsDescMultiOrgPlural": {
+ "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at-risk.",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "reviewAndChangeAtRiskPassword": {
+ "message": "Review and change one at-risk password"
+ },
+ "reviewAndChangeAtRiskPasswordsPlural": {
+ "message": "Review and change $COUNT$ at-risk passwords",
+ "placeholders": {
+ "count": {
+ "content": "$1",
+ "example": "2"
+ }
+ }
+ },
+ "changeAtRiskPasswordsFaster": {
+ "message": "Change at-risk passwords faster"
+ },
+ "changeAtRiskPasswordsFasterDesc": {
+ "message": "Update your settings so you can quickly autofill your passwords and generate new ones"
+ },
+ "reviewAtRiskLogins": {
+ "message": "Review at-risk logins"
+ },
+ "reviewAtRiskPasswords": {
+ "message": "Review at-risk passwords"
+ },
+ "reviewAtRiskLoginsSlideDesc": {
+ "message": "Your organization passwords are at-risk because they are weak, reused, and/or exposed.",
+ "description": "Description of the review at-risk login slide on the at-risk password page carousel"
+ },
+ "reviewAtRiskLoginSlideImgAlt": {
+ "message": "Illustration of a list of logins that are at-risk"
+ },
+ "generatePasswordSlideDesc": {
+ "message": "Quickly generate a strong, unique password with the Bitwarden autofill menu on the at-risk site.",
+ "description": "Description of the generate password slide on the at-risk password page carousel"
+ },
+ "generatePasswordSlideImgAlt": {
+ "message": "Illustration of the Bitwarden autofill menu displaying a generated password"
+ },
+ "updateInBitwarden": {
+ "message": "Update in Bitwarden"
+ },
+ "updateInBitwardenSlideDesc": {
+ "message": "Bitwarden will then prompt you to update the password in the password manager.",
+ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel"
+ },
+ "updateInBitwardenSlideImgAlt": {
+ "message": "Illustration of a Bitwarden’s notification prompting the user to update the login"
+ },
+ "turnOnAutofill": {
+ "message": "Turn on autofill"
+ },
+ "turnedOnAutofill": {
+ "message": "Turned on autofill"
+ },
+ "dismiss": {
+ "message": "Dismiss"
+ },
"websiteItemLabel": {
"message": "網站 $number$ (URI)",
"placeholders": {
@@ -2351,6 +2581,9 @@
}
}
},
+ "blockedDomainsSavedSuccess": {
+ "message": "已儲存封鎖的網域"
+ },
"excludedDomainsSavedSuccess": {
"message": "例外網域更改已儲存"
},
@@ -2496,7 +2729,7 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"createdSendSuccessfully": {
- "message": "Send 創建成功!",
+ "message": "Send 建立成功!",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendExpiresInHoursSingle": {
@@ -2789,6 +3022,20 @@
"error": {
"message": "錯誤"
},
+ "decryptionError": {
+ "message": "解密發生錯誤"
+ },
+ "couldNotDecryptVaultItemsBelow": {
+ "message": "Bitwarden 無法解密您密碼庫中下面的項目。"
+ },
+ "contactCSToAvoidDataLossPart1": {
+ "message": "聯絡客戶支援部門",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
+ "contactCSToAvoidDataLossPart2": {
+ "message": "來避免更多資料遺失。",
+ "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'"
+ },
"generateUsername": {
"message": "產生使用者名稱"
},
@@ -2887,7 +3134,7 @@
"description": "Displayed with the address on the forwarding service's configuration screen."
},
"forwarderGeneratedByWithWebsite": {
- "message": "Website: $WEBSITE$. Generated by Bitwarden.",
+ "message": "網站:$WEBSITE$。透過 Bitwarden 產生。",
"description": "Displayed with the address on the forwarding service's configuration screen.",
"placeholders": {
"WEBSITE": {
@@ -2897,7 +3144,7 @@
}
},
"forwaderInvalidToken": {
- "message": "Invalid $SERVICENAME$ API token",
+ "message": "無效的 $SERVICENAME$ API 權杖",
"description": "Displayed when the user's API token is empty or rejected by the forwarding service.",
"placeholders": {
"servicename": {
@@ -2907,7 +3154,7 @@
}
},
"forwaderInvalidTokenWithMessage": {
- "message": "Invalid $SERVICENAME$ API token: $ERRORMESSAGE$",
+ "message": "無效的 $SERVICENAME$ API 權杖:$ERRORMESSAGE$",
"description": "Displayed when the user's API token is rejected by the forwarding service with an error message.",
"placeholders": {
"servicename": {
@@ -2920,8 +3167,32 @@
}
}
},
+ "forwaderInvalidOperation": {
+ "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ }
+ }
+ },
+ "forwaderInvalidOperationWithMessage": {
+ "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$",
+ "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.",
+ "placeholders": {
+ "servicename": {
+ "content": "$1",
+ "example": "SimpleLogin"
+ },
+ "errormessage": {
+ "content": "$2",
+ "example": "Please verify your email address to continue."
+ }
+ }
+ },
"forwarderNoAccountId": {
- "message": "Unable to obtain $SERVICENAME$ masked email account ID.",
+ "message": "無法獲得 $SERVICENAME$ 的轉送電子郵件帳號。",
"description": "Displayed when the forwarding service fails to return an account ID.",
"placeholders": {
"servicename": {
@@ -2931,7 +3202,7 @@
}
},
"forwarderNoDomain": {
- "message": "Invalid $SERVICENAME$ domain.",
+ "message": "無效的 $SERVICENAME$ 網域。",
"description": "Displayed when the domain is empty or domain authorization failed at the forwarding service.",
"placeholders": {
"servicename": {
@@ -2941,7 +3212,7 @@
}
},
"forwarderNoUrl": {
- "message": "Invalid $SERVICENAME$ url.",
+ "message": "無效的 $SERVICENAME$ URI。",
"description": "Displayed when the url of the forwarding service wasn't supplied.",
"placeholders": {
"servicename": {
@@ -2951,7 +3222,7 @@
}
},
"forwarderUnknownError": {
- "message": "Unknown $SERVICENAME$ error occurred.",
+ "message": "發生未知的 $SERVICENAME$ 錯誤。",
"description": "Displayed when the forwarding service failed due to an unknown error.",
"placeholders": {
"servicename": {
@@ -2961,7 +3232,7 @@
}
},
"forwarderUnknownForwarder": {
- "message": "Unknown forwarder: '$SERVICENAME$'.",
+ "message": "未知的轉送服務提供商:$SERVICENAME$。",
"description": "Displayed when the forwarding service is not supported.",
"placeholders": {
"servicename": {
@@ -3001,15 +3272,6 @@
}
}
},
- "settingsEdited": {
- "message": "設定已編輯"
- },
- "environmentEditedClick": {
- "message": "點選此處"
- },
- "environmentEditedReset": {
- "message": "重設為預設設定"
- },
"serverVersion": {
"message": "伺服器版本"
},
@@ -3040,12 +3302,6 @@
"loginWithMasterPassword": {
"message": "使用主密碼登入"
},
- "loggingInAs": {
- "message": "正登入為"
- },
- "notYou": {
- "message": "不是您嗎?"
- },
"newAroundHere": {
"message": "第一次使用?"
},
@@ -3055,9 +3311,6 @@
"loginWithDevice": {
"message": "使用裝置登入"
},
- "loginWithDeviceEnabledInfo": {
- "message": "裝置登入必須在 Bitwarden 應用程式的設定中啟用。需要其他選項嗎?"
- },
"fingerprintPhraseHeader": {
"message": "指紋短語"
},
@@ -3068,29 +3321,35 @@
"message": "重新傳送通知"
},
"viewAllLogInOptions": {
- "message": "View all log in options"
- },
- "viewAllLoginOptionsV1": {
- "message": "View all log in options"
+ "message": "檢視所有登入選項"
},
"notificationSentDevice": {
"message": "已傳送通知至您的裝置。"
},
- "aNotificationWasSentToYourDevice": {
- "message": "A notification was sent to your device"
+ "notificationSentDevicePart1": {
+ "message": "Unlock Bitwarden on your device or on the"
},
- "makeSureYourAccountIsUnlockedAndTheFingerprintEtc": {
- "message": "Make sure your account is unlocked and the fingerprint phrase matches on the other device"
+ "notificationSentDeviceAnchor": {
+ "message": "網頁應用程式"
+ },
+ "notificationSentDevicePart2": {
+ "message": "在核准前請確保您的指紋短語與下面完全相符。"
+ },
+ "aNotificationWasSentToYourDevice": {
+ "message": "已傳送通知至您的裝置"
},
"youWillBeNotifiedOnceTheRequestIsApproved": {
- "message": "You will be notified once the request is approved"
+ "message": "一旦您的請求被通過,您會獲得通知。"
},
"needAnotherOptionV1": {
- "message": "Need another option?"
+ "message": "需要另一個選項嗎?"
},
"loginInitiated": {
"message": "登入已啟動"
},
+ "logInRequestSent": {
+ "message": "已傳送請求"
+ },
"exposedMasterPassword": {
"message": "已洩露的主密碼"
},
@@ -3146,22 +3405,22 @@
"message": "自動填入設定"
},
"autofillKeyboardShortcutSectionTitle": {
- "message": "Autofill shortcut"
+ "message": "自動填入快速鍵"
},
"autofillKeyboardShortcutUpdateLabel": {
- "message": "Change shortcut"
+ "message": "修改鍵盤快速鍵"
},
"autofillKeyboardManagerShortcutsLabel": {
- "message": "Manage shortcuts"
+ "message": "管理鍵盤快速鍵"
},
"autofillShortcut": {
"message": "自動填入鍵盤快速鍵"
},
"autofillLoginShortcutNotSet": {
- "message": "The autofill login shortcut is not set. Change this in the browser's settings."
+ "message": "自動填入快速鍵尚未設定。請在瀏覽器的設定中變更。"
},
"autofillLoginShortcutText": {
- "message": "The autofill login shortcut is $COMMAND$. Manage all shortcuts in the browser's settings.",
+ "message": "自動填入快速鍵是 $COMMAND$。請在瀏覽器的設定中變更。",
"placeholders": {
"command": {
"content": "$1",
@@ -3182,16 +3441,16 @@
"message": "在新視窗開啟"
},
"rememberThisDeviceToMakeFutureLoginsSeamless": {
- "message": "Remember this device to make future logins seamless"
+ "message": "記住此裝置來讓未來的登入體驗更簡易"
},
"deviceApprovalRequired": {
"message": "裝置需要取得核准。請在下面選擇一個核准選項:"
},
"deviceApprovalRequiredV2": {
- "message": "Device approval required"
+ "message": "需要核准裝置"
},
"selectAnApprovalOptionBelow": {
- "message": "Select an approval option below"
+ "message": "選擇下面的一個核准選項"
},
"rememberThisDevice": {
"message": "記住這個裝置"
@@ -3205,32 +3464,29 @@
"requestAdminApproval": {
"message": "要求管理員核准"
},
- "approveWithMasterPassword": {
- "message": "使用主密碼核准"
- },
"ssoIdentifierRequired": {
"message": "需要組織 SSO 識別碼。"
},
"creatingAccountOn": {
- "message": "Creating account on"
+ "message": "建立帳號於"
},
"checkYourEmail": {
- "message": "Check your email"
+ "message": "檢查您的電子郵件"
},
"followTheLinkInTheEmailSentTo": {
- "message": "Follow the link in the email sent to"
+ "message": "跟隨電子郵件中的連結"
},
"andContinueCreatingYourAccount": {
- "message": "and continue creating your account."
+ "message": "並繼續建立您的帳號"
},
"noEmail": {
- "message": "No email?"
+ "message": "沒有電子郵件?"
},
"goBack": {
- "message": "Go back"
+ "message": "返回"
},
"toEditYourEmailAddress": {
- "message": "to edit your email address."
+ "message": "來編輯您的電子郵件位址。"
},
"eu": {
"message": "歐盟",
@@ -3254,9 +3510,6 @@
"adminApprovalRequestSentToAdmins": {
"message": "您的要求已傳送給您的管理員。"
},
- "youWillBeNotifiedOnceApproved": {
- "message": "核准後將通知您。"
- },
"troubleLoggingIn": {
"message": "登入時遇到困難?"
},
@@ -3267,17 +3520,17 @@
"message": "缺少使用者電子郵件地址"
},
"activeUserEmailNotFoundLoggingYouOut": {
- "message": "Active user email not found. Logging you out."
+ "message": "未找到使用中帳號的電子郵件。正在將您登出。"
},
"deviceTrusted": {
"message": "裝置已信任"
},
"sendsNoItemsTitle": {
- "message": "No active Sends",
+ "message": "沒有可用的 Send",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendsNoItemsMessage": {
- "message": "Use Send to securely share encrypted information with anyone.",
+ "message": "使用 Send 可以與任何人安全地共用加密資訊。",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"inputRequired": {
@@ -3354,10 +3607,10 @@
}
},
"singleFieldNeedsAttention": {
- "message": "1 field needs your attention."
+ "message": "您需注意上方的 1 個欄位。"
},
"multipleFieldsNeedAttention": {
- "message": "$COUNT$ fields need your attention.",
+ "message": "您需注意上方的 $COUNT$ 個欄位。",
"placeholders": {
"count": {
"content": "$1",
@@ -3396,38 +3649,6 @@
"message": "切換至折疊狀態",
"description": "Toggling an expand/collapse state."
},
- "filelessImport": {
- "message": "匯入你的資料至 Bitwarden?",
- "description": "Default notification title for triggering a fileless import."
- },
- "lpFilelessImport": {
- "message": "保護你的 LastPass 資料並匯入至 Bitwarden?",
- "description": "LastPass specific notification title for triggering a fileless import."
- },
- "lpCancelFilelessImport": {
- "message": "儲存為未加密的檔案",
- "description": "LastPass specific notification button text for cancelling a fileless import."
- },
- "startFilelessImport": {
- "message": "匯入至 Bitwarden",
- "description": "Notification button text for starting a fileless import."
- },
- "importing": {
- "message": "匯入中……",
- "description": "Notification message for when an import is in progress."
- },
- "dataSuccessfullyImported": {
- "message": "資料匯入成功!",
- "description": "Notification message for when an import has completed successfully."
- },
- "dataImportFailed": {
- "message": "匯入時發生錯誤。檢查控制台以了解詳細資訊。",
- "description": "Notification message for when an import has failed."
- },
- "importNetworkError": {
- "message": "匯入時遇到網路錯誤",
- "description": "Notification message for when an import has failed due to a network error."
- },
"aliasDomain": {
"message": "別名網域"
},
@@ -3444,7 +3665,7 @@
"description": "Message appearing below the autofill on load message when master password reprompt is set for a vault item."
},
"toggleSideNavigation": {
- "message": "Toggle side navigation"
+ "message": "切換側邊欄"
},
"skipToContent": {
"message": "跳至內容"
@@ -3466,7 +3687,7 @@
"description": "Text to display in overlay when the account is locked."
},
"unlockYourAccountToViewAutofillSuggestions": {
- "message": "Unlock your account to view autofill suggestions",
+ "message": "解鎖您的帳號來查看建議的自動填入",
"description": "Text to display in overlay when the account is locked."
},
"unlockAccount": {
@@ -3474,15 +3695,15 @@
"description": "Button text to display in overlay when the account is locked."
},
"unlockAccountAria": {
- "message": "Unlock your account, opens in a new window",
+ "message": "解鎖您的帳號,並開啟在新視窗",
"description": "Screen reader text (aria-label) for unlock account button in overlay"
},
"totpCodeAria": {
- "message": "Time-based One-Time Password Verification Code",
+ "message": "基於時間的一次性驗證碼",
"description": "Aria label for the totp code displayed in the inline menu for autofill"
},
"totpSecondsSpanAria": {
- "message": "Time remaining before current TOTP expires",
+ "message": "現在的 TOTP 到期剩餘時間",
"description": "Aria label for the totp seconds displayed in the inline menu for autofill"
},
"fillCredentialsFor": {
@@ -3510,23 +3731,23 @@
"description": "Button text to display within inline menu when there are no matching items on a login field"
},
"addNewLoginItemAria": {
- "message": "Add new vault login item, opens in a new window",
+ "message": "新增新的密碼庫登入項目,在新視窗中顯示",
"description": "Screen reader text (aria-label) for new login button within inline menu"
},
"newCard": {
- "message": "New card",
+ "message": "新信用卡",
"description": "Button text to display within inline menu when there are no matching items on a credit card field"
},
"addNewCardItemAria": {
- "message": "Add new vault card item, opens in a new window",
+ "message": "新增新的密碼庫信用卡項目,在新視窗中顯示",
"description": "Screen reader text (aria-label) for new card button within inline menu"
},
"newIdentity": {
- "message": "New identity",
+ "message": "新身份識別",
"description": "Button text to display within inline menu when there are no matching items on an identity field"
},
"addNewIdentityItemAria": {
- "message": "Add new vault identity item, opens in a new window",
+ "message": "新增新的密碼庫身分項目,在新視窗中顯示",
"description": "Screen reader text (aria-label) for new identity button within inline menu"
},
"bitwardenOverlayMenuAvailable": {
@@ -3616,19 +3837,19 @@
}
},
"duoHealthCheckResultsInNullAuthUrlError": {
- "message": "Error connecting with the Duo service. Use a different two-step login method or contact Duo for assistance."
+ "message": "連接到 Duo 服務時發生錯誤。使用不同的兩階段認證或聯繫 Duo 來獲得支援。"
},
"launchDuoAndFollowStepsToFinishLoggingIn": {
"message": "啟動 Duo 並依照步驟完成登入。"
},
"duoRequiredForAccount": {
- "message": "Duo two-step login is required for your account."
+ "message": "您的帳號要求使用 Duo 兩步驟驗證登入。"
},
"popoutTheExtensionToCompleteLogin": {
- "message": "Popout the extension to complete login."
+ "message": "彈出擴充套件視窗來完成登入。"
},
"popoutExtension": {
- "message": "Popout extension"
+ "message": "彈出擴充套件視窗"
},
"launchDuo": {
"message": "開啟Duo"
@@ -3646,7 +3867,7 @@
"message": "檔案密碼無效,請使用您當初匯出檔案時輸入的密碼。"
},
"destination": {
- "message": "Destination"
+ "message": "目的"
},
"learnAboutImportOptions": {
"message": "瞭解更多匯入選項"
@@ -3705,16 +3926,16 @@
"message": "確認檔案密碼"
},
"exportSuccess": {
- "message": "Vault data exported"
+ "message": "密碼庫資料已匯出"
},
"typePasskey": {
"message": "密碼金鑰"
},
"accessing": {
- "message": "Accessing"
+ "message": "正在存取"
},
"loggedInExclamation": {
- "message": "Logged in!"
+ "message": "已登入!"
},
"passkeyNotCopied": {
"message": "密碼金鑰不會被複製"
@@ -3738,7 +3959,7 @@
"message": "您沒有符合該網站的登入資訊。"
},
"noMatchingLoginsForSite": {
- "message": "No matching logins for this site"
+ "message": "未找到此網站的登入資訊"
},
"searchSavePasskeyNewLogin": {
"message": "搜尋或將密碼金鑰儲存為新的登入資訊"
@@ -3858,6 +4079,9 @@
"activeAccount": {
"message": "目前帳戶"
},
+ "bitwardenAccount": {
+ "message": "Bitwarden account"
+ },
"availableAccounts": {
"message": "可用帳戶"
},
@@ -3877,19 +4101,19 @@
"message": "伺服器"
},
"hostedAt": {
- "message": "hosted at"
+ "message": "架設在"
},
"useDeviceOrHardwareKey": {
- "message": "Use your device or hardware key"
+ "message": "使用您的裝置或密碼金鑰"
},
"justOnce": {
"message": "僅此一次"
},
"alwaysForThisSite": {
- "message": "Always for this site"
+ "message": "永遠針對此網站"
},
"domainAddedToExcludedDomains": {
- "message": "$DOMAIN$ added to excluded domains.",
+ "message": "$DOMAIN$ 已新增到排除的網域。",
"placeholders": {
"domain": {
"content": "$1",
@@ -3898,51 +4122,51 @@
}
},
"commonImportFormats": {
- "message": "Common formats",
+ "message": "常見格式",
"description": "Label indicating the most common import formats"
},
"confirmContinueToBrowserSettingsTitle": {
- "message": "Continue to browser settings?",
+ "message": "繼續前往瀏覽器設定?",
"description": "Title for dialog which asks if the user wants to proceed to a relevant browser settings page"
},
"confirmContinueToHelpCenter": {
- "message": "Continue to Help Center?",
+ "message": "繼續前往說明中心?",
"description": "Title for dialog which asks if the user wants to proceed to a relevant Help Center page"
},
"confirmContinueToHelpCenterPasswordManagementContent": {
- "message": "Change your browser's autofill and password management settings.",
+ "message": "在您瀏覽器的偏好設定中更改自動填入及密碼管理。",
"description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser password management settings"
},
"confirmContinueToHelpCenterKeyboardShortcutsContent": {
- "message": "You can view and set extension shortcuts in your browser's settings.",
+ "message": "您可以在您瀏覽器的偏好設定中檢視及設定擴充套件的快速鍵。",
"description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser keyboard shortcut settings"
},
"confirmContinueToBrowserPasswordManagementSettingsContent": {
- "message": "Change your browser's autofill and password management settings.",
+ "message": "在您瀏覽器的偏好設定中更改自動填入及密碼管理。",
"description": "Body content for dialog which asks if the user wants to proceed to the browser's password management settings page"
},
"confirmContinueToBrowserKeyboardShortcutSettingsContent": {
- "message": "You can view and set extension shortcuts in your browser's settings.",
+ "message": "您可以在您瀏覽器的偏好設定中檢視及設定擴充套件的快速鍵。",
"description": "Body content for dialog which asks if the user wants to proceed to the browser's keyboard shortcut settings page"
},
"overrideDefaultBrowserAutofillTitle": {
- "message": "Make Bitwarden your default password manager?",
+ "message": "使用 Bitwarden 作為預設的密碼管理器?",
"description": "Dialog title facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutofillDescription": {
- "message": "Ignoring this option may cause conflicts between Bitwarden autofill suggestions and your browser's.",
+ "message": "忽略此設定可能會導致 Bitwarden 自動填入選單與您的瀏覽器產生衝突。",
"description": "Dialog message facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutoFillSettings": {
- "message": "Make Bitwarden your default password manager",
+ "message": "使用 Bitwarden 作為預設的密碼管理器",
"description": "Label for the setting that allows overriding the default browser autofill settings"
},
"privacyPermissionAdditionNotGrantedTitle": {
- "message": "Unable to set Bitwarden as the default password manager",
+ "message": "無法設定 Bitwarden 作為預設的密碼管理器",
"description": "Title for the dialog that appears when the user has not granted the extension permission to set privacy settings"
},
"privacyPermissionAdditionNotGrantedDescription": {
- "message": "You must grant browser privacy permissions to Bitwarden to set it as the default password manager.",
+ "message": "您必須同意您瀏覽器的隱私權限設定來設定 Bitwarden 為預設的密碼管理器。",
"description": "Description for the dialog that appears when the user has not granted the extension permission to set privacy settings"
},
"makeDefault": {
@@ -3950,19 +4174,19 @@
"description": "Button text for the setting that allows overriding the default browser autofill settings"
},
"saveCipherAttemptSuccess": {
- "message": "Credentials saved successfully!",
+ "message": "憑證資訊成功儲存!",
"description": "Notification message for when saving credentials has succeeded."
},
"passwordSaved": {
- "message": "Password saved!",
+ "message": "密碼已儲存!",
"description": "Notification message for when saving credentials has succeeded."
},
"updateCipherAttemptSuccess": {
- "message": "Credentials updated successfully!",
+ "message": "憑證資訊成功更新!",
"description": "Notification message for when updating credentials has succeeded."
},
"passwordUpdated": {
- "message": "Password updated!",
+ "message": "密碼已更新!",
"description": "Notification message for when updating credentials has succeeded."
},
"saveCipherAttemptFailed": {
@@ -3970,7 +4194,7 @@
"description": "Notification message for when saving credentials has failed."
},
"success": {
- "message": "Success"
+ "message": "成功"
},
"removePasskey": {
"message": "移除密碼金鑰"
@@ -3979,19 +4203,22 @@
"message": "密碼金鑰已移除"
},
"autofillSuggestions": {
- "message": "Autofill suggestions"
+ "message": "自動填入建議"
+ },
+ "itemSuggestions": {
+ "message": "建議項目"
},
"autofillSuggestionsTip": {
- "message": "Save a login item for this site to autofill"
+ "message": "對此網站儲存登入項目為自動填入"
},
"yourVaultIsEmpty": {
- "message": "Your vault is empty"
+ "message": "您的密碼庫是空的"
},
"noItemsMatchSearch": {
- "message": "No items match your search"
+ "message": "沒有找到相符的項目。"
},
"clearFiltersOrTryAnother": {
- "message": "Clear filters or try another search term"
+ "message": "清除過濾器或更換另一個搜尋條件"
},
"copyInfoTitle": {
"message": "複製資訊 - $ITEMNAME$",
@@ -4004,7 +4231,7 @@
}
},
"copyNoteTitle": {
- "message": "Copy Note - $ITEMNAME$",
+ "message": "複製備註 - $ITEMNAME$",
"description": "Title for a button copies a note to the clipboard.",
"placeholders": {
"itemname": {
@@ -4034,7 +4261,7 @@
}
},
"viewItemTitle": {
- "message": "View item - $ITEMNAME$",
+ "message": "檢視項目 - $ITEMNAME$",
"description": "Title for a link that opens a view for an item.",
"placeholders": {
"itemname": {
@@ -4044,7 +4271,7 @@
}
},
"autofillTitle": {
- "message": "Autofill - $ITEMNAME$",
+ "message": "自動填入 - $ITEMNAME$",
"description": "Title for a button that autofills a login item.",
"placeholders": {
"itemname": {
@@ -4053,23 +4280,37 @@
}
}
},
+ "copyFieldValue": {
+ "message": "Copy $FIELD$, $VALUE$",
+ "description": "Title for a button that copies a field value to the clipboard.",
+ "placeholders": {
+ "field": {
+ "content": "$1",
+ "example": "Username"
+ },
+ "value": {
+ "content": "$2",
+ "example": "Foo"
+ }
+ }
+ },
"noValuesToCopy": {
- "message": "No values to copy"
+ "message": "沒有資料可以複製"
},
"assignToCollections": {
"message": "指派至集合"
},
"copyEmail": {
- "message": "Copy email"
+ "message": "複製電子郵件地址"
},
"copyPhone": {
- "message": "Copy phone"
+ "message": "複製電話"
},
"copyAddress": {
- "message": "Copy address"
+ "message": "複製地址"
},
"adminConsole": {
- "message": "Admin Console"
+ "message": "管理控制台"
},
"accountSecurity": {
"message": "帳戶安全性"
@@ -4081,13 +4322,13 @@
"message": "外觀"
},
"errorAssigningTargetCollection": {
- "message": "Error assigning target collection."
+ "message": "指定目標集合時發生錯誤。"
},
"errorAssigningTargetFolder": {
- "message": "Error assigning target folder."
+ "message": "指定目標資料夾時發生錯誤。"
},
"viewItemsIn": {
- "message": "View items in $NAME$",
+ "message": "檢視 $NAME$ 中的項目",
"description": "Button to view the contents of a folder or collection",
"placeholders": {
"name": {
@@ -4097,7 +4338,7 @@
}
},
"backTo": {
- "message": "Back to $NAME$",
+ "message": "回到 $NAME$",
"description": "Navigate back to a previous folder or collection",
"placeholders": {
"name": {
@@ -4107,7 +4348,7 @@
}
},
"new": {
- "message": "New"
+ "message": "新增"
},
"removeItem": {
"message": "移除 $NAME$",
@@ -4120,65 +4361,56 @@
}
},
"itemsWithNoFolder": {
- "message": "Items with no folder"
+ "message": "不在任何資料夾中的項目"
},
"itemDetails": {
"message": "項目詳細資訊"
},
"itemName": {
- "message": "Item name"
- },
- "cannotRemoveViewOnlyCollections": {
- "message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
- "placeholders": {
- "collections": {
- "content": "$1",
- "example": "Work, Personal"
- }
- }
+ "message": "項目名稱"
},
"organizationIsDeactivated": {
- "message": "Organization is deactivated"
+ "message": "組織已被停用"
},
"owner": {
- "message": "Owner"
+ "message": "擁有者"
},
"selfOwnershipLabel": {
- "message": "You",
+ "message": "您",
"description": "Used as a label to indicate that the user is the owner of an item."
},
"contactYourOrgAdmin": {
- "message": "Items in deactivated organizations cannot be accessed. Contact your organization owner for assistance."
+ "message": "無法存取已停用組織中的項目。請聯絡您組織的擁有者以獲取協助。"
},
"additionalInformation": {
- "message": "Additional information"
+ "message": "更多資訊"
},
"itemHistory": {
- "message": "Item history"
+ "message": "項目歷史記錄"
},
"lastEdited": {
- "message": "Last edited"
+ "message": "最後編輯"
},
"ownerYou": {
- "message": "Owner: You"
+ "message": "擁有者: 您"
},
"linked": {
- "message": "Linked"
+ "message": "連結"
},
"copySuccessful": {
- "message": "Copy Successful"
+ "message": "複製成功"
},
"upload": {
- "message": "Upload"
+ "message": "上傳"
},
"addAttachment": {
- "message": "Add attachment"
+ "message": "新增附件"
},
"maxFileSizeSansPunctuation": {
- "message": "Maximum file size is 500 MB"
+ "message": "最大檔案大小為 500MB"
},
"deleteAttachmentName": {
- "message": "Delete attachment $NAME$",
+ "message": "刪除附檔 $NAME$",
"placeholders": {
"name": {
"content": "$1",
@@ -4187,7 +4419,7 @@
}
},
"downloadAttachmentName": {
- "message": "Download $NAME$",
+ "message": "下載 $NAME$",
"placeholders": {
"name": {
"content": "$1",
@@ -4196,25 +4428,25 @@
}
},
"permanentlyDeleteAttachmentConfirmation": {
- "message": "Are you sure you want to permanently delete this attachment?"
+ "message": "您確定要永久刪除此附檔嗎?"
},
"premium": {
"message": "進階版"
},
"freeOrgsCannotUseAttachments": {
- "message": "Free organizations cannot use attachments"
+ "message": "免費組織無法使用附檔"
},
"filters": {
- "message": "Filters"
+ "message": "篩選器"
},
"filterVault": {
- "message": "Filter vault"
+ "message": "過濾密碼庫"
},
"filterApplied": {
- "message": "One filter applied"
+ "message": "套用了一個過濾條件"
},
"filterAppliedPlural": {
- "message": "$COUNT$ filters applied",
+ "message": "套用了 $COUNT$ 個過濾條件",
"placeholders": {
"count": {
"content": "$1",
@@ -4226,13 +4458,13 @@
"message": "個人資訊"
},
"identification": {
- "message": "Identification"
+ "message": "身份"
},
"contactInfo": {
- "message": "Contact info"
+ "message": "聯繫資訊"
},
"downloadAttachment": {
- "message": "Download - $ITEMNAME$",
+ "message": "下載 - $ITEMNAME$",
"placeholders": {
"itemname": {
"content": "$1",
@@ -4241,23 +4473,23 @@
}
},
"cardNumberEndsWith": {
- "message": "card number ends with",
+ "message": "以此號碼結尾的信用卡",
"description": "Used within the inline menu to provide an aria description when users are attempting to fill a card cipher."
},
"loginCredentials": {
- "message": "Login credentials"
+ "message": "登入資訊"
},
"authenticatorKey": {
- "message": "Authenticator key"
+ "message": "驗證器金鑰"
},
"autofillOptions": {
"message": "自動填入選項"
},
"websiteUri": {
- "message": "Website (URI)"
+ "message": "網站 (URI)"
},
"websiteUriCount": {
- "message": "Website (URI) $COUNT$",
+ "message": "網站 (URI) $COUNT$",
"description": "Label for an input field that contains a website URI. The input field is part of a list of fields, and the count indicates the position of the field in the list.",
"placeholders": {
"count": {
@@ -4267,16 +4499,16 @@
}
},
"websiteAdded": {
- "message": "Website added"
+ "message": "網站已新增"
},
"addWebsite": {
- "message": "Add website"
+ "message": "新增網站"
},
"deleteWebsite": {
- "message": "Delete website"
+ "message": "刪除網站"
},
"defaultLabel": {
- "message": "Default ($VALUE$)",
+ "message": "預設 ($VALUE$)",
"description": "A label that indicates the default value for a field with the current default value in parentheses.",
"placeholders": {
"value": {
@@ -4286,7 +4518,7 @@
}
},
"showMatchDetection": {
- "message": "Show match detection $WEBSITE$",
+ "message": "顯示偵測到的吻合 $WEBSITE$",
"placeholders": {
"website": {
"content": "$1",
@@ -4295,7 +4527,7 @@
}
},
"hideMatchDetection": {
- "message": "Hide match detection $WEBSITE$",
+ "message": "隱藏偵測到的吻合 $WEBSITE$",
"placeholders": {
"website": {
"content": "$1",
@@ -4304,13 +4536,13 @@
}
},
"autoFillOnPageLoad": {
- "message": "Autofill on page load?"
+ "message": "在頁面載入時自動填寫?"
},
"cardExpiredTitle": {
- "message": "Expired card"
+ "message": "過期的信用卡"
},
"cardExpiredMessage": {
- "message": "If you've renewed it, update the card's information"
+ "message": "如果您已續期,請更新信用卡資訊"
},
"cardDetails": {
"message": "信用卡詳細資料"
@@ -4334,17 +4566,17 @@
"message": "新增帳戶"
},
"loading": {
- "message": "Loading"
+ "message": "正在載入"
},
"data": {
- "message": "Data"
+ "message": "資料"
},
"passkeys": {
"message": "密碼金鑰",
"description": "A section header for a list of passkeys."
},
"passwords": {
- "message": "Passwords",
+ "message": "密碼",
"description": "A section header for a list of passwords."
},
"logInWithPasskeyAriaLabel": {
@@ -4352,16 +4584,16 @@
"description": "ARIA label for the inline menu button that logs in with a passkey."
},
"assign": {
- "message": "Assign"
+ "message": "指定"
},
"bulkCollectionAssignmentDialogDescriptionSingular": {
- "message": "Only organization members with access to these collections will be able to see the item."
+ "message": "只有可以檢視集合的組織成員才能看到其中的項目。"
},
"bulkCollectionAssignmentDialogDescriptionPlural": {
- "message": "Only organization members with access to these collections will be able to see the items."
+ "message": "只有可以檢視集合的組織成員才能看到其中的項目。"
},
"bulkCollectionAssignmentWarning": {
- "message": "You have selected $TOTAL_COUNT$ items. You cannot update $READONLY_COUNT$ of the items because you do not have edit permissions.",
+ "message": "您已經選擇 $TOTAL_COUNT$ 個項目。由於您沒有編輯權限,無法更新其中的 $READONLY_COUNT$ 個項目。",
"placeholders": {
"total_count": {
"content": "$1",
@@ -4373,37 +4605,37 @@
}
},
"addField": {
- "message": "Add field"
+ "message": "新增欄位"
},
"add": {
- "message": "Add"
+ "message": "新增"
},
"fieldType": {
- "message": "Field type"
+ "message": "欄位類型"
},
"fieldLabel": {
- "message": "Field label"
+ "message": "欄位標籤"
},
"textHelpText": {
- "message": "Use text fields for data like security questions"
+ "message": "像是安全問答的資訊可以使用文字欄位來儲存"
},
"hiddenHelpText": {
- "message": "Use hidden fields for sensitive data like a password"
+ "message": "像是密碼的機密資訊可以使用隱藏欄位來儲存"
},
"checkBoxHelpText": {
- "message": "Use checkboxes if you'd like to autofill a form's checkbox, like a remember email"
+ "message": "若您想自動填入欄位中的核取方塊,例如儲存電子郵件,可以使用核取方塊。"
},
"linkedHelpText": {
- "message": "Use a linked field when you are experiencing autofill issues for a specific website."
+ "message": "使用連結欄位若您在特定網站上遇到自動填入問題。"
},
"linkedLabelHelpText": {
- "message": "Enter the the field's html id, name, aria-label, or placeholder."
+ "message": "填入欄位的 html id、名稱、標籤或預留字元"
},
"editField": {
- "message": "Edit field"
+ "message": "編輯欄位"
},
"editFieldLabel": {
- "message": "Edit $LABEL$",
+ "message": "編輯 $LABEL$",
"placeholders": {
"label": {
"content": "$1",
@@ -4412,7 +4644,7 @@
}
},
"deleteCustomField": {
- "message": "Delete $LABEL$",
+ "message": "刪除 $LABEL$",
"placeholders": {
"label": {
"content": "$1",
@@ -4421,7 +4653,7 @@
}
},
"fieldAdded": {
- "message": "$LABEL$ added",
+ "message": "$LABEL$ 已新增",
"placeholders": {
"label": {
"content": "$1",
@@ -4430,7 +4662,7 @@
}
},
"reorderToggleButton": {
- "message": "Reorder $LABEL$. Use arrow key to move item up or down.",
+ "message": "重新排序 $LABEL$。使用方向鍵來往上或下移動。",
"placeholders": {
"label": {
"content": "$1",
@@ -4438,8 +4670,11 @@
}
}
},
+ "reorderWebsiteUriButton": {
+ "message": "Reorder website URI. Use arrow key to move item up or down."
+ },
"reorderFieldUp": {
- "message": "$LABEL$ moved up, position $INDEX$ of $LENGTH$",
+ "message": "往上移動 $LABEL$,位置 $LENGTH$ 之 $INDEX$",
"placeholders": {
"label": {
"content": "$1",
@@ -4459,10 +4694,10 @@
"message": "選擇要指派的集合"
},
"personalItemTransferWarningSingular": {
- "message": "1 item will be permanently transferred to the selected organization. You will no longer own this item."
+ "message": "1 個項目會被永久移到選擇的組織。您將不再擁有此項目。"
},
"personalItemsTransferWarningPlural": {
- "message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to the selected organization. You will no longer own these items.",
+ "message": "$PERSONAL_ITEMS_COUNT$ 個項目會被永久移到選擇的組織。您將不再擁有這些項目。",
"placeholders": {
"personal_items_count": {
"content": "$1",
@@ -4471,7 +4706,7 @@
}
},
"personalItemWithOrgTransferWarningSingular": {
- "message": "1 item will be permanently transferred to $ORG$. You will no longer own this item.",
+ "message": "1 個項目會被永久移到 $ORG$。您將不再擁有此項目。",
"placeholders": {
"org": {
"content": "$1",
@@ -4480,7 +4715,7 @@
}
},
"personalItemsWithOrgTransferWarningPlural": {
- "message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to $ORG$. You will no longer own these items.",
+ "message": "$PERSONAL_ITEMS_COUNT$ 個項目會被永久移到 $ORG$。您將不再擁有這些項目。",
"placeholders": {
"personal_items_count": {
"content": "$1",
@@ -4496,19 +4731,10 @@
"message": "指派集合成功"
},
"nothingSelected": {
- "message": "You have not selected anything."
- },
- "movedItemsToOrg": {
- "message": "Selected items moved to $ORGNAME$",
- "placeholders": {
- "orgname": {
- "content": "$1",
- "example": "Company Name"
- }
- }
+ "message": "您沒有選擇任何項目。"
},
"itemsMovedToOrg": {
- "message": "Items moved to $ORGNAME$",
+ "message": "項目已移到 $ORGNAME$",
"placeholders": {
"orgname": {
"content": "$1",
@@ -4517,7 +4743,7 @@
}
},
"itemMovedToOrg": {
- "message": "Item moved to $ORGNAME$",
+ "message": "項目已移到 $ORGNAME$",
"placeholders": {
"orgname": {
"content": "$1",
@@ -4526,7 +4752,7 @@
}
},
"reorderFieldDown": {
- "message": "$LABEL$ moved down, position $INDEX$ of $LENGTH$",
+ "message": "往下移動 $LABEL$,位置 $LENGTH$ 之 $INDEX$",
"placeholders": {
"label": {
"content": "$1",
@@ -4543,52 +4769,46 @@
}
},
"itemLocation": {
- "message": "Item Location"
+ "message": "項目位置"
},
"fileSend": {
- "message": "File Send"
+ "message": "檔案 Send"
},
"fileSends": {
- "message": "File Sends"
+ "message": "檔案 Send"
},
"textSend": {
- "message": "Text Send"
+ "message": "文字 Send"
},
"textSends": {
- "message": "Text Sends"
- },
- "bitwardenNewLook": {
- "message": "Bitwarden has a new look!"
- },
- "bitwardenNewLookDesc": {
- "message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
+ "message": "文字 Sends"
},
"accountActions": {
- "message": "Account actions"
+ "message": "帳號動作"
},
"showNumberOfAutofillSuggestions": {
- "message": "Show number of login autofill suggestions on extension icon"
+ "message": "在擴充套件圖示上顯示自動填入建議的數量"
},
"showQuickCopyActions": {
- "message": "Show quick copy actions on Vault"
+ "message": "在密碼庫中顯示快速複製"
},
"systemDefault": {
- "message": "System default"
+ "message": "系統預設值"
},
"enterprisePolicyRequirementsApplied": {
- "message": "Enterprise policy requirements have been applied to this setting"
+ "message": "企業政策已套用至您的選項中"
},
"sshPrivateKey": {
- "message": "Private key"
+ "message": "私密金鑰"
},
"sshPublicKey": {
- "message": "Public key"
+ "message": "公共金鑰"
},
"sshFingerprint": {
- "message": "Fingerprint"
+ "message": "指紋"
},
"sshKeyAlgorithm": {
- "message": "Key type"
+ "message": "金鑰類型"
},
"sshKeyAlgorithmED25519": {
"message": "ED25519"
@@ -4603,223 +4823,250 @@
"message": "RSA 4096-Bit"
},
"retry": {
- "message": "Retry"
+ "message": "重試"
},
"vaultCustomTimeoutMinimum": {
- "message": "Minimum custom timeout is 1 minute."
+ "message": "自訂逾時時間最小為 1 分鐘。"
},
"additionalContentAvailable": {
- "message": "Additional content is available"
+ "message": "以及更多內容"
},
"fileSavedToDevice": {
- "message": "File saved to device. Manage from your device downloads."
+ "message": "檔案已儲存到裝置。在您的裝置上管理下載檔案。"
},
"showCharacterCount": {
- "message": "Show character count"
+ "message": "顯示字元數"
},
"hideCharacterCount": {
- "message": "Hide character count"
+ "message": "隱藏字元數"
},
"itemsInTrash": {
- "message": "Items in trash"
+ "message": "在垃圾桶中的項目"
},
"noItemsInTrash": {
- "message": "No items in trash"
+ "message": "垃圾桶中沒有項目"
},
"noItemsInTrashDesc": {
- "message": "Items you delete will appear here and be permanently deleted after 30 days"
+ "message": "您刪除的項目會在此顯示,並會在 30 天之後永久刪除"
},
"trashWarning": {
- "message": "Items that have been in trash more than 30 days will automatically be deleted"
+ "message": "垃圾桶中超過 30 天的項目將會被自動刪除。"
},
"restore": {
- "message": "Restore"
+ "message": "還原"
},
"deleteForever": {
- "message": "Delete forever"
+ "message": "永遠刪除"
},
"noEditPermissions": {
- "message": "You don't have permission to edit this item"
+ "message": "你沒有權限編輯這個項目"
+ },
+ "biometricsStatusHelptextUnlockNeeded": {
+ "message": "需要 PIN 碼或密碼解鎖才能使用生物辨識解鎖。"
+ },
+ "biometricsStatusHelptextHardwareUnavailable": {
+ "message": "生物辨識解鎖暫時無法使用。"
+ },
+ "biometricsStatusHelptextAutoSetupNeeded": {
+ "message": "由於系統檔案不正確,生物辨識解鎖無法使用。"
+ },
+ "biometricsStatusHelptextManualSetupNeeded": {
+ "message": "由於系統檔案不正確,生物辨識解鎖無法使用。"
+ },
+ "biometricsStatusHelptextDesktopDisconnected": {
+ "message": "由於 Bitwarden 桌面應用程式已關閉,生物辨識解鎖無法使用。"
+ },
+ "biometricsStatusHelptextNotEnabledInDesktop": {
+ "message": "由於未 Bitwarden 桌面應用程式的 $EMAIL$ 帳號上啟動,生物辨識解鎖無法使用。",
+ "placeholders": {
+ "email": {
+ "content": "$1",
+ "example": "mail@example.com"
+ }
+ }
+ },
+ "biometricsStatusHelptextUnavailableReasonUnknown": {
+ "message": "基於不明原因,生物辨識解鎖無法使用。"
},
"authenticating": {
- "message": "Authenticating"
+ "message": "驗證中"
},
"fillGeneratedPassword": {
- "message": "Fill generated password",
+ "message": "自動填入產生的密碼",
"description": "Heading for the password generator within the inline menu"
},
"passwordRegenerated": {
- "message": "Password regenerated",
+ "message": "密碼已重新產生",
"description": "Notification message for when a password has been regenerated"
},
"saveLoginToBitwarden": {
- "message": "Save login to Bitwarden?",
+ "message": "在 Bitwarden 中儲存登入資訊?",
"description": "Confirmation message for saving a login to Bitwarden"
},
"spaceCharacterDescriptor": {
- "message": "Space",
+ "message": "空格",
"description": "Represents the space key in screen reader content as a readable word"
},
"tildeCharacterDescriptor": {
- "message": "Tilde",
+ "message": "波浪",
"description": "Represents the ~ key in screen reader content as a readable word"
},
"backtickCharacterDescriptor": {
- "message": "Backtick",
+ "message": "重音符",
"description": "Represents the ` key in screen reader content as a readable word"
},
"exclamationCharacterDescriptor": {
- "message": "Exclamation mark",
+ "message": "驚歎號",
"description": "Represents the ! key in screen reader content as a readable word"
},
"atSignCharacterDescriptor": {
- "message": "At sign",
+ "message": "在符號",
"description": "Represents the @ key in screen reader content as a readable word"
},
"hashSignCharacterDescriptor": {
- "message": "Hash sign",
+ "message": "井字號",
"description": "Represents the # key in screen reader content as a readable word"
},
"dollarSignCharacterDescriptor": {
- "message": "Dollar sign",
+ "message": "錢字號",
"description": "Represents the $ key in screen reader content as a readable word"
},
"percentSignCharacterDescriptor": {
- "message": "Percent sign",
+ "message": "百分比",
"description": "Represents the % key in screen reader content as a readable word"
},
"caretCharacterDescriptor": {
- "message": "Caret",
+ "message": "插入號",
"description": "Represents the ^ key in screen reader content as a readable word"
},
"ampersandCharacterDescriptor": {
- "message": "Ampersand",
+ "message": "和符號",
"description": "Represents the & key in screen reader content as a readable word"
},
"asteriskCharacterDescriptor": {
- "message": "Asterisk",
+ "message": "星號",
"description": "Represents the * key in screen reader content as a readable word"
},
"parenLeftCharacterDescriptor": {
- "message": "Left parenthesis",
+ "message": "左括號",
"description": "Represents the ( key in screen reader content as a readable word"
},
"parenRightCharacterDescriptor": {
- "message": "Right parenthesis",
+ "message": "右括號",
"description": "Represents the ) key in screen reader content as a readable word"
},
"hyphenCharacterDescriptor": {
- "message": "Underscore",
+ "message": "底線",
"description": "Represents the _ key in screen reader content as a readable word"
},
"underscoreCharacterDescriptor": {
- "message": "Hyphen",
+ "message": "連字號",
"description": "Represents the - key in screen reader content as a readable word"
},
"plusCharacterDescriptor": {
- "message": "Plus",
+ "message": "加號",
"description": "Represents the + key in screen reader content as a readable word"
},
"equalsCharacterDescriptor": {
- "message": "Equals",
+ "message": "等號",
"description": "Represents the = key in screen reader content as a readable word"
},
"braceLeftCharacterDescriptor": {
- "message": "Left brace",
+ "message": "左大括號",
"description": "Represents the { key in screen reader content as a readable word"
},
"braceRightCharacterDescriptor": {
- "message": "Right brace",
+ "message": "右大括號",
"description": "Represents the } key in screen reader content as a readable word"
},
"bracketLeftCharacterDescriptor": {
- "message": "Left bracket",
+ "message": "左中括號",
"description": "Represents the [ key in screen reader content as a readable word"
},
"bracketRightCharacterDescriptor": {
- "message": "Right bracket",
+ "message": "右中括號",
"description": "Represents the ] key in screen reader content as a readable word"
},
"pipeCharacterDescriptor": {
- "message": "Pipe",
+ "message": "垂直符號",
"description": "Represents the | key in screen reader content as a readable word"
},
"backSlashCharacterDescriptor": {
- "message": "Back slash",
+ "message": "反斜線",
"description": "Represents the back slash key in screen reader content as a readable word"
},
"colonCharacterDescriptor": {
- "message": "Colon",
+ "message": "冒號",
"description": "Represents the : key in screen reader content as a readable word"
},
"semicolonCharacterDescriptor": {
- "message": "Semicolon",
+ "message": "分號",
"description": "Represents the ; key in screen reader content as a readable word"
},
"doubleQuoteCharacterDescriptor": {
- "message": "Double quote",
+ "message": "雙引號",
"description": "Represents the double quote key in screen reader content as a readable word"
},
"singleQuoteCharacterDescriptor": {
- "message": "Single quote",
+ "message": "單引號",
"description": "Represents the ' key in screen reader content as a readable word"
},
"lessThanCharacterDescriptor": {
- "message": "Less than",
+ "message": "小於",
"description": "Represents the < key in screen reader content as a readable word"
},
"greaterThanCharacterDescriptor": {
- "message": "Greater than",
+ "message": "大於",
"description": "Represents the > key in screen reader content as a readable word"
},
"commaCharacterDescriptor": {
- "message": "Comma",
+ "message": "逗號",
"description": "Represents the , key in screen reader content as a readable word"
},
"periodCharacterDescriptor": {
- "message": "Period",
+ "message": "句號",
"description": "Represents the . key in screen reader content as a readable word"
},
"questionCharacterDescriptor": {
- "message": "Question mark",
+ "message": "問號",
"description": "Represents the ? key in screen reader content as a readable word"
},
"forwardSlashCharacterDescriptor": {
- "message": "Forward slash",
+ "message": "斜線",
"description": "Represents the / key in screen reader content as a readable word"
},
"lowercaseAriaLabel": {
- "message": "Lowercase"
+ "message": "小寫"
},
"uppercaseAriaLabel": {
- "message": "Uppercase"
+ "message": "大寫"
},
"generatedPassword": {
- "message": "Generated password"
+ "message": "已產生的密碼"
},
"compactMode": {
- "message": "Compact mode"
+ "message": "緊湊模式"
},
"beta": {
- "message": "Beta"
+ "message": "測試版"
},
"importantNotice": {
- "message": "Important notice"
+ "message": "重要通知"
},
"setupTwoStepLogin": {
- "message": "Set up two-step login"
+ "message": "啟動兩階段登入"
},
"newDeviceVerificationNoticeContentPage1": {
- "message": "Bitwarden will send a code to your account email to verify logins from new devices starting in February 2025."
+ "message": "從 2025 年 2 月開始,Bitwarden 會傳送代碼到您的帳號電子郵件中來驗證新裝置的登入。"
},
"newDeviceVerificationNoticeContentPage2": {
- "message": "You can set up two-step login as an alternative way to protect your account or change your email to one you can access."
+ "message": "您可以啟動兩階段認證來保護您的帳號或更改您可以存取的電子郵件位址。"
},
"remindMeLater": {
- "message": "Remind me later"
+ "message": "稍後再提醒我"
},
"newDeviceVerificationNoticePageOneFormContent": {
- "message": "Do you have reliable access to your email, $EMAIL$?",
+ "message": "您可以存取您的電子郵件位址 $EMAIL$ 嗎?",
"placeholders": {
"email": {
"content": "$1",
@@ -4828,24 +5075,69 @@
}
},
"newDeviceVerificationNoticePageOneEmailAccessNo": {
- "message": "No, I do not"
+ "message": "不,我不行"
},
"newDeviceVerificationNoticePageOneEmailAccessYes": {
- "message": "Yes, I can reliably access my email"
+ "message": "是,我可以存取我的電子郵件位址"
},
"turnOnTwoStepLogin": {
- "message": "Turn on two-step login"
+ "message": "啟動兩階段登入"
},
"changeAcctEmail": {
- "message": "Change account email"
+ "message": "更改帳號電子郵件位址"
},
"extensionWidth": {
- "message": "Extension width"
+ "message": "擴充套件寬度"
},
"wide": {
- "message": "Wide"
+ "message": "寬度"
},
"extraWide": {
- "message": "Extra wide"
+ "message": "更寬"
+ },
+ "sshKeyWrongPassword": {
+ "message": "The password you entered is incorrect."
+ },
+ "importSshKey": {
+ "message": "Import"
+ },
+ "confirmSshKeyPassword": {
+ "message": "Confirm password"
+ },
+ "enterSshKeyPasswordDesc": {
+ "message": "Enter the password for the SSH key."
+ },
+ "enterSshKeyPassword": {
+ "message": "Enter password"
+ },
+ "invalidSshKey": {
+ "message": "The SSH key is invalid"
+ },
+ "sshKeyTypeUnsupported": {
+ "message": "The SSH key type is not supported"
+ },
+ "importSshKeyFromClipboard": {
+ "message": "Import key from clipboard"
+ },
+ "sshKeyImported": {
+ "message": "SSH key imported successfully"
+ },
+ "cannotRemoveViewOnlyCollections": {
+ "message": "若您只有檢視權限,無法移除集合 $COLLECTIONS$。",
+ "placeholders": {
+ "collections": {
+ "content": "$1",
+ "example": "Work, Personal"
+ }
+ }
+ },
+ "updateDesktopAppOrDisableFingerprintDialogTitle": {
+ "message": "請更新您的桌面應用程式"
+ },
+ "updateDesktopAppOrDisableFingerprintDialogMessage": {
+ "message": "為了使用生物辨識解鎖,請更新您的桌面應用程式,或在設定中停用指紋解鎖。"
+ },
+ "changeAtRiskPassword": {
+ "message": "Change at-risk password"
}
}
diff --git a/apps/browser/src/auth/popup/account-switching/account-switcher.component.html b/apps/browser/src/auth/popup/account-switching/account-switcher.component.html
index 0152cd1c7ff..de8ab4c7b08 100644
--- a/apps/browser/src/auth/popup/account-switching/account-switcher.component.html
+++ b/apps/browser/src/auth/popup/account-switching/account-switcher.component.html
@@ -15,7 +15,7 @@
- {{ "availableAccounts" | i18n }}
+ {{ "availableAccounts" | i18n }}
diff --git a/apps/browser/src/auth/popup/account-switching/account-switcher.component.ts b/apps/browser/src/auth/popup/account-switching/account-switcher.component.ts
index 25e1b2ae83f..78bee121afb 100644
--- a/apps/browser/src/auth/popup/account-switching/account-switcher.component.ts
+++ b/apps/browser/src/auth/popup/account-switching/account-switcher.component.ts
@@ -5,12 +5,14 @@ import { Subject, firstValueFrom, map, of, startWith, switchMap } from "rxjs";
import { JslibModule } from "@bitwarden/angular/jslib.module";
import { LockService } from "@bitwarden/auth/common";
-import { VaultTimeoutSettingsService } from "@bitwarden/common/abstractions/vault-timeout/vault-timeout-settings.service";
-import { VaultTimeoutService } from "@bitwarden/common/abstractions/vault-timeout/vault-timeout.service";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
-import { VaultTimeoutAction } from "@bitwarden/common/enums/vault-timeout-action.enum";
+import {
+ VaultTimeoutAction,
+ VaultTimeoutService,
+ VaultTimeoutSettingsService,
+} from "@bitwarden/common/key-management/vault-timeout";
import { UserId } from "@bitwarden/common/types/guid";
import {
AvatarModule,
@@ -19,6 +21,7 @@ import {
ItemModule,
SectionComponent,
SectionHeaderComponent,
+ TypographyModule,
} from "@bitwarden/components";
import { enableAccountSwitching } from "../../../platform/flags";
@@ -46,6 +49,7 @@ import { AccountSwitcherService } from "./services/account-switcher.service";
AccountComponent,
SectionComponent,
SectionHeaderComponent,
+ TypographyModule,
],
})
export class AccountSwitcherComponent implements OnInit, OnDestroy {
diff --git a/apps/browser/src/auth/popup/account-switching/current-account.component.html b/apps/browser/src/auth/popup/account-switching/current-account.component.html
index dacf4b34be5..f59a2b08fdd 100644
--- a/apps/browser/src/auth/popup/account-switching/current-account.component.html
+++ b/apps/browser/src/auth/popup/account-switching/current-account.component.html
@@ -5,8 +5,7 @@
class="tw-rounded-full hover:tw-outline hover:tw-outline-1 hover:tw-outline-offset-1"
(click)="currentAccountClicked()"
>
-
{{ "switchAccounts" | i18n }}:
-
{{ "activeAccount" | i18n }} {{ currentAccount.email }}
+
{{ "bitwardenAccount" | i18n }} {{ currentAccount.email }}
{
let activeAccountSubject: BehaviorSubject;
let authStatusSubject: ReplaySubject>;
+ let envBSubject: BehaviorSubject;
+ const mockHostName = "mockHostName";
+ const mockEnv: Partial = {
+ getHostname: () => mockHostName,
+ };
+
const accountService = mock();
const avatarService = mock();
const messagingService = mock();
@@ -41,6 +50,9 @@ describe("AccountSwitcherService", () => {
accountService.activeAccount$ = activeAccountSubject;
authService.authStatuses$ = authStatusSubject;
+ envBSubject = new BehaviorSubject(mockEnv as Environment);
+ environmentService.getEnvironment$.mockReturnValue(envBSubject);
+
accountSwitcherService = new AccountSwitcherService(
accountService,
avatarService,
@@ -79,11 +91,16 @@ describe("AccountSwitcherService", () => {
expect(accounts).toHaveLength(3);
expect(accounts[0].id).toBe("1");
expect(accounts[0].isActive).toBeTruthy();
+
+ expect(accounts[0].server).toBe(mockHostName);
+
expect(accounts[1].id).toBe("2");
expect(accounts[1].isActive).toBeFalsy();
+ expect(accounts[1].server).toBe(mockHostName);
expect(accounts[2].id).toBe("addAccount");
expect(accounts[2].isActive).toBeFalsy();
+ expect(accounts[2].server).toBe(undefined);
});
it.each([5, 6])(
diff --git a/apps/browser/src/auth/popup/account-switching/services/account-switcher.service.ts b/apps/browser/src/auth/popup/account-switching/services/account-switcher.service.ts
index 535df3ec6bb..bfed7dc1408 100644
--- a/apps/browser/src/auth/popup/account-switching/services/account-switcher.service.ts
+++ b/apps/browser/src/auth/popup/account-switching/services/account-switcher.service.ts
@@ -66,11 +66,12 @@ export class AccountSwitcherService {
const hasMaxAccounts = loggedInIds.length >= this.ACCOUNT_LIMIT;
const options: AvailableAccount[] = await Promise.all(
loggedInIds.map(async (id: UserId) => {
+ const userEnv = await firstValueFrom(this.environmentService.getEnvironment$(id));
return {
name: accounts[id].name ?? accounts[id].email,
email: accounts[id].email,
id: id,
- server: (await this.environmentService.getEnvironment(id))?.getHostname(),
+ server: userEnv?.getHostname(),
status: accountStatuses[id],
isActive: id === activeAccount?.id,
avatarColor: await firstValueFrom(
diff --git a/apps/browser/src/auth/popup/environment.component.html b/apps/browser/src/auth/popup/environment.component.html
deleted file mode 100644
index ff19739548a..00000000000
--- a/apps/browser/src/auth/popup/environment.component.html
+++ /dev/null
@@ -1,122 +0,0 @@
-
diff --git a/apps/browser/src/auth/popup/environment.component.ts b/apps/browser/src/auth/popup/environment.component.ts
deleted file mode 100644
index c922c61b7e8..00000000000
--- a/apps/browser/src/auth/popup/environment.component.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-// FIXME: Update this file to be type safe and remove this and next line
-// @ts-strict-ignore
-import { Component, OnInit } from "@angular/core";
-import { Router } from "@angular/router";
-
-import { EnvironmentComponent as BaseEnvironmentComponent } from "@bitwarden/angular/auth/components/environment.component";
-import { ModalService } from "@bitwarden/angular/services/modal.service";
-import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
-import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
-import { ToastService } from "@bitwarden/components";
-
-import { BrowserEnvironmentService } from "../../platform/services/browser-environment.service";
-
-@Component({
- selector: "app-environment",
- templateUrl: "environment.component.html",
-})
-export class EnvironmentComponent extends BaseEnvironmentComponent implements OnInit {
- showEditedManagedSettings = false;
-
- constructor(
- platformUtilsService: PlatformUtilsService,
- public environmentService: BrowserEnvironmentService,
- i18nService: I18nService,
- private router: Router,
- modalService: ModalService,
- toastService: ToastService,
- ) {
- super(platformUtilsService, environmentService, i18nService, modalService, toastService);
- this.showCustom = true;
- }
-
- async ngOnInit() {
- this.showEditedManagedSettings = await this.environmentService.settingsHaveChanged();
- }
-
- async resetEnvironment() {
- const urls = await this.environmentService.getManagedEnvironment();
-
- this.baseUrl = urls.base;
- this.webVaultUrl = urls.webVault;
- this.apiUrl = urls.api;
- this.iconsUrl = urls.icons;
- this.identityUrl = urls.identity;
- this.notificationsUrl = urls.notifications;
- this.iconsUrl = urls.icons;
- }
-
- saved() {
- super.saved();
- // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- this.router.navigate([""]);
- }
-}
diff --git a/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-anon-layout-wrapper.component.html b/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-anon-layout-wrapper.component.html
index 8893697da17..88a3b1c3076 100644
--- a/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-anon-layout-wrapper.component.html
+++ b/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-anon-layout-wrapper.component.html
@@ -5,7 +5,7 @@
[showBackButton]="showBackButton"
[pageTitle]="''"
>
-
+
diff --git a/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-anon-layout-wrapper.stories.ts b/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-anon-layout-wrapper.stories.ts
index ad7e6f67361..841eefda0ad 100644
--- a/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-anon-layout-wrapper.stories.ts
+++ b/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-anon-layout-wrapper.stories.ts
@@ -25,6 +25,8 @@ import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/pl
import { UserId } from "@bitwarden/common/types/guid";
import { ButtonModule, I18nMockService } from "@bitwarden/components";
+// FIXME: remove `src` and fix import
+// eslint-disable-next-line no-restricted-imports
import { RegistrationCheckEmailIcon } from "../../../../../../libs/auth/src/angular/icons/registration-check-email.icon";
import { PopupRouterCacheService } from "../../../platform/popup/view-cache/popup-router-cache.service";
import { AccountSwitcherService } from "../account-switching/services/account-switcher.service";
diff --git a/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-bitwarden-logo.icon.ts b/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-bitwarden-logo.icon.ts
index 51d748e1fbb..1de4bd37239 100644
--- a/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-bitwarden-logo.icon.ts
+++ b/apps/browser/src/auth/popup/extension-anon-layout-wrapper/extension-bitwarden-logo.icon.ts
@@ -8,6 +8,7 @@ export const ExtensionBitwardenLogo = svgIcon`
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
+ Bitwarden
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/browser/src/auth/popup/hint.component.ts b/apps/browser/src/auth/popup/hint.component.ts
deleted file mode 100644
index e97236fe6a8..00000000000
--- a/apps/browser/src/auth/popup/hint.component.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { Component } from "@angular/core";
-import { ActivatedRoute, Router } from "@angular/router";
-
-import { HintComponent as BaseHintComponent } from "@bitwarden/angular/auth/components/hint.component";
-import { LoginEmailServiceAbstraction } from "@bitwarden/auth/common";
-import { ApiService } from "@bitwarden/common/abstractions/api.service";
-import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
-import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
-import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
-import { ToastService } from "@bitwarden/components";
-
-@Component({
- selector: "app-hint",
- templateUrl: "hint.component.html",
-})
-export class HintComponent extends BaseHintComponent {
- constructor(
- router: Router,
- platformUtilsService: PlatformUtilsService,
- i18nService: I18nService,
- apiService: ApiService,
- logService: LogService,
- private route: ActivatedRoute,
- loginEmailService: LoginEmailServiceAbstraction,
- toastService: ToastService,
- ) {
- super(
- router,
- i18nService,
- apiService,
- platformUtilsService,
- logService,
- loginEmailService,
- toastService,
- );
-
- this.onSuccessfulSubmit = async () => {
- // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- this.router.navigate([this.successRoute]);
- };
- }
-}
diff --git a/apps/browser/src/auth/popup/home.component.html b/apps/browser/src/auth/popup/home.component.html
deleted file mode 100644
index ed395797961..00000000000
--- a/apps/browser/src/auth/popup/home.component.html
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
{{ "loginOrCreateNewAccount" | i18n }}
-
-
- {{ "newAroundHere" | i18n }}
- {{
- "createAccount" | i18n
- }}
-
-
-
diff --git a/apps/browser/src/auth/popup/home.component.ts b/apps/browser/src/auth/popup/home.component.ts
deleted file mode 100644
index 6060ac77abe..00000000000
--- a/apps/browser/src/auth/popup/home.component.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-// FIXME: Update this file to be type safe and remove this and next line
-// @ts-strict-ignore
-import { Component, OnDestroy, OnInit, ViewChild } from "@angular/core";
-import { FormBuilder, Validators } from "@angular/forms";
-import { ActivatedRoute, Router } from "@angular/router";
-import { Subject, firstValueFrom, switchMap, takeUntil, tap } from "rxjs";
-
-import { EnvironmentSelectorComponent } from "@bitwarden/angular/auth/components/environment-selector.component";
-import { LoginEmailServiceAbstraction, RegisterRouteService } from "@bitwarden/auth/common";
-import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum";
-import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
-import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
-import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
-import { ToastService } from "@bitwarden/components";
-
-import { AccountSwitcherService } from "./account-switching/services/account-switcher.service";
-
-@Component({
- selector: "app-home",
- templateUrl: "home.component.html",
-})
-export class HomeComponent implements OnInit, OnDestroy {
- @ViewChild(EnvironmentSelectorComponent, { static: true })
- environmentSelector!: EnvironmentSelectorComponent;
- private destroyed$: Subject = new Subject();
-
- loginInitiated = false;
- formGroup = this.formBuilder.group({
- email: ["", [Validators.required, Validators.email]],
- rememberEmail: [false],
- });
-
- // TODO: remove when email verification flag is removed
- registerRoute$ = this.registerRouteService.registerRoute$();
-
- constructor(
- protected platformUtilsService: PlatformUtilsService,
- private formBuilder: FormBuilder,
- private router: Router,
- private i18nService: I18nService,
- private loginEmailService: LoginEmailServiceAbstraction,
- private accountSwitcherService: AccountSwitcherService,
- private registerRouteService: RegisterRouteService,
- private toastService: ToastService,
- private configService: ConfigService,
- private route: ActivatedRoute,
- ) {}
-
- async ngOnInit(): Promise {
- this.listenForUnauthUiRefreshFlagChanges();
-
- const email = await firstValueFrom(this.loginEmailService.loginEmail$);
- const rememberEmail = this.loginEmailService.getRememberEmail();
-
- if (email != null) {
- this.formGroup.patchValue({ email, rememberEmail });
- } else {
- const storedEmail = await firstValueFrom(this.loginEmailService.storedEmail$);
-
- if (storedEmail != null) {
- this.formGroup.patchValue({ email: storedEmail, rememberEmail: true });
- }
- }
-
- this.environmentSelector.onOpenSelfHostedSettings
- .pipe(
- switchMap(async () => {
- await this.setLoginEmailValues();
- await this.router.navigate(["environment"]);
- }),
- takeUntil(this.destroyed$),
- )
- .subscribe();
- }
-
- ngOnDestroy(): void {
- this.destroyed$.next();
- this.destroyed$.complete();
- }
-
- private listenForUnauthUiRefreshFlagChanges() {
- this.configService
- .getFeatureFlag$(FeatureFlag.UnauthenticatedExtensionUIRefresh)
- .pipe(
- tap(async (flag) => {
- // If the flag is turned ON, we must force a reload to ensure the correct UI is shown
- if (flag) {
- const uniqueQueryParams = {
- ...this.route.queryParams,
- // adding a unique timestamp to the query params to force a reload
- t: new Date().getTime().toString(),
- };
-
- await this.router.navigate(["/login"], {
- queryParams: uniqueQueryParams,
- });
- }
- }),
- takeUntil(this.destroyed$),
- )
- .subscribe();
- }
-
- get availableAccounts$() {
- return this.accountSwitcherService.availableAccounts$;
- }
-
- async submit() {
- this.formGroup.markAllAsTouched();
-
- if (this.formGroup.invalid) {
- this.toastService.showToast({
- variant: "error",
- title: this.i18nService.t("errorOccured"),
- message: this.i18nService.t("invalidEmail"),
- });
- return;
- }
-
- await this.setLoginEmailValues();
- await this.router.navigate(["login"], { queryParams: { email: this.formGroup.value.email } });
- }
-
- async setLoginEmailValues() {
- // Note: Browser saves email settings here instead of the login component
- this.loginEmailService.setRememberEmail(this.formGroup.value.rememberEmail);
- await this.loginEmailService.setLoginEmail(this.formGroup.value.email);
- await this.loginEmailService.saveEmailSettings();
- }
-}
diff --git a/apps/browser/src/auth/popup/login-decryption-options/login-decryption-options-v1.component.html b/apps/browser/src/auth/popup/login-decryption-options/login-decryption-options-v1.component.html
deleted file mode 100644
index e996f9a6ff4..00000000000
--- a/apps/browser/src/auth/popup/login-decryption-options/login-decryption-options-v1.component.html
+++ /dev/null
@@ -1,111 +0,0 @@
-
-
-
-
- {{ "loginInitiated" | i18n }}
-
-
-
-
-
-
-
-
-
-
-
-
{{ "loginInitiated" | i18n }}
-
{{ "deviceApprovalRequired" | i18n }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ "loginInitiated" | i18n }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/browser/src/auth/popup/login-decryption-options/login-decryption-options-v1.component.ts b/apps/browser/src/auth/popup/login-decryption-options/login-decryption-options-v1.component.ts
deleted file mode 100644
index bd8f808c910..00000000000
--- a/apps/browser/src/auth/popup/login-decryption-options/login-decryption-options-v1.component.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Component } from "@angular/core";
-import { firstValueFrom } from "rxjs";
-
-import { BaseLoginDecryptionOptionsComponentV1 } from "@bitwarden/angular/auth/components/base-login-decryption-options-v1.component";
-
-import { postLogoutMessageListener$ } from "../utils/post-logout-message-listener";
-
-@Component({
- selector: "browser-login-decryption-options",
- templateUrl: "login-decryption-options-v1.component.html",
-})
-export class LoginDecryptionOptionsComponentV1 extends BaseLoginDecryptionOptionsComponentV1 {
- override async createUser(): Promise {
- try {
- await super.createUser();
- await this.router.navigate(["/tabs/vault"]);
- } catch (error) {
- this.validationService.showError(error);
- }
- }
-
- override async logOut(): Promise {
- // start listening for "switchAccountFinish" or "doneLoggingOut"
- const messagePromise = firstValueFrom(postLogoutMessageListener$);
- super.logOut();
- // wait for messages
- const command = await messagePromise;
-
- // We should be routed/routing very soon but just in case, turn loading back off.
- this.loading = false;
-
- // doneLoggingOut already has a message handler that will navigate us
- if (command === "switchAccountFinish") {
- // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- this.router.navigate(["/"]);
- }
- }
-}
diff --git a/apps/browser/src/auth/popup/login-v1.component.html b/apps/browser/src/auth/popup/login-v1.component.html
deleted file mode 100644
index 145a9cbc754..00000000000
--- a/apps/browser/src/auth/popup/login-v1.component.html
+++ /dev/null
@@ -1,81 +0,0 @@
-
diff --git a/apps/browser/src/auth/popup/login-v1.component.ts b/apps/browser/src/auth/popup/login-v1.component.ts
deleted file mode 100644
index cb6380d62ed..00000000000
--- a/apps/browser/src/auth/popup/login-v1.component.ts
+++ /dev/null
@@ -1,148 +0,0 @@
-// FIXME: Update this file to be type safe and remove this and next line
-// @ts-strict-ignore
-import { Component, NgZone, OnInit } from "@angular/core";
-import { FormBuilder } from "@angular/forms";
-import { ActivatedRoute, Router } from "@angular/router";
-import { firstValueFrom } from "rxjs";
-
-import { LoginComponentV1 as BaseLoginComponent } from "@bitwarden/angular/auth/components/login-v1.component";
-import { FormValidationErrorsService } from "@bitwarden/angular/platform/abstractions/form-validation-errors.service";
-import {
- LoginStrategyServiceAbstraction,
- LoginEmailServiceAbstraction,
- RegisterRouteService,
-} from "@bitwarden/auth/common";
-import { DevicesApiServiceAbstraction } from "@bitwarden/common/auth/abstractions/devices-api.service.abstraction";
-import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction";
-import { WebAuthnLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/webauthn/webauthn-login.service.abstraction";
-import { AppIdService } from "@bitwarden/common/platform/abstractions/app-id.service";
-import { CryptoFunctionService } from "@bitwarden/common/platform/abstractions/crypto-function.service";
-import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
-import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
-import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
-import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
-import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
-import { Utils } from "@bitwarden/common/platform/misc/utils";
-import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction";
-import { ToastService } from "@bitwarden/components";
-import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legacy";
-
-@Component({
- selector: "app-login",
- templateUrl: "login-v1.component.html",
-})
-export class LoginComponentV1 extends BaseLoginComponent implements OnInit {
- constructor(
- devicesApiService: DevicesApiServiceAbstraction,
- appIdService: AppIdService,
- loginStrategyService: LoginStrategyServiceAbstraction,
- router: Router,
- protected platformUtilsService: PlatformUtilsService,
- protected i18nService: I18nService,
- protected stateService: StateService,
- protected environmentService: EnvironmentService,
- protected passwordGenerationService: PasswordGenerationServiceAbstraction,
- protected cryptoFunctionService: CryptoFunctionService,
- syncService: SyncService,
- logService: LogService,
- ngZone: NgZone,
- formBuilder: FormBuilder,
- formValidationErrorService: FormValidationErrorsService,
- route: ActivatedRoute,
- loginEmailService: LoginEmailServiceAbstraction,
- ssoLoginService: SsoLoginServiceAbstraction,
- webAuthnLoginService: WebAuthnLoginServiceAbstraction,
- registerRouteService: RegisterRouteService,
- toastService: ToastService,
- ) {
- super(
- devicesApiService,
- appIdService,
- loginStrategyService,
- router,
- platformUtilsService,
- i18nService,
- stateService,
- environmentService,
- passwordGenerationService,
- cryptoFunctionService,
- logService,
- ngZone,
- formBuilder,
- formValidationErrorService,
- route,
- loginEmailService,
- ssoLoginService,
- webAuthnLoginService,
- registerRouteService,
- toastService,
- );
- this.onSuccessfulLogin = async () => {
- await syncService.fullSync(true);
- };
- this.successRoute = "/tabs/vault";
- }
-
- async ngOnInit(): Promise {
- await super.ngOnInit();
- await this.validateEmail();
- }
-
- settings() {
- // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- this.router.navigate(["environment"]);
- }
-
- async launchSsoBrowser() {
- // Save off email for SSO
- await this.ssoLoginService.setSsoEmail(this.formGroup.value.email);
-
- // Generate necessary sso params
- const passwordOptions: any = {
- type: "password",
- length: 64,
- uppercase: true,
- lowercase: true,
- numbers: true,
- special: false,
- };
-
- const state =
- (await this.passwordGenerationService.generatePassword(passwordOptions)) +
- ":clientId=browser";
- const codeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);
- const codeVerifierHash = await this.cryptoFunctionService.hash(codeVerifier, "sha256");
- const codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);
-
- await this.ssoLoginService.setCodeVerifier(codeVerifier);
- await this.ssoLoginService.setSsoState(state);
-
- const env = await firstValueFrom(this.environmentService.environment$);
- let url = env.getWebVaultUrl();
- if (url == null) {
- url = "https://vault.bitwarden.com";
- }
-
- const redirectUri = url + "/sso-connector.html";
-
- // Launch browser
- this.platformUtilsService.launchUri(
- url +
- "/#/sso?clientId=browser" +
- "&redirectUri=" +
- encodeURIComponent(redirectUri) +
- "&state=" +
- state +
- "&codeChallenge=" +
- codeChallenge +
- "&email=" +
- encodeURIComponent(this.formGroup.controls.email.value),
- );
- }
-
- async saveEmailSettings() {
- // values should be saved on home component
- return;
- }
-}
diff --git a/apps/browser/src/auth/popup/login-via-auth-request-v1.component.html b/apps/browser/src/auth/popup/login-via-auth-request-v1.component.html
deleted file mode 100644
index e7fafbb252c..00000000000
--- a/apps/browser/src/auth/popup/login-via-auth-request-v1.component.html
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
- {{ "logIn" | i18n }}
-
-
-
-
-
-
{{ "loginInitiated" | i18n }}
-
-
-
{{ "notificationSentDevice" | i18n }}
-
-
- {{ "fingerprintMatchInfo" | i18n }}
-
-
-
-
-
-
- {{ fingerprintPhrase }}
-
-
-
-
-
-
-
-
-
-
-
-
{{ "adminApprovalRequested" | i18n }}
-
-
-
{{ "adminApprovalRequestSentToAdmins" | i18n }}
-
{{ "youWillBeNotifiedOnceApproved" | i18n }}
-
-
-
-
-
- {{ fingerprintPhrase }}
-
-
-
-
-
-
-
-
diff --git a/apps/browser/src/auth/popup/login-via-auth-request-v1.component.ts b/apps/browser/src/auth/popup/login-via-auth-request-v1.component.ts
deleted file mode 100644
index 66c69d0a41a..00000000000
--- a/apps/browser/src/auth/popup/login-via-auth-request-v1.component.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { Location } from "@angular/common";
-import { Component } from "@angular/core";
-import { Router } from "@angular/router";
-
-import { LoginViaAuthRequestComponentV1 as BaseLoginViaAuthRequestComponentV1 } from "@bitwarden/angular/auth/components/login-via-auth-request-v1.component";
-import {
- AuthRequestServiceAbstraction,
- LoginStrategyServiceAbstraction,
- LoginEmailServiceAbstraction,
-} from "@bitwarden/auth/common";
-import { ApiService } from "@bitwarden/common/abstractions/api.service";
-import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
-import { AnonymousHubService } from "@bitwarden/common/auth/abstractions/anonymous-hub.service";
-import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
-import { DeviceTrustServiceAbstraction } from "@bitwarden/common/auth/abstractions/device-trust.service.abstraction";
-import { AppIdService } from "@bitwarden/common/platform/abstractions/app-id.service";
-import { CryptoFunctionService } from "@bitwarden/common/platform/abstractions/crypto-function.service";
-import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
-import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
-import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
-import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
-import { ValidationService } from "@bitwarden/common/platform/abstractions/validation.service";
-import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction";
-import { ToastService } from "@bitwarden/components";
-import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legacy";
-import { KeyService } from "@bitwarden/key-management";
-
-@Component({
- selector: "app-login-via-auth-request",
- templateUrl: "login-via-auth-request-v1.component.html",
-})
-export class LoginViaAuthRequestComponentV1 extends BaseLoginViaAuthRequestComponentV1 {
- constructor(
- router: Router,
- keyService: KeyService,
- cryptoFunctionService: CryptoFunctionService,
- appIdService: AppIdService,
- passwordGenerationService: PasswordGenerationServiceAbstraction,
- apiService: ApiService,
- authService: AuthService,
- logService: LogService,
- environmentService: EnvironmentService,
- i18nService: I18nService,
- platformUtilsService: PlatformUtilsService,
- anonymousHubService: AnonymousHubService,
- validationService: ValidationService,
- loginEmailService: LoginEmailServiceAbstraction,
- syncService: SyncService,
- deviceTrustService: DeviceTrustServiceAbstraction,
- authRequestService: AuthRequestServiceAbstraction,
- loginStrategyService: LoginStrategyServiceAbstraction,
- accountService: AccountService,
- private location: Location,
- toastService: ToastService,
- ) {
- super(
- router,
- keyService,
- cryptoFunctionService,
- appIdService,
- passwordGenerationService,
- apiService,
- authService,
- logService,
- environmentService,
- i18nService,
- platformUtilsService,
- anonymousHubService,
- validationService,
- accountService,
- loginEmailService,
- deviceTrustService,
- authRequestService,
- loginStrategyService,
- toastService,
- );
- this.onSuccessfulLogin = async () => {
- await syncService.fullSync(true);
- };
- }
-
- protected back() {
- this.location.back();
- }
-}
diff --git a/apps/browser/src/auth/popup/login/extension-login-component.service.spec.ts b/apps/browser/src/auth/popup/login/extension-login-component.service.spec.ts
index 4d3a7763013..ee940952852 100644
--- a/apps/browser/src/auth/popup/login/extension-login-component.service.spec.ts
+++ b/apps/browser/src/auth/popup/login/extension-login-component.service.spec.ts
@@ -1,11 +1,18 @@
import { TestBed } from "@angular/core/testing";
import { MockProxy, mock } from "jest-mock-extended";
+import { BehaviorSubject } from "rxjs";
import { DefaultLoginComponentService } from "@bitwarden/auth/angular";
+import { SsoUrlService } from "@bitwarden/auth/common";
import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction";
+import { ClientType } from "@bitwarden/common/enums";
import { CryptoFunctionService } from "@bitwarden/common/platform/abstractions/crypto-function.service";
-import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
+import {
+ Environment,
+ EnvironmentService,
+} from "@bitwarden/common/platform/abstractions/environment.service";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
+import { Utils } from "@bitwarden/common/platform/misc/utils";
import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legacy";
import { BrowserPlatformUtilsService } from "../../../platform/services/platform-utils/browser-platform-utils.service";
@@ -18,6 +25,7 @@ jest.mock("../../../platform/flags", () => ({
}));
describe("ExtensionLoginComponentService", () => {
+ const baseUrl = "https://webvault.bitwarden.com";
let service: ExtensionLoginComponentService;
let cryptoFunctionService: MockProxy;
let environmentService: MockProxy;
@@ -25,13 +33,20 @@ describe("ExtensionLoginComponentService", () => {
let platformUtilsService: MockProxy;
let ssoLoginService: MockProxy;
let extensionAnonLayoutWrapperDataService: MockProxy;
+ let ssoUrlService: MockProxy;
beforeEach(() => {
cryptoFunctionService = mock();
environmentService = mock();
passwordGenerationService = mock();
platformUtilsService = mock();
ssoLoginService = mock();
+ ssoUrlService = mock();
extensionAnonLayoutWrapperDataService = mock();
+ environmentService.environment$ = new BehaviorSubject({
+ getWebVaultUrl: () => baseUrl,
+ } as Environment);
+ platformUtilsService.getClientType.mockReturnValue(ClientType.Browser);
+
TestBed.configureTestingModule({
providers: [
{
@@ -44,6 +59,7 @@ describe("ExtensionLoginComponentService", () => {
platformUtilsService,
ssoLoginService,
extensionAnonLayoutWrapperDataService,
+ ssoUrlService,
),
},
{ provide: DefaultLoginComponentService, useExisting: ExtensionLoginComponentService },
@@ -52,6 +68,11 @@ describe("ExtensionLoginComponentService", () => {
{ provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },
{ provide: PlatformUtilsService, useValue: platformUtilsService },
{ provide: SsoLoginServiceAbstraction, useValue: ssoLoginService },
+ {
+ provide: ExtensionAnonLayoutWrapperDataService,
+ useValue: extensionAnonLayoutWrapperDataService,
+ },
+ { provide: SsoUrlService, useValue: ssoUrlService },
],
});
service = TestBed.inject(ExtensionLoginComponentService);
@@ -61,6 +82,26 @@ describe("ExtensionLoginComponentService", () => {
expect(service).toBeTruthy();
});
+ describe("redirectToSso", () => {
+ it("launches SSO browser window", async () => {
+ const email = "test@bitwarden.com";
+ const state = "testState";
+ const expectedState = "testState:clientId=browser";
+ const codeVerifier = "testCodeVerifier";
+ const codeChallenge = "testCodeChallenge";
+
+ passwordGenerationService.generatePassword.mockResolvedValueOnce(state);
+ passwordGenerationService.generatePassword.mockResolvedValueOnce(codeVerifier);
+ jest.spyOn(Utils, "fromBufferToUrlB64").mockReturnValue(codeChallenge);
+
+ await service.redirectToSsoLogin(email);
+
+ expect(ssoLoginService.setSsoState).toHaveBeenCalledWith(expectedState);
+ expect(ssoLoginService.setCodeVerifier).toHaveBeenCalledWith(codeVerifier);
+ expect(platformUtilsService.launchUri).toHaveBeenCalled();
+ });
+ });
+
describe("showBackButton", () => {
it("sets showBackButton in extensionAnonLayoutWrapperDataService", () => {
service.showBackButton(true);
diff --git a/apps/browser/src/auth/popup/login/extension-login-component.service.ts b/apps/browser/src/auth/popup/login/extension-login-component.service.ts
index 3de5439cf2b..9ed727ade33 100644
--- a/apps/browser/src/auth/popup/login/extension-login-component.service.ts
+++ b/apps/browser/src/auth/popup/login/extension-login-component.service.ts
@@ -1,8 +1,10 @@
// FIXME: Update this file to be type safe and remove this and next line
// @ts-strict-ignore
import { Injectable } from "@angular/core";
+import { firstValueFrom } from "rxjs";
import { DefaultLoginComponentService, LoginComponentService } from "@bitwarden/auth/angular";
+import { SsoUrlService } from "@bitwarden/auth/common";
import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction";
import { CryptoFunctionService } from "@bitwarden/common/platform/abstractions/crypto-function.service";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
@@ -23,6 +25,7 @@ export class ExtensionLoginComponentService
platformUtilsService: PlatformUtilsService,
ssoLoginService: SsoLoginServiceAbstraction,
private extensionAnonLayoutWrapperDataService: ExtensionAnonLayoutWrapperDataService,
+ private ssoUrlService: SsoUrlService,
) {
super(
cryptoFunctionService,
@@ -31,7 +34,35 @@ export class ExtensionLoginComponentService
platformUtilsService,
ssoLoginService,
);
- this.clientType = this.platformUtilsService.getClientType();
+ }
+
+ /**
+ * On the extension, redirecting to the SSO login page is done via a new browser window, opened
+ * to the SSO component on the web client.
+ * @param email the email of the user trying to log in, used to look up the org SSO identifier
+ * @param state the state that will be used to verify the SSO login, which needs to be passed to the IdP
+ * @param codeChallenge the challenge that will be verified after the code is returned from the IdP, which needs to be passed to the IdP
+ */
+ protected override async redirectToSso(
+ email: string,
+ state: string,
+ codeChallenge: string,
+ ): Promise {
+ const env = await firstValueFrom(this.environmentService.environment$);
+ const webVaultUrl = env.getWebVaultUrl();
+
+ const redirectUri = webVaultUrl + "/sso-connector.html";
+
+ const webAppSsoUrl = this.ssoUrlService.buildSsoUrl(
+ webVaultUrl,
+ this.clientType,
+ redirectUri,
+ state,
+ codeChallenge,
+ email,
+ );
+
+ this.platformUtilsService.launchUri(webAppSsoUrl);
}
showBackButton(showBackButton: boolean): void {
diff --git a/apps/browser/src/auth/popup/register.component.html b/apps/browser/src/auth/popup/register.component.html
deleted file mode 100644
index e2f4f2e7d12..00000000000
--- a/apps/browser/src/auth/popup/register.component.html
+++ /dev/null
@@ -1,147 +0,0 @@
-
diff --git a/apps/browser/src/auth/popup/register.component.ts b/apps/browser/src/auth/popup/register.component.ts
deleted file mode 100644
index 5171425c712..00000000000
--- a/apps/browser/src/auth/popup/register.component.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-// FIXME: Update this file to be type safe and remove this and next line
-// @ts-strict-ignore
-import { Component } from "@angular/core";
-import { UntypedFormBuilder } from "@angular/forms";
-import { Router } from "@angular/router";
-
-import { RegisterComponent as BaseRegisterComponent } from "@bitwarden/angular/auth/components/register.component";
-import { FormValidationErrorsService } from "@bitwarden/angular/platform/abstractions/form-validation-errors.service";
-import { LoginStrategyServiceAbstraction } from "@bitwarden/auth/common";
-import { ApiService } from "@bitwarden/common/abstractions/api.service";
-import { AuditService } from "@bitwarden/common/abstractions/audit.service";
-import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
-import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
-import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
-import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
-import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
-import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
-import { DialogService, ToastService } from "@bitwarden/components";
-import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legacy";
-import { KeyService } from "@bitwarden/key-management";
-
-@Component({
- selector: "app-register",
- templateUrl: "register.component.html",
-})
-export class RegisterComponent extends BaseRegisterComponent {
- color: string;
- text: string;
-
- constructor(
- formValidationErrorService: FormValidationErrorsService,
- formBuilder: UntypedFormBuilder,
- loginStrategyService: LoginStrategyServiceAbstraction,
- router: Router,
- i18nService: I18nService,
- keyService: KeyService,
- apiService: ApiService,
- stateService: StateService,
- platformUtilsService: PlatformUtilsService,
- passwordGenerationService: PasswordGenerationServiceAbstraction,
- environmentService: EnvironmentService,
- logService: LogService,
- auditService: AuditService,
- dialogService: DialogService,
- toastService: ToastService,
- configService: ConfigService,
- ) {
- super(
- formValidationErrorService,
- formBuilder,
- loginStrategyService,
- router,
- i18nService,
- keyService,
- apiService,
- stateService,
- platformUtilsService,
- passwordGenerationService,
- environmentService,
- logService,
- auditService,
- dialogService,
- toastService,
- configService,
- );
- }
-}
diff --git a/apps/browser/src/auth/popup/set-password.component.html b/apps/browser/src/auth/popup/set-password.component.html
index 6261608c345..71a2e3ac588 100644
--- a/apps/browser/src/auth/popup/set-password.component.html
+++ b/apps/browser/src/auth/popup/set-password.component.html
@@ -1,7 +1,7 @@
-
+
{{ "unlockMethods" | i18n }}
-
+
{{
"unlockWithBiometrics" | i18n
@@ -20,7 +20,11 @@
{{ biometricUnavailabilityReason }}
-
+
{{ "unlockWithPin" | i18n }}
@@ -54,6 +59,7 @@
+
{{ "vaultTimeoutHeader" | i18n }}
@@ -66,6 +72,7 @@
ngDefaultControl
>
+
{{ "vaultTimeoutAction1" | i18n }}
@@ -76,24 +83,24 @@
>
-
- {{ "vaultTimeoutActionDesc" | i18n }}
-
+
{{ "unlockMethodNeededToChangeTimeoutActionDesc" | i18n }}
-
+
+
{{ "vaultTimeoutPolicyAffectingOptions" | i18n }}
+
{{ "otherOptions" | i18n }}
-
diff --git a/apps/browser/src/auth/popup/settings/account-security.component.spec.ts b/apps/browser/src/auth/popup/settings/account-security.component.spec.ts
new file mode 100644
index 00000000000..60b38570482
--- /dev/null
+++ b/apps/browser/src/auth/popup/settings/account-security.component.spec.ts
@@ -0,0 +1,201 @@
+import { Component } from "@angular/core";
+import { ComponentFixture, TestBed } from "@angular/core/testing";
+import { By } from "@angular/platform-browser";
+import { mock } from "jest-mock-extended";
+import { firstValueFrom, of } from "rxjs";
+
+import { PinServiceAbstraction } from "@bitwarden/auth/common";
+import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
+import { PolicyType } from "@bitwarden/common/admin-console/enums";
+import { Policy } from "@bitwarden/common/admin-console/models/domain/policy";
+import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
+import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction";
+import {
+ VaultTimeoutSettingsService,
+ VaultTimeoutService,
+ VaultTimeoutStringType,
+ VaultTimeoutAction,
+} from "@bitwarden/common/key-management/vault-timeout";
+import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
+import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
+import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
+import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
+import { MessageSender } from "@bitwarden/common/platform/messaging";
+import { Utils } from "@bitwarden/common/platform/misc/utils";
+import { FakeAccountService, mockAccountServiceWith } from "@bitwarden/common/spec";
+import { UserId } from "@bitwarden/common/types/guid";
+import { DialogService, ToastService } from "@bitwarden/components";
+import { BiometricStateService, BiometricsService, KeyService } from "@bitwarden/key-management";
+
+import { PopOutComponent } from "../../../platform/popup/components/pop-out.component";
+import { PopupRouterCacheService } from "../../../platform/popup/view-cache/popup-router-cache.service";
+
+import { AccountSecurityComponent } from "./account-security.component";
+
+@Component({
+ standalone: true,
+ selector: "app-pop-out",
+ template: ` `,
+})
+class MockPopOutComponent {}
+
+describe("AccountSecurityComponent", () => {
+ let component: AccountSecurityComponent;
+ let fixture: ComponentFixture;
+
+ const mockUserId = Utils.newGuid() as UserId;
+ const accountService: FakeAccountService = mockAccountServiceWith(mockUserId);
+ const vaultTimeoutSettingsService = mock();
+ const biometricStateService = mock();
+ const policyService = mock();
+ const pinServiceAbstraction = mock();
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ providers: [
+ { provide: AccountService, useValue: accountService },
+ { provide: AccountSecurityComponent, useValue: mock() },
+ { provide: BiometricsService, useValue: mock() },
+ { provide: BiometricStateService, useValue: biometricStateService },
+ { provide: DialogService, useValue: mock() },
+ { provide: EnvironmentService, useValue: mock() },
+ { provide: I18nService, useValue: mock() },
+ { provide: MessageSender, useValue: mock() },
+ { provide: KeyService, useValue: mock() },
+ { provide: PinServiceAbstraction, useValue: pinServiceAbstraction },
+ { provide: PlatformUtilsService, useValue: mock() },
+ { provide: PolicyService, useValue: policyService },
+ { provide: PopupRouterCacheService, useValue: mock() },
+ { provide: StateService, useValue: mock() },
+ { provide: ToastService, useValue: mock() },
+ { provide: UserVerificationService, useValue: mock() },
+ { provide: VaultTimeoutService, useValue: mock() },
+ { provide: VaultTimeoutSettingsService, useValue: vaultTimeoutSettingsService },
+ ],
+ })
+ .overrideComponent(AccountSecurityComponent, {
+ remove: {
+ imports: [PopOutComponent],
+ },
+ add: {
+ imports: [MockPopOutComponent],
+ },
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(AccountSecurityComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+
+ vaultTimeoutSettingsService.getVaultTimeoutByUserId$.mockReturnValue(
+ of(VaultTimeoutStringType.OnLocked),
+ );
+ vaultTimeoutSettingsService.getVaultTimeoutActionByUserId$.mockReturnValue(
+ of(VaultTimeoutAction.Lock),
+ );
+ biometricStateService.promptAutomatically$ = of(false);
+ pinServiceAbstraction.isPinSet.mockResolvedValue(false);
+ });
+
+ it("pin enabled when RemoveUnlockWithPin policy is not set", async () => {
+ // @ts-strict-ignore
+ policyService.get$.mockReturnValue(of(null));
+
+ await component.ngOnInit();
+
+ await expect(firstValueFrom(component.pinEnabled$)).resolves.toBe(true);
+ });
+
+ it("pin enabled when RemoveUnlockWithPin policy is disabled", async () => {
+ const policy = new Policy();
+ policy.type = PolicyType.RemoveUnlockWithPin;
+ policy.enabled = false;
+
+ policyService.get$.mockReturnValue(of(policy));
+
+ await component.ngOnInit();
+
+ await expect(firstValueFrom(component.pinEnabled$)).resolves.toBe(true);
+
+ fixture.detectChanges();
+
+ const pinInputElement = fixture.debugElement.query(By.css("#pin"));
+ expect(pinInputElement).not.toBeNull();
+ expect(pinInputElement.name).toBe("input");
+ });
+
+ it("pin disabled when RemoveUnlockWithPin policy is enabled", async () => {
+ const policy = new Policy();
+ policy.type = PolicyType.RemoveUnlockWithPin;
+ policy.enabled = true;
+
+ policyService.get$.mockReturnValue(of(policy));
+
+ await component.ngOnInit();
+
+ await expect(firstValueFrom(component.pinEnabled$)).resolves.toBe(false);
+
+ fixture.detectChanges();
+
+ const pinInputElement = fixture.debugElement.query(By.css("#pin"));
+ expect(pinInputElement).toBeNull();
+ });
+
+ it("pin visible when RemoveUnlockWithPin policy is not set", async () => {
+ // @ts-strict-ignore
+ policyService.get$.mockReturnValue(of(null));
+
+ await component.ngOnInit();
+ fixture.detectChanges();
+
+ const pinInputElement = fixture.debugElement.query(By.css("#pin"));
+ expect(pinInputElement).not.toBeNull();
+ expect(pinInputElement.name).toBe("input");
+ });
+
+ it("pin visible when RemoveUnlockWithPin policy is disabled", async () => {
+ const policy = new Policy();
+ policy.type = PolicyType.RemoveUnlockWithPin;
+ policy.enabled = false;
+
+ policyService.get$.mockReturnValue(of(policy));
+
+ await component.ngOnInit();
+ fixture.detectChanges();
+
+ const pinInputElement = fixture.debugElement.query(By.css("#pin"));
+ expect(pinInputElement).not.toBeNull();
+ expect(pinInputElement.name).toBe("input");
+ });
+
+ it("pin visible when RemoveUnlockWithPin policy is enabled and pin set", async () => {
+ const policy = new Policy();
+ policy.type = PolicyType.RemoveUnlockWithPin;
+ policy.enabled = true;
+
+ policyService.get$.mockReturnValue(of(policy));
+
+ pinServiceAbstraction.isPinSet.mockResolvedValue(true);
+
+ await component.ngOnInit();
+ fixture.detectChanges();
+
+ const pinInputElement = fixture.debugElement.query(By.css("#pin"));
+ expect(pinInputElement).not.toBeNull();
+ expect(pinInputElement.name).toBe("input");
+ });
+
+ it("pin not visible when RemoveUnlockWithPin policy is enabled", async () => {
+ const policy = new Policy();
+ policy.type = PolicyType.RemoveUnlockWithPin;
+ policy.enabled = true;
+
+ policyService.get$.mockReturnValue(of(policy));
+
+ await component.ngOnInit();
+ fixture.detectChanges();
+
+ const pinInputElement = fixture.debugElement.query(By.css("#pin"));
+ expect(pinInputElement).toBeNull();
+ });
+});
diff --git a/apps/browser/src/auth/popup/settings/account-security.component.ts b/apps/browser/src/auth/popup/settings/account-security.component.ts
index 158eb797ac8..8cdfdab9524 100644
--- a/apps/browser/src/auth/popup/settings/account-security.component.ts
+++ b/apps/browser/src/auth/popup/settings/account-security.component.ts
@@ -12,6 +12,8 @@ import {
distinctUntilChanged,
firstValueFrom,
map,
+ Observable,
+ of,
pairwise,
startWith,
Subject,
@@ -23,23 +25,24 @@ import {
import { JslibModule } from "@bitwarden/angular/jslib.module";
import { FingerprintDialogComponent, VaultTimeoutInputComponent } from "@bitwarden/auth/angular";
import { PinServiceAbstraction } from "@bitwarden/auth/common";
-import { VaultTimeoutSettingsService } from "@bitwarden/common/abstractions/vault-timeout/vault-timeout-settings.service";
-import { VaultTimeoutService } from "@bitwarden/common/abstractions/vault-timeout/vault-timeout.service";
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
import { PolicyType } from "@bitwarden/common/admin-console/enums";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction";
-import { VaultTimeoutAction } from "@bitwarden/common/enums/vault-timeout-action.enum";
+import { DeviceType } from "@bitwarden/common/enums";
+import {
+ VaultTimeout,
+ VaultTimeoutAction,
+ VaultTimeoutOption,
+ VaultTimeoutService,
+ VaultTimeoutSettingsService,
+ VaultTimeoutStringType,
+} from "@bitwarden/common/key-management/vault-timeout";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
-import {
- VaultTimeout,
- VaultTimeoutOption,
- VaultTimeoutStringType,
-} from "@bitwarden/common/types/vault-timeout.type";
import {
CardComponent,
CheckboxModule,
@@ -96,7 +99,6 @@ import { AwaitDesktopDialogComponent } from "./await-desktop-dialog.component";
VaultTimeoutInputComponent,
],
})
-// eslint-disable-next-line rxjs-angular/prefer-takeuntil
export class AccountSecurityComponent implements OnInit, OnDestroy {
protected readonly VaultTimeoutAction = VaultTimeoutAction;
@@ -106,6 +108,8 @@ export class AccountSecurityComponent implements OnInit, OnDestroy {
hasVaultTimeoutPolicy = false;
biometricUnavailabilityReason: string;
showChangeMasterPass = true;
+ showAutoPrompt = true;
+ pinEnabled$: Observable = of(true);
form = this.formBuilder.group({
vaultTimeout: [null as VaultTimeout | null],
@@ -141,6 +145,11 @@ export class AccountSecurityComponent implements OnInit, OnDestroy {
) {}
async ngOnInit() {
+ // Firefox popup closes when unfocused by biometrics, blocking all unlock methods
+ if (this.platformUtilsService.getDevice() === DeviceType.FirefoxExtension) {
+ this.showAutoPrompt = false;
+ }
+
const hasMasterPassword = await this.userVerificationService.hasMasterPassword();
this.showMasterPasswordOnClientRestartOption = hasMasterPassword;
const maximumVaultTimeoutPolicy = this.policyService.get$(PolicyType.MaximumVaultTimeout);
@@ -186,6 +195,12 @@ export class AccountSecurityComponent implements OnInit, OnDestroy {
timeout = VaultTimeoutStringType.OnRestart;
}
+ this.pinEnabled$ = this.policyService.get$(PolicyType.RemoveUnlockWithPin).pipe(
+ map((policy) => {
+ return policy == null || !policy.enabled;
+ }),
+ );
+
const initialValues = {
vaultTimeout: timeout,
vaultTimeoutAction: await firstValueFrom(
@@ -206,6 +221,7 @@ export class AccountSecurityComponent implements OnInit, OnDestroy {
switchMap(async () => {
const status = await this.biometricsService.getBiometricsStatusForUser(activeAccount.id);
const biometricSettingAvailable =
+ !(await BrowserApi.permissionsGranted(["nativeMessaging"])) ||
(status !== BiometricsStatus.DesktopDisconnected &&
status !== BiometricsStatus.NotEnabledInConnectedDesktopApp) ||
(await this.vaultTimeoutSettingsService.isBiometricLockSet());
@@ -506,7 +522,18 @@ export class AccountSecurityComponent implements OnInit, OnDestroy {
const biometricsPromise = async () => {
try {
- const result = await this.biometricsService.authenticateWithBiometrics();
+ const userId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(map((a) => a.id)),
+ );
+ let result = false;
+ try {
+ const userKey = await this.biometricsService.unlockWithBiometricsForUser(userId);
+ result = await this.keyService.validateUserKey(userKey, userId);
+ // FIXME: Remove when updating file. Eslint update
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ } catch (e) {
+ result = false;
+ }
// prevent duplicate dialog
biometricsResponseReceived = true;
@@ -594,7 +621,7 @@ export class AccountSecurityComponent implements OnInit, OnDestroy {
}
}
- async fingerprint() {
+ async openAcctFingerprintDialog() {
const activeUserId = await firstValueFrom(
this.accountService.activeAccount$.pipe(map((a) => a?.id)),
);
diff --git a/apps/browser/src/auth/popup/sso-v1.component.ts b/apps/browser/src/auth/popup/sso-v1.component.ts
index ecb743848c7..f56fe697e70 100644
--- a/apps/browser/src/auth/popup/sso-v1.component.ts
+++ b/apps/browser/src/auth/popup/sso-v1.component.ts
@@ -11,9 +11,9 @@ import {
import { ApiService } from "@bitwarden/common/abstractions/api.service";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
-import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/auth/abstractions/master-password.service.abstraction";
import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/key-management/master-password/abstractions/master-password.service.abstraction";
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
import { CryptoFunctionService } from "@bitwarden/common/platform/abstractions/crypto-function.service";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
diff --git a/apps/browser/src/auth/popup/two-factor-auth-duo.component.ts b/apps/browser/src/auth/popup/two-factor-auth-duo.component.ts
deleted file mode 100644
index 0917b2703cf..00000000000
--- a/apps/browser/src/auth/popup/two-factor-auth-duo.component.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-// FIXME: Update this file to be type safe and remove this and next line
-// @ts-strict-ignore
-import { DialogModule } from "@angular/cdk/dialog";
-import { CommonModule } from "@angular/common";
-import { Component, OnDestroy, OnInit } from "@angular/core";
-import { ReactiveFormsModule, FormsModule } from "@angular/forms";
-import { Subject, Subscription, filter, firstValueFrom, takeUntil } from "rxjs";
-
-import { TwoFactorAuthDuoComponent as TwoFactorAuthDuoBaseComponent } from "@bitwarden/angular/auth/components/two-factor-auth/two-factor-auth-duo.component";
-import { JslibModule } from "@bitwarden/angular/jslib.module";
-import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
-import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
-import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
-import { ToastService } from "@bitwarden/components";
-
-import { AsyncActionsModule } from "../../../../../libs/components/src/async-actions";
-import { ButtonModule } from "../../../../../libs/components/src/button";
-import { FormFieldModule } from "../../../../../libs/components/src/form-field";
-import { LinkModule } from "../../../../../libs/components/src/link";
-import { I18nPipe } from "../../../../../libs/components/src/shared/i18n.pipe";
-import { TypographyModule } from "../../../../../libs/components/src/typography";
-import { ZonedMessageListenerService } from "../../platform/browser/zoned-message-listener.service";
-
-@Component({
- standalone: true,
- selector: "app-two-factor-auth-duo",
- templateUrl:
- "../../../../../libs/angular/src/auth/components/two-factor-auth/two-factor-auth-duo.component.html",
- imports: [
- CommonModule,
- JslibModule,
- DialogModule,
- ButtonModule,
- LinkModule,
- TypographyModule,
- ReactiveFormsModule,
- FormFieldModule,
- AsyncActionsModule,
- FormsModule,
- ],
- providers: [I18nPipe],
-})
-export class TwoFactorAuthDuoComponent
- extends TwoFactorAuthDuoBaseComponent
- implements OnInit, OnDestroy
-{
- private destroy$ = new Subject();
- duoResultSubscription: Subscription;
-
- constructor(
- protected i18nService: I18nService,
- protected platformUtilsService: PlatformUtilsService,
- private browserMessagingApi: ZonedMessageListenerService,
- private environmentService: EnvironmentService,
- toastService: ToastService,
- ) {
- super(i18nService, platformUtilsService, toastService);
- }
-
- async ngOnInit(): Promise {
- await super.ngOnInit();
- }
-
- async ngOnDestroy() {
- this.destroy$.next();
- this.destroy$.complete();
- }
-
- protected override setupDuoResultListener() {
- if (!this.duoResultSubscription) {
- this.duoResultSubscription = this.browserMessagingApi
- .messageListener$()
- .pipe(
- filter((msg: any) => msg.command === "duoResult"),
- takeUntil(this.destroy$),
- )
- .subscribe((msg: { command: string; code: string; state: string }) => {
- this.token.emit(msg.code + "|" + msg.state);
- });
- }
- }
-
- override async launchDuoFrameless() {
- if (this.duoFramelessUrl === null) {
- this.toastService.showToast({
- variant: "error",
- title: null,
- message: this.i18nService.t("duoHealthCheckResultsInNullAuthUrlError"),
- });
- return;
- }
- const duoHandOffMessage = {
- title: this.i18nService.t("youSuccessfullyLoggedIn"),
- message: this.i18nService.t("youMayCloseThisWindow"),
- isCountdown: false,
- };
-
- // we're using the connector here as a way to set a cookie with translations
- // before continuing to the duo frameless url
- const env = await firstValueFrom(this.environmentService.environment$);
- const launchUrl =
- env.getWebVaultUrl() +
- "/duo-redirect-connector.html" +
- "?duoFramelessUrl=" +
- encodeURIComponent(this.duoFramelessUrl) +
- "&handOffMessage=" +
- encodeURIComponent(JSON.stringify(duoHandOffMessage));
- this.platformUtilsService.launchUri(launchUrl);
- }
-}
diff --git a/apps/browser/src/auth/popup/two-factor-auth-email.component.ts b/apps/browser/src/auth/popup/two-factor-auth-email.component.ts
deleted file mode 100644
index b6211bba05f..00000000000
--- a/apps/browser/src/auth/popup/two-factor-auth-email.component.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { DialogModule } from "@angular/cdk/dialog";
-import { CommonModule } from "@angular/common";
-import { Component, OnInit, inject } from "@angular/core";
-import { ReactiveFormsModule, FormsModule } from "@angular/forms";
-
-import { TwoFactorAuthEmailComponent as TwoFactorAuthEmailBaseComponent } from "@bitwarden/angular/auth/components/two-factor-auth/two-factor-auth-email.component";
-import { JslibModule } from "@bitwarden/angular/jslib.module";
-
-import { AsyncActionsModule } from "../../../../../libs/components/src/async-actions";
-import { ButtonModule } from "../../../../../libs/components/src/button";
-import { DialogService } from "../../../../../libs/components/src/dialog";
-import { FormFieldModule } from "../../../../../libs/components/src/form-field";
-import { LinkModule } from "../../../../../libs/components/src/link";
-import { I18nPipe } from "../../../../../libs/components/src/shared/i18n.pipe";
-import { TypographyModule } from "../../../../../libs/components/src/typography";
-import BrowserPopupUtils from "../../platform/popup/browser-popup-utils";
-
-@Component({
- standalone: true,
- selector: "app-two-factor-auth-email",
- templateUrl:
- "../../../../../libs/angular/src/auth/components/two-factor-auth/two-factor-auth-email.component.html",
- imports: [
- CommonModule,
- JslibModule,
- DialogModule,
- ButtonModule,
- LinkModule,
- TypographyModule,
- ReactiveFormsModule,
- FormFieldModule,
- AsyncActionsModule,
- FormsModule,
- ],
- providers: [I18nPipe],
-})
-export class TwoFactorAuthEmailComponent extends TwoFactorAuthEmailBaseComponent implements OnInit {
- private dialogService = inject(DialogService);
-
- async ngOnInit(): Promise {
- if (BrowserPopupUtils.inPopup(window)) {
- const confirmed = await this.dialogService.openSimpleDialog({
- title: { key: "warning" },
- content: { key: "popup2faCloseMessage" },
- type: "warning",
- });
- if (confirmed) {
- await BrowserPopupUtils.openCurrentPagePopout(window);
- return;
- }
- }
-
- await super.ngOnInit();
- }
-}
diff --git a/apps/browser/src/auth/popup/two-factor-auth.component.ts b/apps/browser/src/auth/popup/two-factor-auth.component.ts
deleted file mode 100644
index 3cb82118597..00000000000
--- a/apps/browser/src/auth/popup/two-factor-auth.component.ts
+++ /dev/null
@@ -1,168 +0,0 @@
-// FIXME: Update this file to be type safe and remove this and next line
-// @ts-strict-ignore
-import { CommonModule } from "@angular/common";
-import { Component, Inject, OnDestroy, OnInit } from "@angular/core";
-import { FormBuilder, ReactiveFormsModule } from "@angular/forms";
-import { ActivatedRoute, Router, RouterLink } from "@angular/router";
-
-import { TwoFactorAuthAuthenticatorComponent } from "@bitwarden/angular/auth/components/two-factor-auth/two-factor-auth-authenticator.component";
-import { TwoFactorAuthWebAuthnComponent } from "@bitwarden/angular/auth/components/two-factor-auth/two-factor-auth-webauthn.component";
-import { TwoFactorAuthYubikeyComponent } from "@bitwarden/angular/auth/components/two-factor-auth/two-factor-auth-yubikey.component";
-import { TwoFactorAuthComponent as BaseTwoFactorAuthComponent } from "@bitwarden/angular/auth/components/two-factor-auth/two-factor-auth.component";
-import { TwoFactorOptionsComponent } from "@bitwarden/angular/auth/components/two-factor-auth/two-factor-options.component";
-import { JslibModule } from "@bitwarden/angular/jslib.module";
-import { I18nPipe } from "@bitwarden/angular/platform/pipes/i18n.pipe";
-import { WINDOW } from "@bitwarden/angular/services/injection-tokens";
-import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
-import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/auth/abstractions/master-password.service.abstraction";
-import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction";
-import { TwoFactorService } from "@bitwarden/common/auth/abstractions/two-factor.service";
-import { TwoFactorProviderType } from "@bitwarden/common/auth/enums/two-factor-provider-type";
-import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
-import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
-import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
-import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
-import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service";
-import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
-import { SyncService } from "@bitwarden/common/platform/sync";
-import {
- ButtonModule,
- FormFieldModule,
- AsyncActionsModule,
- CheckboxModule,
- DialogModule,
- LinkModule,
- TypographyModule,
- DialogService,
- ToastService,
-} from "@bitwarden/components";
-
-import {
- LoginStrategyServiceAbstraction,
- LoginEmailServiceAbstraction,
- UserDecryptionOptionsServiceAbstraction,
-} from "../../../../../libs/auth/src/common/abstractions";
-import { BrowserApi } from "../../platform/browser/browser-api";
-import BrowserPopupUtils from "../../platform/popup/browser-popup-utils";
-
-import { TwoFactorAuthDuoComponent } from "./two-factor-auth-duo.component";
-import { TwoFactorAuthEmailComponent } from "./two-factor-auth-email.component";
-
-@Component({
- standalone: true,
- templateUrl:
- "../../../../../libs/angular/src/auth/components/two-factor-auth/two-factor-auth.component.html",
- selector: "app-two-factor-auth",
- imports: [
- CommonModule,
- JslibModule,
- DialogModule,
- ButtonModule,
- LinkModule,
- TypographyModule,
- ReactiveFormsModule,
- FormFieldModule,
- AsyncActionsModule,
- RouterLink,
- CheckboxModule,
- TwoFactorOptionsComponent,
- TwoFactorAuthEmailComponent,
- TwoFactorAuthAuthenticatorComponent,
- TwoFactorAuthYubikeyComponent,
- TwoFactorAuthDuoComponent,
- TwoFactorAuthWebAuthnComponent,
- ],
- providers: [I18nPipe],
-})
-export class TwoFactorAuthComponent
- extends BaseTwoFactorAuthComponent
- implements OnInit, OnDestroy
-{
- constructor(
- protected loginStrategyService: LoginStrategyServiceAbstraction,
- protected router: Router,
- i18nService: I18nService,
- platformUtilsService: PlatformUtilsService,
- environmentService: EnvironmentService,
- dialogService: DialogService,
- protected route: ActivatedRoute,
- logService: LogService,
- protected twoFactorService: TwoFactorService,
- loginEmailService: LoginEmailServiceAbstraction,
- userDecryptionOptionsService: UserDecryptionOptionsServiceAbstraction,
- protected ssoLoginService: SsoLoginServiceAbstraction,
- protected configService: ConfigService,
- masterPasswordService: InternalMasterPasswordServiceAbstraction,
- accountService: AccountService,
- formBuilder: FormBuilder,
- @Inject(WINDOW) protected win: Window,
- private syncService: SyncService,
- private messagingService: MessagingService,
- toastService: ToastService,
- ) {
- super(
- loginStrategyService,
- router,
- i18nService,
- platformUtilsService,
- environmentService,
- dialogService,
- route,
- logService,
- twoFactorService,
- loginEmailService,
- userDecryptionOptionsService,
- ssoLoginService,
- configService,
- masterPasswordService,
- accountService,
- formBuilder,
- win,
- toastService,
- );
- this.onSuccessfulLoginTdeNavigate = async () => {
- this.win.close();
- };
- this.onSuccessfulLoginNavigate = this.goAfterLogIn;
- }
-
- async ngOnInit(): Promise {
- await super.ngOnInit();
-
- if (this.route.snapshot.paramMap.has("webAuthnResponse")) {
- // WebAuthn fallback response
- this.selectedProviderType = TwoFactorProviderType.WebAuthn;
- this.token = this.route.snapshot.paramMap.get("webAuthnResponse");
- this.onSuccessfulLogin = async () => {
- // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
- this.syncService.fullSync(true);
- this.messagingService.send("reloadPopup");
- window.close();
- };
- this.remember = this.route.snapshot.paramMap.get("remember") === "true";
- await this.submit();
- return;
- }
-
- if (await BrowserPopupUtils.inPopout(this.win)) {
- this.selectedProviderType = TwoFactorProviderType.Email;
- }
-
- // WebAuthn prompt appears inside the popup on linux, and requires a larger popup width
- // than usual to avoid cutting off the dialog.
- if (this.selectedProviderType === TwoFactorProviderType.WebAuthn && (await this.isLinux())) {
- document.body.classList.add("linux-webauthn");
- }
- }
-
- async ngOnDestroy() {
- if (this.selectedProviderType === TwoFactorProviderType.WebAuthn && (await this.isLinux())) {
- document.body.classList.remove("linux-webauthn");
- }
- }
-
- async isLinux() {
- return (await BrowserApi.getPlatformInfo()).os === "linux";
- }
-}
diff --git a/apps/browser/src/auth/popup/two-factor-options.component.html b/apps/browser/src/auth/popup/two-factor-options-v1.component.html
similarity index 100%
rename from apps/browser/src/auth/popup/two-factor-options.component.html
rename to apps/browser/src/auth/popup/two-factor-options-v1.component.html
diff --git a/apps/browser/src/auth/popup/two-factor-options.component.ts b/apps/browser/src/auth/popup/two-factor-options-v1.component.ts
similarity index 87%
rename from apps/browser/src/auth/popup/two-factor-options.component.ts
rename to apps/browser/src/auth/popup/two-factor-options-v1.component.ts
index 6191d277add..0c71421fc04 100644
--- a/apps/browser/src/auth/popup/two-factor-options.component.ts
+++ b/apps/browser/src/auth/popup/two-factor-options-v1.component.ts
@@ -1,7 +1,7 @@
import { Component } from "@angular/core";
import { ActivatedRoute, Router } from "@angular/router";
-import { TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent } from "@bitwarden/angular/auth/components/two-factor-options.component";
+import { TwoFactorOptionsComponentV1 as BaseTwoFactorOptionsComponent } from "@bitwarden/angular/auth/components/two-factor-options-v1.component";
import {
TwoFactorProviderDetails,
TwoFactorService,
@@ -12,9 +12,9 @@ import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/pl
@Component({
selector: "app-two-factor-options",
- templateUrl: "two-factor-options.component.html",
+ templateUrl: "two-factor-options-v1.component.html",
})
-export class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {
+export class TwoFactorOptionsComponentV1 extends BaseTwoFactorOptionsComponent {
constructor(
twoFactorService: TwoFactorService,
router: Router,
diff --git a/apps/browser/src/auth/popup/two-factor.component.html b/apps/browser/src/auth/popup/two-factor-v1.component.html
similarity index 100%
rename from apps/browser/src/auth/popup/two-factor.component.html
rename to apps/browser/src/auth/popup/two-factor-v1.component.html
diff --git a/apps/browser/src/auth/popup/two-factor.component.ts b/apps/browser/src/auth/popup/two-factor-v1.component.ts
similarity index 95%
rename from apps/browser/src/auth/popup/two-factor.component.ts
rename to apps/browser/src/auth/popup/two-factor-v1.component.ts
index a2f9cd9d0fc..884e42bf73a 100644
--- a/apps/browser/src/auth/popup/two-factor.component.ts
+++ b/apps/browser/src/auth/popup/two-factor-v1.component.ts
@@ -5,7 +5,7 @@ import { ActivatedRoute, Router } from "@angular/router";
import { Subject, Subscription, firstValueFrom } from "rxjs";
import { filter, first, takeUntil } from "rxjs/operators";
-import { TwoFactorComponent as BaseTwoFactorComponent } from "@bitwarden/angular/auth/components/two-factor.component";
+import { TwoFactorComponentV1 as BaseTwoFactorComponent } from "@bitwarden/angular/auth/components/two-factor-v1.component";
import { WINDOW } from "@bitwarden/angular/services/injection-tokens";
import {
LoginStrategyServiceAbstraction,
@@ -14,10 +14,10 @@ import {
} from "@bitwarden/auth/common";
import { ApiService } from "@bitwarden/common/abstractions/api.service";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
-import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/auth/abstractions/master-password.service.abstraction";
import { SsoLoginServiceAbstraction } from "@bitwarden/common/auth/abstractions/sso-login.service.abstraction";
import { TwoFactorService } from "@bitwarden/common/auth/abstractions/two-factor.service";
import { TwoFactorProviderType } from "@bitwarden/common/auth/enums/two-factor-provider-type";
+import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/key-management/master-password/abstractions/master-password.service.abstraction";
import { AppIdService } from "@bitwarden/common/platform/abstractions/app-id.service";
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
@@ -33,13 +33,13 @@ import { BrowserApi } from "../../platform/browser/browser-api";
import { ZonedMessageListenerService } from "../../platform/browser/zoned-message-listener.service";
import BrowserPopupUtils from "../../platform/popup/browser-popup-utils";
-import { closeTwoFactorAuthPopout } from "./utils/auth-popout-window";
+import { closeTwoFactorAuthWebAuthnPopout } from "./utils/auth-popout-window";
@Component({
selector: "app-two-factor",
- templateUrl: "two-factor.component.html",
+ templateUrl: "two-factor-v1.component.html",
})
-export class TwoFactorComponent extends BaseTwoFactorComponent implements OnInit, OnDestroy {
+export class TwoFactorComponentV1 extends BaseTwoFactorComponent implements OnInit, OnDestroy {
private destroy$ = new Subject();
inPopout = BrowserPopupUtils.inPopout(window);
@@ -171,7 +171,7 @@ export class TwoFactorComponent extends BaseTwoFactorComponent implements OnInit
// We don't need this window anymore because the intent is for the user to be left
// on the web vault screen which tells them to continue in the browser extension (sidebar or popup)
- await closeTwoFactorAuthPopout();
+ await closeTwoFactorAuthWebAuthnPopout();
};
}
});
diff --git a/apps/browser/src/auth/popup/utils/auth-popout-window.spec.ts b/apps/browser/src/auth/popup/utils/auth-popout-window.spec.ts
index 9e7d69fad97..b2c20ba2849 100644
--- a/apps/browser/src/auth/popup/utils/auth-popout-window.spec.ts
+++ b/apps/browser/src/auth/popup/utils/auth-popout-window.spec.ts
@@ -7,8 +7,13 @@ import {
openUnlockPopout,
closeUnlockPopout,
openSsoAuthResultPopout,
- openTwoFactorAuthPopout,
- closeTwoFactorAuthPopout,
+ openTwoFactorAuthWebAuthnPopout,
+ closeTwoFactorAuthWebAuthnPopout,
+ closeSsoAuthResultPopout,
+ openTwoFactorAuthEmailPopout,
+ closeTwoFactorAuthEmailPopout,
+ openTwoFactorAuthDuoPopout,
+ closeTwoFactorAuthDuoPopout,
} from "./auth-popout-window";
describe("AuthPopoutWindow", () => {
@@ -67,7 +72,7 @@ describe("AuthPopoutWindow", () => {
it("closes any existing popup window types that are open to the login extension route", async () => {
const loginTab = createChromeTabMock({
- url: chrome.runtime.getURL("popup/index.html#/home"),
+ url: chrome.runtime.getURL("popup/index.html#/login"),
});
jest.spyOn(BrowserApi, "tabsQuery").mockResolvedValue([loginTab]);
jest.spyOn(BrowserApi, "removeWindow");
@@ -97,22 +102,66 @@ describe("AuthPopoutWindow", () => {
});
});
- describe("openTwoFactorAuthPopout", () => {
- it("opens a window that facilitates two factor authentication", async () => {
- await openTwoFactorAuthPopout({ data: "data", remember: "remember" });
+ describe("closeSsoAuthResultPopout", () => {
+ it("closes the SSO authentication result popout window", async () => {
+ await closeSsoAuthResultPopout();
+
+ expect(closeSingleActionPopoutSpy).toHaveBeenCalledWith(AuthPopoutType.ssoAuthResult);
+ });
+ });
+
+ describe("openTwoFactorAuthWebAuthnPopout", () => {
+ it("opens a window that facilitates two factor authentication via WebAuthn", async () => {
+ await openTwoFactorAuthWebAuthnPopout({ data: "data", remember: "remember" });
expect(openPopoutSpy).toHaveBeenCalledWith(
"popup/index.html#/2fa;webAuthnResponse=data;remember=remember",
- { singleActionKey: AuthPopoutType.twoFactorAuth },
+ { singleActionKey: AuthPopoutType.twoFactorAuthWebAuthn },
);
});
});
- describe("closeTwoFactorAuthPopout", () => {
- it("closes the two-factor authentication window", async () => {
- await closeTwoFactorAuthPopout();
+ describe("closeTwoFactorAuthWebAuthnPopout", () => {
+ it("closes the two-factor authentication WebAuthn window", async () => {
+ await closeTwoFactorAuthWebAuthnPopout();
- expect(closeSingleActionPopoutSpy).toHaveBeenCalledWith(AuthPopoutType.twoFactorAuth);
+ expect(closeSingleActionPopoutSpy).toHaveBeenCalledWith(AuthPopoutType.twoFactorAuthWebAuthn);
+ });
+ });
+
+ describe("openTwoFactorAuthEmailPopout", () => {
+ it("opens a window that facilitates two factor authentication via email", async () => {
+ await openTwoFactorAuthEmailPopout();
+
+ expect(openPopoutSpy).toHaveBeenCalledWith("popup/index.html#/2fa", {
+ singleActionKey: AuthPopoutType.twoFactorAuthEmail,
+ });
+ });
+ });
+
+ describe("closeTwoFactorAuthEmailPopout", () => {
+ it("closes the two-factor authentication email window", async () => {
+ await closeTwoFactorAuthEmailPopout();
+
+ expect(closeSingleActionPopoutSpy).toHaveBeenCalledWith(AuthPopoutType.twoFactorAuthEmail);
+ });
+ });
+
+ describe("openTwoFactorAuthDuoPopout", () => {
+ it("opens a window that facilitates two factor authentication via Duo", async () => {
+ await openTwoFactorAuthDuoPopout();
+
+ expect(openPopoutSpy).toHaveBeenCalledWith("popup/index.html#/2fa", {
+ singleActionKey: AuthPopoutType.twoFactorAuthDuo,
+ });
+ });
+ });
+
+ describe("closeTwoFactorAuthDuoPopout", () => {
+ it("closes the two-factor authentication Duo window", async () => {
+ await closeTwoFactorAuthDuoPopout();
+
+ expect(closeSingleActionPopoutSpy).toHaveBeenCalledWith(AuthPopoutType.twoFactorAuthDuo);
});
});
});
diff --git a/apps/browser/src/auth/popup/utils/auth-popout-window.ts b/apps/browser/src/auth/popup/utils/auth-popout-window.ts
index 5a0e577807f..0646b684b22 100644
--- a/apps/browser/src/auth/popup/utils/auth-popout-window.ts
+++ b/apps/browser/src/auth/popup/utils/auth-popout-window.ts
@@ -6,11 +6,14 @@ import BrowserPopupUtils from "../../../platform/popup/browser-popup-utils";
const AuthPopoutType = {
unlockExtension: "auth_unlockExtension",
ssoAuthResult: "auth_ssoAuthResult",
- twoFactorAuth: "auth_twoFactorAuth",
+ twoFactorAuthWebAuthn: "auth_twoFactorAuthWebAuthn",
+ twoFactorAuthEmail: "auth_twoFactorAuthEmail",
+ twoFactorAuthDuo: "auth_twoFactorAuthDuo",
} as const;
+
const extensionUnlockUrls = new Set([
chrome.runtime.getURL("popup/index.html#/lock"),
- chrome.runtime.getURL("popup/index.html#/home"),
+ chrome.runtime.getURL("popup/index.html#/login"),
]);
/**
@@ -60,26 +63,69 @@ async function openSsoAuthResultPopout(resultData: { code: string; state: string
}
/**
- * Opens a window that facilitates two-factor authentication.
- *
- * @param twoFactorAuthData - The data from the two-factor authentication.
+ * Closes the SSO authentication result popout window.
*/
-async function openTwoFactorAuthPopout(twoFactorAuthData: { data: string; remember: string }) {
- const { data, remember } = twoFactorAuthData;
+async function closeSsoAuthResultPopout() {
+ await BrowserPopupUtils.closeSingleActionPopout(AuthPopoutType.ssoAuthResult);
+}
+
+/**
+ * Opens a popout that facilitates two-factor authentication via WebAuthn.
+ *
+ * @param twoFactorAuthWebAuthnData - The data to send ot the popout via query param.
+ * It includes the WebAuthn response and whether to save the 2FA remember me token or not.
+ */
+async function openTwoFactorAuthWebAuthnPopout(twoFactorAuthWebAuthnData: {
+ data: string;
+ remember: string;
+}) {
+ const { data, remember } = twoFactorAuthWebAuthnData;
const params =
`webAuthnResponse=${encodeURIComponent(data)};` + `remember=${encodeURIComponent(remember)}`;
const twoFactorUrl = `popup/index.html#/2fa;${params}`;
await BrowserPopupUtils.openPopout(twoFactorUrl, {
- singleActionKey: AuthPopoutType.twoFactorAuth,
+ singleActionKey: AuthPopoutType.twoFactorAuthWebAuthn,
});
}
/**
- * Closes the two-factor authentication popout window.
+ * Closes the two-factor authentication WebAuthn popout window.
*/
-async function closeTwoFactorAuthPopout() {
- await BrowserPopupUtils.closeSingleActionPopout(AuthPopoutType.twoFactorAuth);
+async function closeTwoFactorAuthWebAuthnPopout() {
+ await BrowserPopupUtils.closeSingleActionPopout(AuthPopoutType.twoFactorAuthWebAuthn);
+}
+
+/**
+ * Opens a popout that facilitates two-factor authentication via email.
+ */
+async function openTwoFactorAuthEmailPopout() {
+ await BrowserPopupUtils.openPopout("popup/index.html#/2fa", {
+ singleActionKey: AuthPopoutType.twoFactorAuthEmail,
+ });
+}
+
+/**
+ * Closes the two-factor authentication email popout window.
+ */
+async function closeTwoFactorAuthEmailPopout() {
+ await BrowserPopupUtils.closeSingleActionPopout(AuthPopoutType.twoFactorAuthEmail);
+}
+
+/**
+ * Opens the two-factor authentication Duo popout.
+ */
+async function openTwoFactorAuthDuoPopout() {
+ await BrowserPopupUtils.openPopout("popup/index.html#/2fa", {
+ singleActionKey: AuthPopoutType.twoFactorAuthDuo,
+ });
+}
+
+/**
+ * Closes the two-factor authentication Duo popout.
+ */
+async function closeTwoFactorAuthDuoPopout() {
+ await BrowserPopupUtils.closeSingleActionPopout(AuthPopoutType.twoFactorAuthDuo);
}
export {
@@ -87,6 +133,11 @@ export {
openUnlockPopout,
closeUnlockPopout,
openSsoAuthResultPopout,
- openTwoFactorAuthPopout,
- closeTwoFactorAuthPopout,
+ closeSsoAuthResultPopout,
+ openTwoFactorAuthWebAuthnPopout,
+ closeTwoFactorAuthWebAuthnPopout,
+ openTwoFactorAuthEmailPopout,
+ closeTwoFactorAuthEmailPopout,
+ openTwoFactorAuthDuoPopout,
+ closeTwoFactorAuthDuoPopout,
};
diff --git a/apps/browser/src/auth/services/extension-two-factor-auth-component.service.spec.ts b/apps/browser/src/auth/services/extension-two-factor-auth-component.service.spec.ts
new file mode 100644
index 00000000000..2247328acab
--- /dev/null
+++ b/apps/browser/src/auth/services/extension-two-factor-auth-component.service.spec.ts
@@ -0,0 +1,202 @@
+import { MockProxy, mock } from "jest-mock-extended";
+
+// Must mock modules before importing
+jest.mock("../popup/utils/auth-popout-window", () => {
+ const originalModule = jest.requireActual("../popup/utils/auth-popout-window");
+
+ return {
+ ...originalModule, // avoid losing the original module's exports
+ closeSsoAuthResultPopout: jest.fn(),
+ closeTwoFactorAuthWebAuthnPopout: jest.fn(),
+ closeTwoFactorAuthEmailPopout: jest.fn(),
+ closeTwoFactorAuthDuoPopout: jest.fn(),
+ };
+});
+
+jest.mock("../../platform/popup/browser-popup-utils", () => ({
+ inSingleActionPopout: jest.fn(),
+ inPopout: jest.fn(),
+}));
+
+import { DuoLaunchAction } from "@bitwarden/auth/angular";
+import { TwoFactorProviderType } from "@bitwarden/common/auth/enums/two-factor-provider-type";
+
+import { BrowserApi } from "../../platform/browser/browser-api";
+import BrowserPopupUtils from "../../platform/popup/browser-popup-utils";
+import {
+ AuthPopoutType,
+ closeSsoAuthResultPopout,
+ closeTwoFactorAuthDuoPopout,
+ closeTwoFactorAuthEmailPopout,
+ closeTwoFactorAuthWebAuthnPopout,
+} from "../popup/utils/auth-popout-window";
+
+import { ExtensionTwoFactorAuthComponentService } from "./extension-two-factor-auth-component.service";
+
+describe("ExtensionTwoFactorAuthComponentService", () => {
+ let extensionTwoFactorAuthComponentService: ExtensionTwoFactorAuthComponentService;
+ let window: MockProxy;
+
+ beforeEach(() => {
+ jest.clearAllMocks();
+
+ window = mock();
+ document.body.className = ""; // Reset any added classes between tests.
+
+ extensionTwoFactorAuthComponentService = new ExtensionTwoFactorAuthComponentService(window);
+ });
+
+ describe("shouldCheckForWebAuthnQueryParamResponse", () => {
+ it("should return true for the extension", () => {
+ expect(
+ extensionTwoFactorAuthComponentService.shouldCheckForWebAuthnQueryParamResponse(),
+ ).toBe(true);
+ });
+ });
+
+ describe("extendPopupWidthIfRequired", () => {
+ it("should add linux-webauthn class to body if selected2faProviderType is WebAuthn and isLinux is true", async () => {
+ jest
+ .spyOn(extensionTwoFactorAuthComponentService as unknown as any, "isLinux")
+ .mockResolvedValue(true);
+
+ await extensionTwoFactorAuthComponentService.extendPopupWidthIfRequired(
+ TwoFactorProviderType.WebAuthn,
+ );
+ expect(document.body.classList).toContain("linux-webauthn");
+ });
+
+ it("should not add linux-webauthn class to body if selected2faProviderType is WebAuthn and isLinux is false", async () => {
+ jest
+ .spyOn(extensionTwoFactorAuthComponentService as unknown as any, "isLinux")
+ .mockResolvedValue(false);
+
+ await extensionTwoFactorAuthComponentService.extendPopupWidthIfRequired(
+ TwoFactorProviderType.WebAuthn,
+ );
+ expect(document.body.classList).not.toContain("linux-webauthn");
+ });
+
+ it.each([
+ [true, TwoFactorProviderType.Email],
+ [false, TwoFactorProviderType.Email],
+ ])(
+ "should not add linux-webauthn class to body if selected2faProviderType is not WebAuthn and isLinux is %s",
+ async (isLinux, selected2faProviderType) => {
+ jest
+ .spyOn(extensionTwoFactorAuthComponentService as unknown as any, "isLinux")
+ .mockResolvedValue(isLinux);
+
+ await extensionTwoFactorAuthComponentService.extendPopupWidthIfRequired(
+ selected2faProviderType,
+ );
+
+ expect(document.body.classList).not.toContain("linux-webauthn");
+ },
+ );
+ });
+
+ describe("removePopupWidthExtension", () => {
+ it("should remove linux-webauthn class from body", () => {
+ document.body.classList.add("linux-webauthn");
+ extensionTwoFactorAuthComponentService.removePopupWidthExtension();
+ expect(document.body.classList).not.toContain("linux-webauthn");
+ });
+ });
+
+ describe("closeSingleActionPopouts", () => {
+ it("should call closeSsoAuthResultPopout if in SSO auth result popout", async () => {
+ const inSingleActionPopoutSpy = jest
+ .spyOn(BrowserPopupUtils, "inSingleActionPopout")
+ .mockImplementation((_, key) => {
+ return key === AuthPopoutType.ssoAuthResult;
+ });
+
+ await extensionTwoFactorAuthComponentService.closeSingleActionPopouts();
+
+ expect(inSingleActionPopoutSpy).toHaveBeenCalledTimes(1);
+ expect(closeSsoAuthResultPopout).toHaveBeenCalled();
+ });
+
+ it("should call closeTwoFactorAuthWebAuthnPopout if in two factor auth webauthn popout", async () => {
+ const inSingleActionPopoutSpy = jest
+ .spyOn(BrowserPopupUtils, "inSingleActionPopout")
+ .mockImplementation((_, key) => {
+ return key === AuthPopoutType.twoFactorAuthWebAuthn;
+ });
+
+ await extensionTwoFactorAuthComponentService.closeSingleActionPopouts();
+
+ expect(inSingleActionPopoutSpy).toHaveBeenCalledTimes(2);
+ expect(closeTwoFactorAuthWebAuthnPopout).toHaveBeenCalled();
+ });
+
+ it("should call closeTwoFactorAuthEmailPopout if in two factor auth email popout", async () => {
+ const inSingleActionPopoutSpy = jest
+ .spyOn(BrowserPopupUtils, "inSingleActionPopout")
+ .mockImplementation((_, key) => {
+ return key === AuthPopoutType.twoFactorAuthEmail;
+ });
+
+ await extensionTwoFactorAuthComponentService.closeSingleActionPopouts();
+
+ expect(inSingleActionPopoutSpy).toHaveBeenCalledTimes(3);
+ expect(closeTwoFactorAuthEmailPopout).toHaveBeenCalled();
+ });
+
+ it("should call closeTwoFactorAuthDuoPopout if in two factor auth duo popout", async () => {
+ const inSingleActionPopoutSpy = jest
+ .spyOn(BrowserPopupUtils, "inSingleActionPopout")
+ .mockImplementation((_, key) => {
+ return key === AuthPopoutType.twoFactorAuthDuo;
+ });
+
+ await extensionTwoFactorAuthComponentService.closeSingleActionPopouts();
+
+ expect(inSingleActionPopoutSpy).toHaveBeenCalledTimes(4);
+ expect(closeTwoFactorAuthDuoPopout).toHaveBeenCalled();
+ });
+ });
+
+ describe("reloadOpenWindows", () => {
+ it("should call reload open windows (exempting current)", async () => {
+ const reloadOpenWindowsSpy = jest.spyOn(BrowserApi, "reloadOpenWindows").mockImplementation();
+
+ extensionTwoFactorAuthComponentService.reloadOpenWindows();
+
+ expect(reloadOpenWindowsSpy).toHaveBeenCalledWith(true);
+ });
+ });
+
+ describe("determineDuoLaunchAction", () => {
+ it("should return DIRECT_LAUNCH if in two factor auth duo popout", () => {
+ jest.spyOn(BrowserPopupUtils, "inSingleActionPopout").mockImplementation((_, key) => {
+ return key === AuthPopoutType.twoFactorAuthDuo;
+ });
+
+ jest.spyOn(BrowserPopupUtils, "inPopout").mockImplementation(() => false);
+
+ expect(extensionTwoFactorAuthComponentService.determineDuoLaunchAction()).toBe(
+ DuoLaunchAction.DIRECT_LAUNCH,
+ );
+ });
+
+ it("should return SINGLE_ACTION_POPOUT if not in two factor auth duo popout", () => {
+ jest.spyOn(BrowserPopupUtils, "inSingleActionPopout").mockImplementation(() => false);
+ jest.spyOn(BrowserPopupUtils, "inPopout").mockImplementation(() => false);
+
+ expect(extensionTwoFactorAuthComponentService.determineDuoLaunchAction()).toBe(
+ DuoLaunchAction.SINGLE_ACTION_POPOUT,
+ );
+ });
+
+ it("should return DIRECT_LAUNCH if in popout", () => {
+ jest.spyOn(BrowserPopupUtils, "inSingleActionPopout").mockImplementation(() => false);
+ jest.spyOn(BrowserPopupUtils, "inPopout").mockImplementation(() => true);
+
+ expect(extensionTwoFactorAuthComponentService.determineDuoLaunchAction()).toBe(
+ DuoLaunchAction.DIRECT_LAUNCH,
+ );
+ });
+ });
+});
diff --git a/apps/browser/src/auth/services/extension-two-factor-auth-component.service.ts b/apps/browser/src/auth/services/extension-two-factor-auth-component.service.ts
new file mode 100644
index 00000000000..f768b223984
--- /dev/null
+++ b/apps/browser/src/auth/services/extension-two-factor-auth-component.service.ts
@@ -0,0 +1,117 @@
+import {
+ DefaultTwoFactorAuthComponentService,
+ DuoLaunchAction,
+ TwoFactorAuthComponentService,
+} from "@bitwarden/auth/angular";
+import { TwoFactorProviderType } from "@bitwarden/common/auth/enums/two-factor-provider-type";
+
+import { BrowserApi } from "../../platform/browser/browser-api";
+import BrowserPopupUtils from "../../platform/popup/browser-popup-utils";
+import {
+ AuthPopoutType,
+ closeSsoAuthResultPopout,
+ closeTwoFactorAuthDuoPopout,
+ closeTwoFactorAuthEmailPopout,
+ closeTwoFactorAuthWebAuthnPopout,
+} from "../popup/utils/auth-popout-window";
+
+export class ExtensionTwoFactorAuthComponentService
+ extends DefaultTwoFactorAuthComponentService
+ implements TwoFactorAuthComponentService
+{
+ constructor(private window: Window) {
+ super();
+ }
+
+ shouldCheckForWebAuthnQueryParamResponse(): boolean {
+ return true;
+ }
+
+ async extendPopupWidthIfRequired(selected2faProviderType: TwoFactorProviderType): Promise {
+ // WebAuthn prompt appears inside the popup on linux, and requires a larger popup width
+ // than usual to avoid cutting off the dialog.
+ const isLinux = await this.isLinux();
+ if (selected2faProviderType === TwoFactorProviderType.WebAuthn && isLinux) {
+ document.body.classList.add("linux-webauthn");
+ }
+ }
+
+ removePopupWidthExtension(): void {
+ document.body.classList.remove("linux-webauthn");
+ }
+
+ reloadOpenWindows(): void {
+ // Force sidebars (FF && Opera) to reload while exempting current window
+ // because we are just going to close the current window if it is in a popout
+ // or navigate forward if it is in the popup
+ BrowserApi.reloadOpenWindows(true);
+ }
+
+ async closeSingleActionPopouts(): Promise {
+ // If we are in a single action popout, we don't need the popout anymore because the intent
+ // is for the user to be left on the web vault screen which tells them to continue in
+ // the browser extension (sidebar or popup). We don't want the user to be left with a
+ // floating, popped out extension which could be lost behind another window or minimized.
+ // Currently, the popped out window thinks it is active and wouldn't time out which
+ // leads to the security concern. So, we close the popped out extension to avoid this.
+ const inSsoAuthResultPopout = BrowserPopupUtils.inSingleActionPopout(
+ this.window,
+ AuthPopoutType.ssoAuthResult,
+ );
+ if (inSsoAuthResultPopout) {
+ await closeSsoAuthResultPopout();
+ return true;
+ }
+
+ const inTwoFactorAuthWebAuthnPopout = BrowserPopupUtils.inSingleActionPopout(
+ this.window,
+ AuthPopoutType.twoFactorAuthWebAuthn,
+ );
+
+ if (inTwoFactorAuthWebAuthnPopout) {
+ await closeTwoFactorAuthWebAuthnPopout();
+ return true;
+ }
+
+ const inTwoFactorAuthEmailPopout = BrowserPopupUtils.inSingleActionPopout(
+ this.window,
+ AuthPopoutType.twoFactorAuthEmail,
+ );
+
+ if (inTwoFactorAuthEmailPopout) {
+ await closeTwoFactorAuthEmailPopout();
+ return true;
+ }
+
+ const inTwoFactorAuthDuoPopout = BrowserPopupUtils.inSingleActionPopout(
+ this.window,
+ AuthPopoutType.twoFactorAuthDuo,
+ );
+ if (inTwoFactorAuthDuoPopout) {
+ await closeTwoFactorAuthDuoPopout();
+ return true;
+ }
+
+ return false;
+ }
+
+ private async isLinux(): Promise {
+ const platformInfo = await BrowserApi.getPlatformInfo();
+ return platformInfo.os === "linux";
+ }
+
+ determineDuoLaunchAction(): DuoLaunchAction {
+ const inTwoFactorAuthDuoPopout = BrowserPopupUtils.inSingleActionPopout(
+ this.window,
+ AuthPopoutType.twoFactorAuthDuo,
+ );
+
+ const inPopout = BrowserPopupUtils.inPopout(this.window);
+
+ if (inTwoFactorAuthDuoPopout || inPopout) {
+ return DuoLaunchAction.DIRECT_LAUNCH;
+ }
+
+ return DuoLaunchAction.SINGLE_ACTION_POPOUT;
+ }
+}
diff --git a/apps/browser/src/auth/services/extension-two-factor-auth-duo-component.service.spec.ts b/apps/browser/src/auth/services/extension-two-factor-auth-duo-component.service.spec.ts
new file mode 100644
index 00000000000..12772726a66
--- /dev/null
+++ b/apps/browser/src/auth/services/extension-two-factor-auth-duo-component.service.spec.ts
@@ -0,0 +1,93 @@
+import { MockProxy, mock } from "jest-mock-extended";
+import { BehaviorSubject, firstValueFrom } from "rxjs";
+
+import {
+ Environment,
+ EnvironmentService,
+} from "@bitwarden/common/platform/abstractions/environment.service";
+import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
+
+import { ZonedMessageListenerService } from "../../platform/browser/zoned-message-listener.service";
+import I18nService from "../../platform/services/i18n.service";
+
+import { ExtensionTwoFactorAuthDuoComponentService } from "./extension-two-factor-auth-duo-component.service";
+
+describe("ExtensionTwoFactorAuthDuoComponentService", () => {
+ let extensionTwoFactorAuthDuoComponentService: ExtensionTwoFactorAuthDuoComponentService;
+ let browserMessagingApi: MockProxy;
+ let environmentService: MockProxy;
+ let i18nService: MockProxy;
+ let platformUtilsService: MockProxy;
+
+ beforeEach(() => {
+ jest.clearAllMocks();
+
+ browserMessagingApi = mock();
+ environmentService = mock();
+ i18nService = mock();
+ platformUtilsService = mock();
+
+ extensionTwoFactorAuthDuoComponentService = new ExtensionTwoFactorAuthDuoComponentService(
+ browserMessagingApi,
+ environmentService,
+ i18nService,
+ platformUtilsService,
+ );
+ });
+
+ describe("listenForDuo2faResult$", () => {
+ it("should return an observable that emits a duo 2FA result when a duo result message is received", async () => {
+ const message = {
+ command: "duoResult",
+ code: "123456",
+ state: "abcdef",
+ };
+ const expectedDuo2faResult = {
+ code: message.code,
+ state: message.state,
+ token: `${message.code}|${message.state}`,
+ };
+
+ const messageStream$ = new BehaviorSubject(message);
+ browserMessagingApi.messageListener$.mockReturnValue(messageStream$);
+
+ const duo2faResult = await firstValueFrom(
+ extensionTwoFactorAuthDuoComponentService.listenForDuo2faResult$(),
+ );
+ expect(duo2faResult).toEqual(expectedDuo2faResult);
+ });
+ });
+
+ describe("launchDuoFrameless", () => {
+ it("should launch the duo frameless url", async () => {
+ // Arrange
+ const duoFramelessUrl = "https://duoFramelessUrl";
+ const webVaultUrl = "https://webVaultUrl";
+
+ i18nService.t.mockImplementation((key) => key);
+
+ const launchUrl = `${webVaultUrl}/duo-redirect-connector.html?duoFramelessUrl=${encodeURIComponent(
+ duoFramelessUrl,
+ )}&handOffMessage=${encodeURIComponent(
+ JSON.stringify({
+ title: "youSuccessfullyLoggedIn",
+ message: "youMayCloseThisWindow",
+ isCountdown: false,
+ }),
+ )}`;
+
+ const mockEnvironment = {
+ getWebVaultUrl: () => webVaultUrl,
+ } as unknown as Environment;
+
+ const environmentBSubject = new BehaviorSubject(mockEnvironment);
+ environmentService.environment$ = environmentBSubject.asObservable();
+
+ // Act
+ await extensionTwoFactorAuthDuoComponentService.launchDuoFrameless(duoFramelessUrl);
+
+ // Assert
+ expect(platformUtilsService.launchUri).toHaveBeenCalledWith(launchUrl);
+ });
+ });
+});
diff --git a/apps/browser/src/auth/services/extension-two-factor-auth-duo-component.service.ts b/apps/browser/src/auth/services/extension-two-factor-auth-duo-component.service.ts
new file mode 100644
index 00000000000..594e09fc50c
--- /dev/null
+++ b/apps/browser/src/auth/services/extension-two-factor-auth-duo-component.service.ts
@@ -0,0 +1,62 @@
+import { filter, firstValueFrom, map, Observable } from "rxjs";
+
+import { Duo2faResult, TwoFactorAuthDuoComponentService } from "@bitwarden/auth/angular";
+import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
+import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
+import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
+
+import { openTwoFactorAuthDuoPopout } from "../../auth/popup/utils/auth-popout-window";
+import { ZonedMessageListenerService } from "../../platform/browser/zoned-message-listener.service";
+
+interface Message {
+ command: string;
+ code: string;
+ state: string;
+}
+
+export class ExtensionTwoFactorAuthDuoComponentService implements TwoFactorAuthDuoComponentService {
+ constructor(
+ private browserMessagingApi: ZonedMessageListenerService,
+ private environmentService: EnvironmentService,
+ private i18nService: I18nService,
+ private platformUtilsService: PlatformUtilsService,
+ ) {}
+ listenForDuo2faResult$(): Observable {
+ return this.browserMessagingApi.messageListener$().pipe(
+ filter((msg): msg is Message => {
+ return (msg as Message).command === "duoResult";
+ }),
+ map((msg: Message) => {
+ return {
+ code: msg.code,
+ state: msg.state,
+ token: `${msg.code}|${msg.state}`,
+ } as Duo2faResult;
+ }),
+ );
+ }
+
+ async launchDuoFrameless(duoFramelessUrl: string): Promise {
+ const duoHandOffMessage = {
+ title: this.i18nService.t("youSuccessfullyLoggedIn"),
+ message: this.i18nService.t("youMayCloseThisWindow"),
+ isCountdown: false,
+ };
+
+ // we're using the connector here as a way to set a cookie with translations
+ // before continuing to the duo frameless url
+ const env = await firstValueFrom(this.environmentService.environment$);
+ const launchUrl =
+ env.getWebVaultUrl() +
+ "/duo-redirect-connector.html" +
+ "?duoFramelessUrl=" +
+ encodeURIComponent(duoFramelessUrl) +
+ "&handOffMessage=" +
+ encodeURIComponent(JSON.stringify(duoHandOffMessage));
+ this.platformUtilsService.launchUri(launchUrl);
+ }
+
+ async openTwoFactorAuthDuoPopout(): Promise {
+ await openTwoFactorAuthDuoPopout();
+ }
+}
diff --git a/apps/browser/src/auth/services/extension-two-factor-auth-email-component.service.spec.ts b/apps/browser/src/auth/services/extension-two-factor-auth-email-component.service.spec.ts
new file mode 100644
index 00000000000..223375fd903
--- /dev/null
+++ b/apps/browser/src/auth/services/extension-two-factor-auth-email-component.service.spec.ts
@@ -0,0 +1,93 @@
+import { MockProxy, mock } from "jest-mock-extended";
+
+import { DialogService } from "@bitwarden/components";
+
+// Must mock modules before importing
+jest.mock("../popup/utils/auth-popout-window", () => {
+ const originalModule = jest.requireActual("../popup/utils/auth-popout-window");
+
+ return {
+ ...originalModule, // avoid losing the original module's exports
+ openTwoFactorAuthEmailPopout: jest.fn(),
+ };
+});
+
+jest.mock("../../platform/popup/browser-popup-utils", () => ({
+ inPopup: jest.fn(),
+}));
+
+import { openTwoFactorAuthEmailPopout } from "../../auth/popup/utils/auth-popout-window";
+import BrowserPopupUtils from "../../platform/popup/browser-popup-utils";
+
+import { ExtensionTwoFactorAuthEmailComponentService } from "./extension-two-factor-auth-email-component.service";
+
+describe("ExtensionTwoFactorAuthEmailComponentService", () => {
+ let extensionTwoFactorAuthEmailComponentService: ExtensionTwoFactorAuthEmailComponentService;
+
+ let dialogService: MockProxy;
+ let window: MockProxy;
+
+ beforeEach(() => {
+ jest.clearAllMocks();
+
+ dialogService = mock();
+ window = mock();
+
+ extensionTwoFactorAuthEmailComponentService = new ExtensionTwoFactorAuthEmailComponentService(
+ dialogService,
+ window,
+ );
+ });
+
+ describe("openPopoutIfApprovedForEmail2fa", () => {
+ it("should open a popout if the user confirms the warning to popout the extension when in the popup", async () => {
+ // Arrange
+ dialogService.openSimpleDialog.mockResolvedValue(true);
+
+ jest.spyOn(BrowserPopupUtils, "inPopup").mockReturnValue(true);
+
+ // Act
+ await extensionTwoFactorAuthEmailComponentService.openPopoutIfApprovedForEmail2fa();
+
+ // Assert
+ expect(dialogService.openSimpleDialog).toHaveBeenCalledWith({
+ title: { key: "warning" },
+ content: { key: "popup2faCloseMessage" },
+ type: "warning",
+ });
+
+ expect(openTwoFactorAuthEmailPopout).toHaveBeenCalled();
+ });
+
+ it("should not open a popout if the user cancels the warning to popout the extension when in the popup", async () => {
+ // Arrange
+ dialogService.openSimpleDialog.mockResolvedValue(false);
+
+ jest.spyOn(BrowserPopupUtils, "inPopup").mockReturnValue(true);
+
+ // Act
+ await extensionTwoFactorAuthEmailComponentService.openPopoutIfApprovedForEmail2fa();
+
+ // Assert
+ expect(dialogService.openSimpleDialog).toHaveBeenCalledWith({
+ title: { key: "warning" },
+ content: { key: "popup2faCloseMessage" },
+ type: "warning",
+ });
+
+ expect(openTwoFactorAuthEmailPopout).not.toHaveBeenCalled();
+ });
+
+ it("should not open a popout if not in the popup", async () => {
+ // Arrange
+ jest.spyOn(BrowserPopupUtils, "inPopup").mockReturnValue(false);
+
+ // Act
+ await extensionTwoFactorAuthEmailComponentService.openPopoutIfApprovedForEmail2fa();
+
+ // Assert
+ expect(dialogService.openSimpleDialog).not.toHaveBeenCalled();
+ expect(openTwoFactorAuthEmailPopout).not.toHaveBeenCalled();
+ });
+ });
+});
diff --git a/apps/browser/src/auth/services/extension-two-factor-auth-email-component.service.ts b/apps/browser/src/auth/services/extension-two-factor-auth-email-component.service.ts
new file mode 100644
index 00000000000..5d8d269412e
--- /dev/null
+++ b/apps/browser/src/auth/services/extension-two-factor-auth-email-component.service.ts
@@ -0,0 +1,35 @@
+import {
+ DefaultTwoFactorAuthEmailComponentService,
+ TwoFactorAuthEmailComponentService,
+} from "@bitwarden/auth/angular";
+import { DialogService } from "@bitwarden/components";
+
+import { openTwoFactorAuthEmailPopout } from "../../auth/popup/utils/auth-popout-window";
+import BrowserPopupUtils from "../../platform/popup/browser-popup-utils";
+
+// TODO: popup state persistence should eventually remove the need for this service
+export class ExtensionTwoFactorAuthEmailComponentService
+ extends DefaultTwoFactorAuthEmailComponentService
+ implements TwoFactorAuthEmailComponentService
+{
+ constructor(
+ private dialogService: DialogService,
+ private window: Window,
+ ) {
+ super();
+ }
+
+ async openPopoutIfApprovedForEmail2fa(): Promise {
+ if (BrowserPopupUtils.inPopup(this.window)) {
+ const confirmed = await this.dialogService.openSimpleDialog({
+ title: { key: "warning" },
+ content: { key: "popup2faCloseMessage" },
+ type: "warning",
+ });
+ if (confirmed) {
+ await openTwoFactorAuthEmailPopout();
+ this.window.close();
+ }
+ }
+ }
+}
diff --git a/apps/browser/src/auth/services/extension-two-factor-auth-webauthn-component.service.spec.ts b/apps/browser/src/auth/services/extension-two-factor-auth-webauthn-component.service.spec.ts
new file mode 100644
index 00000000000..dfbf69f1a7f
--- /dev/null
+++ b/apps/browser/src/auth/services/extension-two-factor-auth-webauthn-component.service.spec.ts
@@ -0,0 +1,22 @@
+import { ExtensionTwoFactorAuthWebAuthnComponentService } from "./extension-two-factor-auth-webauthn-component.service";
+
+describe("ExtensionTwoFactorAuthWebAuthnComponentService", () => {
+ let extensionTwoFactorAuthWebAuthnComponentService: ExtensionTwoFactorAuthWebAuthnComponentService;
+
+ beforeEach(() => {
+ jest.clearAllMocks();
+
+ extensionTwoFactorAuthWebAuthnComponentService =
+ new ExtensionTwoFactorAuthWebAuthnComponentService();
+ });
+
+ describe("shouldOpenWebAuthnInNewTab", () => {
+ it("should return true", () => {
+ // Act
+ const result = extensionTwoFactorAuthWebAuthnComponentService.shouldOpenWebAuthnInNewTab();
+
+ // Assert
+ expect(result).toBe(true);
+ });
+ });
+});
diff --git a/apps/browser/src/auth/services/extension-two-factor-auth-webauthn-component.service.ts b/apps/browser/src/auth/services/extension-two-factor-auth-webauthn-component.service.ts
new file mode 100644
index 00000000000..2af3dbe3f2b
--- /dev/null
+++ b/apps/browser/src/auth/services/extension-two-factor-auth-webauthn-component.service.ts
@@ -0,0 +1,19 @@
+import {
+ DefaultTwoFactorAuthWebAuthnComponentService,
+ TwoFactorAuthWebAuthnComponentService,
+} from "@bitwarden/auth/angular";
+
+export class ExtensionTwoFactorAuthWebAuthnComponentService
+ extends DefaultTwoFactorAuthWebAuthnComponentService
+ implements TwoFactorAuthWebAuthnComponentService
+{
+ /**
+ * In the browser extension, we open webAuthn in a new web client tab due to inline
+ * WebAuthn Iframe's not working due "WebAuthn is not supported on sites with TLS certificate errors".
+ * We open a 2FA popout upon successful completion of WebAuthn submission with query parameters to finish the 2FA process.
+ * @returns boolean
+ */
+ shouldOpenWebAuthnInNewTab(): boolean {
+ return true;
+ }
+}
diff --git a/apps/browser/src/autofill/background/abstractions/notification.background.ts b/apps/browser/src/autofill/background/abstractions/notification.background.ts
index ed9d8e6d84b..851f07576dd 100644
--- a/apps/browser/src/autofill/background/abstractions/notification.background.ts
+++ b/apps/browser/src/autofill/background/abstractions/notification.background.ts
@@ -31,16 +31,10 @@ interface AddUnlockVaultQueueMessage extends NotificationQueueMessage {
type: "unlock";
}
-interface AddRequestFilelessImportQueueMessage extends NotificationQueueMessage {
- type: "fileless-import";
- importType?: string;
-}
-
type NotificationQueueMessageItem =
| AddLoginQueueMessage
| AddChangePasswordQueueMessage
- | AddUnlockVaultQueueMessage
- | AddRequestFilelessImportQueueMessage;
+ | AddUnlockVaultQueueMessage;
type LockedVaultPendingNotificationsData = {
commandToRetry: {
@@ -106,6 +100,7 @@ type NotificationBackgroundExtensionMessageHandlers = {
bgChangedPassword: ({ message, sender }: BackgroundOnMessageHandlerParams) => Promise;
bgRemoveTabFromNotificationQueue: ({ sender }: BackgroundSenderParam) => void;
bgSaveCipher: ({ message, sender }: BackgroundOnMessageHandlerParams) => void;
+ bgOpenVault: ({ message, sender }: BackgroundOnMessageHandlerParams) => Promise;
bgNeverSave: ({ sender }: BackgroundSenderParam) => Promise;
bgUnlockPopoutOpened: ({ message, sender }: BackgroundOnMessageHandlerParams) => Promise;
bgReopenUnlockPopout: ({ sender }: BackgroundSenderParam) => Promise;
@@ -122,7 +117,6 @@ export {
AddChangePasswordQueueMessage,
AddLoginQueueMessage,
AddUnlockVaultQueueMessage,
- AddRequestFilelessImportQueueMessage,
NotificationQueueMessageItem,
LockedVaultPendingNotificationsData,
AdjustNotificationBarMessageData,
diff --git a/apps/browser/src/autofill/background/abstractions/overlay.background.ts b/apps/browser/src/autofill/background/abstractions/overlay.background.ts
index 03284f3fd89..6ad9b8e06fd 100644
--- a/apps/browser/src/autofill/background/abstractions/overlay.background.ts
+++ b/apps/browser/src/autofill/background/abstractions/overlay.background.ts
@@ -57,6 +57,17 @@ export type InlineMenuElementPosition = {
height: number;
};
+export type FieldRect = {
+ bottom: number;
+ height: number;
+ left: number;
+ right: number;
+ top: number;
+ width: number;
+ x: number;
+ y: number;
+};
+
export type InlineMenuPosition = {
button?: InlineMenuElementPosition;
list?: InlineMenuElementPosition;
@@ -134,6 +145,7 @@ export type OverlayBackgroundExtensionMessage = {
isFieldCurrentlyFilling?: boolean;
subFrameData?: SubFrameOffsetData;
focusedFieldData?: FocusedFieldData;
+ allFieldsRect?: any;
isOpeningFullInlineMenu?: boolean;
styles?: Partial;
data?: LockedVaultPendingNotificationsData;
diff --git a/apps/browser/src/autofill/background/auto-submit-login.background.spec.ts b/apps/browser/src/autofill/background/auto-submit-login.background.spec.ts
index 73f936bb591..a300ac08660 100644
--- a/apps/browser/src/autofill/background/auto-submit-login.background.spec.ts
+++ b/apps/browser/src/autofill/background/auto-submit-login.background.spec.ts
@@ -453,12 +453,16 @@ describe("AutoSubmitLoginBackground", () => {
sendMockExtensionMessage({ command: "triggerAutoSubmitLogin" }, sender);
+ // FIXME: Remove when updating file. Eslint update
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
expect(autofillService.doAutoFillOnTab).not.toHaveBeenCalled;
});
it("skips acting on messages whose command does not have a registered handler", () => {
sendMockExtensionMessage({ command: "someInvalidCommand" }, sender);
+ // FIXME: Remove when updating file. Eslint update
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
expect(autofillService.doAutoFillOnTab).not.toHaveBeenCalled;
});
diff --git a/apps/browser/src/autofill/background/notification.background.spec.ts b/apps/browser/src/autofill/background/notification.background.spec.ts
index 37c05a55a3a..d474e303336 100644
--- a/apps/browser/src/autofill/background/notification.background.spec.ts
+++ b/apps/browser/src/autofill/background/notification.background.spec.ts
@@ -1,6 +1,7 @@
import { mock, MockProxy } from "jest-mock-extended";
import { BehaviorSubject, firstValueFrom } from "rxjs";
+import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction";
import { PolicyService } from "@bitwarden/common/admin-console/services/policy/policy.service";
import { AccountInfo, AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
@@ -59,6 +60,7 @@ describe("NotificationBackground", () => {
const themeStateService = mock();
const configService = mock();
const accountService = mock();
+ const organizationService = mock();
const activeAccountSubject = new BehaviorSubject<{ id: UserId } & AccountInfo>({
id: "testId" as UserId,
@@ -73,18 +75,19 @@ describe("NotificationBackground", () => {
authService.activeAccountStatus$ = activeAccountStatusMock$;
accountService.activeAccount$ = activeAccountSubject;
notificationBackground = new NotificationBackground(
+ accountService,
+ authService,
autofillService,
cipherService,
- authService,
- policyService,
- folderService,
- userNotificationSettingsService,
+ configService,
domainSettingsService,
environmentService,
+ folderService,
logService,
+ organizationService,
+ policyService,
themeStateService,
- configService,
- accountService,
+ userNotificationSettingsService,
);
});
@@ -812,7 +815,10 @@ describe("NotificationBackground", () => {
newPassword: "newPassword",
});
notificationBackground["notificationQueue"] = [queueMessage];
- const cipherView = mock();
+ const cipherView = mock({
+ id: "testId",
+ login: { username: "testUser" },
+ });
getDecryptedCipherByIdSpy.mockResolvedValueOnce(cipherView);
sendMockExtensionMessage(message, sender);
@@ -825,11 +831,17 @@ describe("NotificationBackground", () => {
queueMessage.newPassword,
message.edit,
sender.tab,
+ "testId",
);
expect(updateWithServerSpy).toHaveBeenCalled();
- expect(tabSendMessageSpy).toHaveBeenCalledWith(sender.tab, {
- command: "saveCipherAttemptCompleted",
- });
+ expect(tabSendMessageDataSpy).toHaveBeenCalledWith(
+ sender.tab,
+ "saveCipherAttemptCompleted",
+ {
+ username: cipherView.login.username,
+ cipherId: cipherView.id,
+ },
+ );
});
it("updates the cipher password if the queue message was locked and an existing cipher has the same username as the message", async () => {
@@ -862,6 +874,7 @@ describe("NotificationBackground", () => {
queueMessage.password,
message.edit,
sender.tab,
+ "testId",
);
expect(editItemSpy).not.toHaveBeenCalled();
expect(createWithServerSpy).not.toHaveBeenCalled();
@@ -895,6 +908,7 @@ describe("NotificationBackground", () => {
queueMessage.newPassword,
message.edit,
sender.tab,
+ "testId",
);
expect(editItemSpy).toHaveBeenCalled();
expect(updateWithServerSpy).not.toHaveBeenCalled();
@@ -904,10 +918,13 @@ describe("NotificationBackground", () => {
expect(tabSendMessageSpy).toHaveBeenCalledWith(sender.tab, {
command: "editedCipher",
});
- expect(setAddEditCipherInfoSpy).toHaveBeenCalledWith({
- cipher: cipherView,
- collectionIds: cipherView.collectionIds,
- });
+ expect(setAddEditCipherInfoSpy).toHaveBeenCalledWith(
+ {
+ cipher: cipherView,
+ collectionIds: cipherView.collectionIds,
+ },
+ "testId",
+ );
expect(openAddEditVaultItemPopoutSpy).toHaveBeenCalledWith(sender.tab, {
cipherId: cipherView.id,
});
@@ -945,7 +962,7 @@ describe("NotificationBackground", () => {
queueMessage,
message.folder,
);
- expect(editItemSpy).toHaveBeenCalledWith(cipherView, sender.tab);
+ expect(editItemSpy).toHaveBeenCalledWith(cipherView, "testId", sender.tab);
expect(tabSendMessageSpy).toHaveBeenCalledWith(sender.tab, {
command: "closeNotificationBar",
});
@@ -970,11 +987,16 @@ describe("NotificationBackground", () => {
});
notificationBackground["notificationQueue"] = [queueMessage];
const cipherView = mock({
+ id: "testId",
login: { username: "test", password: "password" },
});
folderExistsSpy.mockResolvedValueOnce(false);
convertAddLoginQueueMessageToCipherViewSpy.mockReturnValueOnce(cipherView);
editItemSpy.mockResolvedValueOnce(undefined);
+ cipherEncryptSpy.mockResolvedValueOnce({
+ ...cipherView,
+ id: "testId",
+ });
sendMockExtensionMessage(message, sender);
await flushPromises();
@@ -985,9 +1007,14 @@ describe("NotificationBackground", () => {
);
expect(cipherEncryptSpy).toHaveBeenCalledWith(cipherView, "testId");
expect(createWithServerSpy).toHaveBeenCalled();
- expect(tabSendMessageSpy).toHaveBeenCalledWith(sender.tab, {
- command: "saveCipherAttemptCompleted",
- });
+ expect(tabSendMessageDataSpy).toHaveBeenCalledWith(
+ sender.tab,
+ "saveCipherAttemptCompleted",
+ {
+ username: cipherView.login.username,
+ cipherId: cipherView.id,
+ },
+ );
expect(tabSendMessageSpy).toHaveBeenCalledWith(sender.tab, { command: "addedCipher" });
});
diff --git a/apps/browser/src/autofill/background/notification.background.ts b/apps/browser/src/autofill/background/notification.background.ts
index 5c6ff3c2c8c..50e0ee0aa75 100644
--- a/apps/browser/src/autofill/background/notification.background.ts
+++ b/apps/browser/src/autofill/background/notification.background.ts
@@ -1,12 +1,14 @@
// FIXME: Update this file to be type safe and remove this and next line
// @ts-strict-ignore
-import { firstValueFrom, map } from "rxjs";
+import { firstValueFrom } from "rxjs";
+import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction";
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
import { PolicyType } from "@bitwarden/common/admin-console/enums";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { getOptionalUserId } from "@bitwarden/common/auth/services/account.service";
import {
ExtensionCommand,
ExtensionCommandType,
@@ -14,6 +16,7 @@ import {
} from "@bitwarden/common/autofill/constants";
import { DomainSettingsService } from "@bitwarden/common/autofill/services/domain-settings.service";
import { UserNotificationSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/user-notification-settings.service";
+import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum";
import { NeverDomains } from "@bitwarden/common/models/domain/domain-service";
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
import { ServerConfig } from "@bitwarden/common/platform/abstractions/config/server-config";
@@ -21,9 +24,11 @@ import { EnvironmentService } from "@bitwarden/common/platform/abstractions/envi
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { Utils } from "@bitwarden/common/platform/misc/utils";
import { ThemeStateService } from "@bitwarden/common/platform/theming/theme-state.service";
+import { UserId } from "@bitwarden/common/types/guid";
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction";
import { CipherType } from "@bitwarden/common/vault/enums";
+import { buildCipherIcon } from "@bitwarden/common/vault/icon/build-cipher-icon";
import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view";
import { LoginView } from "@bitwarden/common/vault/models/view/login.view";
@@ -31,13 +36,13 @@ import { LoginView } from "@bitwarden/common/vault/models/view/login.view";
import { openUnlockPopout } from "../../auth/popup/utils/auth-popout-window";
import { BrowserApi } from "../../platform/browser/browser-api";
import { openAddEditVaultItemPopout } from "../../vault/popup/utils/vault-popout-window";
+import { NotificationCipherData } from "../content/components/cipher/types";
import { NotificationQueueMessageType } from "../enums/notification-queue-message-type.enum";
import { AutofillService } from "../services/abstractions/autofill.service";
import {
AddChangePasswordQueueMessage,
AddLoginQueueMessage,
- AddRequestFilelessImportQueueMessage,
AddUnlockVaultQueueMessage,
ChangePasswordMessageData,
AddLoginMessageData,
@@ -59,45 +64,48 @@ export default class NotificationBackground {
ExtensionCommand.AutofillIdentity,
]);
private readonly extensionMessageHandlers: NotificationBackgroundExtensionMessageHandlers = {
- unlockCompleted: ({ message, sender }) => this.handleUnlockCompleted(message, sender),
- bgGetFolderData: () => this.getFolderData(),
- bgCloseNotificationBar: ({ message, sender }) =>
- this.handleCloseNotificationBarMessage(message, sender),
+ bgAddLogin: ({ message, sender }) => this.addLogin(message, sender),
bgAdjustNotificationBar: ({ message, sender }) =>
this.handleAdjustNotificationBarMessage(message, sender),
- bgAddLogin: ({ message, sender }) => this.addLogin(message, sender),
bgChangedPassword: ({ message, sender }) => this.changedPassword(message, sender),
- bgRemoveTabFromNotificationQueue: ({ sender }) =>
- this.removeTabFromNotificationQueue(sender.tab),
- bgSaveCipher: ({ message, sender }) => this.handleSaveCipherMessage(message, sender),
- bgNeverSave: ({ sender }) => this.saveNever(sender.tab),
- collectPageDetailsResponse: ({ message }) =>
- this.handleCollectPageDetailsResponseMessage(message),
- bgUnlockPopoutOpened: ({ message, sender }) => this.unlockVault(message, sender.tab),
- checkNotificationQueue: ({ sender }) => this.checkNotificationQueue(sender.tab),
- bgReopenUnlockPopout: ({ sender }) => this.openUnlockPopout(sender.tab),
+ bgCloseNotificationBar: ({ message, sender }) =>
+ this.handleCloseNotificationBarMessage(message, sender),
+ bgGetActiveUserServerConfig: () => this.getActiveUserServerConfig(),
+ bgGetDecryptedCiphers: () => this.getNotificationCipherData(),
bgGetEnableChangedPasswordPrompt: () => this.getEnableChangedPasswordPrompt(),
bgGetEnableAddedLoginPrompt: () => this.getEnableAddedLoginPrompt(),
bgGetExcludedDomains: () => this.getExcludedDomains(),
- bgGetActiveUserServerConfig: () => this.getActiveUserServerConfig(),
+ bgGetFolderData: () => this.getFolderData(),
+ bgGetOrgData: () => this.getOrgData(),
+ bgNeverSave: ({ sender }) => this.saveNever(sender.tab),
+ bgOpenVault: ({ message, sender }) => this.openVault(message, sender.tab),
+ bgRemoveTabFromNotificationQueue: ({ sender }) =>
+ this.removeTabFromNotificationQueue(sender.tab),
+ bgReopenUnlockPopout: ({ sender }) => this.openUnlockPopout(sender.tab),
+ bgSaveCipher: ({ message, sender }) => this.handleSaveCipherMessage(message, sender),
+ bgUnlockPopoutOpened: ({ message, sender }) => this.unlockVault(message, sender.tab),
+ checkNotificationQueue: ({ sender }) => this.checkNotificationQueue(sender.tab),
+ collectPageDetailsResponse: ({ message }) =>
+ this.handleCollectPageDetailsResponseMessage(message),
getWebVaultUrlForNotification: () => this.getWebVaultUrl(),
+ notificationRefreshFlagValue: () => this.getNotificationFlag(),
+ unlockCompleted: ({ message, sender }) => this.handleUnlockCompleted(message, sender),
};
- private activeUserId$ = this.accountService.activeAccount$.pipe(map((a) => a?.id));
-
constructor(
+ private accountService: AccountService,
+ private authService: AuthService,
private autofillService: AutofillService,
private cipherService: CipherService,
- private authService: AuthService,
- private policyService: PolicyService,
- private folderService: FolderService,
- private userNotificationSettingsService: UserNotificationSettingsServiceAbstraction,
+ private configService: ConfigService,
private domainSettingsService: DomainSettingsService,
private environmentService: EnvironmentService,
+ private folderService: FolderService,
private logService: LogService,
+ private organizationService: OrganizationService,
+ private policyService: PolicyService,
private themeStateService: ThemeStateService,
- private configService: ConfigService,
- private accountService: AccountService,
+ private userNotificationSettingsService: UserNotificationSettingsServiceAbstraction,
) {}
init() {
@@ -131,6 +139,46 @@ export default class NotificationBackground {
return await firstValueFrom(this.domainSettingsService.neverDomains$);
}
+ /**
+ *
+ * Gets the current active tab and retrieves all decrypted ciphers
+ * for the tab's URL. It constructs and returns an array of `NotificationCipherData` objects.
+ * If no active tab or URL is found, it returns an empty array.
+ *
+ * @returns {Promise}
+ */
+
+ async getNotificationCipherData(): Promise {
+ const [currentTab, showFavicons, env] = await Promise.all([
+ BrowserApi.getTabFromCurrentWindow(),
+ firstValueFrom(this.domainSettingsService.showFavicons$),
+ firstValueFrom(this.environmentService.environment$),
+ ]);
+ const iconsServerUrl = env.getIconsUrl();
+ const activeUserId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(getOptionalUserId),
+ );
+ const decryptedCiphers = await this.cipherService.getAllDecryptedForUrl(
+ currentTab.url,
+ activeUserId,
+ );
+
+ return decryptedCiphers.map((view) => {
+ const { id, name, reprompt, favorite, login } = view;
+ return {
+ id,
+ name,
+ type: CipherType.Login,
+ reprompt,
+ favorite,
+ icon: buildCipherIcon(iconsServerUrl, view, showFavicons),
+ login: login && {
+ username: login.username,
+ },
+ };
+ });
+ }
+
/**
* Gets the active user server config from the config service.
*/
@@ -138,6 +186,15 @@ export default class NotificationBackground {
return await firstValueFrom(this.configService.serverConfig$);
}
+ /**
+ * Gets the current value of the notification refresh feature flag
+ * @returns Promise indicating if the feature is enabled
+ */
+ async getNotificationFlag(): Promise {
+ const flagValue = await this.configService.getFeatureFlag(FeatureFlag.NotificationRefresh);
+ return flagValue;
+ }
+
private async getAuthStatus() {
return await firstValueFrom(this.authService.activeAccountStatus$);
}
@@ -201,11 +258,6 @@ export default class NotificationBackground {
case NotificationQueueMessageType.AddLogin:
typeData.removeIndividualVault = await this.removeIndividualVault();
break;
- case NotificationQueueMessageType.RequestFilelessImport:
- typeData.importType = (
- notificationQueueMessage as AddRequestFilelessImportQueueMessage
- ).importType;
- break;
}
await BrowserApi.tabSendMessageData(tab, "openNotificationBar", {
@@ -262,7 +314,14 @@ export default class NotificationBackground {
return;
}
- const ciphers = await this.cipherService.getAllDecryptedForUrl(loginInfo.url);
+ const activeUserId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(getOptionalUserId),
+ );
+ if (activeUserId == null) {
+ return;
+ }
+
+ const ciphers = await this.cipherService.getAllDecryptedForUrl(loginInfo.url, activeUserId);
const usernameMatches = ciphers.filter(
(c) => c.login.username != null && c.login.username.toLowerCase() === normalizedUsername,
);
@@ -340,7 +399,14 @@ export default class NotificationBackground {
}
let id: string = null;
- const ciphers = await this.cipherService.getAllDecryptedForUrl(changeData.url);
+ const activeUserId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(getOptionalUserId),
+ );
+ if (activeUserId == null) {
+ return;
+ }
+
+ const ciphers = await this.cipherService.getAllDecryptedForUrl(changeData.url, activeUserId);
if (changeData.currentPassword != null) {
const passwordMatches = ciphers.filter(
(c) => c.login.password === changeData.currentPassword,
@@ -399,25 +465,6 @@ export default class NotificationBackground {
}
}
- /**
- * Sets up a notification to request a fileless import when the user
- * attempts to trigger an import from a third party website.
- *
- * @param tab - The tab that we are sending the notification to
- * @param importType - The type of import that is being requested
- */
- async requestFilelessImport(tab: chrome.tabs.Tab, importType: string) {
- const currentAuthStatus = await this.getAuthStatus();
- if (currentAuthStatus !== AuthenticationStatus.Unlocked || this.notificationQueue.length) {
- return;
- }
-
- const loginDomain = Utils.getDomain(tab.url);
- if (loginDomain) {
- await this.pushRequestFilelessImportToQueue(loginDomain, tab, importType);
- }
- }
-
private async pushChangePasswordToQueue(
cipherId: string,
loginDomain: string,
@@ -456,36 +503,6 @@ export default class NotificationBackground {
await this.sendNotificationQueueMessage(tab, message);
}
- /**
- * Pushes a request to start a fileless import to the notification queue.
- * This will display a notification bar to the user, prompting them to
- * start the import.
- *
- * @param loginDomain - The domain of the tab that we are sending the notification to
- * @param tab - The tab that we are sending the notification to
- * @param importType - The type of import that is being requested
- */
- private async pushRequestFilelessImportToQueue(
- loginDomain: string,
- tab: chrome.tabs.Tab,
- importType?: string,
- ) {
- this.removeTabFromNotificationQueue(tab);
- const launchTimestamp = new Date().getTime();
- const message: AddRequestFilelessImportQueueMessage = {
- type: NotificationQueueMessageType.RequestFilelessImport,
- domain: loginDomain,
- tab,
- launchTimestamp,
- expires: new Date(launchTimestamp + 0.5 * 60000), // 30 seconds
- wasVaultLocked: false,
- importType,
- };
- this.notificationQueue.push(message);
- await this.checkNotificationQueue(tab);
- this.removeTabFromNotificationQueue(tab);
- }
-
/**
* Saves a cipher based on the message sent from the notification bar. If the vault
* is locked, the message will be added to the notification queue and the unlock
@@ -542,41 +559,49 @@ export default class NotificationBackground {
this.notificationQueue.splice(i, 1);
+ const activeUserId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(getOptionalUserId),
+ );
+
if (queueMessage.type === NotificationQueueMessageType.ChangePassword) {
- const cipherView = await this.getDecryptedCipherById(queueMessage.cipherId);
- await this.updatePassword(cipherView, queueMessage.newPassword, edit, tab);
+ const cipherView = await this.getDecryptedCipherById(queueMessage.cipherId, activeUserId);
+ await this.updatePassword(cipherView, queueMessage.newPassword, edit, tab, activeUserId);
return;
}
// If the vault was locked, check if a cipher needs updating instead of creating a new one
if (queueMessage.wasVaultLocked) {
- const allCiphers = await this.cipherService.getAllDecryptedForUrl(queueMessage.uri);
+ const allCiphers = await this.cipherService.getAllDecryptedForUrl(
+ queueMessage.uri,
+ activeUserId,
+ );
const existingCipher = allCiphers.find(
(c) =>
c.login.username != null && c.login.username.toLowerCase() === queueMessage.username,
);
if (existingCipher != null) {
- await this.updatePassword(existingCipher, queueMessage.password, edit, tab);
+ await this.updatePassword(existingCipher, queueMessage.password, edit, tab, activeUserId);
return;
}
}
- folderId = (await this.folderExists(folderId)) ? folderId : null;
+ folderId = (await this.folderExists(folderId, activeUserId)) ? folderId : null;
const newCipher = this.convertAddLoginQueueMessageToCipherView(queueMessage, folderId);
if (edit) {
- await this.editItem(newCipher, tab);
+ await this.editItem(newCipher, activeUserId, tab);
await BrowserApi.tabSendMessage(tab, { command: "closeNotificationBar" });
return;
}
- const activeUserId = await firstValueFrom(this.activeUserId$);
-
const cipher = await this.cipherService.encrypt(newCipher, activeUserId);
try {
await this.cipherService.createWithServer(cipher);
- await BrowserApi.tabSendMessage(tab, { command: "saveCipherAttemptCompleted" });
+ await BrowserApi.tabSendMessageData(tab, "saveCipherAttemptCompleted", {
+ username: String(queueMessage?.username),
+ cipherId: String(cipher?.id),
+ });
await BrowserApi.tabSendMessage(tab, { command: "addedCipher" });
} catch (error) {
await BrowserApi.tabSendMessageData(tab, "saveCipherAttemptCompleted", {
@@ -595,31 +620,33 @@ export default class NotificationBackground {
* @param newPassword - The new password to update the cipher with
* @param edit - Identifies if the cipher should be edited or simply updated
* @param tab - The tab that the message was sent from
+ * @param userId - The active account user ID
*/
private async updatePassword(
cipherView: CipherView,
newPassword: string,
edit: boolean,
tab: chrome.tabs.Tab,
+ userId: UserId,
) {
cipherView.login.password = newPassword;
if (edit) {
- await this.editItem(cipherView, tab);
+ await this.editItem(cipherView, userId, tab);
await BrowserApi.tabSendMessage(tab, { command: "closeNotificationBar" });
await BrowserApi.tabSendMessage(tab, { command: "editedCipher" });
return;
}
-
- const activeUserId = await firstValueFrom(this.activeUserId$);
- const cipher = await this.cipherService.encrypt(cipherView, activeUserId);
+ const cipher = await this.cipherService.encrypt(cipherView, userId);
try {
- // We've only updated the password, no need to broadcast editedCipher message
await this.cipherService.updateWithServer(cipher);
- await BrowserApi.tabSendMessage(tab, { command: "saveCipherAttemptCompleted" });
+ await BrowserApi.tabSendMessageData(tab, "saveCipherAttemptCompleted", {
+ username: String(cipherView?.login?.username),
+ cipherId: String(cipherView?.id),
+ });
} catch (error) {
await BrowserApi.tabSendMessageData(tab, "saveCipherAttemptCompleted", {
- error: String(error.message),
+ error: String(error?.message),
});
}
}
@@ -629,33 +656,44 @@ export default class NotificationBackground {
* and opens the add/edit vault item popout.
*
* @param cipherView - The cipher to edit
+ * @param userId - The active account user ID
* @param senderTab - The tab that the message was sent from
*/
- private async editItem(cipherView: CipherView, senderTab: chrome.tabs.Tab) {
- await this.cipherService.setAddEditCipherInfo({
- cipher: cipherView,
- collectionIds: cipherView.collectionIds,
- });
+ private async editItem(cipherView: CipherView, userId: UserId, senderTab: chrome.tabs.Tab) {
+ await this.cipherService.setAddEditCipherInfo(
+ {
+ cipher: cipherView,
+ collectionIds: cipherView.collectionIds,
+ },
+ userId,
+ );
await this.openAddEditVaultItemPopout(senderTab, { cipherId: cipherView.id });
}
- private async folderExists(folderId: string) {
+ private async openVault(
+ message: NotificationBackgroundExtensionMessage,
+ senderTab: chrome.tabs.Tab,
+ ) {
+ if (!message.cipherId) {
+ await this.openAddEditVaultItemPopout(senderTab);
+ }
+ await this.openAddEditVaultItemPopout(senderTab, { cipherId: message.cipherId });
+ }
+
+ private async folderExists(folderId: string, userId: UserId) {
if (Utils.isNullOrWhitespace(folderId) || folderId === "null") {
return false;
}
- const activeUserId = await firstValueFrom(this.activeUserId$);
- const folders = await firstValueFrom(this.folderService.folderViews$(activeUserId));
+ const folders = await firstValueFrom(this.folderService.folderViews$(userId));
return folders.some((x) => x.id === folderId);
}
- private async getDecryptedCipherById(cipherId: string) {
- const cipher = await this.cipherService.get(cipherId);
+ private async getDecryptedCipherById(cipherId: string, userId: UserId) {
+ const cipher = await this.cipherService.get(cipherId, userId);
if (cipher != null && cipher.type === CipherType.Login) {
- const activeUserId = await firstValueFrom(this.activeUserId$);
-
return await cipher.decrypt(
- await this.cipherService.getKeyForCipherKeyDecryption(cipher, activeUserId),
+ await this.cipherService.getKeyForCipherKeyDecryption(cipher, userId),
);
}
return null;
@@ -692,7 +730,9 @@ export default class NotificationBackground {
* Returns the first value found from the folder service's folderViews$ observable.
*/
private async getFolderData() {
- const activeUserId = await firstValueFrom(this.activeUserId$);
+ const activeUserId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(getOptionalUserId),
+ );
return await firstValueFrom(this.folderService.folderViews$(activeUserId));
}
@@ -707,6 +747,26 @@ export default class NotificationBackground {
);
}
+ /**
+ * Returns the first value found from the organization service organizations$ observable.
+ */
+ private async getOrgData() {
+ const activeUserId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(getOptionalUserId),
+ );
+ const organizations = await firstValueFrom(
+ this.organizationService.organizations$(activeUserId),
+ );
+ return organizations.map((org) => {
+ const { id, name, productTierType } = org;
+ return {
+ id,
+ name,
+ productTierType,
+ };
+ });
+ }
+
/**
* Handles the unlockCompleted extension message. Will close the notification bar
* after an attempted autofill action, and retry the autofill action if the message
diff --git a/apps/browser/src/autofill/background/overlay.background.spec.ts b/apps/browser/src/autofill/background/overlay.background.spec.ts
index 0ac69317855..3085dbc2f8d 100644
--- a/apps/browser/src/autofill/background/overlay.background.spec.ts
+++ b/apps/browser/src/autofill/background/overlay.background.spec.ts
@@ -190,7 +190,9 @@ describe("OverlayBackground", () => {
inlineMenuFieldQualificationService = new InlineMenuFieldQualificationService();
themeStateService = mock();
themeStateService.selectedTheme$ = selectedThemeMock$;
- totpService = mock();
+ totpService = mock({
+ getCode$: jest.fn().mockReturnValue(of(undefined)),
+ });
overlayBackground = new OverlayBackground(
logService,
cipherService,
@@ -206,6 +208,7 @@ describe("OverlayBackground", () => {
inlineMenuFieldQualificationService,
themeStateService,
totpService,
+ accountService,
generatedPasswordCallbackMock,
addPasswordCallbackMock,
);
@@ -849,7 +852,7 @@ describe("OverlayBackground", () => {
await flushPromises();
expect(BrowserApi.getTabFromCurrentWindowId).toHaveBeenCalled();
- expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith(url, [
+ expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith(url, mockUserId, [
CipherType.Card,
CipherType.Identity,
]);
@@ -872,7 +875,7 @@ describe("OverlayBackground", () => {
await flushPromises();
expect(BrowserApi.getTabFromCurrentWindowId).toHaveBeenCalled();
- expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith(url);
+ expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith(url, mockUserId);
expect(cipherService.sortCiphersByLastUsedThenName).toHaveBeenCalled();
expect(overlayBackground["inlineMenuCiphers"]).toStrictEqual(
new Map([
@@ -891,7 +894,7 @@ describe("OverlayBackground", () => {
await flushPromises();
expect(BrowserApi.getTabFromCurrentWindowId).toHaveBeenCalled();
- expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith(url, [
+ expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith(url, mockUserId, [
CipherType.Card,
CipherType.Identity,
]);
@@ -966,7 +969,7 @@ describe("OverlayBackground", () => {
icon: {
fallbackImage: "",
icon: "bwi-credit-card",
- image: undefined,
+ image: null,
imageEnabled: true,
},
id: "inline-menu-cipher-0",
@@ -1004,7 +1007,7 @@ describe("OverlayBackground", () => {
icon: {
fallbackImage: "",
icon: "bwi-id-card",
- image: undefined,
+ image: null,
imageEnabled: true,
},
id: "inline-menu-cipher-1",
@@ -1045,7 +1048,7 @@ describe("OverlayBackground", () => {
icon: {
fallbackImage: "",
icon: "bwi-id-card",
- image: undefined,
+ image: null,
imageEnabled: true,
},
id: "inline-menu-cipher-0",
@@ -1117,7 +1120,7 @@ describe("OverlayBackground", () => {
icon: {
fallbackImage: "",
icon: "bwi-id-card",
- image: undefined,
+ image: null,
imageEnabled: true,
},
id: "inline-menu-cipher-1",
@@ -2913,6 +2916,124 @@ describe("OverlayBackground", () => {
);
});
});
+ describe("handles menu position when input is focused", () => {
+ it("sets button and menu width and position when non-multi-input totp field is focused", async () => {
+ const subframe = {
+ top: 0,
+ left: 0,
+ url: "",
+ frameId: 0,
+ };
+
+ overlayBackground["focusedFieldData"] = createFocusedFieldDataMock({
+ focusedFieldRects: {
+ width: 49.328125,
+ height: 64,
+ top: 302.171875,
+ left: 1270.8125,
+ },
+ });
+
+ const buttonPostion = overlayBackground["getInlineMenuButtonPosition"](subframe);
+ const menuPostion = overlayBackground["getInlineMenuListPosition"](subframe);
+
+ expect(menuPostion).toEqual({
+ width: "49px",
+ top: "366px",
+ left: "1271px",
+ });
+ expect(buttonPostion).toEqual({
+ width: "34px",
+ height: "34px",
+ top: "317px",
+ left: "1271px",
+ });
+ });
+ it("sets button and menu width and position when multi-input totp field is focused", async () => {
+ const subframe = {
+ top: 0,
+ left: 0,
+ url: "",
+ frameId: 0,
+ };
+
+ const totpFields = [
+ createAutofillFieldMock({ autoCompleteType: "one-time-code", opid: "__0" }),
+ createAutofillFieldMock({ autoCompleteType: "one-time-code", opid: "__1" }),
+ createAutofillFieldMock({ autoCompleteType: "one-time-code", opid: "__2" }),
+ ];
+ const allFieldData = [
+ createAutofillFieldMock({
+ autoCompleteType: "one-time-code",
+ opid: "__0",
+ rect: {
+ x: 1041.5,
+ y: 302.171875,
+ width: 49.328125,
+ height: 64,
+ top: 302.171875,
+ right: 1090.828125,
+ bottom: 366.171875,
+ left: 1041.5,
+ },
+ }),
+ createAutofillFieldMock({
+ autoCompleteType: "one-time-code",
+ opid: "__1",
+ rect: {
+ x: 1098.828125,
+ y: 302.171875,
+ width: 49.328125,
+ height: 64,
+ top: 302.171875,
+ right: 1148.15625,
+ bottom: 366.171875,
+ left: 1098.828125,
+ },
+ }),
+ createAutofillFieldMock({
+ autoCompleteType: "one-time-code",
+ opid: "__2",
+ rect: {
+ x: 1156.15625,
+ y: 302.171875,
+ width: 249.328125,
+ height: 64,
+ top: 302.171875,
+ right: 2205.484375,
+ bottom: 366.171875,
+ left: 2156.15625,
+ },
+ }),
+ ];
+ overlayBackground["focusedFieldData"] = createFocusedFieldDataMock({
+ focusedFieldRects: {
+ width: 49.328125,
+ height: 64,
+ top: 302.171875,
+ left: 1270.8125,
+ },
+ });
+
+ overlayBackground["allFieldData"] = allFieldData;
+ jest.spyOn(overlayBackground as any, "isTotpFieldForCurrentField").mockReturnValue(true);
+ jest.spyOn(overlayBackground as any, "getTotpFields").mockReturnValue(totpFields);
+
+ const buttonPostion = overlayBackground["getInlineMenuButtonPosition"](subframe);
+ const menuPostion = overlayBackground["getInlineMenuListPosition"](subframe);
+ expect(menuPostion).toEqual({
+ width: "1164px",
+ top: "366px",
+ left: "1042px",
+ });
+ expect(buttonPostion).toEqual({
+ width: "34px",
+ height: "34px",
+ top: "292px",
+ left: "2187px",
+ });
+ });
+ });
describe("triggerDelayedAutofillInlineMenuClosure message handler", () => {
it("skips triggering the delayed closure of the inline menu if a field is currently focused", async () => {
diff --git a/apps/browser/src/autofill/background/overlay.background.ts b/apps/browser/src/autofill/background/overlay.background.ts
index 58e462943bf..454b12cdcea 100644
--- a/apps/browser/src/autofill/background/overlay.background.ts
+++ b/apps/browser/src/autofill/background/overlay.background.ts
@@ -13,8 +13,10 @@ import {
} from "rxjs";
import { parse } from "tldts";
+import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { getOptionalUserId, getUserId } from "@bitwarden/common/auth/services/account.service";
import {
AutofillOverlayVisibility,
SHOW_AUTOFILL_BUTTON,
@@ -34,6 +36,7 @@ import { LogService } from "@bitwarden/common/platform/abstractions/log.service"
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import { Utils } from "@bitwarden/common/platform/misc/utils";
import { ThemeStateService } from "@bitwarden/common/platform/theming/theme-state.service";
+import { UserId } from "@bitwarden/common/types/guid";
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
import { TotpService } from "@bitwarden/common/vault/abstractions/totp.service";
import { VaultSettingsService } from "@bitwarden/common/vault/abstractions/vault-settings/vault-settings.service";
@@ -70,6 +73,7 @@ import {
generateDomainMatchPatterns,
generateRandomChars,
isInvalidResponseStatusCode,
+ rectHasSize,
specialCharacterToKeyMap,
} from "../utils";
@@ -130,6 +134,7 @@ export class OverlayBackground implements OverlayBackgroundInterface {
private currentInlineMenuCiphersCount: number = 0;
private currentAddNewItemData: CurrentAddNewItemData;
private focusedFieldData: FocusedFieldData;
+ private allFieldData: AutofillField[];
private isFieldCurrentlyFocused: boolean = false;
private isFieldCurrentlyFilling: boolean = false;
private isInlineMenuButtonVisible: boolean = false;
@@ -223,6 +228,7 @@ export class OverlayBackground implements OverlayBackgroundInterface {
private inlineMenuFieldQualificationService: InlineMenuFieldQualificationService,
private themeStateService: ThemeStateService,
private totpService: TotpService,
+ private accountService: AccountService,
private generatePasswordCallback: () => Promise,
private addPasswordCallback: (password: string) => Promise,
) {
@@ -403,13 +409,20 @@ export class OverlayBackground implements OverlayBackgroundInterface {
currentTab: chrome.tabs.Tab,
updateAllCipherTypes: boolean,
): Promise {
- if (updateAllCipherTypes || !this.cardAndIdentityCiphers) {
- return this.getAllCipherTypeViews(currentTab);
+ const activeUserId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(getOptionalUserId),
+ );
+ if (!activeUserId) {
+ return [];
}
- const cipherViews = (await this.cipherService.getAllDecryptedForUrl(currentTab.url || "")).sort(
- (a, b) => this.cipherService.sortCiphersByLastUsedThenName(a, b),
- );
+ if (updateAllCipherTypes || !this.cardAndIdentityCiphers) {
+ return this.getAllCipherTypeViews(currentTab, activeUserId);
+ }
+
+ const cipherViews = (
+ await this.cipherService.getAllDecryptedForUrl(currentTab.url || "", activeUserId)
+ ).sort((a, b) => this.cipherService.sortCiphersByLastUsedThenName(a, b));
return this.cardAndIdentityCiphers
? cipherViews.concat(...this.cardAndIdentityCiphers)
@@ -420,15 +433,19 @@ export class OverlayBackground implements OverlayBackgroundInterface {
* Queries all cipher types from the user's vault returns them sorted by last used.
*
* @param currentTab - The current tab
+ * @param userId - The active user id
*/
- private async getAllCipherTypeViews(currentTab: chrome.tabs.Tab): Promise {
+ private async getAllCipherTypeViews(
+ currentTab: chrome.tabs.Tab,
+ userId: UserId,
+ ): Promise {
if (!this.cardAndIdentityCiphers) {
this.cardAndIdentityCiphers = new Set([]);
}
this.cardAndIdentityCiphers.clear();
const cipherViews = (
- await this.cipherService.getAllDecryptedForUrl(currentTab.url || "", [
+ await this.cipherService.getAllDecryptedForUrl(currentTab.url || "", userId, [
CipherType.Card,
CipherType.Identity,
])
@@ -690,13 +707,15 @@ export class OverlayBackground implements OverlayBackgroundInterface {
};
if (cipher.type === CipherType.Login) {
- const totpCode = await this.totpService.getCode(cipher.login?.totp);
- const totpCodeTimeInterval = this.totpService.getTimeInterval(cipher.login?.totp);
+ const totpResponse = cipher.login?.totp
+ ? await firstValueFrom(this.totpService.getCode$(cipher.login.totp))
+ : undefined;
+
inlineMenuData.login = {
username: cipher.login.username,
- totp: totpCode,
+ totp: totpResponse?.code,
totpField: this.isTotpFieldForCurrentField(),
- totpCodeTimeInterval: totpCodeTimeInterval,
+ totpCodeTimeInterval: totpResponse?.period,
passkey: hasPasskey
? {
rpName: cipher.login.fido2Credentials[0].rpName,
@@ -1114,9 +1133,13 @@ export class OverlayBackground implements OverlayBackgroundInterface {
this.updateLastUsedInlineMenuCipher(inlineMenuCipherId, cipher);
if (cipher.login?.totp) {
- this.platformUtilsService.copyToClipboard(
- await this.totpService.getCode(cipher.login.totp),
- );
+ const totpResponse = await firstValueFrom(this.totpService.getCode$(cipher.login.totp));
+
+ if (totpResponse?.code) {
+ this.platformUtilsService.copyToClipboard(totpResponse.code);
+ } else {
+ this.logService.error("Failed to get TOTP code for inline menu cipher");
+ }
}
return;
}
@@ -1367,6 +1390,71 @@ export class OverlayBackground implements OverlayBackgroundInterface {
this.isInlineMenuListVisible = false;
}
+ /**
+ * Get all the totp fields for the tab and frame of the currently focused field
+ */
+ private getTotpFields(): AutofillField[] {
+ const currentTabId = this.focusedFieldData?.tabId;
+ const currentFrameId = this.focusedFieldData?.frameId;
+ const pageDetailsMap = this.pageDetailsForTab[currentTabId];
+ const pageDetails = pageDetailsMap?.get(currentFrameId);
+
+ const fields = pageDetails.details.fields;
+ const totpFields = fields.filter((f) =>
+ this.inlineMenuFieldQualificationService.isTotpField(f),
+ );
+
+ return totpFields;
+ }
+
+ /**
+ * calculates the postion and width for multi-input totp field inline menu
+ * @param totpFieldArray - the totp fields used to evaluate the position of the menu
+ */
+ private calculateTotpMultiInputMenuBounds(totpFieldArray: AutofillField[]) {
+ // Filter the fields based on the provided totpfields
+ const filteredObjects = this.allFieldData.filter((obj) =>
+ totpFieldArray.some((o) => o.opid === obj.opid),
+ );
+
+ // Return null if no matching objects are found
+ if (filteredObjects.length === 0) {
+ return null;
+ }
+ // Calculate the smallest left and largest right values to determine width
+ const left = Math.min(
+ ...filteredObjects.filter((obj) => rectHasSize(obj.rect)).map((obj) => obj.rect.left),
+ );
+ const largestRight = Math.max(
+ ...filteredObjects.filter((obj) => rectHasSize(obj.rect)).map((obj) => obj.rect.right),
+ );
+
+ const width = largestRight - left;
+
+ return { left, width };
+ }
+
+ /**
+ * calculates the postion for multi-input totp field inline button
+ * @param totpFieldArray - the totp fields used to evaluate the position of the menu
+ */
+ private calculateTotpMultiInputButtonBounds(totpFieldArray: AutofillField[]) {
+ const filteredObjects = this.allFieldData.filter((obj) =>
+ totpFieldArray.some((o) => o.opid === obj.opid),
+ );
+
+ if (filteredObjects.length === 0) {
+ return null;
+ }
+
+ const maxRight = Math.max(...filteredObjects.map((obj) => obj.rect.right));
+ const maxObject = filteredObjects.find((obj) => obj.rect.right === maxRight);
+ const top = maxObject.rect.top - maxObject.rect.height * 0.39;
+ const left = maxRight - maxObject.rect.height * 0.3;
+
+ return { left, top };
+ }
+
/**
* Updates the position of either the inline menu list or button. The position
* is based on the focused field's position and dimensions.
@@ -1472,8 +1560,17 @@ export class OverlayBackground implements OverlayBackgroundInterface {
const subFrameTopOffset = subFrameOffsets?.top || 0;
const subFrameLeftOffset = subFrameOffsets?.left || 0;
- const { top, left, width, height } = this.focusedFieldData.focusedFieldRects;
+ const { width, height } = this.focusedFieldData.focusedFieldRects;
+ let { top, left } = this.focusedFieldData.focusedFieldRects;
const { paddingRight, paddingLeft } = this.focusedFieldData.focusedFieldStyles;
+
+ if (this.isTotpFieldForCurrentField()) {
+ const totpFields = this.getTotpFields();
+ if (totpFields.length > 1) {
+ ({ left, top } = this.calculateTotpMultiInputButtonBounds(totpFields));
+ }
+ }
+
let elementOffset = height * 0.37;
if (height >= 35) {
elementOffset = height >= 50 ? height * 0.47 : height * 0.42;
@@ -1512,7 +1609,16 @@ export class OverlayBackground implements OverlayBackgroundInterface {
const subFrameTopOffset = subFrameOffsets?.top || 0;
const subFrameLeftOffset = subFrameOffsets?.left || 0;
- const { top, left, width, height } = this.focusedFieldData.focusedFieldRects;
+ const { top, height } = this.focusedFieldData.focusedFieldRects;
+ let { left, width } = this.focusedFieldData.focusedFieldRects;
+
+ if (this.isTotpFieldForCurrentField()) {
+ const totpFields = this.getTotpFields();
+
+ if (totpFields.length > 1) {
+ ({ left, width } = this.calculateTotpMultiInputMenuBounds(totpFields));
+ }
+ }
this.inlineMenuPosition.list = {
top: Math.round(top + height + subFrameTopOffset),
@@ -1535,7 +1641,7 @@ export class OverlayBackground implements OverlayBackgroundInterface {
* @param sender - The sender of the extension message
*/
private setFocusedFieldData(
- { focusedFieldData }: OverlayBackgroundExtensionMessage,
+ { focusedFieldData, allFieldsRect }: OverlayBackgroundExtensionMessage,
sender: chrome.runtime.MessageSender,
) {
if (
@@ -1552,6 +1658,7 @@ export class OverlayBackground implements OverlayBackgroundInterface {
const previousFocusedFieldData = this.focusedFieldData;
this.focusedFieldData = { ...focusedFieldData, tabId: sender.tab.id, frameId: sender.frameId };
+ this.allFieldData = allFieldsRect;
this.isFieldCurrentlyFocused = true;
if (this.shouldUpdatePasswordGeneratorMenuOnFieldFocus()) {
@@ -2313,10 +2420,14 @@ export class OverlayBackground implements OverlayBackgroundInterface {
try {
this.closeInlineMenu(sender);
- await this.cipherService.setAddEditCipherInfo({
- cipher: cipherView,
- collectionIds: cipherView.collectionIds,
- });
+ const activeUserId = await firstValueFrom(this.accountService.activeAccount$.pipe(getUserId));
+ await this.cipherService.setAddEditCipherInfo(
+ {
+ cipher: cipherView,
+ collectionIds: cipherView.collectionIds,
+ },
+ activeUserId,
+ );
await this.openAddEditVaultItemPopout(sender.tab, {
cipherId: cipherView.id,
diff --git a/apps/browser/src/autofill/background/web-request.background.ts b/apps/browser/src/autofill/background/web-request.background.ts
index 2c14358a359..22e10a3dd0a 100644
--- a/apps/browser/src/autofill/background/web-request.background.ts
+++ b/apps/browser/src/autofill/background/web-request.background.ts
@@ -1,7 +1,11 @@
// FIXME: Update this file to be type safe and remove this and next line
// @ts-strict-ignore
+import { firstValueFrom } from "rxjs";
+
+import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { getOptionalUserId } from "@bitwarden/common/auth/services/account.service";
import { UriMatchStrategy } from "@bitwarden/common/models/domain/domain-service";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
@@ -14,6 +18,7 @@ export default class WebRequestBackground {
platformUtilsService: PlatformUtilsService,
private cipherService: CipherService,
private authService: AuthService,
+ private accountService: AccountService,
private readonly webRequest: typeof chrome.webRequest,
) {
this.isFirefox = platformUtilsService.isFirefox();
@@ -55,7 +60,16 @@ export default class WebRequestBackground {
// eslint-disable-next-line
private async resolveAuthCredentials(domain: string, success: Function, error: Function) {
- if ((await this.authService.getAuthStatus()) < AuthenticationStatus.Unlocked) {
+ const activeUserId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(getOptionalUserId),
+ );
+ if (activeUserId == null) {
+ error();
+ return;
+ }
+
+ const authStatus = await firstValueFrom(this.authService.authStatusFor$(activeUserId));
+ if (authStatus < AuthenticationStatus.Unlocked) {
error();
return;
}
@@ -63,6 +77,7 @@ export default class WebRequestBackground {
try {
const ciphers = await this.cipherService.getAllDecryptedForUrl(
domain,
+ activeUserId,
null,
UriMatchStrategy.Host,
);
diff --git a/apps/browser/src/autofill/browser/abstractions/main-context-menu-handler.ts b/apps/browser/src/autofill/browser/abstractions/main-context-menu-handler.ts
index 7ded23116ee..180a4685332 100644
--- a/apps/browser/src/autofill/browser/abstractions/main-context-menu-handler.ts
+++ b/apps/browser/src/autofill/browser/abstractions/main-context-menu-handler.ts
@@ -1,5 +1,6 @@
type InitContextMenuItems = Omit & {
- checkPremiumAccess?: boolean;
+ requiresPremiumAccess?: boolean;
+ requiresUnblockedUri?: boolean;
};
export { InitContextMenuItems };
diff --git a/apps/browser/src/autofill/browser/cipher-context-menu-handler.spec.ts b/apps/browser/src/autofill/browser/cipher-context-menu-handler.spec.ts
index 4fed9eee5ef..3228aed4688 100644
--- a/apps/browser/src/autofill/browser/cipher-context-menu-handler.spec.ts
+++ b/apps/browser/src/autofill/browser/cipher-context-menu-handler.spec.ts
@@ -2,6 +2,8 @@ import { mock, MockProxy } from "jest-mock-extended";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { mockAccountServiceWith } from "@bitwarden/common/spec";
+import { UserId } from "@bitwarden/common/types/guid";
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
import { CipherType } from "@bitwarden/common/vault/enums";
import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type";
@@ -14,6 +16,9 @@ describe("CipherContextMenuHandler", () => {
let authService: MockProxy;
let cipherService: MockProxy;
+ const mockUserId = "UserId" as UserId;
+ const accountService = mockAccountServiceWith(mockUserId);
+
let sut: CipherContextMenuHandler;
beforeEach(() => {
@@ -24,7 +29,12 @@ describe("CipherContextMenuHandler", () => {
jest.spyOn(MainContextMenuHandler, "removeAll").mockResolvedValue();
- sut = new CipherContextMenuHandler(mainContextMenuHandler, authService, cipherService);
+ sut = new CipherContextMenuHandler(
+ mainContextMenuHandler,
+ authService,
+ cipherService,
+ accountService,
+ );
});
afterEach(() => jest.resetAllMocks());
@@ -119,10 +129,11 @@ describe("CipherContextMenuHandler", () => {
expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledTimes(1);
- expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith("https://test.com", [
- CipherType.Card,
- CipherType.Identity,
- ]);
+ expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith(
+ "https://test.com",
+ mockUserId,
+ [CipherType.Card, CipherType.Identity],
+ );
expect(mainContextMenuHandler.loadOptions).toHaveBeenCalledTimes(3);
diff --git a/apps/browser/src/autofill/browser/cipher-context-menu-handler.ts b/apps/browser/src/autofill/browser/cipher-context-menu-handler.ts
index b112ff00efe..e2bf75350a2 100644
--- a/apps/browser/src/autofill/browser/cipher-context-menu-handler.ts
+++ b/apps/browser/src/autofill/browser/cipher-context-menu-handler.ts
@@ -1,5 +1,9 @@
+import { firstValueFrom } from "rxjs";
+
+import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { getOptionalUserId } from "@bitwarden/common/auth/services/account.service";
import { Utils } from "@bitwarden/common/platform/misc/utils";
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
import { CipherType } from "@bitwarden/common/vault/enums";
@@ -14,9 +18,10 @@ export class CipherContextMenuHandler {
private mainContextMenuHandler: MainContextMenuHandler,
private authService: AuthService,
private cipherService: CipherService,
+ private accountService: AccountService,
) {}
- async update(url: string) {
+ async update(url: string, currentUriIsBlocked: boolean = false) {
if (this.mainContextMenuHandler.initRunning) {
return;
}
@@ -35,7 +40,14 @@ export class CipherContextMenuHandler {
return;
}
- const ciphers = await this.cipherService.getAllDecryptedForUrl(url, [
+ const activeUserId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(getOptionalUserId),
+ );
+ if (activeUserId == null) {
+ return;
+ }
+
+ const ciphers = await this.cipherService.getAllDecryptedForUrl(url, activeUserId, [
CipherType.Card,
CipherType.Identity,
]);
@@ -76,6 +88,10 @@ export class CipherContextMenuHandler {
for (const cipher of ciphers) {
await this.updateForCipher(cipher);
}
+
+ if (currentUriIsBlocked) {
+ await this.mainContextMenuHandler.removeBlockedUriMenuItems();
+ }
}
private async updateForCipher(cipher: CipherView) {
diff --git a/apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts b/apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts
index 6ef004f7979..61d6b9dc480 100644
--- a/apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts
+++ b/apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts
@@ -1,4 +1,5 @@
import { mock, MockProxy } from "jest-mock-extended";
+import { of } from "rxjs";
import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
@@ -61,6 +62,8 @@ describe("ContextMenuClickedHandler", () => {
return cipherView;
};
+ const mockUserId = "UserId" as UserId;
+
let copyToClipboard: CopyToClipboardAction;
let generatePasswordToClipboard: GeneratePasswordToClipboardAction;
let autofill: AutofillAction;
@@ -79,7 +82,7 @@ describe("ContextMenuClickedHandler", () => {
autofill = jest.fn, [tab: chrome.tabs.Tab, cipher: CipherView]>();
authService = mock();
cipherService = mock();
- accountService = mockAccountServiceWith("userId" as UserId);
+ accountService = mockAccountServiceWith(mockUserId as UserId);
totpService = mock();
eventCollectionService = mock();
@@ -157,19 +160,25 @@ describe("ContextMenuClickedHandler", () => {
it("copies totp code to clipboard", async () => {
cipherService.getAllDecrypted.mockResolvedValue([createCipher({ totp: "TEST_TOTP_SEED" })]);
- totpService.getCode.mockImplementation((seed) => {
+ jest.spyOn(totpService, "getCode$").mockImplementation((seed: string) => {
if (seed === "TEST_TOTP_SEED") {
- return Promise.resolve("123456");
+ return of({
+ code: "123456",
+ period: 30,
+ });
}
- return Promise.resolve("654321");
+ return of({
+ code: "654321",
+ period: 30,
+ });
});
await sut.run(createData(`${COPY_VERIFICATION_CODE_ID}_1`, COPY_VERIFICATION_CODE_ID), {
url: "https://test.com",
} as any);
- expect(totpService.getCode).toHaveBeenCalledTimes(1);
+ expect(totpService.getCode$).toHaveBeenCalledTimes(1);
expect(copyToClipboard).toHaveBeenCalledWith({
text: "123456",
@@ -191,7 +200,11 @@ describe("ContextMenuClickedHandler", () => {
expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledTimes(1);
- expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith("https://test.com", []);
+ expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith(
+ "https://test.com",
+ mockUserId,
+ [],
+ );
expect(copyToClipboard).toHaveBeenCalledTimes(1);
@@ -215,7 +228,11 @@ describe("ContextMenuClickedHandler", () => {
expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledTimes(1);
- expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith("https://test.com", []);
+ expect(cipherService.getAllDecryptedForUrl).toHaveBeenCalledWith(
+ "https://test.com",
+ mockUserId,
+ [],
+ );
});
});
});
diff --git a/apps/browser/src/autofill/browser/context-menu-clicked-handler.ts b/apps/browser/src/autofill/browser/context-menu-clicked-handler.ts
index 597d75575b0..2fb435a4c67 100644
--- a/apps/browser/src/autofill/browser/context-menu-clicked-handler.ts
+++ b/apps/browser/src/autofill/browser/context-menu-clicked-handler.ts
@@ -1,12 +1,13 @@
// FIXME: Update this file to be type safe and remove this and next line
// @ts-strict-ignore
-import { firstValueFrom, map } from "rxjs";
+import { firstValueFrom } from "rxjs";
import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
+import { getOptionalUserId } from "@bitwarden/common/auth/services/account.service";
import {
AUTOFILL_CARD_ID,
AUTOFILL_ID,
@@ -105,6 +106,13 @@ export class ContextMenuClickedHandler {
menuItemId as string,
);
+ const activeUserId = await firstValueFrom(
+ this.accountService.activeAccount$.pipe(getOptionalUserId),
+ );
+ if (activeUserId == null) {
+ return;
+ }
+
if (isCreateCipherAction) {
// pass; defer to logic below
} else if (menuItemId === NOOP_COMMAND_SUFFIX) {
@@ -120,12 +128,13 @@ export class ContextMenuClickedHandler {
// in scenarios like unlock on autofill
const ciphers = await this.cipherService.getAllDecryptedForUrl(
tab.url,
+ activeUserId,
additionalCiphersToGet,
);
cipher = ciphers[0];
} else {
- const ciphers = await this.cipherService.getAllDecrypted();
+ const ciphers = await this.cipherService.getAllDecrypted(activeUserId);
cipher = ciphers.find(({ id }) => id === menuItemId);
}
@@ -133,9 +142,6 @@ export class ContextMenuClickedHandler {
return;
}
- const activeUserId = await firstValueFrom(
- this.accountService.activeAccount$.pipe(map((a) => a?.id)),
- );
await this.accountService.setAccountActivity(activeUserId, new Date());
switch (info.parentMenuItemId) {
case AUTOFILL_ID:
@@ -199,8 +205,9 @@ export class ContextMenuClickedHandler {
action: COPY_VERIFICATION_CODE_ID,
});
} else {
+ const totpResponse = await firstValueFrom(this.totpService.getCode$(cipher.login.totp));
this.copyToClipboard({
- text: await this.totpService.getCode(cipher.login.totp),
+ text: totpResponse.code,
tab: tab,
});
}
diff --git a/apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts b/apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts
index 79998b65205..267a832a671 100644
--- a/apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts
+++ b/apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts
@@ -2,7 +2,17 @@ import { mock, MockProxy } from "jest-mock-extended";
import { of } from "rxjs";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
-import { NOOP_COMMAND_SUFFIX } from "@bitwarden/common/autofill/constants";
+import {
+ AUTOFILL_CARD_ID,
+ AUTOFILL_ID,
+ AUTOFILL_IDENTITY_ID,
+ COPY_IDENTIFIER_ID,
+ COPY_PASSWORD_ID,
+ COPY_USERNAME_ID,
+ COPY_VERIFICATION_CODE_ID,
+ NOOP_COMMAND_SUFFIX,
+ SEPARATOR_ID,
+} from "@bitwarden/common/autofill/constants";
import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service";
import { BillingAccountProfileStateService } from "@bitwarden/common/billing/abstractions/account/billing-account-profile-state.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
@@ -15,6 +25,43 @@ import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
import { MainContextMenuHandler } from "./main-context-menu-handler";
+/**
+ * Used in place of Set method `symmetricDifference`, which is only available to node version 22.0.0 or greater:
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/symmetricDifference
+ */
+function symmetricDifference(setA: Set, setB: Set) {
+ const _difference = new Set(setA);
+ for (const elem of setB) {
+ if (_difference.has(elem)) {
+ _difference.delete(elem);
+ } else {
+ _difference.add(elem);
+ }
+ }
+ return _difference;
+}
+
+const createCipher = (data?: {
+ id?: CipherView["id"];
+ username?: CipherView["login"]["username"];
+ password?: CipherView["login"]["password"];
+ totp?: CipherView["login"]["totp"];
+ viewPassword?: CipherView["viewPassword"];
+}): CipherView => {
+ const { id, username, password, totp, viewPassword } = data || {};
+ const cipherView = new CipherView(
+ new Cipher({
+ id: id ?? "1",
+ type: CipherType.Login,
+ viewPassword: viewPassword ?? true,
+ } as any),
+ );
+ cipherView.login.username = username ?? "USERNAME";
+ cipherView.login.password = password ?? "PASSWORD";
+ cipherView.login.totp = totp ?? "TOTP";
+ return cipherView;
+};
+
describe("context-menu", () => {
let stateService: MockProxy;
let autofillSettingsService: MockProxy;
@@ -59,6 +106,9 @@ describe("context-menu", () => {
billingAccountProfileStateService,
accountService,
);
+
+ jest.spyOn(MainContextMenuHandler, "remove");
+
autofillSettingsService.enableContextMenu$ = of(true);
accountService.activeAccount$ = of({
id: "userId" as UserId,
@@ -68,7 +118,10 @@ describe("context-menu", () => {
});
});
- afterEach(() => jest.resetAllMocks());
+ afterEach(async () => {
+ await MainContextMenuHandler.removeAll();
+ jest.resetAllMocks();
+ });
describe("init", () => {
it("has menu disabled", async () => {
@@ -97,27 +150,6 @@ describe("context-menu", () => {
});
describe("loadOptions", () => {
- const createCipher = (data?: {
- id?: CipherView["id"];
- username?: CipherView["login"]["username"];
- password?: CipherView["login"]["password"];
- totp?: CipherView["login"]["totp"];
- viewPassword?: CipherView["viewPassword"];
- }): CipherView => {
- const { id, username, password, totp, viewPassword } = data || {};
- const cipherView = new CipherView(
- new Cipher({
- id: id ?? "1",
- type: CipherType.Login,
- viewPassword: viewPassword ?? true,
- } as any),
- );
- cipherView.login.username = username ?? "USERNAME";
- cipherView.login.password = password ?? "PASSWORD";
- cipherView.login.totp = totp ?? "TOTP";
- return cipherView;
- };
-
it("is not a login cipher", async () => {
await sut.loadOptions("TEST_TITLE", "1", {
...createCipher(),
@@ -128,33 +160,124 @@ describe("context-menu", () => {
});
it("creates item for autofill", async () => {
- await sut.loadOptions(
- "TEST_TITLE",
- "1",
- createCipher({
- username: "",
- totp: "",
- viewPassword: false,
- }),
+ const cipher = createCipher({
+ username: "",
+ totp: "",
+ viewPassword: true,
+ });
+ const optionId = "1";
+ await sut.loadOptions("TEST_TITLE", optionId, cipher);
+
+ expect(createSpy).toHaveBeenCalledTimes(2);
+
+ expect(MainContextMenuHandler["existingMenuItems"].size).toEqual(2);
+
+ const expectedMenuItems = new Set([
+ AUTOFILL_ID + `_${optionId}`,
+ COPY_PASSWORD_ID + `_${optionId}`,
+ ]);
+
+ // @TODO Replace with `symmetricDifference` Set method once node 22.0.0 or higher is used
+ // const expectedReceivedDiff = expectedMenuItems.symmetricDifference(MainContextMenuHandler["existingMenuItems"])
+ const expectedReceivedDiff = symmetricDifference(
+ expectedMenuItems,
+ MainContextMenuHandler["existingMenuItems"],
);
- expect(createSpy).toHaveBeenCalledTimes(1);
+ expect(expectedReceivedDiff.size).toEqual(0);
});
it("create entry for each cipher piece", async () => {
billingAccountProfileStateService.hasPremiumFromAnySource$.mockReturnValue(of(true));
-
- await sut.loadOptions("TEST_TITLE", "1", createCipher());
+ const optionId = "arbitraryString";
+ await sut.loadOptions("TEST_TITLE", optionId, createCipher());
expect(createSpy).toHaveBeenCalledTimes(4);
+
+ expect(MainContextMenuHandler["existingMenuItems"].size).toEqual(4);
+
+ const expectedMenuItems = new Set([
+ AUTOFILL_ID + `_${optionId}`,
+ COPY_PASSWORD_ID + `_${optionId}`,
+ COPY_USERNAME_ID + `_${optionId}`,
+ COPY_VERIFICATION_CODE_ID + `_${optionId}`,
+ ]);
+
+ // @TODO Replace with `symmetricDifference` Set method once node 22.0.0 or higher is used
+ // const expectedReceivedDiff = expectedMenuItems.symmetricDifference(MainContextMenuHandler["existingMenuItems"])
+ const expectedReceivedDiff = symmetricDifference(
+ expectedMenuItems,
+ MainContextMenuHandler["existingMenuItems"],
+ );
+
+ expect(expectedReceivedDiff.size).toEqual(0);
});
it("creates a login/unlock item for each context menu action option when user is not authenticated", async () => {
billingAccountProfileStateService.hasPremiumFromAnySource$.mockReturnValue(of(true));
- await sut.loadOptions("TEST_TITLE", "NOOP");
+ const optionId = "NOOP";
+ await sut.loadOptions("TEST_TITLE", optionId);
expect(createSpy).toHaveBeenCalledTimes(6);
+
+ expect(MainContextMenuHandler["existingMenuItems"].size).toEqual(6);
+
+ const expectedMenuItems = new Set([
+ AUTOFILL_ID + `_${optionId}`,
+ COPY_PASSWORD_ID + `_${optionId}`,
+ COPY_USERNAME_ID + `_${optionId}`,
+ COPY_VERIFICATION_CODE_ID + `_${optionId}`,
+ AUTOFILL_CARD_ID + `_${optionId}`,
+ AUTOFILL_IDENTITY_ID + `_${optionId}`,
+ ]);
+
+ // @TODO Replace with `symmetricDifference` Set method once node 22.0.0 or higher is used
+ // const expectedReceivedDiff = expectedMenuItems.symmetricDifference(MainContextMenuHandler["existingMenuItems"])
+ const expectedReceivedDiff = symmetricDifference(
+ expectedMenuItems,
+ MainContextMenuHandler["existingMenuItems"],
+ );
+
+ expect(expectedReceivedDiff.size).toEqual(0);
+ });
+ });
+
+ describe("removeBlockedUriMenuItems", () => {
+ it("removes menu items that require code injection", async () => {
+ billingAccountProfileStateService.hasPremiumFromAnySource$.mockReturnValue(of(true));
+ autofillSettingsService.enableContextMenu$ = of(true);
+ stateService.getIsAuthenticated.mockResolvedValue(true);
+
+ const optionId = "1";
+ await sut.loadOptions("TEST_TITLE", optionId, createCipher());
+
+ await sut.removeBlockedUriMenuItems();
+
+ expect(MainContextMenuHandler["remove"]).toHaveBeenCalledTimes(5);
+ expect(MainContextMenuHandler["remove"]).toHaveBeenCalledWith(AUTOFILL_ID);
+ expect(MainContextMenuHandler["remove"]).toHaveBeenCalledWith(AUTOFILL_IDENTITY_ID);
+ expect(MainContextMenuHandler["remove"]).toHaveBeenCalledWith(AUTOFILL_CARD_ID);
+ expect(MainContextMenuHandler["remove"]).toHaveBeenCalledWith(SEPARATOR_ID + 2);
+ expect(MainContextMenuHandler["remove"]).toHaveBeenCalledWith(COPY_IDENTIFIER_ID);
+
+ expect(MainContextMenuHandler["existingMenuItems"].size).toEqual(4);
+
+ const expectedMenuItems = new Set([
+ AUTOFILL_ID + `_${optionId}`,
+ COPY_PASSWORD_ID + `_${optionId}`,
+ COPY_USERNAME_ID + `_${optionId}`,
+ COPY_VERIFICATION_CODE_ID + `_${optionId}`,
+ ]);
+
+ // @TODO Replace with `symmetricDifference` Set method once node 22.0.0 or higher is used
+ // const expectedReceivedDiff = expectedMenuItems.symmetricDifference(MainContextMenuHandler["existingMenuItems"])
+ const expectedReceivedDiff = symmetricDifference(
+ expectedMenuItems,
+ MainContextMenuHandler["existingMenuItems"],
+ );
+
+ expect(expectedReceivedDiff.size).toEqual(0);
});
});
diff --git a/apps/browser/src/autofill/browser/main-context-menu-handler.ts b/apps/browser/src/autofill/browser/main-context-menu-handler.ts
index 41d88439e8f..ad9dc34e501 100644
--- a/apps/browser/src/autofill/browser/main-context-menu-handler.ts
+++ b/apps/browser/src/autofill/browser/main-context-menu-handler.ts
@@ -31,6 +31,7 @@ import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
import { InitContextMenuItems } from "./abstractions/main-context-menu-handler";
export class MainContextMenuHandler {
+ static existingMenuItems: Set = new Set();
initRunning = false;
private initContextMenuItems: InitContextMenuItems[] = [
{
@@ -41,6 +42,7 @@ export class MainContextMenuHandler {
id: AUTOFILL_ID,
parentId: ROOT_ID,
title: this.i18nService.t("autoFillLogin"),
+ requiresUnblockedUri: true,
},
{
id: COPY_USERNAME_ID,
@@ -56,7 +58,7 @@ export class MainContextMenuHandler {
id: COPY_VERIFICATION_CODE_ID,
parentId: ROOT_ID,
title: this.i18nService.t("copyVerificationCode"),
- checkPremiumAccess: true,
+ requiresPremiumAccess: true,
},
{
id: SEPARATOR_ID + 1,
@@ -67,16 +69,19 @@ export class MainContextMenuHandler {
id: AUTOFILL_IDENTITY_ID,
parentId: ROOT_ID,
title: this.i18nService.t("autoFillIdentity"),
+ requiresUnblockedUri: true,
},
{
id: AUTOFILL_CARD_ID,
parentId: ROOT_ID,
title: this.i18nService.t("autoFillCard"),
+ requiresUnblockedUri: true,
},
{
id: SEPARATOR_ID + 2,
type: "separator",
parentId: ROOT_ID,
+ requiresUnblockedUri: true,
},
{
id: GENERATE_PASSWORD_ID,
@@ -87,6 +92,7 @@ export class MainContextMenuHandler {
id: COPY_IDENTIFIER_ID,
parentId: ROOT_ID,
title: this.i18nService.t("copyElementIdentifier"),
+ requiresUnblockedUri: true,
},
];
private noCardsContextMenuItems: chrome.contextMenus.CreateProperties[] = [
@@ -175,13 +181,19 @@ export class MainContextMenuHandler {
this.billingAccountProfileStateService.hasPremiumFromAnySource$(account.id),
);
- for (const options of this.initContextMenuItems) {
- if (options.checkPremiumAccess && !hasPremium) {
+ for (const menuItem of this.initContextMenuItems) {
+ const {
+ requiresPremiumAccess,
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ requiresUnblockedUri, // destructuring this out of being passed to `create`
+ ...otherOptions
+ } = menuItem;
+
+ if (requiresPremiumAccess && !hasPremium) {
continue;
}
- delete options.checkPremiumAccess;
- await MainContextMenuHandler.create({ ...options, contexts: ["all"] });
+ await MainContextMenuHandler.create({ ...otherOptions, contexts: ["all"] });
}
} catch (error) {
this.logService.warning(error.message);
@@ -202,12 +214,16 @@ export class MainContextMenuHandler {
}
return new Promise((resolve, reject) => {
- chrome.contextMenus.create(options, () => {
+ const itemId = chrome.contextMenus.create(options, () => {
if (chrome.runtime.lastError) {
return reject(chrome.runtime.lastError);
}
resolve();
});
+
+ this.existingMenuItems.add(`${itemId}`);
+
+ return itemId;
});
};
@@ -221,12 +237,16 @@ export class MainContextMenuHandler {
resolve();
});
+
+ this.existingMenuItems = new Set();
+
+ return;
});
}
static remove(menuItemId: string) {
return new Promise((resolve, reject) => {
- chrome.contextMenus.remove(menuItemId, () => {
+ const itemId = chrome.contextMenus.remove(menuItemId, () => {
if (chrome.runtime.lastError) {
reject(chrome.runtime.lastError);
return;
@@ -234,6 +254,10 @@ export class MainContextMenuHandler {
resolve();
});
+
+ this.existingMenuItems.delete(`${itemId}`);
+
+ return;
});
}
@@ -244,6 +268,11 @@ export class MainContextMenuHandler {
const createChildItem = async (parentId: string) => {
const menuItemId = `${parentId}_${optionId}`;
+ const itemAlreadyExists = MainContextMenuHandler.existingMenuItems.has(menuItemId);
+ if (itemAlreadyExists) {
+ return;
+ }
+
return await MainContextMenuHandler.create({
type: "normal",
id: menuItemId,
@@ -255,10 +284,18 @@ export class MainContextMenuHandler {
if (
!cipher ||
- (cipher.type === CipherType.Login && !Utils.isNullOrEmpty(cipher.login?.password))
+ (cipher.type === CipherType.Login &&
+ (!Utils.isNullOrEmpty(cipher.login?.username) ||
+ !Utils.isNullOrEmpty(cipher.login?.password) ||
+ !Utils.isNullOrEmpty(cipher.login?.totp)))
) {
await createChildItem(AUTOFILL_ID);
+ }
+ if (
+ !cipher ||
+ (cipher.type === CipherType.Login && !Utils.isNullOrEmpty(cipher.login?.password))
+ ) {
if (cipher?.viewPassword ?? true) {
await createChildItem(COPY_PASSWORD_ID);
}
@@ -305,10 +342,22 @@ export class MainContextMenuHandler {
}
}
+ async removeBlockedUriMenuItems() {
+ try {
+ for (const menuItem of this.initContextMenuItems) {
+ if (menuItem.requiresUnblockedUri && menuItem.id) {
+ await MainContextMenuHandler.remove(menuItem.id);
+ }
+ }
+ } catch (error) {
+ this.logService.warning(error.message);
+ }
+ }
+
async noCards() {
try {
- for (const option of this.noCardsContextMenuItems) {
- await MainContextMenuHandler.create(option);
+ for (const menuItem of this.noCardsContextMenuItems) {
+ await MainContextMenuHandler.create(menuItem);
}
} catch (error) {
this.logService.warning(error.message);
@@ -317,8 +366,8 @@ export class MainContextMenuHandler {
async noIdentities() {
try {
- for (const option of this.noIdentitiesContextMenuItems) {
- await MainContextMenuHandler.create(option);
+ for (const menuItem of this.noIdentitiesContextMenuItems) {
+ await MainContextMenuHandler.create(menuItem);
}
} catch (error) {
this.logService.warning(error.message);
@@ -327,8 +376,8 @@ export class MainContextMenuHandler {
async noLogins() {
try {
- for (const option of this.noLoginsContextMenuItems) {
- await MainContextMenuHandler.create(option);
+ for (const menuItem of this.noLoginsContextMenuItems) {
+ await MainContextMenuHandler.create(menuItem);
}
await this.loadOptions(this.i18nService.t("addLoginMenu"), CREATE_LOGIN_ID);
diff --git a/apps/browser/src/autofill/clipboard/clear-clipboard.spec.ts b/apps/browser/src/autofill/clipboard/clear-clipboard.spec.ts
deleted file mode 100644
index 7bfe7934046..00000000000
--- a/apps/browser/src/autofill/clipboard/clear-clipboard.spec.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { BrowserApi } from "../../platform/browser/browser-api";
-
-import { ClearClipboard } from "./clear-clipboard";
-
-describe("clearClipboard", () => {
- describe("run", () => {
- it("Does not clear clipboard when no active tabs are retrieved", async () => {
- jest.spyOn(BrowserApi, "getActiveTabs").mockResolvedValue([] as any);
-
- jest.spyOn(BrowserApi, "sendTabsMessage").mockReturnValue();
-
- await ClearClipboard.run();
-
- expect(jest.spyOn(BrowserApi, "sendTabsMessage")).not.toHaveBeenCalled();
-
- expect(jest.spyOn(BrowserApi, "sendTabsMessage")).not.toHaveBeenCalledWith(1, {
- command: "clearClipboard",
- });
- });
-
- it("Sends a message to the content script to clear the clipboard", async () => {
- jest.spyOn(BrowserApi, "getActiveTabs").mockResolvedValue([
- {
- id: 1,
- },
- ] as any);
-
- jest.spyOn(BrowserApi, "sendTabsMessage").mockReturnValue();
-
- await ClearClipboard.run();
-
- expect(jest.spyOn(BrowserApi, "sendTabsMessage")).toHaveBeenCalledTimes(1);
-
- expect(jest.spyOn(BrowserApi, "sendTabsMessage")).toHaveBeenCalledWith(1, {
- command: "clearClipboard",
- });
- });
- });
-});
diff --git a/apps/browser/src/autofill/clipboard/clear-clipboard.ts b/apps/browser/src/autofill/clipboard/clear-clipboard.ts
deleted file mode 100644
index 93674df0ad9..00000000000
--- a/apps/browser/src/autofill/clipboard/clear-clipboard.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-// FIXME: Update this file to be type safe and remove this and next line
-// @ts-strict-ignore
-import { BrowserApi } from "../../platform/browser/browser-api";
-
-export class ClearClipboard {
- /**
- We currently rely on an active tab with an injected content script (`../content/misc-utils.ts`) to clear the clipboard via `window.navigator.clipboard.writeText(text)`
-
- With https://bugs.chromium.org/p/chromium/issues/detail?id=1160302 it was said that service workers,
- would have access to the clipboard api and then we could migrate to a simpler solution
- */
- static async run() {
- const activeTabs = await BrowserApi.getActiveTabs();
- if (!activeTabs || activeTabs.length === 0) {
- return;
- }
-
- BrowserApi.sendTabsMessage(activeTabs[0].id, {
- command: "clearClipboard",
- });
- }
-}
diff --git a/apps/browser/src/autofill/clipboard/copy-to-clipboard-command.ts b/apps/browser/src/autofill/clipboard/copy-to-clipboard-command.ts
deleted file mode 100644
index 92d35e70e57..00000000000
--- a/apps/browser/src/autofill/clipboard/copy-to-clipboard-command.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { BrowserApi } from "../../platform/browser/browser-api";
-
-/**
- * Copies text to the clipboard in a MV3 safe way.
- * @param tab - The tab that the text will be sent to so that it can be copied to the users clipboard this needs to be an active tab or the DOM won't be able to be used to do the action. The tab sent in here should be from a user started action or queried for active tabs.
- * @param text - The text that you want added to the users clipboard.
- */
-export const copyToClipboard = async (tab: chrome.tabs.Tab, text: string) => {
- if (tab.id == null) {
- throw new Error("Cannot copy text to clipboard with a tab that does not have an id.");
- }
-
- BrowserApi.sendTabsMessage(tab.id, {
- command: "copyText",
- text: text,
- });
-};
diff --git a/apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.spec.ts b/apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.spec.ts
deleted file mode 100644
index d0d42cc06f7..00000000000
--- a/apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.spec.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import { mock, MockProxy } from "jest-mock-extended";
-import { firstValueFrom, Subscription } from "rxjs";
-
-import { AutofillSettingsService } from "@bitwarden/common/autofill/services/autofill-settings.service";
-import { ScheduledTaskNames } from "@bitwarden/common/platform/scheduling";
-import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legacy";
-
-import { BrowserApi } from "../../platform/browser/browser-api";
-import { BrowserTaskSchedulerService } from "../../platform/services/abstractions/browser-task-scheduler.service";
-
-import { ClearClipboard } from "./clear-clipboard";
-import { GeneratePasswordToClipboardCommand } from "./generate-password-to-clipboard-command";
-
-jest.mock("rxjs", () => {
- const actual = jest.requireActual("rxjs");
- return {
- ...actual,
- firstValueFrom: jest.fn(),
- };
-});
-
-describe("GeneratePasswordToClipboardCommand", () => {
- let passwordGenerationService: MockProxy;
- let autofillSettingsService: MockProxy;
- let browserTaskSchedulerService: MockProxy;
-
- let sut: GeneratePasswordToClipboardCommand;
-
- beforeEach(() => {
- passwordGenerationService = mock();
- autofillSettingsService = mock();
- browserTaskSchedulerService = mock({
- setTimeout: jest.fn((taskName, timeoutInMs) => {
- const timeoutHandle = setTimeout(() => {
- if (taskName === ScheduledTaskNames.generatePasswordClearClipboardTimeout) {
- void ClearClipboard.run();
- }
- }, timeoutInMs);
-
- return new Subscription(() => clearTimeout(timeoutHandle));
- }),
- });
-
- passwordGenerationService.getOptions.mockResolvedValue([{ length: 8 }, {} as any]);
-
- passwordGenerationService.generatePassword.mockResolvedValue("PASSWORD");
-
- jest.spyOn(BrowserApi, "sendTabsMessage").mockReturnValue();
-
- sut = new GeneratePasswordToClipboardCommand(
- passwordGenerationService,
- autofillSettingsService,
- browserTaskSchedulerService,
- );
- });
-
- afterEach(() => {
- jest.resetAllMocks();
- });
-
- describe("generatePasswordToClipboard", () => {
- it("has clear clipboard value", async () => {
- jest.useFakeTimers();
- jest.spyOn(ClearClipboard, "run");
- (firstValueFrom as jest.Mock).mockResolvedValue(2 * 60); // 2 minutes
-
- await sut.generatePasswordToClipboard({ id: 1 } as any);
- jest.advanceTimersByTime(2 * 60 * 1000);
-
- expect(jest.spyOn(BrowserApi, "sendTabsMessage")).toHaveBeenCalledTimes(1);
- expect(jest.spyOn(BrowserApi, "sendTabsMessage")).toHaveBeenCalledWith(1, {
- command: "copyText",
- text: "PASSWORD",
- });
- expect(browserTaskSchedulerService.setTimeout).toHaveBeenCalledTimes(1);
- expect(browserTaskSchedulerService.setTimeout).toHaveBeenCalledWith(
- ScheduledTaskNames.generatePasswordClearClipboardTimeout,
- expect.any(Number),
- );
- expect(ClearClipboard.run).toHaveBeenCalledTimes(1);
- });
-
- it("does not have clear clipboard value", async () => {
- jest.spyOn(sut as any, "getClearClipboard").mockImplementation(() => null);
-
- await sut.generatePasswordToClipboard({ id: 1 } as any);
-
- expect(jest.spyOn(BrowserApi, "sendTabsMessage")).toHaveBeenCalledTimes(1);
-
- expect(jest.spyOn(BrowserApi, "sendTabsMessage")).toHaveBeenCalledWith(1, {
- command: "copyText",
- text: "PASSWORD",
- });
- expect(browserTaskSchedulerService.setTimeout).not.toHaveBeenCalled();
- });
- });
-});
diff --git a/apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.ts b/apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.ts
deleted file mode 100644
index 5fb6e8667a4..00000000000
--- a/apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-// FIXME: Update this file to be type safe and remove this and next line
-// @ts-strict-ignore
-import { firstValueFrom, Subscription } from "rxjs";
-
-import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service";
-import { TaskSchedulerService, ScheduledTaskNames } from "@bitwarden/common/platform/scheduling";
-import { PasswordGenerationServiceAbstraction } from "@bitwarden/generator-legacy";
-
-import { ClearClipboard } from "./clear-clipboard";
-import { copyToClipboard } from "./copy-to-clipboard-command";
-
-export class GeneratePasswordToClipboardCommand {
- private clearClipboardSubscription: Subscription;
-
- constructor(
- private passwordGenerationService: PasswordGenerationServiceAbstraction,
- private autofillSettingsService: AutofillSettingsServiceAbstraction,
- private taskSchedulerService: TaskSchedulerService,
- ) {
- this.taskSchedulerService.registerTaskHandler(
- ScheduledTaskNames.generatePasswordClearClipboardTimeout,
- () => ClearClipboard.run(),
- );
- }
-
- async getClearClipboard() {
- return await firstValueFrom(this.autofillSettingsService.clearClipboardDelay$);
- }
-
- async generatePasswordToClipboard(tab: chrome.tabs.Tab) {
- const [options] = await this.passwordGenerationService.getOptions();
- const password = await this.passwordGenerationService.generatePassword(options);
-
- await copyToClipboard(tab, password);
-
- const clearClipboardDelayInSeconds = await this.getClearClipboard();
- if (!clearClipboardDelayInSeconds) {
- return;
- }
-
- const timeoutInMs = clearClipboardDelayInSeconds * 1000;
- this.clearClipboardSubscription?.unsubscribe();
- this.clearClipboardSubscription = this.taskSchedulerService.setTimeout(
- ScheduledTaskNames.generatePasswordClearClipboardTimeout,
- timeoutInMs,
- );
- }
-}
diff --git a/apps/browser/src/autofill/clipboard/index.ts b/apps/browser/src/autofill/clipboard/index.ts
deleted file mode 100644
index 3682afd5054..00000000000
--- a/apps/browser/src/autofill/clipboard/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export * from "./clear-clipboard";
-export * from "./copy-to-clipboard-command";
-export * from "./generate-password-to-clipboard-command";
diff --git a/apps/browser/src/autofill/content/auto-submit-login.spec.ts b/apps/browser/src/autofill/content/auto-submit-login.spec.ts
index ff1dbd4e945..d70fc1e7446 100644
--- a/apps/browser/src/autofill/content/auto-submit-login.spec.ts
+++ b/apps/browser/src/autofill/content/auto-submit-login.spec.ts
@@ -46,6 +46,8 @@ describe("AutoSubmitLogin content script", () => {
beforeEach(() => {
jest.useFakeTimers();
setupEnvironmentDefaults();
+ // FIXME: Remove when updating file. Eslint update
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
require("./auto-submit-login");
});
diff --git a/apps/browser/src/autofill/content/components/.lit-storybook/main.ts b/apps/browser/src/autofill/content/components/.lit-storybook/main.ts
new file mode 100644
index 00000000000..9068bbfc27d
--- /dev/null
+++ b/apps/browser/src/autofill/content/components/.lit-storybook/main.ts
@@ -0,0 +1,67 @@
+import path, { dirname, join } from "path";
+
+import type { StorybookConfig } from "@storybook/web-components-webpack5";
+import remarkGfm from "remark-gfm";
+import TsconfigPathsPlugin from "tsconfig-paths-webpack-plugin";
+
+const getAbsolutePath = (value: string): string =>
+ dirname(require.resolve(join(value, "package.json")));
+
+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: {
+ mdxPluginOptions: {
+ mdxCompileOptions: {
+ remarkPlugins: [remarkGfm],
+ },
+ },
+ },
+ },
+ ],
+ framework: {
+ name: getAbsolutePath("@storybook/web-components-webpack5"),
+ options: {
+ legacyRootApi: true,
+ },
+ },
+ core: {
+ disableTelemetry: true,
+ },
+ env: (existingConfig) => ({
+ ...existingConfig,
+ FLAGS: JSON.stringify({}),
+ }),
+ webpackFinal: async (config) => {
+ if (config.resolve) {
+ config.resolve.plugins = [
+ new TsconfigPathsPlugin({
+ configFile: path.resolve(__dirname, "../../../../../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"),
+ },
+ ],
+ });
+ }
+ return config;
+ },
+ docs: {},
+};
+
+export default config;
diff --git a/apps/browser/src/autofill/content/components/buttons/action-button.ts b/apps/browser/src/autofill/content/components/buttons/action-button.ts
index a9b4742b448..f0642d4233a 100644
--- a/apps/browser/src/autofill/content/components/buttons/action-button.ts
+++ b/apps/browser/src/autofill/content/components/buttons/action-button.ts
@@ -6,27 +6,27 @@ import { Theme } from "@bitwarden/common/platform/enums";
import { border, themes, typography, spacing } from "../constants/styles";
export function ActionButton({
- buttonAction,
buttonText,
disabled = false,
theme,
+ handleClick,
}: {
- buttonAction: (e: Event) => void;
buttonText: string;
disabled?: boolean;
theme: Theme;
+ handleClick: (e: Event) => void;
}) {
const handleButtonClick = (event: Event) => {
if (!disabled) {
- buttonAction(event);
+ handleClick(event);
}
};
return html`
${buttonText}
diff --git a/apps/browser/src/autofill/content/components/buttons/edit-button.ts b/apps/browser/src/autofill/content/components/buttons/edit-button.ts
index 695cbfd3b9d..67221f5be18 100644
--- a/apps/browser/src/autofill/content/components/buttons/edit-button.ts
+++ b/apps/browser/src/autofill/content/components/buttons/edit-button.ts
@@ -23,7 +23,9 @@ export function EditButton({
title=${buttonText}
class=${editButtonStyles({ disabled, theme })}
@click=${(event: Event) => {
- !disabled && buttonAction(event);
+ if (!disabled) {
+ buttonAction(event);
+ }
}}
>
${PencilSquare({ disabled, theme })}
diff --git a/apps/browser/src/autofill/content/components/buttons/option-selection-button.ts b/apps/browser/src/autofill/content/components/buttons/option-selection-button.ts
new file mode 100644
index 00000000000..cf9a561ee39
--- /dev/null
+++ b/apps/browser/src/autofill/content/components/buttons/option-selection-button.ts
@@ -0,0 +1,104 @@
+import { css } from "@emotion/css";
+import { html, nothing } from "lit";
+
+import { Theme } from "@bitwarden/common/platform/enums";
+
+import { IconProps, Option } from "../common-types";
+import { border, spacing, themes, typography } from "../constants/styles";
+import { AngleUp, AngleDown } from "../icons";
+
+export type OptionSelectionButtonProps = {
+ disabled: boolean;
+ icon?: Option["icon"];
+ text?: string;
+ theme: Theme;
+ toggledOn: boolean;
+ handleButtonClick: (e: Event) => void;
+};
+
+export function OptionSelectionButton({
+ disabled,
+ icon,
+ text,
+ theme,
+ toggledOn,
+ handleButtonClick,
+}: OptionSelectionButtonProps) {
+ const selectedOptionIconProps: IconProps = { color: themes[theme].text.muted, theme };
+
+ const buttonIcon = icon?.(selectedOptionIconProps);
+
+ return html`
+
+ ${buttonIcon ?? nothing}
+ ${text ? html`${text}` : nothing}
+ ${toggledOn
+ ? AngleUp({ color: themes[theme].text.muted, theme })
+ : AngleDown({ color: themes[theme].text.muted, theme })}
+
+ `;
+}
+
+const iconSize = "15px";
+
+const selectionButtonStyles = ({
+ disabled,
+ toggledOn,
+ theme,
+}: {
+ disabled: boolean;
+ toggledOn: boolean;
+ theme: Theme;
+}) => css`
+ ${typography.body2}
+
+ gap: ${spacing["1.5"]};
+ user-select: none;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ align-items: center;
+ justify-content: space-between;
+ columns: ${iconSize} max-content ${iconSize};
+ border-radius: ${border.radius.full};
+ padding: ${spacing["1"]} ${spacing["2"]};
+ max-height: fit-content;
+ overflow: hidden;
+ text-align: center;
+ text-overflow: ellipsis;
+ font-weight: 400;
+
+ ${disabled
+ ? `
+ border: 1px solid ${themes[theme].secondary["300"]};
+ background-color: ${themes[theme].secondary["300"]};
+ cursor: not-allowed;
+ color: ${themes[theme].text.muted};
+ `
+ : `
+ border: 1px solid ${themes[theme].text.muted};
+ background-color: ${toggledOn ? themes[theme].secondary["100"] : "transparent"};
+ cursor: pointer;
+ color: ${themes[theme].text.muted};
+
+ :hover {
+ border-color: ${themes[theme].secondary["700"]};
+ background-color: ${themes[theme].secondary["100"]};
+ }
+ `}
+
+ > svg {
+ max-width: ${iconSize};
+ height: fit-content;
+ }
+`;
+
+const dropdownButtonTextStyles = css`
+ overflow-x: hidden;
+ text-overflow: ellipsis;
+`;
diff --git a/apps/browser/src/autofill/content/components/cipher/cipher-indicator-icons.ts b/apps/browser/src/autofill/content/components/cipher/cipher-indicator-icons.ts
index 38b4292f8e5..39d4dd28f24 100644
--- a/apps/browser/src/autofill/content/components/cipher/cipher-indicator-icons.ts
+++ b/apps/browser/src/autofill/content/components/cipher/cipher-indicator-icons.ts
@@ -9,17 +9,17 @@ import { Business, Family } from "../../../content/components/icons";
// @TODO connect data source to icon checks
// @TODO support other indicator types (attachments, etc)
export function CipherInfoIndicatorIcons({
- isBusinessOrg,
- isFamilyOrg,
+ showBusinessIcon,
+ showFamilyIcon,
theme,
}: {
- isBusinessOrg?: boolean;
- isFamilyOrg?: boolean;
+ showBusinessIcon?: boolean;
+ showFamilyIcon?: boolean;
theme: Theme;
}) {
const indicatorIcons = [
- ...(isBusinessOrg ? [Business({ color: themes[theme].text.muted, theme })] : []),
- ...(isFamilyOrg ? [Family({ color: themes[theme].text.muted, theme })] : []),
+ ...(showBusinessIcon ? [Business({ color: themes[theme].text.muted, theme })] : []),
+ ...(showFamilyIcon ? [Family({ color: themes[theme].text.muted, theme })] : []),
];
return indicatorIcons.length
diff --git a/apps/browser/src/autofill/content/components/cipher/cipher-info.ts b/apps/browser/src/autofill/content/components/cipher/cipher-info.ts
index de374b44a97..6ff32353938 100644
--- a/apps/browser/src/autofill/content/components/cipher/cipher-info.ts
+++ b/apps/browser/src/autofill/content/components/cipher/cipher-info.ts
@@ -6,10 +6,10 @@ import { Theme } from "@bitwarden/common/platform/enums";
import { themes, typography } from "../../../content/components/constants/styles";
import { CipherInfoIndicatorIcons } from "./cipher-indicator-icons";
-import { CipherData } from "./types";
+import { NotificationCipherData } from "./types";
// @TODO support other cipher types (card, identity, notes, etc)
-export function CipherInfo({ cipher, theme }: { cipher: CipherData; theme: Theme }) {
+export function CipherInfo({ cipher, theme }: { cipher: NotificationCipherData; theme: Theme }) {
const { name, login } = cipher;
return html`
diff --git a/apps/browser/src/autofill/content/components/cipher/cipher-item.ts b/apps/browser/src/autofill/content/components/cipher/cipher-item.ts
index 651c20cac3a..96b44d2c0cc 100644
--- a/apps/browser/src/autofill/content/components/cipher/cipher-item.ts
+++ b/apps/browser/src/autofill/content/components/cipher/cipher-item.ts
@@ -12,7 +12,7 @@ import {
import { CipherAction } from "./cipher-action";
import { CipherIcon } from "./cipher-icon";
import { CipherInfo } from "./cipher-info";
-import { CipherData } from "./types";
+import { NotificationCipherData } from "./types";
const cipherIconWidth = "24px";
@@ -22,7 +22,7 @@ export function CipherItem({
notificationType,
theme = ThemeTypes.Light,
}: {
- cipher: CipherData;
+ cipher: NotificationCipherData;
handleAction?: (e: Event) => void;
notificationType?: NotificationType;
theme: Theme;
diff --git a/apps/browser/src/autofill/content/components/cipher/types.ts b/apps/browser/src/autofill/content/components/cipher/types.ts
index 24f528c5246..ff29f9b559f 100644
--- a/apps/browser/src/autofill/content/components/cipher/types.ts
+++ b/apps/browser/src/autofill/content/components/cipher/types.ts
@@ -1,4 +1,4 @@
-const CipherTypes = {
+export const CipherTypes = {
Login: 1,
SecureNote: 2,
Card: 3,
@@ -7,7 +7,7 @@ const CipherTypes = {
type CipherType = (typeof CipherTypes)[keyof typeof CipherTypes];
-const CipherRepromptTypes = {
+export const CipherRepromptTypes = {
None: 0,
Password: 1,
} as const;
@@ -21,13 +21,16 @@ export type WebsiteIconData = {
icon: string;
};
-export type CipherData = {
+type BaseCipherData = {
id: string;
name: string;
- type: CipherType;
+ type: CipherTypeValue;
reprompt: CipherRepromptType;
favorite: boolean;
icon: WebsiteIconData;
+};
+
+export type CipherData = BaseCipherData & {
accountCreationFieldType?: string;
login?: {
username: string;
@@ -42,3 +45,9 @@ export type CipherData = {
username?: string;
};
};
+
+export type NotificationCipherData = BaseCipherData & {
+ login?: {
+ username: string;
+ };
+};
diff --git a/apps/browser/src/autofill/content/components/common-types.ts b/apps/browser/src/autofill/content/components/common-types.ts
new file mode 100644
index 00000000000..df11e140d70
--- /dev/null
+++ b/apps/browser/src/autofill/content/components/common-types.ts
@@ -0,0 +1,28 @@
+import { TemplateResult } from "lit";
+
+import { ProductTierType } from "@bitwarden/common/billing/enums";
+import { Theme } from "@bitwarden/common/platform/enums";
+
+export type IconProps = {
+ color?: string;
+ disabled?: boolean;
+ theme: Theme;
+};
+
+export type Option = {
+ default?: boolean;
+ icon?: (props: IconProps) => TemplateResult;
+ text?: string;
+ value: any;
+};
+
+export type FolderView = {
+ id: string;
+ name: string;
+};
+
+export type OrgView = {
+ id: string;
+ name: string;
+ productTierType?: ProductTierType;
+};
diff --git a/apps/browser/src/autofill/content/components/constants/styles.ts b/apps/browser/src/autofill/content/components/constants/styles.ts
index cd6054e90ba..f7c9ffd4d92 100644
--- a/apps/browser/src/autofill/content/components/constants/styles.ts
+++ b/apps/browser/src/autofill/content/components/constants/styles.ts
@@ -124,8 +124,6 @@ export const themes = {
// For compatibility
system: lightTheme,
- nord: lightTheme,
- solarizedDark: darkTheme,
};
export const spacing = {
@@ -176,14 +174,17 @@ export const buildIconColorRule = (color: string, rule: RuleName = ruleNames.fil
${rule}: ${color};
`;
-export function scrollbarStyles(theme: Theme) {
+export function scrollbarStyles(theme: Theme, color?: { thumb?: string; track?: string }) {
+ const thumbColor = color?.thumb || themes[theme].secondary["500"];
+ const trackColor = color?.track || themes[theme].background.alt;
+
return {
+ /* FireFox & Chrome support */
default: `
- /* FireFox & Chrome support */
- scrollbar-color: ${themes[theme].secondary["500"]} ${themes[theme].background.alt};
+ scrollbar-color: ${thumbColor} ${trackColor};
`,
+ /* Safari Support */
safari: `
- /* Safari Support */
::-webkit-scrollbar {
overflow: auto;
}
@@ -193,10 +194,10 @@ export function scrollbarStyles(theme: Theme) {
border-radius: 0.5rem;
border-color: transparent;
background-clip: content-box;
- background-color: ${themes[theme].secondary["500"]};
+ background-color: ${thumbColor};
}
::-webkit-scrollbar-track {
- ${themes[theme].background.alt};
+ ${trackColor};
}
::-webkit-scrollbar-thumb:hover {
${themes[theme].secondary["600"]};
diff --git a/apps/browser/src/autofill/content/components/dropdown-menu.ts b/apps/browser/src/autofill/content/components/dropdown-menu.ts
deleted file mode 100644
index 3e3874b37d7..00000000000
--- a/apps/browser/src/autofill/content/components/dropdown-menu.ts
+++ /dev/null
@@ -1,121 +0,0 @@
-import { css } from "@emotion/css";
-import { html, TemplateResult } from "lit";
-
-import { Theme } from "@bitwarden/common/platform/enums";
-
-import { border, themes, typography, spacing } from "./constants/styles";
-import { AngleDown } from "./icons";
-
-export function DropdownMenu({
- buttonText,
- icon,
- disabled = false,
- selectAction,
- theme,
-}: {
- selectAction?: (e: Event) => void;
- buttonText: string;
- icon?: TemplateResult;
- disabled?: boolean;
- theme: Theme;
-}) {
- // @TODO placeholder/will not work; make stateful
- const showDropdown = false;
- const handleButtonClick = (event: Event) => {
- // if (!disabled) {
- // // show dropdown
- // showDropdown = !showDropdown;
- // this.requestUpdate();
- // }
- };
-
- const dropdownMenuItems: TemplateResult[] = [];
-
- return html`
-
-
- ${icon ?? null}
- ${buttonText}
- ${AngleDown({ color: themes[theme].text.muted, theme })}
-
- ${showDropdown
- ? html` `
- : null}
-
- `;
-}
-
-const iconSize = "15px";
-
-const dropdownContainerStyles = css`
- display: flex;
-
- > div,
- > button {
- width: 100%;
- }
-`;
-
-const dropdownButtonStyles = ({ disabled, theme }: { disabled: boolean; theme: Theme }) => css`
- ${typography.body2}
-
- font-weight: 400;
- gap: ${spacing["1.5"]};
- user-select: none;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- align-items: center;
- justify-content: space-between;
- border-radius: ${border.radius.full};
- padding: ${spacing["1"]} ${spacing["2"]};
- max-height: fit-content;
- overflow: hidden;
- text-align: center;
- text-overflow: ellipsis;
-
- > svg {
- max-width: ${iconSize};
- height: fit-content;
- }
-
- ${disabled
- ? `
- border: 1px solid ${themes[theme].secondary["300"]};
- background-color: ${themes[theme].secondary["300"]};
- color: ${themes[theme].text.muted};
- `
- : `
- border: 1px solid ${themes[theme].text.muted};
- background-color: transparent;
- cursor: pointer;
- color: ${themes[theme].text.muted};
-
- :hover {
- border-color: ${themes[theme].secondary["700"]};
- background-color: ${themes[theme].secondary["100"]};
- }
- `}
-`;
-
-const dropdownButtonTextStyles = css`
- max-width: calc(100% - ${iconSize} - ${iconSize});
- overflow-x: hidden;
- text-overflow: ellipsis;
-`;
-
-const dropdownMenuStyles = ({ theme }: { theme: Theme }) => css`
- color: ${themes[theme].text.main};
- border: 1px solid ${themes[theme].secondary["500"]};
- border-radius: 0.5rem;
- background-clip: padding-box;
- background-color: ${themes[theme].background.DEFAULT};
- padding: 0.25rem 0.75rem;
- position: absolute;
- overflow-y: auto;
-`;
diff --git a/apps/browser/src/autofill/content/components/icons/angle-down.ts b/apps/browser/src/autofill/content/components/icons/angle-down.ts
index 4b85319c18a..db5275aafa9 100644
--- a/apps/browser/src/autofill/content/components/icons/angle-down.ts
+++ b/apps/browser/src/autofill/content/components/icons/angle-down.ts
@@ -1,19 +1,10 @@
import { css } from "@emotion/css";
import { html } from "lit";
-import { Theme } from "@bitwarden/common/platform/enums";
-
+import { IconProps } from "../common-types";
import { buildIconColorRule, ruleNames, themes } from "../constants/styles";
-export function AngleDown({
- color,
- disabled,
- theme,
-}: {
- color?: string;
- disabled?: boolean;
- theme: Theme;
-}) {
+export function AngleDown({ color, disabled, theme }: IconProps) {
const shapeColor = disabled ? themes[theme].secondary["300"] : color || themes[theme].text.main;
return html`
diff --git a/apps/browser/src/autofill/content/components/icons/angle-up.ts b/apps/browser/src/autofill/content/components/icons/angle-up.ts
new file mode 100644
index 00000000000..7344123d5ad
--- /dev/null
+++ b/apps/browser/src/autofill/content/components/icons/angle-up.ts
@@ -0,0 +1,23 @@
+import { css } from "@emotion/css";
+import { html } from "lit";
+
+import { IconProps } from "../common-types";
+import { buildIconColorRule, ruleNames, themes } from "../constants/styles";
+
+export function AngleUp({ color, disabled, theme }: IconProps) {
+ const shapeColor = disabled ? themes[theme].secondary["300"] : color || themes[theme].text.main;
+
+ return html`
+
+ `;
+}
diff --git a/apps/browser/src/autofill/content/components/icons/business.ts b/apps/browser/src/autofill/content/components/icons/business.ts
index 547ee82b547..ef8e082c21f 100644
--- a/apps/browser/src/autofill/content/components/icons/business.ts
+++ b/apps/browser/src/autofill/content/components/icons/business.ts
@@ -1,19 +1,10 @@
import { css } from "@emotion/css";
import { html } from "lit";
-import { Theme } from "@bitwarden/common/platform/enums";
-
+import { IconProps } from "../common-types";
import { buildIconColorRule, ruleNames, themes } from "../constants/styles";
-export function Business({
- color,
- disabled,
- theme,
-}: {
- color?: string;
- disabled?: boolean;
- theme: Theme;
-}) {
+export function Business({ color, disabled, theme }: IconProps) {
const shapeColor = disabled ? themes[theme].secondary["300"] : color || themes[theme].text.main;
return html`
diff --git a/apps/browser/src/autofill/content/components/icons/close.ts b/apps/browser/src/autofill/content/components/icons/close.ts
index c94a4b20a6a..c9d9286ca3f 100644
--- a/apps/browser/src/autofill/content/components/icons/close.ts
+++ b/apps/browser/src/autofill/content/components/icons/close.ts
@@ -1,19 +1,10 @@
import { css } from "@emotion/css";
import { html } from "lit";
-import { Theme } from "@bitwarden/common/platform/enums";
-
+import { IconProps } from "../common-types";
import { buildIconColorRule, ruleNames, themes } from "../constants/styles";
-export function Close({
- color,
- disabled,
- theme,
-}: {
- color?: string;
- disabled?: boolean;
- theme: Theme;
-}) {
+export function Close({ color, disabled, theme }: IconProps) {
const shapeColor = disabled ? themes[theme].secondary["300"] : color || themes[theme].text.main;
return html`
diff --git a/apps/browser/src/autofill/content/components/icons/exclamation-triangle.ts b/apps/browser/src/autofill/content/components/icons/exclamation-triangle.ts
index bcc7b3d5432..d87d5621e30 100644
--- a/apps/browser/src/autofill/content/components/icons/exclamation-triangle.ts
+++ b/apps/browser/src/autofill/content/components/icons/exclamation-triangle.ts
@@ -1,19 +1,10 @@
import { css } from "@emotion/css";
import { html } from "lit";
-import { Theme } from "@bitwarden/common/platform/enums";
-
+import { IconProps } from "../common-types";
import { buildIconColorRule, ruleNames, themes } from "../constants/styles";
-export function ExclamationTriangle({
- color,
- disabled,
- theme,
-}: {
- color?: string;
- disabled?: boolean;
- theme: Theme;
-}) {
+export function ExclamationTriangle({ color, disabled, theme }: IconProps) {
const shapeColor = disabled ? themes[theme].secondary["300"] : color || themes[theme].text.main;
return html`
diff --git a/apps/browser/src/autofill/content/components/icons/family.ts b/apps/browser/src/autofill/content/components/icons/family.ts
index 33e2e422ced..9870c5d37c0 100644
--- a/apps/browser/src/autofill/content/components/icons/family.ts
+++ b/apps/browser/src/autofill/content/components/icons/family.ts
@@ -1,19 +1,10 @@
import { css } from "@emotion/css";
import { html } from "lit";
-import { Theme } from "@bitwarden/common/platform/enums";
-
+import { IconProps } from "../common-types";
import { buildIconColorRule, ruleNames, themes } from "../constants/styles";
-export function Family({
- color,
- disabled,
- theme,
-}: {
- color?: string;
- disabled?: boolean;
- theme: Theme;
-}) {
+export function Family({ color, disabled, theme }: IconProps) {
const shapeColor = disabled ? themes[theme].secondary["300"] : color || themes[theme].text.main;
return html`
diff --git a/apps/browser/src/autofill/content/components/icons/folder.ts b/apps/browser/src/autofill/content/components/icons/folder.ts
index 7e1f8f197f6..84577aef820 100644
--- a/apps/browser/src/autofill/content/components/icons/folder.ts
+++ b/apps/browser/src/autofill/content/components/icons/folder.ts
@@ -1,26 +1,17 @@
import { css } from "@emotion/css";
import { html } from "lit";
-import { Theme } from "@bitwarden/common/platform/enums";
-
+import { IconProps } from "../common-types";
import { buildIconColorRule, ruleNames, themes } from "../constants/styles";
-export function Folder({
- color,
- disabled,
- theme,
-}: {
- color?: string;
- disabled?: boolean;
- theme: Theme;
-}) {
+export function Folder({ color, disabled, theme }: IconProps) {
const shapeColor = disabled ? themes[theme].secondary["300"] : color || themes[theme].text.main;
return html`
-
-
-
-
-