diff --git a/.github/workflows/build-desktop.yml b/.github/workflows/build-desktop.yml index b6ca6833f36..ee571b2592a 100644 --- a/.github/workflows/build-desktop.yml +++ b/.github/workflows/build-desktop.yml @@ -16,7 +16,7 @@ on: branches: - 'master' - 'rc' - - 'hotfix-rc/**' + - 'hotfix-rc' paths: - 'apps/desktop/**' - 'libs/**' diff --git a/.github/workflows/release-browser.yml b/.github/workflows/release-browser.yml index b18002f1d46..da8780599c9 100644 --- a/.github/workflows/release-browser.yml +++ b/.github/workflows/release-browser.yml @@ -90,7 +90,8 @@ jobs: - setup - locales-test steps: - - name: Download latest RC build artifacts + - name: Download latest Release build artifacts + if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 with: workflow: build-browser.yml @@ -102,6 +103,19 @@ jobs: dist-firefox-*.zip, dist-edge-*.zip' + - name: Download latest master build artifacts + if: ${{ github.event.inputs.release_type == 'Dry Run' }} + uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 + with: + workflow: build-browser.yml + workflow_conclusion: success + branch: master + artifacts: 'browser-source-*.zip, + dist-chrome-*.zip, + dist-opera-*.zip, + dist-firefox-*.zip, + dist-edge-*.zip' + - name: Rename build artifacts env: PACKAGE_VERSION: ${{ needs.setup.outputs.release-version }} diff --git a/.github/workflows/release-cli.yml b/.github/workflows/release-cli.yml index fe9b02f2a75..31b5f058c8f 100644 --- a/.github/workflows/release-cli.yml +++ b/.github/workflows/release-cli.yml @@ -13,6 +13,22 @@ on: - Initial Release - Redeploy - Dry Run + snap_publish: + description: 'Publish to snap store' + required: true + default: true + type: boolean + choco_publish: + description: 'Publish to chocolatey store' + required: true + default: true + type: boolean + npm_publish: + description: 'Publish to npm registry' + required: true + default: true + type: boolean + defaults: run: @@ -48,7 +64,8 @@ jobs: monorepo: true monorepo-project: cli - - name: Download all artifacts + - name: Download all Release artifacts + if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 with: workflow: build-cli.yml @@ -56,6 +73,15 @@ jobs: workflow_conclusion: success branch: ${{ github.ref_name }} + - name: Download all artifacts + if: ${{ github.event.inputs.release_type == 'Dry Run' }} + uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 + with: + workflow: build-cli.yml + path: apps/cli + workflow_conclusion: success + branch: master + - name: Create release if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: ncipollo/release-action@58ae73b360456532aafd58ee170c045abbeaee37 # v1.10.0 @@ -83,6 +109,7 @@ jobs: name: Deploy Snap runs-on: ubuntu-20.04 needs: setup + if: inputs.snap_publish env: _PKG_VERSION: ${{ needs.setup.outputs.release-version }} steps: @@ -107,6 +134,7 @@ jobs: snapcraft_token: ${{ steps.retrieve-secrets.outputs.snapcraft-store-token }} - name: Download artifacts + if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 with: workflow: build-cli.yml @@ -115,6 +143,16 @@ jobs: branch: ${{ github.ref_name }} artifacts: bw_${{ env._PKG_VERSION }}_amd64.snap + - name: Download artifacts + if: ${{ github.event.inputs.release_type == 'Dry Run' }} + uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 + with: + workflow: build-cli.yml + path: apps/cli + workflow_conclusion: success + branch: master + artifacts: bw_${{ env._PKG_VERSION }}_amd64.snap + - name: Publish Snap & logout if: ${{ github.event.inputs.release_type != 'Dry Run' }} run: | @@ -126,6 +164,7 @@ jobs: name: Deploy Choco runs-on: windows-2019 needs: setup + if: inputs.choco_publish env: _PKG_VERSION: ${{ needs.setup.outputs.release-version }} steps: @@ -154,14 +193,25 @@ jobs: run: New-Item -ItemType directory -Path ./dist - name: Download artifacts + if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 with: workflow: build-cli.yml - path: apps/cli + path: apps/cli/dist workflow_conclusion: success branch: ${{ github.ref_name }} artifacts: bitwarden-cli.${{ env._PKG_VERSION }}.nupkg + - name: Download artifacts + if: ${{ github.event.inputs.release_type == 'Dry Run' }} + uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 + with: + workflow: build-cli.yml + path: apps/cli/dist + workflow_conclusion: success + branch: master + artifacts: bitwarden-cli.${{ env._PKG_VERSION }}.nupkg + - name: Push to Chocolatey if: ${{ github.event.inputs.release_type != 'Dry Run' }} shell: pwsh @@ -174,25 +224,49 @@ jobs: name: Publish NPM runs-on: ubuntu-20.04 needs: setup + if: inputs.npm_publish env: _PKG_VERSION: ${{ needs.setup.outputs.release-version }} steps: - name: Checkout repo uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2 + - name: Login to Azure + uses: Azure/login@24848bc889cfc0a8313c2b3e378ac0d625b9bc16 + with: + creds: ${{ secrets.AZURE_PROD_KV_CREDENTIALS }} + + - name: Retrieve secrets + id: retrieve-secrets + uses: Azure/get-keyvault-secrets@b5c723b9ac7870c022b8c35befe620b7009b336f + with: + keyvault: "bitwarden-prod-kv" + secrets: "cli-npm-api-key" + - name: Download artifacts + if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 with: workflow: build-cli.yml - path: apps/cli + path: apps/cli/build workflow_conclusion: success branch: ${{ github.ref_name }} artifacts: bitwarden-cli-${{ env._PKG_VERSION }}-npm-build.zip + - name: Download artifacts + if: ${{ github.event.inputs.release_type == 'Dry Run' }} + uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 + with: + workflow: build-cli.yml + path: apps/cli/build + workflow_conclusion: success + branch: master + artifacts: bitwarden-cli-${{ env._PKG_VERSION }}-npm-build.zip + - name: Setup NPM run: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ steps.retrieve-secrets.outputs.cli-npm-api-key }} - name: Install Husky run: npm install -g husky diff --git a/.github/workflows/release-desktop-beta.yml b/.github/workflows/release-desktop-beta.yml new file mode 100644 index 00000000000..b898955709b --- /dev/null +++ b/.github/workflows/release-desktop-beta.yml @@ -0,0 +1,920 @@ +--- +name: Release Desktop Beta + +on: + workflow_dispatch: + inputs: + version_number: + description: "New Beta Version" + required: true + +defaults: + run: + shell: bash + +jobs: + setup: + name: Setup + runs-on: ubuntu-20.04 + outputs: + release-version: ${{ steps.version.outputs.version }} + release-channel: ${{ steps.release-channel.outputs.channel }} + steps: + - name: Checkout repo + uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2 + + # - name: Branch check + # run: | + # if [[ "$GITHUB_REF" != "refs/heads/master" ]] && [[ "$GITHUB_REF" != "refs/heads/rc" ]] && [[ $GITHUB_REF != refs/heads/hotfix-rc/* ]]; then + # echo "===================================" + # echo "[!] Can only release from the 'master', 'rc' or 'hotfix-rc/*' branches" + # echo "===================================" + # exit 1 + # fi + + - name: Bump Desktop Version - Root + env: + VERSION: ${{ github.event.inputs.version_number }} + run: npm version --workspace=@bitwarden/desktop ${VERSION}-beta + + - name: Bump Desktop Version - App + env: + VERSION: ${{ github.event.inputs.version_number }} + run: npm version ${VERSION}-beta + working-directory: "apps/desktop/src" + + - name: Check Release Version + id: version + uses: bitwarden/gh-actions/release-version-check@ea9fab01d76940267b4147cc1c4542431246b9f6 + with: + release-type: ${{ github.event.inputs.release_type }} + project-type: ts + file: apps/desktop/src/package.json + monorepo: true + monorepo-project: desktop + + - name: Get Version Channel + id: release-channel + run: | + case "${{ steps.version.outputs.version }}" in + *"alpha"*) + echo "::set-output name=channel::alpha" + echo "[!] We do not yet support 'alpha'" + exit 1 + ;; + *"beta"*) + echo "::set-output name=channel::beta" + ;; + *) + echo "::set-output name=channel::latest" + ;; + esac + + linux: + name: Linux Build + runs-on: ubuntu-20.04 + needs: setup + env: + _PACKAGE_VERSION: ${{ needs.setup.outputs.package_version }} + defaults: + run: + working-directory: apps/desktop + steps: + - name: Checkout repo + uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 + + - name: Set up Node + uses: actions/setup-node@9ced9a43a244f3ac94f13bfd896db8c8f30da67a # v3.0.0 + with: + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + node-version: '16' + + - name: Set Node options + run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV + + - name: Install node-gyp + run: | + npm install -g node-gyp + node-gyp install $(node -v) + + - name: Set up environment + run: | + sudo apt-get update + sudo apt-get -y install pkg-config libxss-dev libsecret-1-dev rpm + + - name: Set up Snap + run: sudo snap install snapcraft --classic + + - name: Print environment + run: | + node --version + npm --version + snap --version + snapcraft --version || echo 'snapcraft unavailable' + + - name: Install Node dependencies + run: npm ci + working-directory: ./ + + - name: Build application + run: npm run dist:lin + + - name: Upload .deb artifact + uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + with: + name: ${{ needs.setup.outputs.release_channel }}-linux.yml + path: apps/desktop/dist/${{ needs.setup.outputs.release_channel }}-linux.yml + if-no-files-found: error + + + windows: + name: Windows Build + runs-on: windows-2019 + needs: setup + defaults: + run: + shell: pwsh + working-directory: apps/desktop + env: + _PACKAGE_VERSION: ${{ needs.setup.outputs.package_version }} + steps: + - name: Checkout repo + uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 + + - name: Set up Node + uses: actions/setup-node@9ced9a43a244f3ac94f13bfd896db8c8f30da67a # v3.0.0 + with: + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + node-version: '16' + + - name: Set Node options + run: echo "NODE_OPTIONS=--max_old_space_size=4096" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + + - name: Install node-gyp + run: | + npm install -g node-gyp + node-gyp install $(node -v) + + - name: Install AST + uses: bitwarden/gh-actions/install-ast@f135c42c8596cb535c5bcb7523c0b2eef89709ac + + - name: Set up environment + run: choco install checksum --no-progress + + - name: Print environment + run: | + node --version + npm --version + choco --version + + - name: Login to Azure + uses: Azure/login@1f63701bf3e6892515f1b7ce2d2bf1708b46beaf + with: + creds: ${{ secrets.AZURE_PROD_KV_CREDENTIALS }} + + - name: Retrieve secrets + id: retrieve-secrets + uses: Azure/get-keyvault-secrets@b5c723b9ac7870c022b8c35befe620b7009b336f + with: + keyvault: "bitwarden-prod-kv" + secrets: "code-signing-vault-url, + code-signing-client-id, + code-signing-tenant-id, + code-signing-client-secret, + code-signing-cert-name" + + - name: Install Node dependencies + run: npm ci + working-directory: ./ + + - name: Build & Sign (dev) + env: + ELECTRON_BUILDER_SIGN: 1 + 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 }} + run: | + npm run build + npm run pack:win + + - name: Rename appx files for store + run: | + Copy-Item "./dist/Bitwarden-${{ env._PACKAGE_VERSION }}-ia32.appx" ` + -Destination "./dist/Bitwarden-${{ env._PACKAGE_VERSION }}-ia32-store.appx" + Copy-Item "./dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64.appx" ` + -Destination "./dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64-store.appx" + Copy-Item "./dist/Bitwarden-${{ env._PACKAGE_VERSION }}-arm64.appx" ` + -Destination "./dist/Bitwarden-${{ env._PACKAGE_VERSION }}-arm64-store.appx" + + - name: Package for Chocolatey + run: | + Copy-Item -Path ./stores/chocolatey -Destination ./dist/chocolatey -Recurse + Copy-Item -Path ./dist/nsis-web/Bitwarden-Installer-${{ env._PACKAGE_VERSION }}.exe ` + -Destination ./dist/chocolatey + + $checksum = checksum -t sha256 ./dist/chocolatey/Bitwarden-Installer-${{ env._PACKAGE_VERSION }}.exe + $chocoInstall = "./dist/chocolatey/tools/chocolateyinstall.ps1" + (Get-Content $chocoInstall).replace('__version__', "$env:_PACKAGE_VERSION").replace('__checksum__', $checksum) | Set-Content $chocoInstall + choco pack ./dist/chocolatey/bitwarden.nuspec --version "$env:_PACKAGE_VERSION" --out ./dist/chocolatey + + - name: Fix NSIS artifact names for auto-updater + run: | + Rename-Item -Path .\dist\nsis-web\Bitwarden-${{ env._PACKAGE_VERSION }}-ia32.nsis.7z ` + -NewName bitwarden-${{ env._PACKAGE_VERSION }}-ia32.nsis.7z + Rename-Item -Path .\dist\nsis-web\Bitwarden-${{ env._PACKAGE_VERSION }}-x64.nsis.7z ` + -NewName bitwarden-${{ env._PACKAGE_VERSION }}-x64.nsis.7z + Rename-Item -Path .\dist\nsis-web\Bitwarden-${{ env._PACKAGE_VERSION }}-arm64.nsis.7z ` + -NewName bitwarden-${{ env._PACKAGE_VERSION }}-arm64.nsis.7z + + - name: Upload portable exe artifact + uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + with: + name: ${{ needs.setup.outputs.release_channel }}.yml + path: apps/desktop/dist/nsis-web/${{ needs.setup.outputs.release_channel }}.yml + if-no-files-found: error + + + macos-build: + name: MacOS Build + runs-on: macos-11 + needs: setup + env: + _PACKAGE_VERSION: ${{ needs.setup.outputs.package_version }} + defaults: + run: + working-directory: apps/desktop + steps: + - name: Checkout repo + uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 + + - name: Set up Node + uses: actions/setup-node@9ced9a43a244f3ac94f13bfd896db8c8f30da67a # v3.0.0 + with: + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + node-version: '16' + + - name: Set Node options + run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV + + - name: Install node-gyp + run: | + npm install -g node-gyp + node-gyp install $(node -v) + + - name: Print environment + run: | + node --version + npm --version + echo "GitHub ref: $GITHUB_REF" + echo "GitHub event: $GITHUB_EVENT" + + - name: Cache Build + id: build-cache + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed + with: + path: apps/desktop/build + key: ${{ runner.os }}-${{ github.run_id }}-build + + - name: Cache Safari + id: safari-cache + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed + with: + path: apps/browser/dist/Safari + key: ${{ runner.os }}-${{ github.run_id }}-safari-extension + + - name: Decrypt secrets + env: + DECRYPT_FILE_PASSWORD: ${{ secrets.DECRYPT_FILE_PASSWORD }} + run: | + mkdir -p $HOME/secrets + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/bitwarden-desktop-key.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/bitwarden-desktop-key.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/appstore-app-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/appstore-app-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/appstore-installer-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/appstore-installer-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/devid-app-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/devid-app-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/devid-installer-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/devid-installer-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/macdev-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/macdev-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/bitwarden_desktop_appstore.provisionprofile" \ + "$GITHUB_WORKSPACE/.github/secrets/bitwarden_desktop_appstore.provisionprofile.gpg" + + - name: Set up keychain + env: + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} + DESKTOP_KEY_PASSWORD: ${{ secrets.DESKTOP_KEY_PASSWORD }} + DEVID_CERT_PASSWORD: ${{ secrets.DEVID_CERT_PASSWORD }} + APPSTORE_CERT_PASSWORD: ${{ secrets.APPSTORE_CERT_PASSWORD }} + MACDEV_CERT_PASSWORD: ${{ secrets.MACDEV_CERT_PASSWORD }} + APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} + run: | + security create-keychain -p $KEYCHAIN_PASSWORD build.keychain + security default-keychain -s build.keychain + security unlock-keychain -p $KEYCHAIN_PASSWORD build.keychain + security set-keychain-settings -lut 1200 build.keychain + security import "$HOME/secrets/bitwarden-desktop-key.p12" -k build.keychain -P $DESKTOP_KEY_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/devid-app-cert.p12" -k build.keychain -P $DEVID_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/devid-installer-cert.p12" -k build.keychain -P $DEVID_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/appstore-app-cert.p12" -k build.keychain -P $APPSTORE_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/appstore-installer-cert.p12" -k build.keychain -P $APPSTORE_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/macdev-cert.p12" -k build.keychain -P $MACDEV_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $KEYCHAIN_PASSWORD build.keychain + + - name: Set up provisioning profiles + run: | + cp $HOME/secrets/bitwarden_desktop_appstore.provisionprofile \ + $GITHUB_WORKSPACE/apps/desktop/bitwarden_desktop_appstore.provisionprofile + + - name: Increment version + shell: pwsh + env: + BUILD_NUMBER: ${{ needs.setup.outputs.build_number }} + run: | + $package = Get-Content -Raw -Path electron-builder.json | ConvertFrom-Json + $package | Add-Member -MemberType NoteProperty -Name buildVersion -Value "$env:BUILD_NUMBER" + $package | ConvertTo-Json -Depth 32 | Set-Content -Path electron-builder.json + + - name: Install Node dependencies + run: npm ci + working-directory: ./ + + - name: Build application (dev) + run: npm run build + + + macos-package-github: + name: MacOS Package GitHub Release Assets + runs-on: macos-11 + needs: + - setup + - macos-build + env: + _PACKAGE_VERSION: ${{ needs.setup.outputs.package_version }} + defaults: + run: + working-directory: apps/desktop + steps: + - name: Checkout repo + uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 + + - name: Set up Node + uses: actions/setup-node@9ced9a43a244f3ac94f13bfd896db8c8f30da67a # v3.0.0 + with: + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + node-version: '16' + + - name: Set Node options + run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV + + - name: Install node-gyp + run: | + npm install -g node-gyp + node-gyp install $(node -v) + + - name: Print environment + run: | + node --version + npm --version + echo "GitHub ref: $GITHUB_REF" + echo "GitHub event: $GITHUB_EVENT" + + - name: Get Build Cache + id: build-cache + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed + with: + path: apps/desktop/build + key: ${{ runner.os }}-${{ github.run_id }}-build + + - name: Setup Safari Cache + id: safari-cache + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed + with: + path: apps/browser/dist/Safari + key: ${{ runner.os }}-${{ github.run_id }}-safari-extension + + - name: Decrypt secrets + env: + DECRYPT_FILE_PASSWORD: ${{ secrets.DECRYPT_FILE_PASSWORD }} + run: | + mkdir -p $HOME/secrets + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/bitwarden-desktop-key.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/bitwarden-desktop-key.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/appstore-app-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/appstore-app-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/appstore-installer-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/appstore-installer-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/devid-app-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/devid-app-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/devid-installer-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/devid-installer-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/macdev-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/macdev-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/bitwarden_desktop_appstore.provisionprofile" \ + "$GITHUB_WORKSPACE/.github/secrets/bitwarden_desktop_appstore.provisionprofile.gpg" + + - name: Set up keychain + env: + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} + DESKTOP_KEY_PASSWORD: ${{ secrets.DESKTOP_KEY_PASSWORD }} + DEVID_CERT_PASSWORD: ${{ secrets.DEVID_CERT_PASSWORD }} + APPSTORE_CERT_PASSWORD: ${{ secrets.APPSTORE_CERT_PASSWORD }} + MACDEV_CERT_PASSWORD: ${{ secrets.MACDEV_CERT_PASSWORD }} + APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} + run: | + security create-keychain -p $KEYCHAIN_PASSWORD build.keychain + security default-keychain -s build.keychain + security unlock-keychain -p $KEYCHAIN_PASSWORD build.keychain + security set-keychain-settings -lut 1200 build.keychain + security import "$HOME/secrets/bitwarden-desktop-key.p12" -k build.keychain -P $DESKTOP_KEY_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/devid-app-cert.p12" -k build.keychain -P $DEVID_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/devid-installer-cert.p12" -k build.keychain -P $DEVID_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/appstore-app-cert.p12" -k build.keychain -P $APPSTORE_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/appstore-installer-cert.p12" -k build.keychain -P $APPSTORE_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/macdev-cert.p12" -k build.keychain -P $MACDEV_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $KEYCHAIN_PASSWORD build.keychain + + - name: Set up provisioning profiles + run: | + cp $HOME/secrets/bitwarden_desktop_appstore.provisionprofile \ + $GITHUB_WORKSPACE/apps/desktop/bitwarden_desktop_appstore.provisionprofile + + - name: Increment version + shell: pwsh + env: + BUILD_NUMBER: ${{ needs.setup.outputs.build_number }} + run: | + $package = Get-Content -Raw -Path electron-builder.json | ConvertFrom-Json + $package | Add-Member -MemberType NoteProperty -Name buildVersion -Value "$env:BUILD_NUMBER" + $package | ConvertTo-Json -Depth 32 | Set-Content -Path electron-builder.json + + - name: Install Node dependencies + run: npm ci + working-directory: ./ + + - name: Build + if: steps.build-cache.outputs.cache-hit != 'true' + run: npm run build + + - name: Extract branch name + if: contains(github.ref, 'hotfix-rc') + id: extract_branch + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + + - name: Download artifact from hotfix-rc + if: contains(github.ref, 'hotfix-rc') + uses: dawidd6/action-download-artifact@b2abf1705491048a2d7074f7d90513044fd25d39 # v2.19.0 + with: + workflow: build-browser.yml + workflow_conclusion: success + branch: ${{ steps.extract_branch.outputs.branch }} + path: ${{ github.workspace }}/browser-build-artifacts + + - name: Download artifact from rc + if: github.ref == 'refs/heads/rc' + uses: dawidd6/action-download-artifact@b2abf1705491048a2d7074f7d90513044fd25d39 # v2.19.0 + with: + workflow: build-browser.yml + workflow_conclusion: success + branch: rc + path: ${{ github.workspace }}/browser-build-artifacts + + - name: Download artifact from master + if: ${{ github.ref != 'refs/heads/rc' && !contains(github.ref, 'hotfix-rc') }} + uses: dawidd6/action-download-artifact@b2abf1705491048a2d7074f7d90513044fd25d39 # v2.19.0 + with: + workflow: build-browser.yml + workflow_conclusion: success + branch: master + path: ${{ github.workspace }}/browser-build-artifacts + + - name: Unzip Safari artifact + run: | + SAFARI_DIR=$(find $GITHUB_WORKSPACE/browser-build-artifacts -name 'dist-safari-*.zip') + echo $SAFARI_DIR + unzip $SAFARI_DIR/dist-safari.zip -d $GITHUB_WORKSPACE/browser-build-artifacts + + - name: Load Safari extension for .dmg + run: | + mkdir PlugIns + cp -r $GITHUB_WORKSPACE/browser-build-artifacts/Safari/dmg/build/Release/safari.appex PlugIns/safari.appex + + - name: Build application (dist) + env: + APPLE_ID_USERNAME: ${{ secrets.APPLE_ID_USERNAME }} + APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} + run: npm run pack:mac + + - name: Upload .zip artifact + uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + 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@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + with: + name: ${{ needs.setup.outputs.release_channel }}-mac.yml + path: apps/desktop/dist/${{ needs.setup.outputs.release_channel }}-mac.yml + if-no-files-found: error + + + macos-package-mas: + name: MacOS Package Prod Release Asset + runs-on: macos-11 + needs: + - setup + - macos-build + env: + _PACKAGE_VERSION: ${{ needs.setup.outputs.package_version }} + defaults: + run: + working-directory: apps/desktop + steps: + - name: Checkout repo + uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 + + - name: Set up Node + uses: actions/setup-node@9ced9a43a244f3ac94f13bfd896db8c8f30da67a # v3.0.0 + with: + cache: 'npm' + cache-dependency-path: '**/package-lock.json' + node-version: '16' + + - name: Set Node options + run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV + + - name: Install node-gyp + run: | + npm install -g node-gyp + node-gyp install $(node -v) + + - name: Print environment + run: | + node --version + npm --version + echo "GitHub ref: $GITHUB_REF" + echo "GitHub event: $GITHUB_EVENT" + + - name: Get Build Cache + id: build-cache + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed + with: + path: apps/desktop/build + key: ${{ runner.os }}-${{ github.run_id }}-build + + - name: Setup Safari Cache + id: safari-cache + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed + with: + path: apps/browser/dist/Safari + key: ${{ runner.os }}-${{ github.run_id }}-safari-extension + + - name: Decrypt secrets + env: + DECRYPT_FILE_PASSWORD: ${{ secrets.DECRYPT_FILE_PASSWORD }} + run: | + mkdir -p $HOME/secrets + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/bitwarden-desktop-key.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/bitwarden-desktop-key.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/appstore-app-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/appstore-app-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/appstore-installer-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/appstore-installer-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/devid-app-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/devid-app-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/devid-installer-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/devid-installer-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/macdev-cert.p12" \ + "$GITHUB_WORKSPACE/.github/secrets/macdev-cert.p12.gpg" + gpg --quiet --batch --yes --decrypt --passphrase="$DECRYPT_FILE_PASSWORD" \ + --output "$HOME/secrets/bitwarden_desktop_appstore.provisionprofile" \ + "$GITHUB_WORKSPACE/.github/secrets/bitwarden_desktop_appstore.provisionprofile.gpg" + + - name: Set up keychain + env: + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} + DESKTOP_KEY_PASSWORD: ${{ secrets.DESKTOP_KEY_PASSWORD }} + DEVID_CERT_PASSWORD: ${{ secrets.DEVID_CERT_PASSWORD }} + APPSTORE_CERT_PASSWORD: ${{ secrets.APPSTORE_CERT_PASSWORD }} + MACDEV_CERT_PASSWORD: ${{ secrets.MACDEV_CERT_PASSWORD }} + APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} + run: | + security create-keychain -p $KEYCHAIN_PASSWORD build.keychain + security default-keychain -s build.keychain + security unlock-keychain -p $KEYCHAIN_PASSWORD build.keychain + security set-keychain-settings -lut 1200 build.keychain + security import "$HOME/secrets/bitwarden-desktop-key.p12" -k build.keychain -P $DESKTOP_KEY_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/devid-app-cert.p12" -k build.keychain -P $DEVID_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/devid-installer-cert.p12" -k build.keychain -P $DEVID_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/appstore-app-cert.p12" -k build.keychain -P $APPSTORE_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/appstore-installer-cert.p12" -k build.keychain -P $APPSTORE_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security import "$HOME/secrets/macdev-cert.p12" -k build.keychain -P $MACDEV_CERT_PASSWORD \ + -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild + security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $KEYCHAIN_PASSWORD build.keychain + + - name: Set up provisioning profiles + run: | + cp $HOME/secrets/bitwarden_desktop_appstore.provisionprofile \ + $GITHUB_WORKSPACE/apps/desktop/bitwarden_desktop_appstore.provisionprofile + + - name: Increment version + shell: pwsh + env: + BUILD_NUMBER: ${{ needs.setup.outputs.build_number }} + run: | + $package = Get-Content -Raw -Path electron-builder.json | ConvertFrom-Json + $package | Add-Member -MemberType NoteProperty -Name buildVersion -Value "$env:BUILD_NUMBER" + $package | ConvertTo-Json -Depth 32 | Set-Content -Path electron-builder.json + + - name: Install Node dependencies + run: npm ci + working-directory: ./ + + - name: Build + if: steps.build-cache.outputs.cache-hit != 'true' + run: npm run build + + - name: Extract branch name + if: contains(github.ref, 'hotfix-rc') + id: extract_branch + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + + - name: Download artifact from hotfix-rc + if: contains(github.ref, 'hotfix-rc') + uses: dawidd6/action-download-artifact@b2abf1705491048a2d7074f7d90513044fd25d39 # v2.19.0 + with: + workflow: build-browser.yml + workflow_conclusion: success + branch: ${{ steps.extract_branch.outputs.branch }} + path: ${{ github.workspace }}/browser-build-artifacts + + - name: Download artifact from rc + if: github.ref == 'refs/heads/rc' + uses: dawidd6/action-download-artifact@b2abf1705491048a2d7074f7d90513044fd25d39 # v2.19.0 + with: + workflow: build-browser.yml + workflow_conclusion: success + branch: rc + path: ${{ github.workspace }}/browser-build-artifacts + + - name: Download artifact from master + if: ${{ github.ref != 'refs/heads/rc' && !contains(github.ref, 'hotfix-rc') }} + uses: dawidd6/action-download-artifact@b2abf1705491048a2d7074f7d90513044fd25d39 # v2.19.0 + with: + workflow: build-browser.yml + workflow_conclusion: success + branch: master + path: ${{ github.workspace }}/browser-build-artifacts + + - name: Unzip Safari artifact + run: | + SAFARI_DIR=$(find $GITHUB_WORKSPACE/browser-build-artifacts -name 'dist-safari-*.zip') + echo $SAFARI_DIR + unzip $SAFARI_DIR/dist-safari.zip -d $GITHUB_WORKSPACE/browser-build-artifacts + + - name: Load Safari extension for App Store + run: | + mkdir PlugIns + cp -r $GITHUB_WORKSPACE/browser-build-artifacts/Safari/mas/build/Release/safari.appex PlugIns/safari.appex + + - name: Build application for App Store + run: npm run pack:mac:mas + env: + APPLE_ID_USERNAME: ${{ secrets.APPLE_ID_USERNAME }} + APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} + + - name: Upload .pkg artifact + uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 + with: + name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal.pkg + path: apps/desktop/dist/mas-universal/Bitwarden-${{ env._PACKAGE_VERSION }}-universal.pkg + if-no-files-found: error + + release: + name: MacOS Package Prod Release Asset + runs-on: ubuntu-20.04 + needs: + - setup + - linux + - windows + - macos-build + - macos-package-github + - macos-package-mas + steps: + - name: Login to Azure + uses: Azure/login@ec3c14589bd3e9312b3cc8c41e6860e258df9010 + with: + creds: ${{ secrets.AZURE_PROD_KV_CREDENTIALS }} + + - name: Retrieve secrets + id: retrieve-secrets + uses: Azure/get-keyvault-secrets@b5c723b9ac7870c022b8c35befe620b7009b336f + with: + keyvault: "bitwarden-prod-kv" + secrets: "aws-electron-access-id, aws-electron-access-key, aws-electron-bucket-name" + + - name: Download all artifacts + uses: bitwarden/gh-actions/download-artifacts@23433be15ed6fd046ce12b6889c5184a8d9c8783 + with: + path: apps/desktop/artifacts + + - name: Rename .pkg to .pkg.archive + env: + PKG_VERSION: ${{ steps.version.outputs.version }} + working-directory: apps/desktop/artifacts + run: mv Bitwarden-${{ env.PKG_VERSION }}-universal.pkg Bitwarden-${{ env.PKG_VERSION }}-universal.pkg.archive + + # - name: Publish artifacts to S3 + # env: + # AWS_ACCESS_KEY_ID: ${{ steps.retrieve-secrets.outputs.aws-electron-access-id }} + # AWS_SECRET_ACCESS_KEY: ${{ steps.retrieve-secrets.outputs.aws-electron-access-key }} + # AWS_DEFAULT_REGION: 'us-west-2' + # AWS_S3_BUCKET_NAME: ${{ steps.retrieve-secrets.outputs.aws-electron-bucket-name }} + # working-directory: apps/desktop/artifacts + # run: | + # aws s3 cp ./ $AWS_S3_BUCKET_NAME/desktop/ \ + # --acl "public-read" \ + # --recursive \ + # --quiet \ No newline at end of file diff --git a/.github/workflows/release-desktop.yml b/.github/workflows/release-desktop.yml index 189f6a59578..f6fd411a24a 100644 --- a/.github/workflows/release-desktop.yml +++ b/.github/workflows/release-desktop.yml @@ -13,6 +13,17 @@ on: - Initial Release - Redeploy - Dry Run + snap_publish: + description: 'Publish to snap store' + required: true + default: true + type: boolean + choco_publish: + description: 'Publish to chocolatey store' + required: true + default: true + type: boolean + defaults: run: shell: bash @@ -78,6 +89,7 @@ jobs: secrets: "aws-electron-access-id, aws-electron-access-key, aws-electron-bucket-name" - name: Download all artifacts + if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: bitwarden/gh-actions/download-artifacts@23433be15ed6fd046ce12b6889c5184a8d9c8783 with: workflow: build-desktop.yml @@ -85,6 +97,15 @@ jobs: branch: ${{ github.ref_name }} path: apps/desktop/artifacts + - name: Download all artifacts + if: ${{ github.event.inputs.release_type == 'Dry Run' }} + uses: bitwarden/gh-actions/download-artifacts@23433be15ed6fd046ce12b6889c5184a8d9c8783 + with: + workflow: build-desktop.yml + workflow_conclusion: success + branch: master + path: apps/desktop/artifacts + - name: Rename .pkg to .pkg.archive env: PKG_VERSION: ${{ steps.version.outputs.version }} @@ -92,6 +113,7 @@ jobs: run: mv Bitwarden-${{ env.PKG_VERSION }}-universal.pkg Bitwarden-${{ env.PKG_VERSION }}-universal.pkg.archive - name: Publish artifacts to S3 + if: ${{ github.event.inputs.release_type != 'Dry Run' }} env: AWS_ACCESS_KEY_ID: ${{ steps.retrieve-secrets.outputs.aws-electron-access-id }} AWS_SECRET_ACCESS_KEY: ${{ steps.retrieve-secrets.outputs.aws-electron-access-key }} @@ -106,7 +128,7 @@ jobs: - name: Create release uses: ncipollo/release-action@95215a3cb6e6a1908b3c44e00b4fdb15548b1e09 # v2.8.5 - if: ${{ steps.release-channel.outputs.channel }} == "latest" + if: ${{ steps.release-channel.outputs.channel == 'latest' && github.event.inputs.release_type != 'Dry Run' }} env: PKG_VERSION: ${{ steps.version.outputs.version }} RELEASE_CHANNEL: ${{ steps.release-channel.outputs.channel }} @@ -147,6 +169,7 @@ jobs: name: Deploy Snap runs-on: ubuntu-20.04 needs: setup + if: inputs.snap_publish env: _PKG_VERSION: ${{ needs.setup.outputs.release-version }} steps: @@ -175,6 +198,7 @@ jobs: working-directory: apps/desktop - name: Download Snap artifact + if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: bitwarden/gh-actions/download-artifacts@23433be15ed6fd046ce12b6889c5184a8d9c8783 with: workflow: build-desktop.yml @@ -183,6 +207,16 @@ jobs: artifacts: bitwarden_${{ env._PKG_VERSION }}_amd64.snap path: apps/desktop/dist + - name: Download Snap artifact + if: ${{ github.event.inputs.release_type == 'Dry Run' }} + uses: bitwarden/gh-actions/download-artifacts@23433be15ed6fd046ce12b6889c5184a8d9c8783 + with: + workflow: build-desktop.yml + workflow_conclusion: success + branch: master + artifacts: bitwarden_${{ env._PKG_VERSION }}_amd64.snap + path: apps/desktop/dist + - name: Deploy to Snap Store if: ${{ github.event.inputs.release_type != 'Dry Run' }} run: | @@ -194,12 +228,18 @@ jobs: name: Deploy Choco runs-on: windows-2019 needs: setup + if: inputs.choco_publish env: _PKG_VERSION: ${{ needs.setup.outputs.release-version }} steps: - name: Checkout Repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 + - name: Print Environment + run: | + dotnet --version + dotnet nuget --version + - name: Login to Azure uses: Azure/login@24848bc889cfc0a8313c2b3e378ac0d625b9bc16 with: @@ -213,6 +253,7 @@ jobs: secrets: "cli-choco-api-key" - name: Setup Chocolatey + shell: pwsh run: choco apikey --key $env:CHOCO_API_KEY --source https://push.chocolatey.org/ env: CHOCO_API_KEY: ${{ steps.retrieve-secrets.outputs.cli-choco-api-key }} @@ -223,6 +264,7 @@ jobs: working-directory: apps/desktop - name: Download choco artifact + if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: bitwarden/gh-actions/download-artifacts@23433be15ed6fd046ce12b6889c5184a8d9c8783 with: workflow: build-desktop.yml @@ -231,6 +273,16 @@ jobs: artifacts: bitwarden.${{ env._PKG_VERSION }}.nupkg path: apps/desktop/dist + - name: Download choco artifact + if: ${{ github.event.inputs.release_type == 'Dry Run' }} + uses: bitwarden/gh-actions/download-artifacts@23433be15ed6fd046ce12b6889c5184a8d9c8783 + with: + workflow: build-desktop.yml + workflow_conclusion: success + branch: master + artifacts: bitwarden.${{ env._PKG_VERSION }}.nupkg + path: apps/desktop/dist + - name: Push to Chocolatey if: ${{ github.event.inputs.release_type != 'Dry Run' }} shell: pwsh diff --git a/.github/workflows/release-qa-web.yml b/.github/workflows/release-qa-web.yml index 8f8dfa31d59..d72783ec48a 100644 --- a/.github/workflows/release-qa-web.yml +++ b/.github/workflows/release-qa-web.yml @@ -67,3 +67,54 @@ jobs: kubectl set image -n $_QA_K8S_NAMESPACE deployment/web web=bitwardenqa.azurecr.io/web:$IMAGE_TAG --record kubectl rollout restart -n $_QA_K8S_NAMESPACE deployment/web kubectl rollout status deployment/web -n $_QA_K8S_NAMESPACE + + cfpages-deploy: + name: Deploy Web Vault to QA CloudFlare Pages branch + runs-on: ubuntu-20.04 + steps: + - name: Checkout Repo + uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2 + + - name: Download latest cloud asset + uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 + with: + workflow: build-web.yml + path: apps/web + workflow_conclusion: success + branch: ${{ github.ref_name }} + artifacts: web-*-cloud-COMMERCIAL.zip + + # This should result in a build directory in the current working directory + - name: Unzip build asset + working-directory: apps/web + run: unzip web-*-cloud-COMMERCIAL.zip + + - name: Checkout Repo + uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2 + with: + ref: cf-pages-qa + path: deployment + + - name: Setup git config + run: | + git config --global user.name "GitHub Action Bot" + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + git config --global url."https://github.com/".insteadOf ssh://git@github.com/ + git config --global url."https://".insteadOf ssh:// + + - name: Deploy CloudFlare Pages + run: | + rm -rf ./* + cp -R ../apps/web/build/* . + working-directory: deployment + + - name: Push new ver to cf-pages-qa + run: | + if [ -n "$(git status --porcelain)" ]; then + git add . + git commit -m "Deploy ${{ github.ref_name }} to QA Cloudflare pages" + git push -u origin cf-pages-qa + else + echo "No changes to commit!"; + fi + working-directory: deployment diff --git a/.github/workflows/release-web.yml b/.github/workflows/release-web.yml index 3dd5971c90e..1db2b6dbe2a 100644 --- a/.github/workflows/release-web.yml +++ b/.github/workflows/release-web.yml @@ -88,7 +88,6 @@ jobs: docker tag bitwarden/web:latest bitwarden/web:$_RELEASE_VERSION else docker tag bitwarden/web:$_BRANCH_NAME bitwarden/web:$_RELEASE_VERSION - docker tag bitwarden/web:$_BRANCH_NAME bitwarden/web:latest fi - name: Docker Push version and latest image @@ -98,7 +97,6 @@ jobs: DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: ${{ steps.setup-dct.outputs.dct-delegate-repo-passphrase }} run: | docker push bitwarden/web:$_RELEASE_VERSION - docker push bitwarden/web:latest - name: Log out of Docker and disable Docker Notary run: | @@ -120,16 +118,12 @@ jobs: run: | if [[ "${{ github.event.inputs.release_type }}" == "Dry Run" ]]; then docker tag bitwarden/web:latest $REGISTRY/web:$_RELEASE_VERSION - docker tag bitwarden/web:latest $REGISTRY/web:latest docker tag bitwarden/web:latest $REGISTRY/web-sh:$_RELEASE_VERSION - docker tag bitwarden/web:latest $REGISTRY/web-sh:latest else docker tag bitwarden/web:$_BRANCH_NAME $REGISTRY/web:$_RELEASE_VERSION - docker tag bitwarden/web:$_BRANCH_NAME $REGISTRY/web:latest docker tag bitwarden/web:$_BRANCH_NAME $REGISTRY/web-sh:$_RELEASE_VERSION - docker tag bitwarden/web:$_BRANCH_NAME $REGISTRY/web-sh:latest fi - name: Push version and latest image @@ -138,10 +132,8 @@ jobs: REGISTRY: bitwardenqa.azurecr.io run: | docker push $REGISTRY/web:$_RELEASE_VERSION - docker push $REGISTRY/web:latest docker push $REGISTRY/web-sh:$_RELEASE_VERSION - docker push $REGISTRY/web-sh:latest - name: Log out of Docker run: docker logout @@ -161,6 +153,7 @@ jobs: uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2 - name: Download latest cloud asset + if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 with: workflow: build-web.yml @@ -169,6 +162,16 @@ jobs: branch: ${{ github.ref_name }} artifacts: web-*-cloud-COMMERCIAL.zip + - name: Download latest cloud asset + if: ${{ github.event.inputs.release_type == 'Dry Run' }} + uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 + with: + workflow: build-web.yml + path: apps/web + workflow_conclusion: success + branch: master + artifacts: web-*-cloud-COMMERCIAL.zip + # This should result in a build directory in the current working directory - name: Unzip build asset working-directory: apps/web @@ -198,7 +201,10 @@ jobs: git switch -c cf-pages-deploy-$_TAG_VERSION git add . git commit -m "Staging deploy ${{ needs.setup.outputs.release_version }}" - git push -u origin cf-pages-deploy-$_TAG_VERSION + + if [[ "${{ github.event.inputs.release_type }}" != "Dry Run" ]]; then + git push -u origin cf-pages-deploy-$_TAG_VERSION + fi working-directory: deployment - name: Create CloudFlare Pages Deploy PR @@ -222,6 +228,7 @@ jobs: - cfpages-deploy steps: - name: Download latest build artifacts + if: ${{ github.event.inputs.release_type != 'Dry Run' }} uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 with: workflow: build-web.yml @@ -231,6 +238,17 @@ jobs: artifacts: "web-*-selfhosted-COMMERCIAL.zip, web-*-selfhosted-open-source.zip" + - name: Download latest build artifacts + if: ${{ github.event.inputs.release_type == 'Dry Run' }} + uses: bitwarden/gh-actions/download-artifacts@c1fa8e09871a860862d6bbe36184b06d2c7e35a8 + with: + workflow: build-web.yml + path: apps/web/artifacts + workflow_conclusion: success + branch: master + artifacts: "web-*-selfhosted-COMMERCIAL.zip, + web-*-selfhosted-open-source.zip" + - name: Rename assets working-directory: apps/web/artifacts run: | @@ -249,20 +267,3 @@ jobs: apps/web/artifacts/web-${{ needs.setup.outputs.release_version }}-selfhosted-open-source.zip" token: ${{ secrets.GITHUB_TOKEN }} draft: true - - - dry-run: - name: Dry Run Cleanup - runs-on: ubuntu-20.04 - if: ${{ github.event.inputs.release_type == 'Dry Run' }} - env: - _TAG_VERSION: ${{ needs.setup.outputs.tag_version }} - needs: - - setup - - release - steps: - - name: Checkout repo - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2 - - - name: Remove cf-pages-deploy branch - run: git push origin --delete cf-pages-deploy-$_TAG_VERSION diff --git a/.github/workflows/version-bump.yml b/.github/workflows/version-bump.yml index 8c657475b4f..1fc0fde1bb3 100644 --- a/.github/workflows/version-bump.yml +++ b/.github/workflows/version-bump.yml @@ -33,23 +33,24 @@ jobs: id: branch env: CLIENT_NAME: ${{ github.event.inputs.client }} + VERSION: ${{ github.event.inputs.version_number }} run: | CLIENT=$(python -c "print('$CLIENT_NAME'.lower())") echo "::set-output name=client::$CLIENT" - git switch -c ${CLIENT}_version_bump_${{ github.event.inputs.version_number }} - git push -u origin ${CLIENT}_version_bump_${{ github.event.inputs.version_number }} - - - name: Checkout Version Branch - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - with: - ref: ${{ steps.branch.outputs.client }}_version_bump_${{ github.event.inputs.version_number }} + git switch -c ${CLIENT}_version_bump_${VERSION} ######################## # VERSION BUMP SECTION # ######################## ### Browser + - name: Bump Browser Version + if: ${{ github.event.inputs.client == 'Browser' }} + env: + VERSION: ${{ github.event.inputs.version_number }} + run: npm version --workspace=@bitwarden/browser ${VERSION} + - name: Bump Browser Version - Manifest if: ${{ github.event.inputs.client == 'Browser' }} uses: bitwarden/gh-actions/version-bump@03ad9a873c39cdc95dd8d77dbbda67f84db43945 @@ -57,66 +58,82 @@ jobs: version: ${{ github.event.inputs.version_number }} file_path: "apps/browser/src/manifest.json" + - name: Bump Browser Version - Manifest v3 + if: ${{ github.event.inputs.client == 'Browser' }} + uses: bitwarden/gh-actions/version-bump@03ad9a873c39cdc95dd8d77dbbda67f84db43945 + with: + version: ${{ github.event.inputs.version_number }} + file_path: "apps/browser/src/manifest.v3.json" + - name: Run Prettier after Browser Version Bump if: ${{ github.event.inputs.client == 'Browser' }} run: | npm install -g prettier prettier --write apps/browser/src/manifest.json + prettier --write apps/browser/src/manifest.v3.json ### CLI - - name: Bump CLI Version - Package + - name: Bump CLI Version if: ${{ github.event.inputs.client == 'CLI' }} - uses: bitwarden/gh-actions/version-bump@03ad9a873c39cdc95dd8d77dbbda67f84db43945 - with: - version: ${{ github.event.inputs.version_number }} - file_path: "apps/cli/package.json" - - - name: Bump CLI Version - Package-lock - if: ${{ github.event.inputs.client == 'CLI' }} - uses: bitwarden/gh-actions/version-bump@03ad9a873c39cdc95dd8d77dbbda67f84db43945 - with: - version: ${{ github.event.inputs.version_number }} - file_path: "apps/cli/package-lock.json" + env: + VERSION: ${{ github.event.inputs.version_number }} + run: npm version --workspace=@bitwarden/cli ${VERSION} ### Desktop - - name: Bump Desktop Version - Package + - name: Bump Desktop Version - Root if: ${{ github.event.inputs.client == 'Desktop' }} - uses: bitwarden/gh-actions/version-bump@03ad9a873c39cdc95dd8d77dbbda67f84db43945 - with: - version: ${{ github.event.inputs.version_number }} - file_path: "apps/desktop/src/package.json" + env: + VERSION: ${{ github.event.inputs.version_number }} + run: npm version --workspace=@bitwarden/desktop ${VERSION} + + - name: Bump Desktop Version - App + if: ${{ github.event.inputs.client == 'Desktop' }} + env: + VERSION: ${{ github.event.inputs.version_number }} + run: npm version ${VERSION} + working-directory: "apps/desktop/src" ### Web - - name: Bump Web Version - package.json + - name: Bump Web Version if: ${{ github.event.inputs.client == 'Web' }} - uses: bitwarden/gh-actions/version-bump@03ad9a873c39cdc95dd8d77dbbda67f84db43945 - with: - version: ${{ github.event.inputs.version_number }} - file_path: "apps/web/package.json" - - - name: Bump Web Version - package-lock.json - if: ${{ github.event.inputs.client == 'Web' }} - uses: bitwarden/gh-actions/version-bump@03ad9a873c39cdc95dd8d77dbbda67f84db43945 - with: - version: ${{ github.event.inputs.version_number }} - file_path: "apps/web/package-lock.json" + env: + VERSION: ${{ github.event.inputs.version_number }} + run: npm version --workspace=@bitwarden/web-vault ${VERSION} ######################## - - name: Commit files - env: - CLIENT: ${{ steps.branch.outputs.client }} + - name: Setup git run: | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" - git commit -m "Bumped ${CLIENT} version to ${{ github.event.inputs.version_number }}" -a - - name: Push changes + - name: Check if version changed + id: version-changed + run: | + if [ -n "$(git status --porcelain)" ]; then + echo "::set-output name=changes_to_commit::TRUE" + else + echo "::set-output name=changes_to_commit::FALSE" + echo "No changes to commit!"; + fi + + - name: Commit files + if: ${{ steps.version-changed.outputs.changes_to_commit == 'TRUE' }} env: CLIENT: ${{ steps.branch.outputs.client }} - run: git push -u origin ${CLIENT}_version_bump_${{ github.event.inputs.version_number }} + VERSION: ${{ github.event.inputs.version_number }} + run: | + git commit -m "Bumped ${CLIENT} version to ${VERSION}" -a + + - name: Push changes + if: ${{ steps.version-changed.outputs.changes_to_commit == 'TRUE' }} + env: + CLIENT: ${{ steps.branch.outputs.client }} + VERSION: ${{ github.event.inputs.version_number }} + run: git push -u origin ${CLIENT}_version_bump_${VERSION} - name: Create Bump Version PR + if: ${{ steps.version-changed.outputs.changes_to_commit == 'TRUE' }} env: PR_BRANCH: "${{ steps.branch.outputs.client }}_version_bump_${{ github.event.inputs.version_number }}" GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/apps/browser/src/_locales/ar/messages.json b/apps/browser/src/_locales/ar/messages.json index 8fcb5822a75..4f15d3ae058 100644 --- a/apps/browser/src/_locales/ar/messages.json +++ b/apps/browser/src/_locales/ar/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Invalid email address." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Master password is required." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/az/messages.json b/apps/browser/src/_locales/az/messages.json index e5bf3c3de01..7211ea2c44b 100644 --- a/apps/browser/src/_locales/az/messages.json +++ b/apps/browser/src/_locales/az/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Etibarsız e-poçt ünvanı." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Ana parol lazımdır." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Ana parolun yenidən yazılması lazımdır." + }, + "masterPasswordMinlength": { "message": "Ana parol ən azı 8 simvol uzunluğunda olmalıdır." }, "masterPassDoesntMatch": { @@ -615,7 +618,7 @@ "message": "Konteks menyu seçimlərini göstər" }, "contextMenuItemDesc": { - "message": "Use a secondary click to access password generation and matching logins for the website. " + "message": "Veb sayt üçün parol yaratmaq və uyğunlaşan giriş məlumatlarına müraciət etmək üçün ikinci klikləməni istifadə edin. " }, "defaultUriMatchDetection": { "message": "İlkin URI uyğunluq aşkarlaması", @@ -807,13 +810,13 @@ "message": "Təzələmə tamamlandı" }, "enableAutoTotpCopy": { - "message": "Copy TOTP automatically" + "message": "TOTP-ni avtomatik kopyala" }, "disableAutoTotpCopyDesc": { "message": "Hesabınıza əlavə edilən kimlik təsdiqləyici açarı varsa, giriş məlumatları avto-doldurulanda TOTP təsdiqləmə kodu da avtomatik olaraq lövhəyə kopyalanacaq." }, "enableAutoBiometricsPrompt": { - "message": "Ask for biometrics on launch" + "message": "Açılışda biometrik təsdiqləmə soruş" }, "premiumRequired": { "message": "Premium üzvlük lazımdır" @@ -1034,16 +1037,16 @@ "message": "Bu səyyah bu açılan pəncərədə U2F tələblərini emal edə bilmir. U2F istifadə edərək giriş etmək üçün bu açılan pəncərəni yeni bir pəncərədə açmaq istəyirsiniz?" }, "enableFavicon": { - "message": "Show website icons" + "message": "Veb sayt nişanlarını göstər" }, "faviconDesc": { - "message": "Show a recognizable image next to each login." + "message": "Hər girişin yanında tanına bilən təsvir göstər." }, "enableBadgeCounter": { - "message": "Show badge counter" + "message": "Nişan sayğacını göstər" }, "badgeCounterDesc": { - "message": "Indicate how many logins you have for the current web page." + "message": "Hazırkı veb səhifə üçün neçə giriş olduğunu göstərir." }, "cardholderName": { "message": "Kart sahibinin adı" @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Bu qutunu işarələyərək aşağıdakılarla razılaşırsınız:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Xidmət Şərtləri və Gizlilik Siyasəti qəbul edilməyib." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Anbar vaxt bitişi, təşkilatınız tərəfindən tənzimlənən məhdudiyyətləri aşır." }, "vaultExportDisabled": { @@ -1963,6 +1966,12 @@ "message": "API açar" }, "ssoKeyConnectorError": { - "message": "Key Connector error: make sure Key Connector is available and working correctly." + "message": "Açar bağlayıcı xətası: Açar Bağlayıcının mövcud olduğuna və düzgün işlədiyinə əmin olun." + }, + "organizationIsDisabled": { + "message": "Təşkilat sıradan çıxarıldı." + }, + "disabledOrganizationFilterError": { + "message": "Sıradan çıxarılmış Təşkilatlardakı elementlərə müraciət edilə bilmir. Kömək üçün Təşkilatınızın sahibi ilə əlaqə saxlayın." } } diff --git a/apps/browser/src/_locales/be/messages.json b/apps/browser/src/_locales/be/messages.json index 061897a2a9b..5b957b69c03 100644 --- a/apps/browser/src/_locales/be/messages.json +++ b/apps/browser/src/_locales/be/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Памылковы адрас электроннай пошты." }, - "masterPassRequired": { - "message": "Патрабуецца асноўны пароль." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Асноўны пароль павінен быць даўжынёй не менш за 8 сімвалаў." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Асноўныя паролі не супадаюць." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Ставіўшы гэты сцяжок вы пагаджаецеся з наступным:" }, - "acceptPoliciesError": { - "message": "Умовы выкарыстання і Палітыка прыватнасці не былі пацверджаны." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Умовы выкарыстання" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/bg/messages.json b/apps/browser/src/_locales/bg/messages.json index 0ddfe08b3cf..3a514154722 100644 --- a/apps/browser/src/_locales/bg/messages.json +++ b/apps/browser/src/_locales/bg/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Недействителна електронна поща." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Главната парола е задължителна." }, - "masterPassLength": { - "message": "Главната парола трябва да съдържа поне 8 знака." + "confirmMasterPasswordRequired": { + "message": "Повторното въвеждане на главната парола е задължително." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Главната парола и потвърждението ѝ не съвпадат." @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Чрез тази отметка вие се съгласявате със следното:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Условията за използване и политиката за поверителност не бяха приети." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Времето за достъп до трезора Ви превишава ограничението, определено от организацията Ви." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Грешка с конектора за ключове: уверете се, че конекторът за ключове е наличен и работи правилно." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/bn/messages.json b/apps/browser/src/_locales/bn/messages.json index 1e301072251..a9162bb87a2 100644 --- a/apps/browser/src/_locales/bn/messages.json +++ b/apps/browser/src/_locales/bn/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "অকার্যকর ইমেইল ঠিকানা।" }, - "masterPassRequired": { - "message": "মূল পাসওয়ার্ড প্রয়োজন।" + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "মূল পাসওয়ার্ড কমপক্ষে ৮ অক্ষর দীর্ঘ হওয়া উচিত।" + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "মূল পাসওয়ার্ড নিশ্চিতকরণ মেলেনি।" @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "এই বাক্সটি টিক করে আপনি নিম্নলিখিতগুলিতে সম্মত হন:" }, - "acceptPoliciesError": { - "message": "পরিষেবার শর্তাদি এবং গোপনীয়তা নীতি স্বীকার করা হয়নি।" + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "সেবা পাবার শর্ত" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/bs/messages.json b/apps/browser/src/_locales/bs/messages.json index 8fcb5822a75..4f15d3ae058 100644 --- a/apps/browser/src/_locales/bs/messages.json +++ b/apps/browser/src/_locales/bs/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Invalid email address." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Master password is required." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/ca/messages.json b/apps/browser/src/_locales/ca/messages.json index 8b1860cd025..94513e302b1 100644 --- a/apps/browser/src/_locales/ca/messages.json +++ b/apps/browser/src/_locales/ca/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "L'adreça de correu electrònic no és vàlida." }, - "masterPassRequired": { - "message": "La contrasenya mestra és obligatòria." + "masterPasswordRequired": { + "message": "Es requereix la contrasenya mestra." }, - "masterPassLength": { - "message": "La contrasenya mestra ha de contenir almenys 8 caràcters." + "confirmMasterPasswordRequired": { + "message": "Cal tornar a escriure la contrasenya mestra." + }, + "masterPasswordMinlength": { + "message": "La contrasenya ha de contenir almenys 8 caràcters." }, "masterPassDoesntMatch": { "message": "La confirmació de la contrasenya mestra no coincideix." @@ -568,25 +571,25 @@ "description": "This is the folder for uncategorized items" }, "enableAddLoginNotification": { - "message": "Ask to add login" + "message": "Demana d'afegir els inicis de sessió" }, "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." }, "showCardsCurrentTab": { - "message": "Show cards on Tab page" + "message": "Mostra les targetes a la pàgina de pestanya" }, "showCardsCurrentTabDesc": { - "message": "List card items on the Tab page for easy auto-fill." + "message": "Llista els elements de la targeta a la pàgina de pestanya per facilitar l'autoemplenat." }, "showIdentitiesCurrentTab": { - "message": "Show identities on Tab page" + "message": "Mostra les identitats a la pàgina de pestanya" }, "showIdentitiesCurrentTabDesc": { - "message": "List identity items on the Tab page for easy auto-fill." + "message": "Llista els elements d'identitat de la pàgina de pestanya per facilitar l'autoemplenat." }, "clearClipboard": { - "message": "Neteja el porta-retalls", + "message": "Buida el porta-retalls", "description": "Clipboard is the operating system thing where you copy/paste data to on your device." }, "clearClipboardDesc": { @@ -600,10 +603,10 @@ "message": "Guarda" }, "enableChangedPasswordNotification": { - "message": "Ask to update existing login" + "message": "Demana d'actualitzar els inicis de sessió existents" }, "changedPasswordNotificationDesc": { - "message": "Ask to update a login's password when a change is detected on a website." + "message": "Demana actualitzar la contrasenya d'inici de sessió quan es detecte un canvi en un lloc web." }, "notificationChangeDesc": { "message": "Voleu actualitzar aquesta contrasenya a Bitwarden?" @@ -612,10 +615,10 @@ "message": "Actualitza" }, "enableContextMenuItem": { - "message": "Show context menu options" + "message": "Mostra les opcions del menú contextual" }, "contextMenuItemDesc": { - "message": "Use a secondary click to access password generation and matching logins for the website. " + "message": "Utilitza un clic secundari per accedir a la generació de contrasenyes i als inicis de sessió coincidents per al lloc web. " }, "defaultUriMatchDetection": { "message": "Detecció de coincidències URI per defecte", @@ -807,13 +810,13 @@ "message": "Actualització completa" }, "enableAutoTotpCopy": { - "message": "Copy TOTP automatically" + "message": "Copia TOTP automaticament" }, "disableAutoTotpCopyDesc": { "message": "Si el vostre inici de sessió té una clau d'autenticació associada, el codi de verificació TOTP es copiarà al vostre porta-retalls quan s'òmpliga automàticament l'inici de sessió." }, "enableAutoBiometricsPrompt": { - "message": "Ask for biometrics on launch" + "message": "Demaneu dades biometriques en iniciar" }, "premiumRequired": { "message": "Premium requerit" @@ -1034,16 +1037,16 @@ "message": "Aquest navegador no pot processar sol·licituds U2F en aquesta finestra emergent. Voleu obrir l'emergent en una finestra nova per poder iniciar la sessió mitjançant U2F?" }, "enableFavicon": { - "message": "Show website icons" + "message": "Mostra les icones dels llocs web" }, "faviconDesc": { - "message": "Show a recognizable image next to each login." + "message": "Mostra una imatge reconeixible al costat de cada inici de sessió." }, "enableBadgeCounter": { - "message": "Show badge counter" + "message": "Mostra el comptador insígnia" }, "badgeCounterDesc": { - "message": "Indicate how many logins you have for the current web page." + "message": "Indiqueu quants inicis de sessió teniu per a la pàgina web actual." }, "cardholderName": { "message": "Nom del titular de la targeta" @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Si activeu aquesta casella, indiqueu que esteu d’acord amb el següent:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "No s’han reconegut les condicions del servei i la declaració de privadesa." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "El temps d'espera de la caixa forta supera les restriccions establertes per la vostra organització." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Error del connector de claus: assegureu-vos que el connector de claus està disponible i funcionant correctament." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/cs/messages.json b/apps/browser/src/_locales/cs/messages.json index 21376841a65..c9abaa4e2a5 100644 --- a/apps/browser/src/_locales/cs/messages.json +++ b/apps/browser/src/_locales/cs/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Neplatná e-mailová adresa." }, - "masterPassRequired": { - "message": "Hlavní heslo je povinné." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Hlavní heslo musí obsahovat alespoň 8 znaků." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Potvrzení hlavního hesla se neshoduje." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Zaškrtnutím tohoto políčka souhlasím s následujícím:" }, - "acceptPoliciesError": { - "message": "Podmínky použití a zásady ochrany osobních údajů nebyly odsouhlaseny." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Podmínky použití" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Časový limit vašeho trezoru překračuje omezení stanovená vaší organizací." + "vaultTimeoutTooLarge": { + "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { "message": "Export trezoru zakázán" @@ -1950,19 +1953,25 @@ "message": "Forwarded Email Alias" }, "forwardedEmailDesc": { - "message": "Generate an email alias with an external forwarding service." + "message": "Vygenerovat e-mailový alias pomocí externí služby pro přesměrování." }, "hostname": { "message": "Hostname", "description": "Part of a URL." }, "apiAccessToken": { - "message": "API Access Token" + "message": "Přístupový token" }, "apiKey": { - "message": "API Key" + "message": "API klíč" }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/da/messages.json b/apps/browser/src/_locales/da/messages.json index b852955131e..f113322b475 100644 --- a/apps/browser/src/_locales/da/messages.json +++ b/apps/browser/src/_locales/da/messages.json @@ -218,7 +218,7 @@ "message": "Bitwarden web-boks" }, "importItems": { - "message": "Importer elementer" + "message": "Importér elementer" }, "select": { "message": "Vælg" @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Ugyldig e-mailadresse." }, - "masterPassRequired": { - "message": "Hovedadgangskode er påkrævet." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Hovedadgangskoden skal være på mindst 8 tegn." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "De to adgangskoder matcher ikke." @@ -568,22 +571,22 @@ "description": "This is the folder for uncategorized items" }, "enableAddLoginNotification": { - "message": "Ask to add login" + "message": "Bed om at tilføje login" }, "addLoginNotificationDesc": { - "message": "\"Tilføj login notifikation\" spørger dig automatisk om du vil gemme nye logins til din boks, når du logger ind med dem for første gang." + "message": "Bed om at tilføje et element, hvis et ikke findes i din boks." }, "showCardsCurrentTab": { - "message": "Show cards on Tab page" + "message": "Vis kort på fanebladet" }, "showCardsCurrentTabDesc": { - "message": "List card items on the Tab page for easy auto-fill." + "message": "Vis kortelementer på fanebladet for nem auto-udfyldning." }, "showIdentitiesCurrentTab": { - "message": "Show identities on Tab page" + "message": "Vis identiteter på fanebladet" }, "showIdentitiesCurrentTabDesc": { - "message": "List identity items on the Tab page for easy auto-fill." + "message": "Vis identitetselementer på fanebladet for nem auto-udfyldning." }, "clearClipboard": { "message": "Ryd udklipsholder", @@ -600,10 +603,10 @@ "message": "Gem" }, "enableChangedPasswordNotification": { - "message": "Ask to update existing login" + "message": "Bed om at opdatere eksisterende login" }, "changedPasswordNotificationDesc": { - "message": "Ask to update a login's password when a change is detected on a website." + "message": "Bed om at opdatere et logins adgangskode, når der registreres en ændring på en hjemmeside." }, "notificationChangeDesc": { "message": "Vil du opdatere denne adgangskode i Bitwarden?" @@ -612,10 +615,10 @@ "message": "Opdatér" }, "enableContextMenuItem": { - "message": "Show context menu options" + "message": "Vis indstillinger i kontekstmenuen" }, "contextMenuItemDesc": { - "message": "Use a secondary click to access password generation and matching logins for the website. " + "message": "Brug et sekundært klik for at få adgang til adgangskodegenerering og matchende logins til hjemmesiden." }, "defaultUriMatchDetection": { "message": "Standard URI matchmetode", @@ -807,13 +810,13 @@ "message": "Opdatering færdig" }, "enableAutoTotpCopy": { - "message": "Copy TOTP automatically" + "message": "Kopiér TOTP automatisk" }, "disableAutoTotpCopyDesc": { - "message": "Hvis dit login har en autentificeringsnøgle tilknyttet, kopieres TOTP verifikationskoden automatisk til din udklipsholder når du auto-udfylder login." + "message": "Hvis et login har en autentificeringsnøgle, så kopiér TOTP-bekræftelseskoden til din udklipsholder, når du auto-udfylder login." }, "enableAutoBiometricsPrompt": { - "message": "Ask for biometrics on launch" + "message": "Bed om biometri ved start" }, "premiumRequired": { "message": "Premium påkrævet" @@ -951,10 +954,10 @@ "message": "Miljøets URLs er blevet gemt." }, "enableAutoFillOnPageLoad": { - "message": "Aktivér Auto-udfyld ved sideindlæsning" + "message": "Auto-udfyld ved sideindlæsning" }, "enableAutoFillOnPageLoadDesc": { - "message": "Hvis en login-formular er opdaget, så udfør automatisk en auto-udfyld når hjemmesiden indlæses." + "message": "Hvis der registreres en loginformular, så auto-udfyld, når websiden indlæses." }, "experimentalFeature": { "message": "Dette er i øjeblikket en eksperimentel funktion. Brug på egen risiko." @@ -963,7 +966,7 @@ "message": "Standardindstilling for autofyld for loginelementer" }, "defaultAutoFillOnPageLoadDesc": { - "message": "Når du har aktiveret auto-udfyldning ved sideindlæsning, kan du aktivere eller deaktivere funktionen for individuelle loginelementer. Dette er standardindstillingen for loginelementer, der ikke er konfigureret separat." + "message": "Du kan deaktivere auto-udfyld ved sideindlæsning for individuelle login-elementer fra elementets redigeringsvisning." }, "itemAutoFillOnPageLoad": { "message": "Auto-udfyld ved sideindlæsning (hvis aktiveret i Indstillinger)" @@ -1034,16 +1037,16 @@ "message": "Denne browser kan ikke behandle U2F-anmodninger i dette popup-vindue. Vil du åbne denne popup i et nyt vindue, så du kan logge ind ved hjælp af U2F?" }, "enableFavicon": { - "message": "Show website icons" + "message": "Vis webstedsikoner" }, "faviconDesc": { - "message": "Show a recognizable image next to each login." + "message": "Vis et genkendeligt billede ud for hvert login." }, "enableBadgeCounter": { - "message": "Show badge counter" + "message": "Vis badge-tæller" }, "badgeCounterDesc": { - "message": "Indicate how many logins you have for the current web page." + "message": "Vis hvor mange logins du har til den aktuelle webside." }, "cardholderName": { "message": "Kortindehaverens navn" @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Ved at markere dette felt accepterer du følgende:" }, - "acceptPoliciesError": { - "message": "Servicevilkår og fortrolighedspolitik er ikke blevet bekræftet." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Servicevilkår" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Din boks-timeout overskrider de begrænsninger, der er fastsat af din organisation." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector-fejl: Sørg for, at Key Connector er tilgængelig og fungerer korrekt." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/de/messages.json b/apps/browser/src/_locales/de/messages.json index deb394e192d..72ad4910457 100644 --- a/apps/browser/src/_locales/de/messages.json +++ b/apps/browser/src/_locales/de/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Ungültige E-Mail Adresse." }, - "masterPassRequired": { - "message": "Das Master-Passwort wird benötigt." + "masterPasswordRequired": { + "message": "Das Master-Passwort ist erforderlich." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Erneute Eingabe des Master-Passworts ist erforderlich." + }, + "masterPasswordMinlength": { "message": "Das Master-Passwort muss mindestens 8 Zeichen lang sein." }, "masterPassDoesntMatch": { @@ -1253,7 +1256,7 @@ "description": "Domain name. Ex. website.com" }, "host": { - "message": "Server", + "message": "Host", "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." }, "exact": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Durch Anwählen dieses Kästchens erklären Sie sich mit folgendem einverstanden:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Die Nutzungsbedingungen und Datenschutzerklärung wurden nicht akzeptiert." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Dein Tresor-Timeout überschreitet die von deinem Unternehmen festgelegten Beschränkungen." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector Fehler: Stelle sicher, dass der Key Connector verfügbar ist und einwandfrei funktioniert." + }, + "organizationIsDisabled": { + "message": "Organisation ist deaktiviert." + }, + "disabledOrganizationFilterError": { + "message": "Auf Einträge in deaktivierten Organisationen kann nicht zugegriffen werden. Kontaktiere deinen Organisationseigentümer für Unterstützung." } } diff --git a/apps/browser/src/_locales/el/messages.json b/apps/browser/src/_locales/el/messages.json index a0cb192ad7b..0c35736ac98 100644 --- a/apps/browser/src/_locales/el/messages.json +++ b/apps/browser/src/_locales/el/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Μη έγκυρη διεύθυνση e-mail." }, - "masterPassRequired": { - "message": "Απαιτείται κύριος κωδικός πρόσβασης." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Ο κύριος κωδικός πρέπει να έχει μήκος τουλάχιστον 8 χαρακτήρες." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Η επιβεβαίωση κύριου κωδικού δεν ταιριάζει." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Επιλέγοντας αυτό το πλαίσιο, συμφωνείτε με τα εξής:" }, - "acceptPoliciesError": { - "message": "Οι Όροι Παροχής Υπηρεσιών και η Πολιτική Απορρήτου δεν έχουν αναγνωριστεί." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Όροι Χρήσης" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Το χρονικό όριο του vault σας υπερβαίνει τους περιορισμούς που έχει ορίσει ο οργανισμός σας." + "vaultTimeoutTooLarge": { + "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { "message": "Εξαγωγή vault Απενεργοποιημένη" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Σφάλμα Key Connector: βεβαιωθείτε ότι το Key Connector είναι διαθέσιμο και λειτουργεί σωστά." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/en/messages.json b/apps/browser/src/_locales/en/messages.json index 63464b4de8f..4592e295b8f 100644 --- a/apps/browser/src/_locales/en/messages.json +++ b/apps/browser/src/_locales/en/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Invalid email address." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Master password is required." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1964,5 +1967,14 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError" : { + "message" : "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." + }, + "cardBrandMir": { + "message": "Mir" } } diff --git a/apps/browser/src/_locales/en_GB/messages.json b/apps/browser/src/_locales/en_GB/messages.json index 8e8dd1a1d27..1c9762b9dcb 100644 --- a/apps/browser/src/_locales/en_GB/messages.json +++ b/apps/browser/src/_locales/en_GB/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Invalid email address." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Master password is required." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { - "message": "Terms of service and privacy policy have not been acknowledged." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Terms of service" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organisation." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organisation is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organisations cannot be accessed. Contact your Organisation owner for assistance." } } diff --git a/apps/browser/src/_locales/en_IN/messages.json b/apps/browser/src/_locales/en_IN/messages.json index f5f8847096e..0bd32b98111 100644 --- a/apps/browser/src/_locales/en_IN/messages.json +++ b/apps/browser/src/_locales/en_IN/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Invalid email address." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Master password is required." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/es/messages.json b/apps/browser/src/_locales/es/messages.json index 7c7be429c62..e4794ed2407 100644 --- a/apps/browser/src/_locales/es/messages.json +++ b/apps/browser/src/_locales/es/messages.json @@ -245,7 +245,7 @@ "message": "Números (0-9)" }, "specialCharacters": { - "message": "Carácteres especiales (!@#$%^&*)" + "message": "Caracteres especiales (!@#$%^&*)" }, "numWords": { "message": "Número de palabras" @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Correo electrónico no válido." }, - "masterPassRequired": { - "message": "Contraseña maestra requerida." + "masterPasswordRequired": { + "message": "Se requiere una contraseña maestra." }, - "masterPassLength": { - "message": "La contraseña maestra debe tener al menos 8 caracteres." + "confirmMasterPasswordRequired": { + "message": "Se requiere volver a teclear la contraseña maestra." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "La confirmación de contraseña maestra no coincide." @@ -537,7 +540,7 @@ "message": "Elemento editado" }, "deleteItemConfirmation": { - "message": "¿Seguro que quieres enviarlo a la papelera?" + "message": "¿Estás seguro de que quieres eliminar este elemento?" }, "deletedItem": { "message": "Elemento enviado a la papelera" @@ -549,7 +552,7 @@ "message": "¿Estás seguro de que quieres sobreescribir la contraseña actual?" }, "overwriteUsername": { - "message": "Reemplazar nombre de usuario" + "message": "Sobrescribir nombre de usuario" }, "overwriteUsernameConfirmation": { "message": "¿Estás seguro de que quieres reemplazar el nombre de usuario actual?" @@ -568,22 +571,22 @@ "description": "This is the folder for uncategorized items" }, "enableAddLoginNotification": { - "message": "Ask to add login" + "message": "Pedir que se añada el inicio de sesión" }, "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." }, "showCardsCurrentTab": { - "message": "Show cards on Tab page" + "message": "Mostrar las tarjetas en la pestaña" }, "showCardsCurrentTabDesc": { - "message": "List card items on the Tab page for easy auto-fill." + "message": "Listar los elementos de tarjetas en la página para facilitar el auto-rellenado." }, "showIdentitiesCurrentTab": { - "message": "Show identities on Tab page" + "message": "Mostrar las identidades en la página" }, "showIdentitiesCurrentTabDesc": { - "message": "List identity items on the Tab page for easy auto-fill." + "message": "Listar los elementos de identidad en la página para facilitar el auto-rellenado." }, "clearClipboard": { "message": "Vaciar portapapeles", @@ -600,22 +603,22 @@ "message": "Sí, guardar ahora" }, "enableChangedPasswordNotification": { - "message": "Ask to update existing login" + "message": "Solicitar la actualización de los datos de iniciode sesión existentes" }, "changedPasswordNotificationDesc": { - "message": "Ask to update a login's password when a change is detected on a website." + "message": "Solicitar la actualización de los datos de iniciode sesión existentes cuuando se detecte un cambio en un sitio web." }, "notificationChangeDesc": { "message": "¿Desea actualizar esta contraseña en Bitwarden?" }, "notificationChangeSave": { - "message": "Actualizado" + "message": "Actualizar" }, "enableContextMenuItem": { - "message": "Show context menu options" + "message": "Mostrar las opciones de menú contextuales" }, "contextMenuItemDesc": { - "message": "Use a secondary click to access password generation and matching logins for the website. " + "message": "Haga clic con el botón secundario para acceder a la generación de contraseñas y a los inicios de sesión correspondientes al sitio web. " }, "defaultUriMatchDetection": { "message": "Detección por defecto de coincidencia de URI", @@ -807,13 +810,13 @@ "message": "Actualización completada" }, "enableAutoTotpCopy": { - "message": "Copy TOTP automatically" + "message": "Copiar TOTP automáticamente" }, "disableAutoTotpCopyDesc": { "message": "Si tu entrada tiene una clave de autenticación adjunta, el código de verificación TOTP es copiado automáticamente al portapapeles cuando autorellenas una entrada." }, "enableAutoBiometricsPrompt": { - "message": "Ask for biometrics on launch" + "message": "Pedir datos biométricos al ejecutar" }, "premiumRequired": { "message": "Premium requerido" @@ -1034,16 +1037,16 @@ "message": "Este navegador no puede procesar las peticiones U2F en esta ventana emergente. ¿Desea abrir esta ventana emergente en una nueva ventana para que pueda iniciar sesión usando U2F?" }, "enableFavicon": { - "message": "Show website icons" + "message": "Mostrar los iconos del sitio web" }, "faviconDesc": { - "message": "Show a recognizable image next to each login." + "message": "Mostrar una imagen reconocible junto a cada inicio de sesión." }, "enableBadgeCounter": { - "message": "Show badge counter" + "message": "Mostrar el contador numérico" }, "badgeCounterDesc": { - "message": "Indicate how many logins you have for the current web page." + "message": "Indique cuántos inicios de sesión tiene para la página web actual." }, "cardholderName": { "message": "Nombre en la tarjeta" @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Al seleccionar esta casilla, acepta lo siguiente:" }, - "acceptPoliciesError": { - "message": "Todavía no has aceptado los términos del servicio y la política de privacidad." + "acceptPoliciesRequired": { + "message": "No ha aceptado los términos del servicio y la política de privacidad." }, "termsOfService": { "message": "Términos y condiciones del servicio" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "El tiempo de espera de tu caja fuerte excede las restricciones establecidas por tu organización." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Error en el conector de claves: asegúrate de que el conector de claves está disponible y que funciona correctamente." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/et/messages.json b/apps/browser/src/_locales/et/messages.json index a1be1609b7b..c079b17f7ee 100644 --- a/apps/browser/src/_locales/et/messages.json +++ b/apps/browser/src/_locales/et/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Vigane e-posti aadress." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Vajalik on ülemparooli sisestamine." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Vajalik on ülemparooli uuesti sisestamine." + }, + "masterPasswordMinlength": { "message": "Ülemparool peab olema vähemalt 8 tähemärgi pikkune." }, "masterPassDoesntMatch": { @@ -574,16 +577,16 @@ "message": "\"Lisa konto andmed\" teavitus ilmub pärast esimest sisselogimist ning võimaldab kontoandmeid automaatselt Bitwardenisse lisada." }, "showCardsCurrentTab": { - "message": "Kuva kaardiandmed hoidla vaates" + "message": "Kuva \"Kaart\" vaates kaardiandmed" }, "showCardsCurrentTabDesc": { - "message": "Kuvab hoidla lehel kaardiandmed, et neid saaks kiiresti sisestada" + "message": "Kuvab \"Kaart\" vaates kaardiandmeid, et neid saaks kiiresti sisestada" }, "showIdentitiesCurrentTab": { - "message": "Kuva hoidla vaates identiteete" + "message": "Kuva \"Kaart\" vaates identiteete" }, "showIdentitiesCurrentTabDesc": { - "message": "List identity items on the Tab page for easy auto-fill." + "message": "Kuvab \"Kaart\" vaates identiteete, et neid saaks kiiresti sisestada" }, "clearClipboard": { "message": "Lõikelaua sisu kustutamine", @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Märkeruudu markeerimisel nõustud järgnevaga:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Kasutustingimuste ja Privaatsuspoliitikaga pole nõustutud." }, "termsOfService": { @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Valitud hoidla ajalõpp ei ole organisatsiooni poolt määratud reeglitega kooskõlas. " + "vaultTimeoutTooLarge": { + "message": "Valitud hoidla ajalõpp ei ole organisatsiooni poolt määratud reeglitega kooskõlas." }, "vaultExportDisabled": { "message": "Hoidla eksportimine on väljalülitatud" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connectori viga: veendu, et Key Connector on saadaval ja töötab korrektselt." + }, + "organizationIsDisabled": { + "message": "Organisatsiooni ligipääs on keelatud." + }, + "disabledOrganizationFilterError": { + "message": "Organisatsiooni alla kuuluvatele kirjetele ei ole ligipääsu. Kontakteeru oma organisatsiooni omanikuga." } } diff --git a/apps/browser/src/_locales/eu/messages.json b/apps/browser/src/_locales/eu/messages.json index cb7ecda5b7d..453ba87bebe 100644 --- a/apps/browser/src/_locales/eu/messages.json +++ b/apps/browser/src/_locales/eu/messages.json @@ -11,7 +11,7 @@ "description": "Extension description" }, "loginOrCreateNewAccount": { - "message": "Identifika zaitez edo sortu kontu berri bat zure kutxa gotorrera sartzeko." + "message": "Saioa hasi edo sortu kontu berri bat zure kutxa gotorrera sartzeko." }, "createAccount": { "message": "Sortu kontua" @@ -89,7 +89,7 @@ "message": "Kopiatu segurtasun kodea (CVV)" }, "autoFill": { - "message": "Osatze automatikoa" + "message": "Auto-betetzea" }, "generatePasswordCopied": { "message": "Sortu pasahitza (kopiatuta)" @@ -98,7 +98,7 @@ "message": "Eremu pertsonalizatuaren izena kopiatu" }, "noMatchingLogins": { - "message": "Bat datozen sarrerarik gabe" + "message": "Bat datozen saio-hasierarik gabe" }, "unlockVaultMenu": { "message": "Desblokeatu kutxa gotorra" @@ -107,10 +107,10 @@ "message": "Hasi saioa zure kutxa gotorrean" }, "autoFillInfo": { - "message": "Ez dago automatikoki betetzeko sarrerarik nabigatzailearen uneko fitxan." + "message": "Ez dago auto-betetzeko saio-hasierarik nabigatzailearen uneko fitxan." }, "addLogin": { - "message": "Sarrera gehitu" + "message": "Saio-hasiera gehitu" }, "addItem": { "message": "Gehitu elementua" @@ -140,7 +140,7 @@ "message": "Egiaztatze-kodea" }, "confirmIdentity": { - "message": "Jarraitzeko, berretsi zure nortasuna." + "message": "Jarraitzeko, berretsi zure identitatea." }, "account": { "message": "Kontua" @@ -157,7 +157,7 @@ "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": "Bi pausoko saio hasiera" + "message": "Bi urratseko egiaztatzea" }, "logOut": { "message": "Itxi saioa" @@ -212,7 +212,7 @@ "description": "Short for 'Password Generator'." }, "passGenInfo": { - "message": "Pasahitz sendoak eta bakarrak sortzen ditu automatikoki zure sarbideetarako." + "message": "Automatikoki pasahitz sendo eta bakarrak sortzen ditu zure saio-hasieratarako." }, "bitWebVault": { "message": "Bitwarden kutxa gotorra" @@ -339,10 +339,10 @@ "message": "Zure web nabigatzaileak ez du onartzen arbelean erraz kopiatzea. Eskuz kopiatu." }, "verifyIdentity": { - "message": "Zure nortasuna egiaztatu" + "message": "Zure identitatea egiaztatu" }, "yourVaultIsLocked": { - "message": "Zure kutxa gotorra blokeatuta dago. Egiaztatu zure nortasuna jarraitzeko." + "message": "Zure kutxa gotorra blokeatuta dago. Egiaztatu zure identitatea jarraitzeko." }, "unlock": { "message": "Desblokeatu" @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Email helbide baliogabea" }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Pasahitz nagusia derrigorrezkoa da." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Pasahitz nagusia berridaztea derrigorrezkoa da." + }, + "masterPasswordMinlength": { "message": "Pasahitz nagusiak gutxienez 8 karaktere izan behar ditu." }, "masterPassDoesntMatch": { @@ -439,10 +442,10 @@ "message": "Mezu elektroniko bat bidali dizugu zure pasahitz nagusiaren pistarekin." }, "verificationCodeRequired": { - "message": "Egiaztapen-kodea behar da." + "message": "Egiaztatze-kodea behar da." }, "invalidVerificationCode": { - "message": "Egiaztapen-kodea ez da baliozkoa" + "message": "Egiaztatze-kodea ez da baliozkoa" }, "valueCopied": { "message": "$VALUE$ kopiatuta", @@ -455,7 +458,7 @@ } }, "autofillError": { - "message": "Ezin izan da orri honetan hautatutako elementua automatikoki bete. Kopiatu eta itsatsi informazioa dagokion tokian." + "message": "Ezin izan da orri honetan hautatutako elementua auto-bete. Kopiatu eta itsatsi informazioa dagokion tokian." }, "loggedOut": { "message": "Saioa itxita" @@ -485,34 +488,34 @@ "message": "Aldatu pasahitz nagusia" }, "changeMasterPasswordConfirmation": { - "message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?" + "message": "Zure pasahitz nagusia alda dezakezu bitwarden.com webgunean. Orain joan nahi duzu webgunera?" }, "twoStepLoginConfirmation": { - "message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be enabled on the bitwarden.com web vault. Do you want to visit the website now?" + "message": "Bi urratseko egiaztatzea dela eta, zure kontua seguruagoa da, beste aplikazio/gailu batekin saioa hastea eskatzen baitizu; adibidez, segurtasun kode, baimentze aplikazio, SMS, telefono dei edo posta elektroniko bidez. Bi urratseko egiaztatzea bitwarden.com webgunean aktibatu daiteke. Orain joan nahi duzu webgunera?" }, "editedFolder": { - "message": "Edited folder" + "message": "Karpeta editatuta" }, "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" + "message": "Ziur al zaude karpeta hau ezabatu nahi duzula?" }, "deletedFolder": { - "message": "Deleted folder" + "message": "Karpeta ezabatuta" }, "gettingStartedTutorial": { - "message": "Getting Started Tutorial" + "message": "Lehen urratsetako tutoriala" }, "gettingStartedTutorialVideo": { - "message": "Watch our getting started tutorial to learn how to get the most out of the browser extension." + "message": "Ikusi lehen urratsetako tutoriala nabigatzailearen gehigarriari ahalik eta etekin handiena nola atera ikasteko." }, "syncingComplete": { - "message": "Syncing complete" + "message": "Sinkronizatu da" }, "syncingFailed": { - "message": "Syncing failed" + "message": "Sinkronizazioak huts egin du" }, "passwordCopied": { - "message": "Password copied" + "message": "Pasahitza kopiatuta" }, "uri": { "message": "URI" @@ -528,162 +531,162 @@ } }, "newUri": { - "message": "New URI" + "message": "IRI berria" }, "addedItem": { - "message": "Added item" + "message": "Elementua gehituta" }, "editedItem": { - "message": "Edited item" + "message": "Elementua editatuta" }, "deleteItemConfirmation": { - "message": "Do you really want to send to the trash?" + "message": "Ziur zaude elementu hau zakarrontzira bidali nahi duzula?" }, "deletedItem": { - "message": "Sent item to trash" + "message": "Elementua zakarrontzira bidalia" }, "overwritePassword": { - "message": "Overwrite Password" + "message": "Berridatzi pasahitza" }, "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" + "message": "Ziur al zaude pasahitza berridatzi nahi duzula?" }, "overwriteUsername": { - "message": "Overwrite Username" + "message": "Erabiltzaile-izena berridatzi" }, "overwriteUsernameConfirmation": { - "message": "Are you sure you want to overwrite the current username?" + "message": "Ziur al zaude erabiltzaile-izena berridatzi nahi duzula?" }, "searchFolder": { - "message": "Search folder" + "message": "Bilatu karpeta" }, "searchCollection": { - "message": "Search collection" + "message": "Bilatu bilduma" }, "searchType": { - "message": "Search type" + "message": "Bilaketa mota" }, "noneFolder": { - "message": "No Folder", + "message": "Karpetarik ez", "description": "This is the folder for uncategorized items" }, "enableAddLoginNotification": { - "message": "Ask to add login" + "message": "Galdetu saio-hasiera gehitzeko" }, "addLoginNotificationDesc": { - "message": "Ask to add an item if one isn't found in your vault." + "message": "Elementu bat gehitu nahi duzun galdetu, elementu hau zure kutxa gotorrean ez badago." }, "showCardsCurrentTab": { - "message": "Show cards on Tab page" + "message": "Erakutsi txartelak fitxa orrian" }, "showCardsCurrentTabDesc": { - "message": "List card items on the Tab page for easy auto-fill." + "message": "Erakutsi elementuen txartelak fitxa orrian, erraz auto-betetzeko." }, "showIdentitiesCurrentTab": { - "message": "Show identities on Tab page" + "message": "Erakutsi identitateak fitxa orrian" }, "showIdentitiesCurrentTabDesc": { - "message": "List identity items on the Tab page for easy auto-fill." + "message": "Erakutsi identitateak fitxa orrian, erraz auto-betetzeko." }, "clearClipboard": { - "message": "Clear clipboard", + "message": "Hustu arbela", "description": "Clipboard is the operating system thing where you copy/paste data to on your device." }, "clearClipboardDesc": { - "message": "Automatically clear copied values from your clipboard.", + "message": "Ezabatu automatikoki arbelean kopiatutako balioak.", "description": "Clipboard is the operating system thing where you copy/paste data to on your device." }, "notificationAddDesc": { - "message": "Should Bitwarden remember this password for you?" + "message": "Bitwardenek pasahitz hau gogoratu beharko lizuke?" }, "notificationAddSave": { - "message": "Save" + "message": "Gorde" }, "enableChangedPasswordNotification": { - "message": "Ask to update existing login" + "message": "Galdetu uneko saio-hasiera eguneratzeko" }, "changedPasswordNotificationDesc": { - "message": "Ask to update a login's password when a change is detected on a website." + "message": "Galdetu saio-hasiera baten pasahitza eguneratzeko, webgune batean aldaketaren bat atzematen denean." }, "notificationChangeDesc": { - "message": "Do you want to update this password in Bitwarden?" + "message": "Bitwardenen pasahitz hau eguneratu nahi duzu?" }, "notificationChangeSave": { - "message": "Update" + "message": "Eguneratu" }, "enableContextMenuItem": { - "message": "Show context menu options" + "message": "Erakutsi laster-menuko aukerak" }, "contextMenuItemDesc": { - "message": "Use a secondary click to access password generation and matching logins for the website. " + "message": "Erabili bigarren mailako klika webgunerako pasahitzak eta saio-hasierak sortzeko." }, "defaultUriMatchDetection": { - "message": "Default URI match detection", + "message": "Lehenetsitako detekzioa URI kointzidentziarako", "description": "Default URI match detection for auto-fill." }, "defaultUriMatchDetectionDesc": { - "message": "Choose the default way that URI match detection is handled for logins when performing actions such as auto-fill." + "message": "Hautatu auto-betetzea bezalako saio-hasierako ekintzetarako erabiliko den URI kointzidentzia detektatzeko modu lehenetsia." }, "theme": { - "message": "Theme" + "message": "Gaia" }, "themeDesc": { - "message": "Change the application's color theme." + "message": "Aldatu aplikaziorako kolore gaia." }, "dark": { - "message": "Dark", + "message": "Iluna", "description": "Dark color" }, "light": { - "message": "Light", + "message": "Argia", "description": "Light color" }, "solarizedDark": { - "message": "Solarized dark", + "message": "Solarized iluna", "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated." }, "exportVault": { - "message": "Export vault" + "message": "Esportatu kutxa gotorra" }, "fileFormat": { - "message": "File Format" + "message": "Fitxategiaren formatua" }, "warning": { - "message": "WARNING", + "message": "KONTUZ", "description": "WARNING (should stay in capitalized letters if the language permits)" }, "confirmVaultExport": { - "message": "Confirm Vault Export" + "message": "Baieztatu kutxa gotorra esportatzea" }, "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." + "message": "Esportazio honek kutxa gotorraren datuak zifratu gabeko formatuan biltzen ditu. Ez zenuke gorde edo kanal ez-seguruetaik (posta elektronikoa, adibidez) bidali behar. Erabili eta berehala ezabatu." }, "encExportKeyWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + "message": "Esportazio honek zure datuak enkriptatzen ditu zure kontuaren zifratze-kodea erabiliz. Inoiz zure kontuko zifratze-gakoa aldatuz gero, berriro esportatu beharko duzu, ezin izango baituzu fitxategi hori deszifratu." }, "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": "Kontua zifratzeko gakoak Bitwarden erabiltzaile bakoitzarentzako bakarrik dira; beraz, ezin da inportatu beste kontu batean zifratutako esportazio bat." }, "exportMasterPassword": { - "message": "Enter your master password to export your vault data." + "message": "Sartu pasahitz nagusia kutxa gotorreko datuak esportatzeko." }, "shared": { - "message": "Shared" + "message": "Partekatua" }, "learnOrg": { - "message": "Learn about organizations" + "message": "Erakundeak ezagutu" }, "learnOrgConfirmation": { - "message": "Bitwarden allows you to share your vault items with others by using an organization. Would you like to visit the bitwarden.com website to learn more?" + "message": "Bitwardek kutxa gotorreko elementuak beste batzuekin partekatzeko aukera ematen dizu erakunde bat erabiliz. Gehiago jakiteko, bitwarden.com webgunea bisitatu nahi duzu?" }, "moveToOrganization": { - "message": "Move to Organization" + "message": "Mugitu erakundera" }, "share": { - "message": "Share" + "message": "Partekatu" }, "movedItemToOrg": { - "message": "$ITEMNAME$ moved to $ORGNAME$", + "message": "$ITEMNAME$ $ORGNAME$-ra mugituta", "placeholders": { "itemname": { "content": "$1", @@ -696,106 +699,106 @@ } }, "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": "Aukeratu elementu hau zein erakundetara eraman nahi duzun. Erakunde batera pasatzeak elementuaren jabetza erakunde horretara transferitzen du. Zu ez zara elementu honen jabe zuzena izango mugitzen duzunean." }, "learnMore": { - "message": "Learn more" + "message": "Gehiago ikasi" }, "authenticatorKeyTotp": { - "message": "Authenticator Key (TOTP)" + "message": "Baimentze kodea (TOTP)" }, "verificationCodeTotp": { - "message": "Verification Code (TOTP)" + "message": "Egiaztatze kodea" }, "copyVerificationCode": { - "message": "Copy Verification Code" + "message": "Kopiatu egiaztatze-kodea" }, "attachments": { - "message": "Attachments" + "message": "Eranskinak" }, "deleteAttachment": { - "message": "Delete attachment" + "message": "Ezabatu eranskinak" }, "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" + "message": "Ziur zaude eranskina ezabatu nahi duzula?" }, "deletedAttachment": { - "message": "Deleted attachment" + "message": "Eranskina ezabatuta" }, "newAttachment": { - "message": "Add New Attachment" + "message": "Gehitu eranskin berria" }, "noAttachments": { - "message": "No attachments." + "message": "Ez dago eranskinik" }, "attachmentSaved": { - "message": "The attachment has been saved." + "message": "Eranskina gorde da." }, "file": { - "message": "File" + "message": "Fitxategia" }, "selectFile": { - "message": "Select a file." + "message": "Hautatu fitxategia." }, "maxFileSize": { - "message": "Maximum file size is 500 MB." + "message": "Eranskinaren gehienezko tamaina 500MB." }, "featureUnavailable": { - "message": "Feature Unavailable" + "message": "Ezaugarria ez dago erabilgarri" }, "updateKey": { - "message": "You cannot use this feature until you update your encryption key." + "message": "Ezin duzu ezaugarri hau erabili enkriptazio kodea eguneratu arte." }, "premiumMembership": { - "message": "Premium membership" + "message": "Premium bazkidea" }, "premiumManage": { - "message": "Manage Membership" + "message": "Bazkidetza kudeatu" }, "premiumManageAlert": { - "message": "You can manage your membership on the bitwarden.com web vault. Do you want to visit the website now?" + "message": "Zure bazkidetza bitwarden.com webguneko kutxa gotorrean kudeatu dezakezu. Orain bisitatu nahi duzu webgunea?" }, "premiumRefresh": { - "message": "Refresh Membership" + "message": "Eguneratu bazkidetza" }, "premiumNotCurrentMember": { - "message": "You are not currently a premium member." + "message": "Orain ez zara premium bazkide." }, "premiumSignUpAndGet": { - "message": "Sign up for a premium membership and get:" + "message": "Erregistra zaitez premium bazkide gisa eta honakoa lortu:" }, "ppremiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." + "message": "Eranskinentzako 1GB-eko enkriptatutako biltegia." }, "ppremiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." + "message": "YubiKey, FIDO U2F eta Duo bezalako saio-hasieratarako bi urratseko egiaztatze aukerak." }, "ppremiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." + "message": "Pasahitzaren higienea, kontuaren egoera eta datu-bortxaketen txostenak, kutxa gotorra seguru mantentzeko." }, "ppremiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." + "message": "TOTP (2FA) egiaztatze-kode sortzailea gotor kutxako erregistroetarako." }, "ppremiumSignUpSupport": { - "message": "Priority customer support." + "message": "Lehentasunezko bezeroarentzako arreta." }, "ppremiumSignUpFuture": { - "message": "All future premium features. More coming soon!" + "message": "Etorkizuneko premium ezaugarri guztiak. Laister gehiago!" }, "premiumPurchase": { - "message": "Purchase Premium" + "message": "Premium erosi" }, "premiumPurchaseAlert": { - "message": "You can purchase premium membership on the bitwarden.com web vault. Do you want to visit the website now?" + "message": "Zure premium bazkidetza bitwarden.com webguneko kutxa gotorrean ordaindu dezakezu. Orain bisitatu nahi duzu webgunea?" }, "premiumCurrentMember": { - "message": "You are a premium member!" + "message": "Premium bazkide zara!" }, "premiumCurrentMemberThanks": { - "message": "Thank you for supporting Bitwarden." + "message": "Eskerrik asko Bitwarden babesteagatik." }, "premiumPrice": { - "message": "All for just $PRICE$ /year!", + "message": "Dena, urtean $PRICE$gatik!", "placeholders": { "price": { "content": "$1", @@ -804,28 +807,28 @@ } }, "refreshComplete": { - "message": "Refresh complete" + "message": "Eguneratzea eginda" }, "enableAutoTotpCopy": { - "message": "Copy TOTP automatically" + "message": "Kopiatu TOTO automatikoki" }, "disableAutoTotpCopyDesc": { - "message": "If a login has an authenticator key, copy the TOTP verification code to your clip-board when you auto-fill the login." + "message": "Saio-hasiera batek baimentze-kodea badu, TOTP egiaztatze-kodea arbelean automatikoki kopiatuko da saio-hasiera bat auto-betetzean." }, "enableAutoBiometricsPrompt": { - "message": "Ask for biometrics on launch" + "message": "Biometria eskatu saioa hastean" }, "premiumRequired": { - "message": "Premium Required" + "message": "Premium izatea beharrezkoa da" }, "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." + "message": "Premium bazkidetza beharrezkoa da ezaugarri hau erabiltzeko." }, "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." + "message": "Sartu zure baimentze-aplikazioaren 6 digituko egiaztatze-kodea." }, "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", + "message": "Sartu $EMAIL$-era bidalitako 6 digituko egiaztatze-kodea.", "placeholders": { "email": { "content": "$1", @@ -834,7 +837,7 @@ } }, "verificationCodeEmailSent": { - "message": "Verification email sent to $EMAIL$.", + "message": "Egiaztatze emaila $EMAIL$-era bidalia.", "placeholders": { "email": { "content": "$1", @@ -843,397 +846,397 @@ } }, "rememberMe": { - "message": "Remember me" + "message": "Gogora nazazu" }, "sendVerificationCodeEmailAgain": { - "message": "Send verification code email again" + "message": "Berbidali email bidezko egiaztatze-kodea." }, "useAnotherTwoStepMethod": { - "message": "Use another two-step login method" + "message": "Erabili bi urratseko egiaztatzeko beste modu bat." }, "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." + "message": "Sartu zure YubiKey-a ordenagailuko USB portuan, ondoren, sakatu bere botoia." }, "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." + "message": "Sartu zure segurtasun giltza ordenagailuaren USB portuan. Botoia badu, sakatu ezazu." }, "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 2FA egiaztatzea hasteko. Egin klik beheko botoian fitxa berria irekitzeko eta jarraitu fitxa berriko jarraibideei." }, "webAuthnNewTabOpen": { - "message": "Open new tab" + "message": "Ireki fitxa berria" }, "webAuthnAuthenticate": { - "message": "Authenticate WebAuthn" + "message": "WebAuthn baimendu" }, "loginUnavailable": { - "message": "Login Unavailable" + "message": "Ez dago eskuragarri saio-hasierarik" }, "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." + "message": "Kontu honek bi urratseko egiaztatzea du gaituta, baina konfiguratutako bi urratseko egiaztatzea ez da web-nabigatzaile honekin bateragarria." }, "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." + "message": "Mesedez, erabili nabigatzaile bateragarri bat (adibidez, Chrome) eta/edo gehitu bateragarritasun obea duten nabigatzaile bidezko (baimentze-aplikazio gisa) baimentze modu gehigarriak." }, "twoStepOptions": { - "message": "Two-step Login Options" + "message": "Bi urratseko egiaztatzearen aukerak" }, "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." + "message": "Bi urratseko egiaztatzeko modu guztietarako sarbidea galdu duzu? Erabili zure berreskuratze-kodea zure kontuko bi urratseko egiaztatze hornitzaile guztiak desaktibatzeko." }, "recoveryCodeTitle": { - "message": "Recovery Code" + "message": "Berreskuratze-kodea" }, "authenticatorAppTitle": { - "message": "Authenticator App" + "message": "Baimentze aplikazioa" }, "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", + "message": "Erabili baimentze-aplikazio bat (adibidez, Authy edo Google Authenticator) denboran oinarritutako egiaztatze-kodeak sortzeko.", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" + "message": "YubiKey OTP segurtasun giltza" }, "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4, 4 Nano, 4C, and NEO devices." + "message": "Erabili YubiKey zure kontuan sartzeko. YubiKey 4, 4 Nano, 4C eta NEO gailuekin dabil." }, "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "Egiaztatu Duo Securityrekin Duo Mobile aplikazioa, SMS, telefono deia edo U2F segurtasun-gakoa erabiliz.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "Egiaztatu zure erakunderako Duo Securityrekin Duo Mobile aplikazioa, SMS, telefono deia edo U2F segurtasun-gakoa erabiliz.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "webAuthnTitle": { "message": "FIDO2 WebAuthn" }, "webAuthnDesc": { - "message": "Use any WebAuthn enabled security key to access your account." + "message": "Erabili gaitutako edozein WebAuthn segurtasun kode zure kontura sartzeko" }, "emailTitle": { - "message": "Email" + "message": "Emaila" }, "emailDesc": { - "message": "Verification codes will be emailed to you." + "message": "Egiaztatze-kodeak email bidez bidaliko dira." }, "selfHostedEnvironment": { - "message": "Self-hosted Environment" + "message": "Ostatze ingurune propioa" }, "selfHostedEnvironmentFooter": { - "message": "Specify the base URL of your on-premises hosted Bitwarden installation." + "message": "Bitwarden instalatzeko, zehaztu ostatze propioaren oinarrizko URL-a." }, "customEnvironment": { - "message": "Custom Environment" + "message": "Ingurune pertsonalizatua" }, "customEnvironmentFooter": { - "message": "For advanced users. You can specify the base URL of each service independently." + "message": "Erabiltzaile aurreratuentzat. Zerbitzu bakoitzarentzako oinarrizko URL-a zehaztu dezakezu independienteki." }, "baseUrl": { - "message": "Server URL" + "message": "Zerbitzariaren URL-a" }, "apiUrl": { - "message": "API Server URL" + "message": "API zerbitzariaren URL-a" }, "webVaultUrl": { - "message": "Web Vault Server URL" + "message": "Web kutxa gotorreko zerbitzariaren URL-a" }, "identityUrl": { - "message": "Identity Server URL" + "message": "Identitate zerbitzariaren URL-a" }, "notificationsUrl": { - "message": "Notifications Server URL" + "message": "Jakinarazpenen zerbitzariaren URL-a" }, "iconsUrl": { - "message": "Icons Server URL" + "message": "Ikonoen zerbitzariaren URL-a" }, "environmentSaved": { - "message": "The environment URLs have been saved." + "message": "Inguruneko URL-ak gorde dira." }, "enableAutoFillOnPageLoad": { - "message": "Auto-fill on page load" + "message": "Auto-bete orrialdea kargatzean" }, "enableAutoFillOnPageLoadDesc": { - "message": "If a login form is detected, auto-fill when the web page loads." + "message": "Saio-hasierako formulario bat detektatzen bada, auto-bete webgunea kargatzen denean." }, "experimentalFeature": { - "message": "This is currently an experimental feature. Use at your own risk." + "message": "Hau ezaugarri esperimental bat da. Zure ardurapean erabili." }, "defaultAutoFillOnPageLoad": { - "message": "Default autofill setting for login items" + "message": "Saio-hasierako elementuetarako lehenetsitako auto-betetzearen konfigurazioa" }, "defaultAutoFillOnPageLoadDesc": { - "message": "You can turn off auto-fill on page load for individual login items from the item's Edit view." + "message": "Orrialdearen kargatze aukeretan auto-betetzea aktibatu ondoren, banakako saio-hasierak aktibatu edo desaktibatu ditzakezu." }, "itemAutoFillOnPageLoad": { - "message": "Auto-fill on page load (if enabled in Options)" + "message": "Auto-bete orrialdea kargatzean (ezarpenetan gaituta badago)" }, "autoFillOnPageLoadUseDefault": { - "message": "Use default setting" + "message": "Erabili ezarpen lehenetsiak" }, "autoFillOnPageLoadYes": { - "message": "Auto-fill on page load" + "message": "Auto-bete orrialdea kargatzean" }, "autoFillOnPageLoadNo": { - "message": "Do not auto-fill on page load" + "message": "Ez auto-bete orrialdea kargatzean" }, "commandOpenPopup": { - "message": "Open vault popup" + "message": "Leiho gainjarrian ireki kutxa gotorra" }, "commandOpenSidebar": { - "message": "Open vault in sidebar" + "message": "Alboko barran ireki kutxa gotorra" }, "commandAutofillDesc": { - "message": "Auto-fill the last used login for the current website" + "message": "Uneko webgunerako erabilitako azken saio-hastea auto-bete" }, "commandGeneratePasswordDesc": { - "message": "Generate and copy a new random password to the clipboard" + "message": "Zorizko pasahitz berria sortu eta kopiatu arbelean" }, "commandLockVaultDesc": { - "message": "Lock the vault" + "message": "Blokeatu kutxa gotorra" }, "privateModeWarning": { - "message": "Private mode support is experimental and some features are limited." + "message": "Modu pribatuko euskarria esperimentala da eta ezaugarri batzuk mugatuak dira." }, "customFields": { - "message": "Custom Fields" + "message": "Eremu pertsonalizatuak" }, "copyValue": { - "message": "Copy Value" + "message": "Kopiatu balioa" }, "value": { - "message": "Value" + "message": "Balioa" }, "newCustomField": { - "message": "New Custom Field" + "message": "Eremu pertsonalizatu berria" }, "dragToSort": { - "message": "Drag to sort" + "message": "Arrastatu txukuntzeko" }, "cfTypeText": { - "message": "Text" + "message": "Testua" }, "cfTypeHidden": { - "message": "Hidden" + "message": "Ezkutatua" }, "cfTypeBoolean": { - "message": "Boolean" + "message": "Boolearra" }, "cfTypeLinked": { - "message": "Linked", + "message": "Lotuta", "description": "This describes a field that is 'linked' (tied) to another field." }, "linkedValue": { - "message": "Linked value", + "message": "Balioa lotuta", "description": "This describes a value that is 'linked' (tied) to another value." }, "popup2faCloseMessage": { - "message": "Clicking outside the popup window to check your email for your verification code will cause this popup to close. Do you want to open this popup in a new window so that it does not close?" + "message": "Leiho gainjarritik kanpora klik eginez gero, zure posta elektronikoa egiaztatzeko leiho gainjarria itxi egingo da. Leiho berri batean ireki nahi duzu leiho gainjarri hau itxi ez dadin?" }, "popupU2fCloseMessage": { - "message": "This browser cannot process U2F requests in this popup window. Do you want to open this popup in a new window so that you can log in using U2F?" + "message": "Nabigatzaile honek ezin ditu U2F eskaerak prozesatu leiho gainjarri honetan. Leiho berri batean ireki nahi duzu leiho gainjarri hau saioa U2F erabiliz hasi ahal izateko?" }, "enableFavicon": { - "message": "Show website icons" + "message": "Erakutsi webguneko ikonoak" }, "faviconDesc": { - "message": "Show a recognizable image next to each login." + "message": "Erakutsi irudi bat saio-hasiera bakoitzaren ondoan." }, "enableBadgeCounter": { - "message": "Show badge counter" + "message": "Erakutsi txartelen kontagailua" }, "badgeCounterDesc": { - "message": "Indicate how many logins you have for the current web page." + "message": "Adierazi zenbat saio-hasiera dituzun uneko webgunerako." }, "cardholderName": { - "message": "Cardholder Name" + "message": "Txartelaren titularraren izena" }, "number": { - "message": "Number" + "message": "Zenbakia" }, "brand": { - "message": "Brand" + "message": "Marka" }, "expirationMonth": { - "message": "Expiration Month" + "message": "Iraungitze hilabetea" }, "expirationYear": { - "message": "Expiration Year" + "message": "Iraungitze urtea" }, "expiration": { - "message": "Expiration" + "message": "Iraungitze data" }, "january": { - "message": "January" + "message": "Urtarrila" }, "february": { - "message": "February" + "message": "Otsaila" }, "march": { - "message": "March" + "message": "Martxoa" }, "april": { - "message": "April" + "message": "Apirila" }, "may": { - "message": "May" + "message": "Maiatza" }, "june": { - "message": "June" + "message": "Ekaina" }, "july": { - "message": "July" + "message": "Uztaila" }, "august": { - "message": "August" + "message": "Abuztua" }, "september": { - "message": "September" + "message": "Iraila" }, "october": { - "message": "October" + "message": "Urria" }, "november": { - "message": "November" + "message": "Azaroa" }, "december": { - "message": "December" + "message": "Abendua" }, "securityCode": { - "message": "Security Code" + "message": "Segurtasun kodea" }, "ex": { - "message": "ex." + "message": "adib." }, "title": { - "message": "Title" + "message": "Titulua" }, "mr": { - "message": "Mr" + "message": "Jn." }, "mrs": { - "message": "Mrs" + "message": "And." }, "ms": { - "message": "Ms" + "message": "And." }, "dr": { - "message": "Dr" + "message": "Jn." }, "firstName": { - "message": "First Name" + "message": "Izena" }, "middleName": { - "message": "Middle Name" + "message": "Bigarren izena" }, "lastName": { - "message": "Last Name" + "message": "Abizena" }, "fullName": { - "message": "Full Name" + "message": "Izen osoa" }, "identityName": { - "message": "Identity Name" + "message": "Identitate izena" }, "company": { - "message": "Company" + "message": "Enpresa" }, "ssn": { - "message": "Social Security Number" + "message": "Segurtasun sozialaren zenbakia" }, "passportNumber": { - "message": "Passport Number" + "message": "Pasaporte zenbakia" }, "licenseNumber": { - "message": "License Number" + "message": "Lizentzia zenbakia" }, "email": { - "message": "Email" + "message": "Emaila" }, "phone": { - "message": "Phone" + "message": "Telefonoa" }, "address": { - "message": "Address" + "message": "Helbidea" }, "address1": { - "message": "Address 1" + "message": "1go helbidea" }, "address2": { - "message": "Address 2" + "message": "2. helbidea" }, "address3": { - "message": "Address 3" + "message": "3. helbidea" }, "cityTown": { - "message": "City / Town" + "message": "Hiria / Herria" }, "stateProvince": { - "message": "State / Province" + "message": "Estatua / Probintzia" }, "zipPostalCode": { - "message": "Zip / Postal Code" + "message": "Posta kodea" }, "country": { - "message": "Country" + "message": "Herrialdea" }, "type": { - "message": "Type" + "message": "Mota" }, "typeLogin": { - "message": "Login" + "message": "Saio-hasiera" }, "typeLogins": { - "message": "Logins" + "message": "Saio-hasierak" }, "typeSecureNote": { - "message": "Secure Note" + "message": "Ohar segurua" }, "typeCard": { - "message": "Card" + "message": "Txartela" }, "typeIdentity": { - "message": "Identity" + "message": "Identitatea" }, "passwordHistory": { - "message": "Password History" + "message": "Pasahitz historiala" }, "back": { - "message": "Back" + "message": "Itzuli" }, "collections": { - "message": "Collections" + "message": "Bildumak" }, "favorites": { - "message": "Favorites" + "message": "Gogokoak" }, "popOutNewWindow": { - "message": "Pop out to a new window" + "message": "Ireki leiho berrian" }, "refresh": { - "message": "Refresh" + "message": "Freskatu" }, "cards": { - "message": "Cards" + "message": "Txartelak" }, "identities": { - "message": "Identities" + "message": "Nortasunak" }, "logins": { - "message": "Logins" + "message": "Saio-hasierak" }, "secureNotes": { - "message": "Secure Notes" + "message": "Ohar seguruak" }, "clear": { - "message": "Clear", + "message": "Ezabatu", "description": "To clear something out. example: To clear browser history." }, "checkPassword": { - "message": "Check if password has been exposed." + "message": "Egiaztatu pasahitza konprometituta dagoen." }, "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", + "message": "Pasahitz hau $VALUE$ aldiz datu-iragazketetan aurkitu da. Aldatu egin beharko zenuke.", "placeholders": { "value": { "content": "$1", @@ -1242,204 +1245,204 @@ } }, "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." + "message": "Pasahitz hau ez da inongo datu-filtrazio ezagunetan aurkitu. Erabiltzea segurua izan beharko luke." }, "baseDomain": { - "message": "Base domain", + "message": "Oinarrizko domeinua", "description": "Domain name. Ex. website.com" }, "domainName": { - "message": "Domain name", + "message": "Domeinu izena", "description": "Domain name. Ex. website.com" }, "host": { - "message": "Host", + "message": "Ostalaria", "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." }, "exact": { - "message": "Exact" + "message": "Zehatza" }, "startsWith": { - "message": "Starts with" + "message": "Hasi honekin" }, "regEx": { - "message": "Regular expression", + "message": "Expresio erregularra", "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Match Detection", + "message": "Detekzio modua", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Default match detection", + "message": "Lehenetsitako detekzio modua", "description": "Default URI match detection for auto-fill." }, "toggleOptions": { - "message": "Toggle Options" + "message": "Txandaketa aukerak" }, "toggleCurrentUris": { - "message": "Toggle Current URIs", + "message": "Uneko URI-ak txandakatu", "description": "Toggle the display of the URIs of the currently open tabs in the browser." }, "currentUri": { - "message": "Current URI", + "message": "Uneko URI-a", "description": "The URI of one of the current open tabs in the browser." }, "organization": { - "message": "Organization", + "message": "Erakundea", "description": "An entity of multiple related people (ex. a team or business organization)." }, "types": { - "message": "Types" + "message": "Motak" }, "allItems": { - "message": "All Items" + "message": "Elementu guztiak" }, "noPasswordsInList": { - "message": "There are no passwords to list." + "message": "Ez dago erakusteko pasahitzik." }, "remove": { - "message": "Remove" + "message": "Ezabatu" }, "default": { - "message": "Default" + "message": "Lehenetsia" }, "dateUpdated": { - "message": "Updated", + "message": "Eguneratua", "description": "ex. Date this item was updated" }, "datePasswordUpdated": { - "message": "Password Updated", + "message": "Pasahitza eguneratu da", "description": "ex. Date this password was updated" }, "neverLockWarning": { - "message": "Are you sure you want to use the \"Never\" option? Setting your lock options to \"Never\" stores your vault's encryption key on your device. If you use this option you should ensure that you keep your device properly protected." + "message": "Ziur zaude \"Inoiz ez\" aukera erabili nahi duzula? Zure blokeo aukerak \"Inoiz ez\" bezala konfiguratzeak kutxa gotorraren zifratze-gakoa gailuan gordetzen du. Aukera hau erabiltzen baduzu, gailua behar bezala babestuta duzula ziurtatu behar duzu." }, "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." + "message": "Zu ez zara inongo erakundekoa. Erakundeek elementuak beste erabiltzaile batzuekin modu seguruan partekatzeko aukera ematen dute." }, "noCollectionsInList": { - "message": "There are no collections to list." + "message": "Ez dago erakusteko bildumarik." }, "ownership": { - "message": "Ownership" + "message": "Jabetza" }, "whoOwnsThisItem": { - "message": "Who owns this item?" + "message": "Nork du elementu hau?" }, "strong": { - "message": "Strong", + "message": "Sendoa", "description": "ex. A strong password. Scale: Weak -> Good -> Strong" }, "good": { - "message": "Good", + "message": "Ona", "description": "ex. A good password. Scale: Weak -> Good -> Strong" }, "weak": { - "message": "Weak", + "message": "Biguna", "description": "ex. A weak password. Scale: Weak -> Good -> Strong" }, "weakMasterPassword": { - "message": "Weak Master Password" + "message": "Pasahitz nagusi ahula" }, "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" + "message": "Aukeratu duzun pasahitza ahula da. Pasahitz nagusi sendo bat (edo pasaesaldi bat) erabili beharko zenuke Bitwarden kontua behar bezala babesteko. Ziur zaude pasahitz nagusi hau erabili nahi duzula?" }, "pin": { - "message": "PIN", + "message": "PIN-a", "description": "PIN code. Ex. The short code (often numeric) that you use to unlock a device." }, "unlockWithPin": { - "message": "Unlock with PIN" + "message": "PIN-arekin desblokeatu" }, "setYourPinCode": { - "message": "Set your PIN code for unlocking Bitwarden. Your PIN settings will be reset if you ever fully log out of the application." + "message": "Ezarri zure PIN kodea Bitwarden desblokeatzeko. Zure PIN-aren konfigurazioa berrezarriko da, noizbait aplikaziotik erabat saioa ixten baduzu." }, "pinRequired": { - "message": "PIN code is required." + "message": "PIN-a beharrezkoa da." }, "invalidPin": { - "message": "Invalid PIN code." + "message": "PIN baliogabea." }, "unlockWithBiometrics": { - "message": "Unlock with biometrics" + "message": "Desblokeatu biometria erabiliz" }, "awaitDesktop": { - "message": "Awaiting confirmation from desktop" + "message": "Mahaigainaren aldetiko berrespenaren zain" }, "awaitDesktopDesc": { - "message": "Please confirm using biometrics in the Bitwarden Desktop application to enable biometrics for browser." + "message": "Mesedez, egiaztatu biometrikoen erabilera Mahaigaineko Bitwarden aplikazioan, nabigatzailerako biometrikoak gaitzeko." }, "lockWithMasterPassOnRestart": { - "message": "Lock with master password on browser restart" + "message": "Nabigatzailea berrabiaraztean pasahitz nagusiarekin blokeatu" }, "selectOneCollection": { - "message": "You must select at least one collection." + "message": "Gutxienez bilduma bat aukeratu behar duzu." }, "cloneItem": { - "message": "Clone Item" + "message": "Klonatu elementua" }, "clone": { - "message": "Clone" + "message": "Klonatu" }, "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." + "message": "Erakundeko politika batek edo gehiagok sortzailearen konfigurazioari eragiten diote." }, "vaultTimeoutAction": { - "message": "Vault timeout action" + "message": "Kutxa gotorraren itxarote denboraren ekintza" }, "lock": { - "message": "Lock", + "message": "Blokeatu", "description": "Verb form: to make secure or inaccesible by" }, "trash": { - "message": "Trash", + "message": "Zakarrontzia", "description": "Noun: a special folder to hold deleted items" }, "searchTrash": { - "message": "Search trash" + "message": "Bilatu zakarrontzian" }, "permanentlyDeleteItem": { - "message": "Permanently Delete Item" + "message": "Ezabatu elementua betirako" }, "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" + "message": "Ziur zaude elementu hau betirako ezabatu nahi duzula?" }, "permanentlyDeletedItem": { - "message": "Permanently Deleted item" + "message": "Elementua betirako ezabatua" }, "restoreItem": { - "message": "Restore Item" + "message": "Berreskuratu elementua" }, "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" + "message": "Ziur zaude elementu hau ezabatu nahi duzula?" }, "restoredItem": { - "message": "Restored Item" + "message": "Elementua berreskuratua" }, "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" + "message": "Saioa ixteak kutxa gotorreko sarrera guztia kenduko du eta itxaronaldiaren ondoren lineako baimentzea eskatuko du. Ziur zaude hau egin nahi duzula?" }, "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" + "message": "Baieztatu itxarote denboraren ekintza" }, "autoFillAndSave": { - "message": "Auto-fill and Save" + "message": "Auto-bete eta gorde" }, "autoFillSuccessAndSavedUri": { - "message": "Auto-filled Item and Saved URI" + "message": "Elementua auto-betea eta URIa gordeta" }, "autoFillSuccess": { - "message": "Auto-filled Item" + "message": "Elementua auto-beteta" }, "setMasterPassword": { - "message": "Set Master Password" + "message": "Ezarri pasahitz nagusia" }, "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" + "message": "Erakundeko politika batek edo gehiagok pasahitz nagusia behar dute baldintza hauek betetzeko:" }, "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", + "message": "$SCORE$-en gutxieneko konplexutasun puntuazioa", "placeholders": { "score": { "content": "$1", @@ -1448,7 +1451,7 @@ } }, "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", + "message": "$LENGTH$-en gutxieneko luzera", "placeholders": { "length": { "content": "$1", @@ -1457,16 +1460,16 @@ } }, "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" + "message": "Karaktere larri bat edo gehiago edukitzea" }, "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" + "message": "Karaktere txiki bat edo gehiago edukitzea" }, "policyInEffectNumbers": { - "message": "Contain one or more numbers" + "message": "Zenbaki bat edo gehiago edukitzea" }, "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", + "message": "Karaktere berezi hauetako ($CHARS$) bat edo gehiago edukitzea", "placeholders": { "chars": { "content": "$1", @@ -1475,100 +1478,100 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." + "message": "Zure pasahitz nagusi berriak ez ditu baldintzak betetzen." }, "acceptPolicies": { - "message": "By checking this box you agree to the following:" + "message": "Laukitxo hau markatzean, honakoa onartzen duzu:" }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "acceptPoliciesRequired": { + "message": "Zerbitzuaren baldintzak eta pribatutasun politika ez dira onartu." }, "termsOfService": { - "message": "Terms of Service" + "message": "Zerbitzuaren baldintzak" }, "privacyPolicy": { - "message": "Privacy Policy" + "message": "Pribatutasun politika" }, "hintEqualsPassword": { - "message": "Your password hint cannot be the same as your password." + "message": "Zure pasahitza ezin da izan zure pasahitzaren pistaren berdina." }, "ok": { - "message": "Ok" + "message": "Ados" }, "desktopSyncVerificationTitle": { - "message": "Desktop sync verification" + "message": "Mahaigaineko sinkronizazioaren egiaztatzea" }, "desktopIntegrationVerificationText": { - "message": "Please verify that the desktop application shows this fingerprint: " + "message": "Mesedez, egiaztatu mahaigaineko aplikazioak hatz-marka digital hau erakusten duela: " }, "desktopIntegrationDisabledTitle": { - "message": "Browser integration is not enabled" + "message": "Nabigatzailearen integrazioa ez dago gaituta" }, "desktopIntegrationDisabledDesc": { - "message": "Browser integration is not enabled in the Bitwarden Desktop application. Please enable it in the settings within the desktop application." + "message": "Nabigatzailearen integrazioa ez dago gaituta mahaigaineko Bitwarden aplikazioan. Mesedez, gaitu mahaigaineko aplikazioko ezarpenetan." }, "startDesktopTitle": { - "message": "Start the Bitwarden Desktop application" + "message": "Hasi mahaigaineko Bitwarden aplikazioa" }, "startDesktopDesc": { - "message": "The Bitwarden Desktop application needs to be started before unlock with biometrics can be used." + "message": "Biometria bidez desblokeatu aurretik mahaigaineko Bitwarden aplikazioak hasita egon behar du." }, "errorEnableBiometricTitle": { - "message": "Unable to enable biometrics" + "message": "Ezin izan da biometria gaitu" }, "errorEnableBiometricDesc": { - "message": "Action was canceled by the desktop application" + "message": "Mahaigaineko aplikazioak ekintza geldiarazi du" }, "nativeMessagingInvalidEncryptionDesc": { - "message": "Desktop application invalidated the secure communication channel. Please retry this operation" + "message": "Mahaigaineko aplikazioak komunikazio kanal segurua geldiarazi du. Mesedez, saiatu berriro" }, "nativeMessagingInvalidEncryptionTitle": { - "message": "Desktop communication interrupted" + "message": "Mahaigainarekin komunikazioa eten da" }, "nativeMessagingWrongUserDesc": { - "message": "The desktop application is logged into a different account. Please ensure both applications are logged into the same account." + "message": "Mahaigaineko aplikazioa beste kontu batekin konektatu da. Mesedez, ziurtatu bi aplikazioak kontu berean konektatzen direla." }, "nativeMessagingWrongUserTitle": { - "message": "Account missmatch" + "message": "Kontu ezberdinak dira" }, "biometricsNotEnabledTitle": { - "message": "Biometrics not enabled" + "message": "Biometria desgaitua" }, "biometricsNotEnabledDesc": { - "message": "Browser biometrics requires desktop biometric to be enabled in the settings first." + "message": "Nabigatzailearen biometriak lehenik mahaigainaren biometria gaitzeko eskatzen du." }, "biometricsNotSupportedTitle": { - "message": "Biometrics not supported" + "message": "Ezin da biometria erabili" }, "biometricsNotSupportedDesc": { - "message": "Browser biometrics is not supported on this device." + "message": "Nabigatzailearen biometria ezin da gailu honetan erabili." }, "nativeMessaginPermissionErrorTitle": { - "message": "Permission not provided" + "message": "Baimena ukatuta" }, "nativeMessaginPermissionErrorDesc": { - "message": "Without permission to communicate with the Bitwarden Desktop Application we cannot provide biometrics in the browser extension. Please try again." + "message": "Mahaigaineko Bitwarden aplikazioarekin komunikatzeko baimenik gabe, ezin diogu datu biometrikorik eman nabigatzailearen gehigarriari. Mesedez, saiatu berriro." }, "nativeMessaginPermissionSidebarTitle": { - "message": "Permission request error" + "message": "Akatsa baimen eskaeran" }, "nativeMessaginPermissionSidebarDesc": { - "message": "This action cannot be done in the sidebar, please retry the action in the popup or popout." + "message": "Ekintza hau ezin da alboko barran egin. Saiatu berriro leiho gainjarrian edo leiho berri batean." }, "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + "message": "Erakundeko politika bat dela eta, ezin dituzu elementuak zure kutxa gotor pertsonalean gorde. Aldatu jabe aukera erakunde aukera batera, eta aukeratu bilduma erabilgarrien artean." }, "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." + "message": "Erakunde politika batek, jabetza aukerei eragiten die." }, "excludedDomains": { - "message": "Excluded domains" + "message": "Kanporatutako domeinuak" }, "excludedDomainsDesc": { - "message": "Bitwarden will not ask to save login details for these domains. You must refresh the page for changes to take effect." + "message": "Bitwardenek ez du eskatuko domeinu horietarako saio-hasierako xehetasunak gordetzea. Orrialdea eguneratu behar duzu aldaketek eragina izan dezaten." }, "excludedDomainsInvalidDomain": { - "message": "$DOMAIN$ is not a valid domain", + "message": "$DOMAIN$ ez da onartutako domeinu bat", "placeholders": { "domain": { "content": "$1", @@ -1577,109 +1580,109 @@ } }, "send": { - "message": "Send", + "message": "Bidalketa", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "searchSends": { - "message": "Search Sends", + "message": "Bildalketak bilatu", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "addSend": { - "message": "Add Send", + "message": "Gehitu Bidalketa", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendTypeText": { - "message": "Text" + "message": "Testua" }, "sendTypeFile": { - "message": "File" + "message": "Fitxategia" }, "allSends": { - "message": "All Sends", + "message": "Bidalketa guztiak", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCountReached": { - "message": "Max access count reached", + "message": "Sarbide kopuru maximoa gaindituta", "description": "This text will be displayed after a Send has been accessed the maximum amount of times." }, "expired": { - "message": "Expired" + "message": "Iraungita" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "Ezabatzea egiteke" }, "passwordProtected": { - "message": "Password protected" + "message": "Pasahitz babestua" }, "copySendLink": { - "message": "Copy Send link", + "message": "Bidalketa esteka kopiatu", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Remove Password" + "message": "Kendu pasahitza" }, "delete": { - "message": "Delete" + "message": "Ezabatu" }, "removedPassword": { - "message": "Removed Password" + "message": "Pasahitza kendua" }, "deletedSend": { - "message": "Deleted Send", + "message": "Bidalketa ezabatua", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendLink": { - "message": "Send link", + "message": "Bidalketa esteka", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "Desgaitua" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "Ziur zaude pasahitz hau ezabatu nahi duzula?" }, "deleteSend": { - "message": "Delete Send", + "message": "Ezabatu Bidalketa", "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": "Ziur al zaude Bidalketa hau ezabatu nahi duzula?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "Bidalketa editatu", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendTypeHeader": { - "message": "What type of Send is this?", + "message": "Zein Bidalketa mota da hau?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNameDesc": { - "message": "A friendly name to describe this Send.", + "message": "Bidalketa hau deskribatzeko izena.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendFileDesc": { - "message": "The file you want to send." + "message": "Bidali nahi duzun fitxategia." }, "deletionDate": { - "message": "Deletion Date" + "message": "Ezabatze data" }, "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", + "message": "Bidalketa betiko ezabatuko da zehaztutako datan eta orduan.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Expiration Date" + "message": "Iraungitze data" }, "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", + "message": "Hala ezartzen bada, Bidalketa honetarako sarbidea zehaztutako egunean eta orduan amaituko da.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "oneDay": { - "message": "1 day" + "message": "Egun 1" }, "days": { - "message": "$DAYS$ days", + "message": "$DAYS$ egun", "placeholders": { "days": { "content": "$1", @@ -1688,153 +1691,153 @@ } }, "custom": { - "message": "Custom" + "message": "Pertsonalizatua" }, "maximumAccessCount": { - "message": "Maximum Access Count" + "message": "Sarbide kopuru maximoa" }, "maximumAccessCountDesc": { - "message": "If set, users will no longer be able to access this Send once the maximum access count is reached.", + "message": "Hala ezartzen bada, erabiltzaileak ezin izango dira Bidalketa honetara sartu gehienezko sarbide kopurura iritsi ondoren.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", + "message": "Nahi izanez gero, pasahitza eskatu erabiltzaileak bidalketa honetara sar daitezen.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { - "message": "Private notes about this Send.", + "message": "Bidalketa honi buruzko ohar pribatuak.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendDisableDesc": { - "message": "Disable this Send so that no one can access it.", + "message": "Desgaitu Bidalketa hau inor sar ez dadin.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendShareDesc": { - "message": "Copy this Send's link to clipboard upon save.", + "message": "Gordetzean, kopiatu Bidalketa honen esteka arbelean.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendTextDesc": { - "message": "The text you want to send." + "message": "Bidali nahi duzun testua." }, "sendHideText": { - "message": "Hide this Send's text by default.", + "message": "Ezkutatu Bidalketako testu hau, modu lehenetsian.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Current Access Count" + "message": "Uneko sarbide kopurua" }, "createSend": { - "message": "Create New Send", + "message": "Sortu Bidalketa berria", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "newPassword": { - "message": "New Password" + "message": "Pasahitz berria" }, "sendDisabled": { - "message": "Send Disabled", + "message": "Bidalketa desgaituta", "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": "Enpresa-politika baten ondorioz, lehendik dagoen Bidalketa bakarrik ezaba dezakezu.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "Bidalketa sortua", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "Bidalketa editatua", "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": "Fitxategi bat aukeratzeko, ireki gehigarria alboko barran (ahal bada) edo atera leiho berri batera banner honetan klik eginez." }, "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 erabiliz fitxategi bat aukeratzeko, ireki gehigarria alboko barratik edo ireki beste leiho bat banner hau sakatuz." }, "sendSafariFileWarning": { - "message": "In order to choose a file using Safari, pop out to a new window by clicking this banner." + "message": "Safari erabiliz fitxategi bat aukeratzeko, ireki beste leiho bat banner hau sakatuz." }, "sendFileCalloutHeader": { - "message": "Before you start" + "message": "Hasi aurretik" }, "sendFirefoxCustomDatePopoutMessage1": { - "message": "To use a calendar style date picker", + "message": "Data aukeratzeko egutegi modua erabiltzeko", "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**To use a calendar style date picker ** click here to pop out your window.'" }, "sendFirefoxCustomDatePopoutMessage2": { - "message": "click here", + "message": "klikatu hemen", "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'To use a calendar style date picker **click here** to pop out your window.'" }, "sendFirefoxCustomDatePopoutMessage3": { - "message": "to pop out your window.", + "message": "leihoa irekitzeko.", "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'To use a calendar style date picker click here **to pop out your window.**'" }, "expirationDateIsInvalid": { - "message": "The expiration date provided is not valid." + "message": "Iraungitze data ez da baliozkoa." }, "deletionDateIsInvalid": { - "message": "The deletion date provided is not valid." + "message": "Ezabatze data ez da baliozkoa." }, "expirationDateAndTimeRequired": { - "message": "An expiration date and time are required." + "message": "Iraungitze data eta ordua behar dira." }, "deletionDateAndTimeRequired": { - "message": "A deletion date and time are required." + "message": "Ezabatze data eta ordua behar dira." }, "dateParsingError": { - "message": "There was an error saving your deletion and expiration dates." + "message": "Akatsa gertatu da ezabatze eta iraungitze datak gordetzean." }, "hideEmail": { - "message": "Hide my email address from recipients." + "message": "Ezkutatu nire helbide elektronikoa hartzaileei." }, "sendOptionsPolicyInEffect": { - "message": "One or more organization policies are affecting your Send options." + "message": "Erakundeko politika batek edo gehiagok Bidalketa aukerei eragiten diote." }, "passwordPrompt": { - "message": "Master password re-prompt" + "message": "Berriro eskatu pasahitz nagusia" }, "passwordConfirmation": { - "message": "Master password confirmation" + "message": "Baieztatu pasahitz nagusia" }, "passwordConfirmationDesc": { - "message": "This action is protected. To continue, please re-enter your master password to verify your identity." + "message": "Ekintza hau babestuta dago. Jarraitzeko, mesedez, sartu berriro pasahitz nagusia zure identitatea egiaztatzeko." }, "emailVerificationRequired": { - "message": "Email Verification Required" + "message": "Egiaztapen emaila beharrezkoa da" }, "emailVerificationRequiredDesc": { - "message": "You must verify your email to use this feature. You can verify your email in the web vault." + "message": "Emaila egiaztatu behar duzu funtzio hau erabiltzeko. Emaila web-eko kutxa gotorrean egiazta dezakezu." }, "updatedMasterPassword": { - "message": "Updated Master Password" + "message": "Pasahitz nagusia eguneratuta" }, "updateMasterPassword": { - "message": "Update Master Password" + "message": "Pasahitz nagusia eguneratu" }, "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": "Zure erakundeko administratzaile batek pasahitz nagusia aldatu berri du. Kutxa gotorrera sartzeko, pasahitz nagusia orain eguneratu behar duzu. Beraz, oraingo saiotik atera eta saioa hasteko eskatuko zaizu. Beste gailu batzuetako saio aktiboek ordubete iraun dezakete aktibo." }, "resetPasswordPolicyAutoEnroll": { - "message": "Automatic Enrollment" + "message": "Izen-emate automatikoa" }, "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": "Erakunde horrek enpresa politika bat du, eta automatikoki pasahitza berrezartzean izen-emango du. Izen-emateak aukera emango die erakundeko administratzaileei pasahitz nagusia aldatzeko." }, "selectFolder": { - "message": "Select folder..." + "message": "Hautatu karpeta..." }, "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." + "message": "SSO-rekin saioa hasteko, mesedez, ezarri pasahitz nagusi bat kutxa gotorrera sartu eta babesteko." }, "hours": { - "message": "Hours" + "message": "Ordu" }, "minutes": { - "message": "Minutes" + "message": "Minutu" }, "vaultTimeoutPolicyInEffect": { - "message": "Your organization policies are affecting your vault timeout. Maximum allowed Vault Timeout is $HOURS$ hour(s) and $MINUTES$ minute(s)", + "message": "Zure erakundearen politikek zure itxaronaldiari eragiten diote. Itxaronaldiak gehienez ere $HOURS$ ordu eta $MINUTES$ minutu izango ditu", "placeholders": { "hours": { "content": "$1", @@ -1846,23 +1849,23 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Your vault timeout exceeds the restrictions set by your organization." + "vaultTimeoutTooLarge": { + "message": "Zure kutxa gotorreko itxaronaldiak, zure erakundeak ezarritako murrizpenak gainditzen ditu." }, "vaultExportDisabled": { - "message": "Vault Export Disabled" + "message": "Kutxa gotorraren esportazioa desgaituta" }, "personalVaultExportPolicyInEffect": { - "message": "One or more organization policies prevents you from exporting your personal vault." + "message": "Erakundeko politika batek edo gehiagok kutxa gotorra esportatzea galarazten dute." }, "copyCustomFieldNameInvalidElement": { - "message": "Unable to identify a valid form element. Try inspecting the HTML instead." + "message": "Ez da gai elementu bat behar bezala identifikatzeko. Saiatu HTML bere ordez ikuskatzen." }, "copyCustomFieldNameNotUnique": { - "message": "No unique identifier found." + "message": "Ez da identifikatzaile bakarrik aurkitu." }, "convertOrganizationEncryptionDesc": { - "message": "$ORGANIZATION$ is using SSO with a self-hosted key server. A master password is no longer required to log in for members of this organization.", + "message": "$ORGANIZATION$ SSO erabiltzen ari da bere burua ostatatuta duen gako-zerbitzari batekin. Dagoeneko ez da pasahitz nagusirik behar erakunde honetako kideentzat saioa hasteko.", "placeholders": { "organization": { "content": "$1", @@ -1871,31 +1874,31 @@ } }, "leaveOrganization": { - "message": "Leave Organization" + "message": "Utzi erakundea" }, "removeMasterPassword": { - "message": "Remove Master Password" + "message": "Ezabatu pasahitz nagusia" }, "removedMasterPassword": { - "message": "Master password removed." + "message": "Pasahitz nagusia ezabatua." }, "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" + "message": "Ziur al zaude erakundea utzi nahi duzula?" }, "leftOrganization": { - "message": "You have left the organization." + "message": "Erakundea utzi egin duzu." }, "toggleCharacterCount": { - "message": "Toggle character count" + "message": "Karaktere kontaketak txandakatu" }, "sessionTimeout": { - "message": "Your session has timed out. Please go back and try logging in again." + "message": "Saioa amaitu da. Mesedez, itzuli eta saiatu berriro saioa hasten." }, "exportingPersonalVaultTitle": { - "message": "Exporting Personal Vault" + "message": "Kutxa gotor pertsonala esportatzen" }, "exportingPersonalVaultDescription": { - "message": "Only the personal vault items associated with $EMAIL$ will be exported. Organization vault items will not be included.", + "message": "$EMAIL$-ekin lotutako kutxa gotor pertsonaleko elementuak bakarrik esportatuko dira. Erakundeko kutxa gotorraren elementuak ez dira sartuko.", "placeholders": { "email": { "content": "$1", @@ -1904,65 +1907,71 @@ } }, "error": { - "message": "Error" + "message": "Akatsa" }, "regenerateUsername": { - "message": "Regenerate Username" + "message": "Birsortu erabiltzaile izena" }, "generateUsername": { - "message": "Generate Username" + "message": "Sortu erabiltzaile izena" }, "usernameType": { - "message": "Username Type" + "message": "Erabiltzaile izen mota" }, "plusAddressedEmail": { - "message": "Plus Addressed Email", + "message": "Atzizkidun emaila", "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": "Erabili emailaren hornitzailearen azpihelbideratze gaitasunak." }, "catchallEmail": { - "message": "Catch-all Email" + "message": "Harrapatu email guztiak" }, "catchallEmailDesc": { - "message": "Use your domain's configured catch-all inbox." + "message": "Erabili zure domeinuan konfiguratutako sarrerako ontzia." }, "random": { - "message": "Random" + "message": "Ausazkoa" }, "randomWord": { - "message": "Random Word" + "message": "Ausazko hitza" }, "websiteName": { - "message": "Website Name" + "message": "Webgune izena" }, "whatWouldYouLikeToGenerate": { - "message": "What would you like to generate?" + "message": "Zer sortu nahi duzu?" }, "passwordType": { - "message": "Password Type" + "message": "Pasahitz mota" }, "service": { - "message": "Service" + "message": "Zerbitzua" }, "forwardedEmail": { - "message": "Forwarded Email Alias" + "message": "Emaileko ezizena berbidalia" }, "forwardedEmailDesc": { - "message": "Generate an email alias with an external forwarding service." + "message": "Emaileko ezizen bat sortu kanpoko bidalketa zerbitzu batekin." }, "hostname": { - "message": "Hostname", + "message": "Ostalariaren izena", "description": "Part of a URL." }, "apiAccessToken": { - "message": "API Access Token" + "message": "Token sarbide API-a" }, "apiKey": { - "message": "API Key" + "message": "API Kodea" }, "ssoKeyConnectorError": { - "message": "Key Connector error: make sure Key Connector is available and working correctly." + "message": "Errore bat gertatu da konektore giltzan: ziurtatu giltza konektorea erabilgarri dagoela eta behar bezala dabilela." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/fa/messages.json b/apps/browser/src/_locales/fa/messages.json index 15b7b803753..6eeb994d141 100644 --- a/apps/browser/src/_locales/fa/messages.json +++ b/apps/browser/src/_locales/fa/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "آدرس ایمیل نامعتبر است." }, - "masterPassRequired": { - "message": "کلمه عبور اصلی ضروری است." + "masterPasswordRequired": { + "message": "گذرواژه اصلی ضروری است." }, - "masterPassLength": { - "message": "طول کلمه عبور اصلی باید حداقل ۸ کاراکتر باشد." + "confirmMasterPasswordRequired": { + "message": "تایپ مجدد گذرواژه اصلی نیاز است." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "کلمه عبور اصلی با تکرار کلمه عبور اصلی مطابقت ندارد." @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "با علامت زدن این کادر با موارد زیر موافقت می کنید:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "شرایط خدمات و سیاست حفظ حریم خصوصی تأیید نشده است." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "مهلت زمانی شما بیش از محدودیت های تعیین شده توسط سازمانتان است." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "خطای Key Connector: مطمئن شوید که Key Connector در دسترس است و به درستی کار می کند." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/fi/messages.json b/apps/browser/src/_locales/fi/messages.json index 310f9eca1cc..ccf9e22616a 100644 --- a/apps/browser/src/_locales/fi/messages.json +++ b/apps/browser/src/_locales/fi/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Virheellinen sähköpostiosoite." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Pääsalasana vaaditaan." }, - "masterPassLength": { - "message": "Pääsalasanan on oltava vähintään 8 merkkiä pitkä." + "confirmMasterPasswordRequired": { + "message": "Pääsalasanan uudelleensyöttö vaaditaan." + }, + "masterPasswordMinlength": { + "message": "Pääsalasanan tulee sisältää ainakin 8 merkkiä." }, "masterPassDoesntMatch": { "message": "Pääsalasanan vahvistus ei täsmää." @@ -455,7 +458,7 @@ } }, "autofillError": { - "message": "Valitun kohteen automaattinen täyttö ei onnistu tällä sivulla. Kopioi ja liitä tiedot sen sijaan itse." + "message": "Valitttua kohdetta ei voitu täyttää tälle sivulle automaattisesti. Kopioi ja liitä tiedot itse." }, "loggedOut": { "message": "Kirjauduttu ulos" @@ -918,7 +921,7 @@ "message": "Todennuskoodit lähetetään sinulle sähköpostitse." }, "selfHostedEnvironment": { - "message": "Oma palvelinympäristö" + "message": "Itse ylläpidetty palvelinympäristö" }, "selfHostedEnvironmentFooter": { "message": "Määritä omassa palvelinympäristössäsi suoritettavan Bitwarden-asennuksen pääverkkotunnus." @@ -1313,7 +1316,7 @@ "description": "ex. Date this password was updated" }, "neverLockWarning": { - "message": "Oletko varma, että haluat käyttää asetusta \"Ei koskaan\"? Tämä valinta tallentaa holvisi salausavaimen laitteellesi. Jos käytät asetusta, varmista että laitteesi on hyvin suojattu." + "message": "Haluatko varmasti käyttää asetusta \"Ei koskaan\"? Se tallentaa holvisi salausavaimen laitteellesi. Jos käytät asetusta, varmista että laite on suojattu hyvin." }, "noOrganizationsList": { "message": "Et kuulu mihinkään organisaatioon. Organisaatioiden avulla voit jakaa kohteita turvallisesti muiden käyttäjien kanssa." @@ -1386,7 +1389,7 @@ "message": "Yksi tai useampi organisaatiokäytäntö vaikuttaa generaattorisi asetuksiin." }, "vaultTimeoutAction": { - "message": "Holvin aikakatkaisun toiminto" + "message": "Holvin aikakatkaisutoiminto" }, "lock": { "message": "Lukitse", @@ -1418,10 +1421,10 @@ "message": "Kohde palautettu" }, "vaultTimeoutLogOutConfirmation": { - "message": "Uloskirjautuminen estää pääsyn holviisi ja vaatii ajan umpeuduttua todennuksen internet-yhteyden välityksellä. Haluatko varmasti käyttää tätä asetusta?" + "message": "Uloskirjautuminen estää pääsyn holviisi ja vaatii ajan umpeuduttua todennuksen Internet-yhteyden välityksellä. Haluatko varmasti käyttää asetusta?" }, "vaultTimeoutLogOutConfirmationTitle": { - "message": "Aikakatkaisun toiminnon vahvistus" + "message": "Aikakatkaisutoiminnon vahvistus" }, "autoFillAndSave": { "message": "Täytä automaattisesti ja tallenna" @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Valitsemalla tämän ruudun hyväksyt seuraavat:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Käyttöehtoja ja tietosuojakäytäntöä ei ole vahvistettu." }, "termsOfService": { @@ -1514,7 +1517,7 @@ "message": "Bitwardenin työpöytäsovellus on käynnistettävä ennen kuin biometristä avausta voidaan käyttää." }, "errorEnableBiometricTitle": { - "message": "Biometrian käyttöönotto ei onnistu" + "message": "Biometriaa ei voitu ottaa käyttöön" }, "errorEnableBiometricDesc": { "message": "Työpöytäsovellus perui toiminnon" @@ -1834,7 +1837,7 @@ "message": "Minuuttia" }, "vaultTimeoutPolicyInEffect": { - "message": "Organisaatiosi käytännöt vaikuttavat holvisi aikakatkaisuun. Suurin sallittu viive on $HOURS$ tunti(a) ja $MINUTES$ minuutti(a)", + "message": "Organisaatiosi käytännöt vaikuttavat holvisi aikakatkaisuun. Suurin sallittu aika on $HOURS$ tunti(a) ja $MINUTES$ minuutti(a)", "placeholders": { "hours": { "content": "$1", @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Holvisi aikakatkaisuviive ylittää organisaatiosi asettamat rajoitukset." + "vaultTimeoutTooLarge": { + "message": "Holvisi aikakatkaisu ylittää organisaatiosi asettamat rajoitukset." }, "vaultExportDisabled": { "message": "Holvin vienti on poistettu käytöstä" @@ -1856,13 +1859,13 @@ "message": "Yksi tai useampi organisaation käytäntö estää henkilökohtaisen holvisi viennin." }, "copyCustomFieldNameInvalidElement": { - "message": "Oikeaa lomakkeen elementtiä ei tunnistettu. Yritä sen sijaan HTML-koodin tarkastusta." + "message": "Oikeaa lomakkeen elementtiä ei voitu tunnistaa. Tutki sen sijaan HTML-koodia." }, "copyCustomFieldNameNotUnique": { "message": "Yksilöllistä tunnistetta ei löytynyt." }, "convertOrganizationEncryptionDesc": { - "message": "$ORGANIZATION$ käyttää kertakirjautumista (SSO) oman avainpalvelimensa kanssa. Organisaation jäsenet eivät enää tarvitse pääsalasanaa kirjautumiseen.", + "message": "$ORGANIZATION$ käyttää kertakirjautumista (SSO) itse ylläpidetyllä avainpalvelimella. Organisaation jäsenet eivät enää tarvitse pääsalasanaa kirjautumiseen.", "placeholders": { "organization": { "content": "$1", @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector -virhe: Varmista, että Key Connector on käytettävissä ja toimii oikein." + }, + "organizationIsDisabled": { + "message": "Organisaatio on poistettu käytöstä." + }, + "disabledOrganizationFilterError": { + "message": "Käytöstä poistettujen organisaatioiden kohteet eivät ole käytettävissä. Ole yhteydessä organisaation omistajaan saadaksesi apua." } } diff --git a/apps/browser/src/_locales/fil/messages.json b/apps/browser/src/_locales/fil/messages.json index 1eab3d718c0..18e515037f4 100644 --- a/apps/browser/src/_locales/fil/messages.json +++ b/apps/browser/src/_locales/fil/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Invalid email address." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Master password is required." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/fr/messages.json b/apps/browser/src/_locales/fr/messages.json index 3cbccf45690..57e5b3322ad 100644 --- a/apps/browser/src/_locales/fr/messages.json +++ b/apps/browser/src/_locales/fr/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Adresse e-mail invalide." }, - "masterPassRequired": { - "message": "Le mot de passe maître est requis." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Le mot de passe maître doit au moins contenir 8 caractères." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "La confirmation du mot de passe maître ne correspond pas." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "En cochant cette case, vous acceptez les éléments suivants :" }, - "acceptPoliciesError": { - "message": "Les conditions d'utilisation et la politique de confidentialité n'ont pas été acceptées." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Conditions d'utilisation" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Le délai d'expiration de votre coffre dépasse les restrictions définies par votre organisation." + "vaultTimeoutTooLarge": { + "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { "message": "Export du coffre désactivé" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Erreur du connecteur de clé: veuillez vérifier que le connecteur de clé est disponible et qu'il fonctionne correctement." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/he/messages.json b/apps/browser/src/_locales/he/messages.json index d50dd3045d8..3738b63d882 100644 --- a/apps/browser/src/_locales/he/messages.json +++ b/apps/browser/src/_locales/he/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "כתובת אימייל לא תקינה." }, - "masterPassRequired": { - "message": "יש להזין את הסיסמה הראשית." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "הסיסמה הראשית חייבת להיות לפחות באורך 8 תווים." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "שדה אימות סיסמה ראשית לא תואם." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "סימון תיבה זו מהווה את הסכמתך לתנאים הבאים:" }, - "acceptPoliciesError": { - "message": "תנאי השירות ומדיניות הפרטיות לא אושרו." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "תנאי השירות" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Your vault timeout exceeds the restrictions set by your organization." + "vaultTimeoutTooLarge": { + "message": "הזמן הקצוב לכספת שלך חורג מהמגבלות שנקבעו על ידי הארגון שלך." }, "vaultExportDisabled": { "message": "Vault Export Disabled" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/hi/messages.json b/apps/browser/src/_locales/hi/messages.json index f9cd4d1fa99..7266c3e499d 100644 --- a/apps/browser/src/_locales/hi/messages.json +++ b/apps/browser/src/_locales/hi/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "अमान्य ई-मेल |" }, - "masterPassRequired": { - "message": "मास्टर पासवर्ड की आवश्यकता है।" + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "मास्टर पासवर्ड कम से कम 8 अक्षर लंबे होने चाहिए।" + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "मास्टर पासवर्ड पुष्टि मेल नहीं खाती है।" @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "इस बॉक्स की जांच करके आप निम्नलिखित से सहमत हैं:" }, - "acceptPoliciesError": { - "message": "सेवा और गोपनीयता नीति की शर्तों को स्वीकार नहीं किया गया है ।" + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "सेवा की शर्तें" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/hr/messages.json b/apps/browser/src/_locales/hr/messages.json index a85fd4a650e..f75b551f52d 100644 --- a/apps/browser/src/_locales/hr/messages.json +++ b/apps/browser/src/_locales/hr/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Neispravna adresa e-pošte." }, - "masterPassRequired": { - "message": "Potrebna je glavna lozinka." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Glavna lozinka mora imati najmanje 8 znakova." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Potvrda glavne lozinke se ne podudara." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Označavanjem ove kućice slažete se sa sljedećim:" }, - "acceptPoliciesError": { - "message": "Uvjeti korištenja i Pravila privatnosti nisu prihvaćeni." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Uvjeti korištenja" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Vrijeme isteka premašuje ograničenje koju je postavila tvoja organizacija." + "vaultTimeoutTooLarge": { + "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { "message": "Izvoz trezora onemogućen" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Pogreška konektora ključa: provjerite je li konektor ključa dostupan i radi ispravno." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/hu/messages.json b/apps/browser/src/_locales/hu/messages.json index f74e2f4ae66..ec3d189daaf 100644 --- a/apps/browser/src/_locales/hu/messages.json +++ b/apps/browser/src/_locales/hu/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Érvénytelen email cím." }, - "masterPassRequired": { - "message": "Mesterjelszó megadása kötelező." + "masterPasswordRequired": { + "message": "A mesterjelszó megadása kötelező." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "A mesterjelszó ismételt megadása kötelező." + }, + "masterPasswordMinlength": { "message": "Mesterjelszónak legalább 8 karakter hosszúnak kell lennie." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "A doboz bejelölésével elfogadjuk a következőket:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "A szolgáltatási feltételeket és az adatvédelmi irányelveket nem vették figyelembe." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "A széf időkorlátja túllépi a szervezet által beállított korlátozást." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Kulcs csatlakozó hiba: ellenőrizzük, hogy a kulcs csatlakozó rendelkezésre áll-e és megfelelően működik-e." + }, + "organizationIsDisabled": { + "message": "A szervezet letiltásra került." + }, + "disabledOrganizationFilterError": { + "message": "A letiltott szervezetek elemei nem érhetők el. Vegyük fel a kapcsolatot a szervezet tulajdonosával segítségért." } } diff --git a/apps/browser/src/_locales/id/messages.json b/apps/browser/src/_locales/id/messages.json index 3a46c3958df..f7cbaf2da40 100644 --- a/apps/browser/src/_locales/id/messages.json +++ b/apps/browser/src/_locales/id/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Alamat email tidak valid." }, - "masterPassRequired": { - "message": "Sandi utama diperlukan." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Kata sandi utama sedikitnya harus 8 karakter." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Konfirmasi sandi utama tidak cocok." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Dengan mencentang kotak ini, Anda menyetujui yang berikut:" }, - "acceptPoliciesError": { - "message": "Persyaratan Layanan dan Kebijakan Privasi belum disetujui." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Persyaratan Layanan" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Waktu tunggu brankas Anda melebihi batasan yang diatur organisasi Anda." + "vaultTimeoutTooLarge": { + "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { "message": "Ekspor Brankas Dinonaktifkan" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/it/messages.json b/apps/browser/src/_locales/it/messages.json index cb21c1a2a0b..a3f9eb883e8 100644 --- a/apps/browser/src/_locales/it/messages.json +++ b/apps/browser/src/_locales/it/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Indirizzo email non valido." }, - "masterPassRequired": { - "message": "La password principale è obbligatoria." + "masterPasswordRequired": { + "message": "È necessario inserire la password principale." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "È necessario reinserire la password principale." + }, + "masterPasswordMinlength": { "message": "La password principale deve essere lunga almeno 8 caratteri." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Selezionando la casella accetti quanto segue:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "I termini di servizio e l'informativa sulla privacy non sono stati accettati." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Il timeout della tua cassaforte supera i limiti impostati dalla tua organizzazione." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Errore Key Connector: assicurarsi che il Key Connector sia disponibile e correttamente funzionante." + }, + "organizationIsDisabled": { + "message": "L'organizzazione è disabilitata." + }, + "disabledOrganizationFilterError": { + "message": "Non è possibile accedere agli oggetti nelle organizzazioni disabilitate. Contatta il proprietario della tua organizzazione per ricevere assistenza." } } diff --git a/apps/browser/src/_locales/ja/messages.json b/apps/browser/src/_locales/ja/messages.json index 2ee4916870a..a8d87dcb899 100644 --- a/apps/browser/src/_locales/ja/messages.json +++ b/apps/browser/src/_locales/ja/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "無効なEメールアドレスです。" }, - "masterPassRequired": { - "message": "マスターパスワードは必須です。" + "masterPasswordRequired": { + "message": "マスターパスワードが必要です。" }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "マスターパスワードの再入力が必要です。" + }, + "masterPasswordMinlength": { "message": "マスターパスワードは、少なくとも8文字以上で設定してください。" }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "以下に同意しチェックします:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "利用規約とプライバシーポリシーを確認してください。" }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "保管庫のタイムアウトが組織によって設定された制限を超えています。" }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "キーコネクターエラー: キーコネクターが使用可能で、正常に動作しているか確認してください。" + }, + "organizationIsDisabled": { + "message": "組織は無効です。" + }, + "disabledOrganizationFilterError": { + "message": "無効な組織のアイテムにアクセスすることはできません。組織の所有者に連絡してください。" } } diff --git a/apps/browser/src/_locales/ka/messages.json b/apps/browser/src/_locales/ka/messages.json index 1469a4e6279..be3f9cb0165 100644 --- a/apps/browser/src/_locales/ka/messages.json +++ b/apps/browser/src/_locales/ka/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "არასწორი ელექტრო ფოსტის მისამართი." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Master password is required." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/km/messages.json b/apps/browser/src/_locales/km/messages.json index 8fcb5822a75..4f15d3ae058 100644 --- a/apps/browser/src/_locales/km/messages.json +++ b/apps/browser/src/_locales/km/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Invalid email address." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Master password is required." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/kn/messages.json b/apps/browser/src/_locales/kn/messages.json index ad29134d88d..5b54df57e2d 100644 --- a/apps/browser/src/_locales/kn/messages.json +++ b/apps/browser/src/_locales/kn/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "ಅಮಾನ್ಯ ಇಮೇಲ್ ವಿಳಾಸ." }, - "masterPassRequired": { - "message": "ಮಾಸ್ಟರ್ ಪಾಸ್ವರ್ಡ್ ಅಗತ್ಯವಿದೆ." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "ಮಾಸ್ಟರ್ ಪಾಸ್ವರ್ಡ್ ಕನಿಷ್ಠ 8 ಅಕ್ಷರಗಳಷ್ಟು ಉದ್ದವಾಗಿರಬೇಕು." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "ಮಾಸ್ಟರ್ ಪಾಸ್ವರ್ಡ್ ದೃಢೀಕರಣವು ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "ಈ ಪೆಟ್ಟಿಗೆಯನ್ನು ಪರಿಶೀಲಿಸುವ ಮೂಲಕ ನೀವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಒಪ್ಪುತ್ತೀರಿ:" }, - "acceptPoliciesError": { - "message": "ಸೇವಾ ನಿಯಮಗಳು ಮತ್ತು ಗೌಪ್ಯತೆ ನೀತಿಯನ್ನು ಅಂಗೀಕರಿಸಲಾಗಿಲ್ಲ." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "ಸೇವಾ ನಿಯಮಗಳು" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/ko/messages.json b/apps/browser/src/_locales/ko/messages.json index 0cc063e4d4d..73262fc0280 100644 --- a/apps/browser/src/_locales/ko/messages.json +++ b/apps/browser/src/_locales/ko/messages.json @@ -53,13 +53,13 @@ "message": "탭" }, "vault": { - "message": "Vault" + "message": "보관함" }, "myVault": { "message": "내 보관함" }, "allVaults": { - "message": "All Vaults" + "message": "모든 보관함" }, "tools": { "message": "도구" @@ -423,11 +423,14 @@ "invalidEmail": { "message": "잘못된 이메일 주소입니다." }, - "masterPassRequired": { - "message": "마스터 비밀번호는 반드시 입력해야 합니다." + "masterPasswordRequired": { + "message": "마스터 비밀번호가 필요합니다." }, - "masterPassLength": { - "message": "마스터 비밀번호는 최소 8자 이상이어야 합니다." + "confirmMasterPasswordRequired": { + "message": "마스터 비밀번호를 재입력해야 합니다." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "마스터 비밀번호 확인과 마스터 비밀번호가 일치하지 않습니다." @@ -807,13 +810,13 @@ "message": "새로 고침 완료" }, "enableAutoTotpCopy": { - "message": "Copy TOTP automatically" + "message": "인증 코드 자동으로 복사하기" }, "disableAutoTotpCopyDesc": { "message": "로그인에 인증 키가 연결되어 있을 경우, 그 로그인을 자동 완성할 때마다 TOTP 인증 코드가 클립보드에 자동으로 복사됩니다." }, "enableAutoBiometricsPrompt": { - "message": "Ask for biometrics on launch" + "message": "실행 시 생체 인증 요구하기" }, "premiumRequired": { "message": "프리미엄 멤버십 필요" @@ -1034,7 +1037,7 @@ "message": "이 브라우저의 팝업 창에서는 U2F 요청을 처리할 수 없습니다. U2F로 로그인할 수 있도록 이 창을 새 창에서 여시겠습니까?" }, "enableFavicon": { - "message": "Show website icons" + "message": "웹사이트 아이콘 표시하기" }, "faviconDesc": { "message": "Show a recognizable image next to each login." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "이 박스를 체크하면 다음에 동의하는 것으로 간주됩니다:" }, - "acceptPoliciesError": { - "message": "서비스 약관 및 개인 정보 보호 정책을 확인하지 않았습니다." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "서비스 약관" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "볼트 제한 시간이 조직에서 설정한 제한을 초과합니다." + "vaultTimeoutTooLarge": { + "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { "message": "보관함 내보내기 비활성화됨" @@ -1895,7 +1898,7 @@ "message": "개인 보관함을 내보내는 중" }, "exportingPersonalVaultDescription": { - "message": "Only the personal vault items associated with $EMAIL$ will be exported. Organization vault items will not be included.", + "message": "오직 $EMAIL$와 연관된 개인 보관함의 항목만 내보내집니다. 조직 보관함의 항목은 포함되지 않습니다.", "placeholders": { "email": { "content": "$1", @@ -1957,12 +1960,18 @@ "description": "Part of a URL." }, "apiAccessToken": { - "message": "API Access Token" + "message": "API 액세스 토큰" }, "apiKey": { - "message": "API Key" + "message": "API 키" }, "ssoKeyConnectorError": { - "message": "Key Connector error: make sure Key Connector is available and working correctly." + "message": "키 커넥터 오류: 키 커넥터가 사용 가능한지 및 정상적으로 작동하고 있는지 확인해주세요." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/lt/messages.json b/apps/browser/src/_locales/lt/messages.json index c599f5c9bc9..1589196eba2 100644 --- a/apps/browser/src/_locales/lt/messages.json +++ b/apps/browser/src/_locales/lt/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Klaidingas el. pašto adresas." }, - "masterPassRequired": { - "message": "Būtinas pagrindinis slaptažodis." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Pagrindinis slaptažodis turi būti bent 8 simbolių ilgio." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Pagrindinio slaptažodžio patvirtinimas nesutampa." @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/lv/messages.json b/apps/browser/src/_locales/lv/messages.json index 0a3e3b98a3d..a235245db03 100644 --- a/apps/browser/src/_locales/lv/messages.json +++ b/apps/browser/src/_locales/lv/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Nederīga e-pasta adrese." }, - "masterPassRequired": { - "message": "Galvenā parole ir nepieciešama." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { "message": "Galvenajai parolei ir jābūt vismaz 8 rakstzīmes garai." }, "masterPassDoesntMatch": { @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Atzīmējot šo rūtiņu, Tu piekrīti sekojošajam:" }, - "acceptPoliciesError": { - "message": "Nav pieņemti izmantošanas nosacījumi un privātuma politika." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Izmantošanas nosacījumi" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Glabātavas noildze pāŗsniedz apvienības uzstādītos ierobežojumus." + "vaultTimeoutTooLarge": { + "message": "Glabātavas noildze pārsniedz apvienības uzstādītos ierobežojumus." }, "vaultExportDisabled": { "message": "Glabātavas izgūšana ir atspējota" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector kļūda: jāpārliecinās, ka Key Connector ir pieejams un darbojas pareizi." + }, + "organizationIsDisabled": { + "message": "Apvienība ir atspējota." + }, + "disabledOrganizationFilterError": { + "message": "Atspējotu apvienību vienumiem nevar piekļūt. Jāsazinās ar apvienības īpašnieku, lai iegūtu palīdzību." } } diff --git a/apps/browser/src/_locales/ml/messages.json b/apps/browser/src/_locales/ml/messages.json index 5f781ed6bdb..fdac5668852 100644 --- a/apps/browser/src/_locales/ml/messages.json +++ b/apps/browser/src/_locales/ml/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "അസാധുവായ ഇമെയിൽ." }, - "masterPassRequired": { - "message": "പ്രാഥമിക പാസ്വേഡ് നിർബന്ധമാണ്." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "പ്രാഥമിക പാസ്വേഡിന് കുറഞ്ഞത് 8 പ്രതീകങ്ങളെങ്കിലും ദൈർഘ്യമുണ്ടായിരിക്കണം." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "പ്രാഥമിക പാസ്വേഡ് സ്ഥിരീകരണം പൊരുത്തപ്പെടുന്നില്ല." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "ഈ ബോക്സ് ചെക്കുചെയ്യുന്നതിലൂടെ നിങ്ങൾ ഇനിപ്പറയുന്നവ അംഗീകരിക്കുന്നു:" }, - "acceptPoliciesError": { - "message": "സേവന നിബന്ധനകളും സ്വകാര്യതാ നയവും അംഗീകരിച്ചിട്ടില്ല." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "സേവന നിബന്ധനകൾ" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/nb/messages.json b/apps/browser/src/_locales/nb/messages.json index f4e1baf0efa..8563a341318 100644 --- a/apps/browser/src/_locales/nb/messages.json +++ b/apps/browser/src/_locales/nb/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Ugyldig E-postadresse." }, - "masterPassRequired": { - "message": "Superpassordet er påkrevd." + "masterPasswordRequired": { + "message": "Hovedpassord er påkrevd." }, - "masterPassLength": { - "message": "Superpassordet må være ≥8 tegn lang." + "confirmMasterPasswordRequired": { + "message": "Skriv inn hovedpassordet på nytt." + }, + "masterPasswordMinlength": { + "message": "Hovedpassordet må være minst åtte tegn." }, "masterPassDoesntMatch": { "message": "Superpassord-bekreftelsen er ikke samsvarende." @@ -568,22 +571,22 @@ "description": "This is the folder for uncategorized items" }, "enableAddLoginNotification": { - "message": "Ask to add login" + "message": "Spør om å legge til innlogging" }, "addLoginNotificationDesc": { "message": "\"Legg til innlogging\"-beskjeden ber deg automatisk om å lagre nye innlogginger til hvelvet ditt hver gang du logger på dem for første gang." }, "showCardsCurrentTab": { - "message": "Show cards on Tab page" + "message": "Vis kort på fanesiden" }, "showCardsCurrentTabDesc": { - "message": "List card items on the Tab page for easy auto-fill." + "message": "Vis kortelementer på fanesiden for lett auto-utfylling." }, "showIdentitiesCurrentTab": { - "message": "Show identities on Tab page" + "message": "Vis identiteter på fanesiden" }, "showIdentitiesCurrentTabDesc": { - "message": "List identity items on the Tab page for easy auto-fill." + "message": "Vis identitetselementer på fanesiden for enkel auto-utfylling." }, "clearClipboard": { "message": "Tøm utklippstavlen", @@ -600,10 +603,10 @@ "message": "Ja, lagre nå" }, "enableChangedPasswordNotification": { - "message": "Ask to update existing login" + "message": "Spør om å oppdatere eksisterende innlogginger" }, "changedPasswordNotificationDesc": { - "message": "Ask to update a login's password when a change is detected on a website." + "message": "Spør om å oppdatere passordet til innlogging når endring på nettside oppdages." }, "notificationChangeDesc": { "message": "Vil du oppdatere dette passordet i Bitwarden?" @@ -612,10 +615,10 @@ "message": "Ja, oppdater nå" }, "enableContextMenuItem": { - "message": "Show context menu options" + "message": "Vis alternativer for kontekstmeny" }, "contextMenuItemDesc": { - "message": "Use a secondary click to access password generation and matching logins for the website. " + "message": "Bruk et sekundært klikk for å få tilgang til passordgenerering og samsvarende innlogginger for nettsiden. " }, "defaultUriMatchDetection": { "message": "Standard URI-samsvarsgjenkjenning", @@ -807,13 +810,13 @@ "message": "Oppfriskning fullført" }, "enableAutoTotpCopy": { - "message": "Copy TOTP automatically" + "message": "Kopier TOTP automatisk" }, "disableAutoTotpCopyDesc": { "message": "Dersom din innlogging har en autentiseringsnøkkel knyttet til den, blir TOTP-verifiseringskoden automatisk kopiert til utklippstavlen din når enn du auto-utfyller innloggingen." }, "enableAutoBiometricsPrompt": { - "message": "Ask for biometrics on launch" + "message": "Spør om biometri ved oppstart" }, "premiumRequired": { "message": "Premium er påkrevd" @@ -1034,16 +1037,16 @@ "message": "Denne nettleseren kan ikke behandle U2F-forespørsler i dette popup-vinduet. Vil du åpne denne popupen i et nytt vindu, slik at du kan logge deg på med U2F?" }, "enableFavicon": { - "message": "Show website icons" + "message": "Vis nettsideikoner" }, "faviconDesc": { - "message": "Show a recognizable image next to each login." + "message": "Vis et gjenkjennelig bilde ved siden av hver innlogging." }, "enableBadgeCounter": { - "message": "Show badge counter" + "message": "Vis merke-teller" }, "badgeCounterDesc": { - "message": "Indicate how many logins you have for the current web page." + "message": "Indiker hvor mange innlogginger du har for den aktuelle nettsiden." }, "cardholderName": { "message": "Kortholderens navn" @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Ved å merke av denne boksen sier du deg enig i følgende:" }, - "acceptPoliciesError": { - "message": "Vilkårene for bruk og personvernerklæring er ikke akseptert." + "acceptPoliciesRequired": { + "message": "Vilkårene for tjeneste og personvernerklæring er ikke akseptert." }, "termsOfService": { "message": "Vilkår for bruk" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Tidsavbruddet ditt for hvelvet overstiger begrensningene som er satt av organisasjonen din." + "vaultTimeoutTooLarge": { + "message": "Tidsavbrudd i hvelvet ditt overskrider restriksjoner fastsatt av din organisasjon." }, "vaultExportDisabled": { "message": "Hvelveksportering er skrudd av" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector feil: Sjekk at Key Connector er tilgjengelig og fungerer." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/nl/messages.json b/apps/browser/src/_locales/nl/messages.json index a383527cad9..43c575cfa17 100644 --- a/apps/browser/src/_locales/nl/messages.json +++ b/apps/browser/src/_locales/nl/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Ongeldig e-mailadres." }, - "masterPassRequired": { - "message": "Hoofdwachtwoord is vereist." + "masterPasswordRequired": { + "message": "Hoofdwachtwoord vereist." }, - "masterPassLength": { - "message": "Hoofdwachtwoord moet minstens 8 tekens lang zijn." + "confirmMasterPasswordRequired": { + "message": "Type je hoofdwachtwoord opnieuw in." + }, + "masterPasswordMinlength": { + "message": "Het hoofdwachtwoord moet minimaal 8 tekens lang zijn." }, "masterPassDoesntMatch": { "message": "De hoofdwachtwoorden komen niet overeen." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Door dit vakje aan te vinken, ga je akkoord met het volgende:" }, - "acceptPoliciesError": { - "message": "Algemene voorwaarden en privacybeleid zijn nog niet erkend." + "acceptPoliciesRequired": { + "message": "Je hebt de algemene voorwaarden en het privacybeleid nog niet erkend." }, "termsOfService": { "message": "Algemene voorwaarden" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Je kluis time-out is hoger dan het maximum van jouw organisatie." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key-connector fout: zorg ervoor dat Key-connector beschikbaar is en werkt." + }, + "organizationIsDisabled": { + "message": "Organisatie is uitgeschakeld." + }, + "disabledOrganizationFilterError": { + "message": "Je kunt uitgeschakelde items in een organisatie niet benaderen. Neem contact op met de eigenaar van je organisatie voor hulp." } } diff --git a/apps/browser/src/_locales/nn/messages.json b/apps/browser/src/_locales/nn/messages.json index 8fcb5822a75..4f15d3ae058 100644 --- a/apps/browser/src/_locales/nn/messages.json +++ b/apps/browser/src/_locales/nn/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Invalid email address." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Master password is required." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/pl/messages.json b/apps/browser/src/_locales/pl/messages.json index 11c8d457606..1e98fcbaf01 100644 --- a/apps/browser/src/_locales/pl/messages.json +++ b/apps/browser/src/_locales/pl/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Adres e-mail jest nieprawidłowy." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Hasło główne jest wymagane." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Wymagane jest ponowne wpisanie hasła głównego." + }, + "masterPasswordMinlength": { "message": "Hasło główne musi zawierać co najmniej 8 znaków." }, "masterPassDoesntMatch": { @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Zaznaczając tę opcję, akceptujesz:" }, - "acceptPoliciesError": { - "message": "Nie zaakceptowałeś regulaminu i polityki prywatności." + "acceptPoliciesRequired": { + "message": "Warunki użytkowania i polityka prywatności nie zostały zaakceptowane." }, "termsOfService": { "message": "Regulamin" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Czas blokowania sejfu przekracza limit określony przez organizację." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Błąd serwera Key Connector: upewnij się, że serwer Key Connector jest dostępny i działa poprawnie." + }, + "organizationIsDisabled": { + "message": "Organizacja jest wyłączona." + }, + "disabledOrganizationFilterError": { + "message": "Nie można uzyskać dostępu do elementów w wyłączonych organizacjach. Skontaktuj się z właścicielem organizacji, aby uzyskać pomoc." } } diff --git a/apps/browser/src/_locales/pt_BR/messages.json b/apps/browser/src/_locales/pt_BR/messages.json index 831ecfe1c43..6b3e0fe7b77 100644 --- a/apps/browser/src/_locales/pt_BR/messages.json +++ b/apps/browser/src/_locales/pt_BR/messages.json @@ -101,10 +101,10 @@ "message": "Sem credenciais correspondentes." }, "unlockVaultMenu": { - "message": "Desbloqueie seu Cofre" + "message": "Desbloqueie seu cofre" }, "loginToVaultMenu": { - "message": "Acesse o seu Cofre" + "message": "Acesse o seu cofre" }, "autoFillInfo": { "message": "Não há credenciais disponíveis para autopreenchimento para a aba do navegador atual." @@ -149,7 +149,7 @@ "message": "Alterar Senha Mestra" }, "fingerprintPhrase": { - "message": "Frase de Biometria", + "message": "Frase Biométrica", "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": { @@ -364,7 +364,7 @@ "message": "Senha mestra inválida" }, "vaultTimeout": { - "message": "Tempo limite do cofre." + "message": "Cofre - tempo esgotado" }, "lockNow": { "message": "Bloquear Agora" @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Endereço de e-mail inválido." }, - "masterPassRequired": { - "message": "A senha mestra é obrigatória." + "masterPasswordRequired": { + "message": "A senha mestre é obrigatória." }, - "masterPassLength": { - "message": "A senha mestra deve ter pelo menos 8 caracteres." + "confirmMasterPasswordRequired": { + "message": "É necessário redigitar a senha mestre." + }, + "masterPasswordMinlength": { + "message": "A senha mestre deve ter pelo menos 8 caracteres." }, "masterPassDoesntMatch": { "message": "A confirmação da senha mestra não corresponde." @@ -574,16 +577,16 @@ "message": "A \"Notificação de Adicionar Login\" pede para salvar automaticamente novas logins para o seu cofre quando você inicia uma sessão em um site pela primeira vez." }, "showCardsCurrentTab": { - "message": "Mostrar cartões na aba atual" + "message": "Mostrar cartões em páginas com guias." }, "showCardsCurrentTabDesc": { - "message": "Listar itens do cartão na Aba para facilitar preenchimento automático." + "message": "Exibir itens de cartão em páginas com abas para simplificar o preenchimento automático" }, "showIdentitiesCurrentTab": { - "message": "Mostrar identidades na aba atual" + "message": "Exibir Identidades na Aba Atual" }, "showIdentitiesCurrentTabDesc": { - "message": "List identity items on the Tab page for easy auto-fill." + "message": "Liste os itens de identidade na aba atual para facilitar preenchimento automático." }, "clearClipboard": { "message": "Limpar Área de Transferência", @@ -600,10 +603,10 @@ "message": "Salvar" }, "enableChangedPasswordNotification": { - "message": "Ask to update existing login" + "message": "Pedir para atualizar os dados de login existentes" }, "changedPasswordNotificationDesc": { - "message": "Ask to update a login's password when a change is detected on a website." + "message": "Peça para atualizar a senha de login quando uma mudança for detectada em um site." }, "notificationChangeDesc": { "message": "Você quer atualizar esta senha no Bitwarden?" @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Ao marcar esta caixa, você concorda com o seguinte:" }, - "acceptPoliciesError": { - "message": "Os Termos de Serviço e a Política de Privacidade não foram reconhecidos." + "acceptPoliciesRequired": { + "message": "Os Termos de Serviço e a Política de Privacidade não foram aceitos." }, "termsOfService": { "message": "Termos de Serviço" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "O tempo limite do seu cofre excede as restrições definidas por sua organização." + "vaultTimeoutTooLarge": { + "message": "Seu tempo de espera no cofre excede as restrições estabelecidas por sua organização." }, "vaultExportDisabled": { "message": "Exportação de Cofre Desativada" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Erro de Key Connector: certifique-se de que a Key Connector está disponível e funcionando corretamente." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/pt_PT/messages.json b/apps/browser/src/_locales/pt_PT/messages.json index 407c1933a55..bafcf80451e 100644 --- a/apps/browser/src/_locales/pt_PT/messages.json +++ b/apps/browser/src/_locales/pt_PT/messages.json @@ -52,9 +52,15 @@ "tab": { "message": "Separador" }, + "vault": { + "message": "Cofre" + }, "myVault": { "message": "Meu cofre" }, + "allVaults": { + "message": "Todos os Cofres" + }, "tools": { "message": "Ferramentas" }, @@ -89,16 +95,16 @@ "message": "Gerar palavra-passe (copiada)" }, "copyElementIdentifier": { - "message": "Copy Custom Field Name" + "message": "Copiar nome do campo personalizado" }, "noMatchingLogins": { "message": "Sem credencias correspondidas." }, - "vaultLocked": { - "message": "O cofre está bloqueado." + "unlockVaultMenu": { + "message": "Desbloqueie o seu cofre" }, - "vaultLoggedOut": { - "message": "Sessão terminada no cofre." + "loginToVaultMenu": { + "message": "Inicie sessão para abrir o seu cofre" }, "autoFillInfo": { "message": "Não existem credenciais disponíveis para auto-preencher para o separador de navegador atual." @@ -121,14 +127,26 @@ "continue": { "message": "Continuar" }, + "sendVerificationCode": { + "message": "Envie um código de verificação para o seu e-mail" + }, + "sendCode": { + "message": "Enviar o código" + }, + "codeSent": { + "message": "Código enviado" + }, "verificationCode": { "message": "Código de verificação" }, + "confirmIdentity": { + "message": "Confirme a sua identidade para continuar." + }, "account": { "message": "Conta" }, "changeMasterPassword": { - "message": "Alterar palavra-passe mestra" + "message": "Alterar Palavra-passe Mestra" }, "fingerprintPhrase": { "message": "Frase de impressão digital", @@ -139,10 +157,10 @@ "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": "Início de sessão de dois passos" + "message": "Início de Sessão de Dois Passos" }, "logOut": { - "message": "Terminar sessão" + "message": "Terminar Sessão" }, "about": { "message": "Acerca" @@ -154,7 +172,7 @@ "message": "Guardar" }, "move": { - "message": "Move" + "message": "Mover" }, "addFolder": { "message": "Adicionar pasta" @@ -217,6 +235,18 @@ "length": { "message": "Comprimento" }, + "uppercase": { + "message": "Maiúsculas (A-Z)" + }, + "lowercase": { + "message": "Minúsculas (a-z)" + }, + "numbers": { + "message": "Números (0-9)" + }, + "specialCharacters": { + "message": "Caracteres Especiais (!@#$%^&*)" + }, "numWords": { "message": "Número de palavras" }, @@ -308,8 +338,8 @@ "browserNotSupportClipboard": { "message": "O seu navegador web não suporta cópia fácil da área de transferência. Em alternativa, copie manualmente." }, - "verifyMasterPassword": { - "message": "Verificar palavra-passe mestra" + "verifyIdentity": { + "message": "Verificar Identidade" }, "yourVaultIsLocked": { "message": "O seu cofre está bloqueado. Verifique a sua palavra-passe mestra para continuar." @@ -376,7 +406,7 @@ "message": "Quando o sistema está bloqueado" }, "onRestart": { - "message": "Quando reiniciar o navegador" + "message": "Ao reiniciar o sistema" }, "never": { "message": "Nunca" @@ -393,11 +423,14 @@ "invalidEmail": { "message": "Endereço de email inválido." }, - "masterPassRequired": { - "message": "A palavra-passe mestra é requerida." + "masterPasswordRequired": { + "message": "A palavra-passe mestra é necessária." }, - "masterPassLength": { - "message": "A palavra-passe mestra tem de ter pelo menos 8 caracteres." + "confirmMasterPasswordRequired": { + "message": "É necessário reescrever a palavra-passe mestra." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "A confirmação da palavra-passe mestra não corresponde." @@ -411,6 +444,9 @@ "verificationCodeRequired": { "message": "O código de verificação é requerido." }, + "invalidVerificationCode": { + "message": "Código de verificação inválido" + }, "valueCopied": { "message": "$VALUE$ copiado(a)", "description": "Value has been copied to the clipboard.", @@ -515,6 +551,12 @@ "overwritePasswordConfirmation": { "message": "Tem a certeza de que pretende sobreescrever a palavra-passe atual?" }, + "overwriteUsername": { + "message": "Sobrescrever Nome de Utilizador" + }, + "overwriteUsernameConfirmation": { + "message": "Tem a certeza de que deseja sobrescrever o nome de utilizador atual?" + }, "searchFolder": { "message": "Pesquisar pasta" }, @@ -528,23 +570,23 @@ "message": "Nenhuma pasta", "description": "This is the folder for uncategorized items" }, - "disableAddLoginNotification": { - "message": "Desativar notificação de adicionar credencial" + "enableAddLoginNotification": { + "message": "Ask to add login" }, "addLoginNotificationDesc": { "message": "A \"notificação de adicionar credencial\" solicita-lhe automaticamente a guardar novas credenciais para o seu cofre quando inicia sessão nas mesmas pela primeira vez." }, - "dontShowCardsCurrentTab": { - "message": "Não mostrar cartões na página do separador" + "showCardsCurrentTab": { + "message": "Show cards on Tab page" }, - "dontShowCardsCurrentTabDesc": { - "message": "Os itens de cartões do seu cofre estão listados na página 'Separador atual' para acesso de auto-preenchimento fácil." + "showCardsCurrentTabDesc": { + "message": "List card items on the Tab page for easy auto-fill." }, - "dontShowIdentitiesCurrentTab": { - "message": "Não mostrar identidades na página do separador" + "showIdentitiesCurrentTab": { + "message": "Show identities on Tab page" }, - "dontShowIdentitiesCurrentTabDesc": { - "message": "Os itens de identidades do seu cofre estão listados na página 'Separador atual' para acesso de auto-preenchimento fácil." + "showIdentitiesCurrentTabDesc": { + "message": "List identity items on the Tab page for easy auto-fill." }, "clearClipboard": { "message": "Limpar área de transferência", @@ -560,14 +602,11 @@ "notificationAddSave": { "message": "Sim, guardar agora" }, - "notificationNeverSave": { - "message": "Nunca para este site" + "enableChangedPasswordNotification": { + "message": "Ask to update existing login" }, - "disableChangedPasswordNotification": { - "message": "Desativar notificação de palavra-passe alterada" - }, - "disableChangedPasswordNotificationDesc": { - "message": "A \"notificação de palavra-passe alterada\" solicita-lhe automaticamente para atualizar a palavra-passe de uma credencial no seu cofre quando deteta que a alterou num website." + "changedPasswordNotificationDesc": { + "message": "Ask to update a login's password when a change is detected on a website." }, "notificationChangeDesc": { "message": "Pretende atualizar esta palavra-passe no Bitwarden?" @@ -575,11 +614,11 @@ "notificationChangeSave": { "message": "Sim, atualizar agora" }, - "disableContextMenuItem": { - "message": "Desativar opções do menu de contexto" + "enableContextMenuItem": { + "message": "Show context menu options" }, - "disableContextMenuItemDesc": { - "message": "As opções do menu de contexto providenciam acesso rápido à geração de palavras-passe e credenciais para o website no seu separador atual." + "contextMenuItemDesc": { + "message": "Use a secondary click to access password generation and matching logins for the website. " }, "defaultUriMatchDetection": { "message": "Deteção de correspondência de URI predefinida", @@ -603,7 +642,7 @@ "description": "Light color" }, "solarizedDark": { - "message": "Solarized Dark", + "message": "Solarized escuro", "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated." }, "exportVault": { @@ -617,16 +656,16 @@ "description": "WARNING (should stay in capitalized letters if the language permits)" }, "confirmVaultExport": { - "message": "Confirm Vault Export" + "message": "Confirmar exportação de cofre" }, "exportWarningDesc": { "message": "Esta exportação contém os seus dados do cofre num formato desencriptado. Não deve armazenar ou enviar o ficheiro exportado através de canais inseguros (como email). Apague-a imediatamente após a utilizar." }, "encExportKeyWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + "message": "Esta exportação cifra os seus dados utilizando a chave de cifragem da sua conta. Se alguma vez mudar a chave de cifragem da sua conta, deve fazer a exportação novamente, já que não conseguirá decifrar este ficheiro de exportação." }, "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": "As chaves de encriptação de conta são únicas para cada conta de utilizador Bitwarden, pelo que não se pode importar uma exportação encriptada para uma conta diferente." }, "exportMasterPassword": { "message": "Introduza a sua palavra-passe mestra para exportar os dados do seu cofre." @@ -635,19 +674,19 @@ "message": "Partilhado" }, "learnOrg": { - "message": "Learn about Organizations" + "message": "Saiba mais sobre as Organizações" }, "learnOrgConfirmation": { - "message": "Bitwarden allows you to share your vault items with others by using an organization. Would you like to visit the bitwarden.com website to learn more?" + "message": "O Bitwarden permite que você compartilhe os itens do seu cofre com outras pessoas usando uma organização. Gostaria de visitar o site bitwarden.com para saber mais?" }, "moveToOrganization": { - "message": "Move to Organization" + "message": "Mudança para Organização" }, "share": { "message": "Partilhar" }, "movedItemToOrg": { - "message": "$ITEMNAME$ moved to $ORGNAME$", + "message": "$ITEMNAME$ movido para $ORGNAME$", "placeholders": { "itemname": { "content": "$1", @@ -660,7 +699,7 @@ } }, "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": "Escolha uma organização para a qual deseja mover este item. A mudança para uma organização transfere a propriedade do item para essa organização. Deixará de ser o proprietário directo deste item uma vez que tenha sido movido." }, "learnMore": { "message": "Saber mais" @@ -770,14 +809,14 @@ "refreshComplete": { "message": "Atualização completada" }, - "disableAutoTotpCopy": { - "message": "Desativar cópia automática de TOTP" + "enableAutoTotpCopy": { + "message": "Copy TOTP automatically" }, "disableAutoTotpCopyDesc": { - "message": "Se a sua credencial tem uma chave de autenticador anexada à mesma, o código de verificação TOTP é copiado automaticamente para a sua área de transferência quando quer que auto-preencha a credencial." + "message": "Se o seu início de sessão tem uma chave de autenticador anexada ao mesmo, o código de verificação TOTP é copiado automaticamente para a sua área de transferência quando quer que auto-preencha o início de sessão." }, - "disableAutoBiometricsPrompt": { - "message": "Do not prompt for biometrics on launch" + "enableAutoBiometricsPrompt": { + "message": "Ask for biometrics on launch" }, "premiumRequired": { "message": "Premium requerido" @@ -822,13 +861,13 @@ "message": "Introduza a sua chave de segurança na porta USB do seu computador. Se tiver um botão, toque no mesmo." }, "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": "Para iniciar a verificação WebAuthn 2FA. Clique no botão abaixo para abrir um novo separador e siga as instruções fornecidas no novo separador." }, "webAuthnNewTabOpen": { - "message": "Open new tab" + "message": "Abrir novo separador" }, "webAuthnAuthenticate": { - "message": "Authenticate WebAuthn" + "message": "Autenticar WebAuthn" }, "loginUnavailable": { "message": "Início de sessão indisponível" @@ -873,7 +912,7 @@ "message": "FIDO2 WebAuthn" }, "webAuthnDesc": { - "message": "Use any WebAuthn enabled security key to access your account." + "message": "Utilize qualquer chave de segurança ativada pela WebAuthn para aceder à sua conta." }, "emailTitle": { "message": "Email" @@ -918,28 +957,28 @@ "message": "Ativar auto-preenchimento no carregar da página" }, "enableAutoFillOnPageLoadDesc": { - "message": "Se um formulário de início de sessão for detetado, realizar automaticamente um auto-preenchimento quando a página web carregar." + "message": "Se um formulário de início de sessão foram detetado, realizar automaticamente um auto-preenchimento quando a página web carregar." }, "experimentalFeature": { "message": "Esta é atualmente uma funcionalidade experimental. Utilize por sua conta e risco." }, "defaultAutoFillOnPageLoad": { - "message": "Default autofill setting for login items" + "message": "Predefinição padrão de preenchimento automático para itens de login" }, "defaultAutoFillOnPageLoadDesc": { - "message": "After enabling Auto-fill on Page Load, you can enable or disable the feature for individual login items. This is the default setting for login items that are not separately configured." + "message": "Depois de activar o preenchimento automático no carregamento da página, pode activar ou desactivar a função de itens de início de sessão individuais. Esta é a configuração padrão para os itens de início de sessão que não estão configurados separadamente." }, "itemAutoFillOnPageLoad": { - "message": "Auto-fill on Page Load (if enabled in Options)" + "message": "Preenchimento automático no carregamento da página (se ativado em Opções)" }, "autoFillOnPageLoadUseDefault": { - "message": "Use default setting" + "message": "Usar padrão" }, "autoFillOnPageLoadYes": { - "message": "Auto-fill on page load" + "message": "Preenchimento automático na carga da página" }, "autoFillOnPageLoadNo": { - "message": "Do not auto-fill on page load" + "message": "Não preencher automaticamente no carregamento da página" }, "commandOpenPopup": { "message": "Abrir popup do cofre" @@ -956,8 +995,8 @@ "commandLockVaultDesc": { "message": "Bloquear o cofre" }, - "privateModeMessage": { - "message": "Infelizmente esta janela não está disponível no modo privado para este navegador." + "privateModeWarning": { + "message": "O suporte do modo privado é experimental e alguns recursos são limitados." }, "customFields": { "message": "Campos personalizados" @@ -983,23 +1022,31 @@ "cfTypeBoolean": { "message": "Booleano" }, + "cfTypeLinked": { + "message": "Ligado", + "description": "This describes a field that is 'linked' (tied) to another field." + }, + "linkedValue": { + "message": "Valor vinculado", + "description": "This describes a value that is 'linked' (tied) to another value." + }, "popup2faCloseMessage": { "message": "Clicar fora da janela popup para verificar o seu email pelo código de verificação irá causar com que este popup feche. Deseja abrir este popup numa nova janela para que este não se feche?" }, "popupU2fCloseMessage": { "message": "Este navegador não pode processar solicitações U2F nesta janela popup. Pretende abrir este popup numa nova janela para que inicie sessão utilizando U2F?" }, - "disableFavicon": { - "message": "Desativar ícones de websites" + "enableFavicon": { + "message": "Show website icons" }, - "disableFaviconDesc": { - "message": "Os ícones de websites providenciam uma imagem reconhecível ao lado de cada item de credencial no seu cofre." + "faviconDesc": { + "message": "Show a recognizable image next to each login." }, - "disableBadgeCounter": { - "message": "Disable Badge Counter" + "enableBadgeCounter": { + "message": "Show badge counter" }, - "disableBadgeCounterDesc": { - "message": "Badge counter indicates how many logins you have for the current page in your vault." + "badgeCounterDesc": { + "message": "Indicate how many logins you have for the current web page." }, "cardholderName": { "message": "Titular do cartão" @@ -1085,6 +1132,9 @@ "lastName": { "message": "Último nome" }, + "fullName": { + "message": "Nome Completo" + }, "identityName": { "message": "Nome de identidade" }, @@ -1198,7 +1248,12 @@ "message": "Esta palavra-passe não foi encontrada em nenhuma brecha de dados conhecida. Esta deve ser segura de utilizar." }, "baseDomain": { - "message": "Domínio base" + "message": "Domínio base", + "description": "Domain name. Ex. website.com" + }, + "domainName": { + "message": "Nome do Domínio", + "description": "Domain name. Ex. website.com" }, "host": { "message": "Servidor", @@ -1257,7 +1312,7 @@ "description": "ex. Date this item was updated" }, "datePasswordUpdated": { - "message": "Palavra passe atualizada", + "message": "Palavra-passe atualizada", "description": "ex. Date this password was updated" }, "neverLockWarning": { @@ -1309,20 +1364,14 @@ "invalidPin": { "message": "Código PIN inválido." }, - "verifyPin": { - "message": "Verificar PIN" - }, - "yourVaultIsLockedPinCode": { - "message": "O seu cofre está bloqueado. Verifique o seu PIN para continuar." - }, "unlockWithBiometrics": { - "message": "Unlock with biometrics" + "message": "Desbloquear com biométricos" }, "awaitDesktop": { - "message": "Awaiting confirmation from desktop" + "message": "A aguardar confirmação do seu computador" }, "awaitDesktopDesc": { - "message": "Please confirm using biometrics in the Bitwarden Desktop application to enable biometrics for browser." + "message": "Por favor, confirme o uso de dados biométricos na aplicação Bitwarden Desktop para habilitar os dados biométricos do navegador." }, "lockWithMasterPassOnRestart": { "message": "Bloquear com palavra-passe mestra quando reiniciar o navegador" @@ -1434,8 +1483,8 @@ "acceptPolicies": { "message": "Ao marcar esta caixa concorda com o seguinte:" }, - "acceptPoliciesError": { - "message": "Os Termos de Serviço e a Política de Privacidade não foram aceites." + "acceptPoliciesRequired": { + "message": "Os Termos de Serviço e a Política de Privacidade não foram reconhecidos." }, "termsOfService": { "message": "Termos de serviço" @@ -1444,28 +1493,28 @@ "message": "Política de privacidade" }, "hintEqualsPassword": { - "message": "Your password hint cannot be the same as your password." + "message": "A dica da sua senha não pode ser igual à senha." }, "ok": { "message": "Ok" }, "desktopSyncVerificationTitle": { - "message": "Desktop sync verification" + "message": "Verificação de sincronização do ambiente de trabalho" }, "desktopIntegrationVerificationText": { - "message": "Please verify that the desktop application shows this fingerprint: " + "message": "Por favor, verifique se a aplicação no computador mostra esta impressão digital: " }, "desktopIntegrationDisabledTitle": { - "message": "Browser integration is not enabled" + "message": "Integração com o navegador não está ativada" }, "desktopIntegrationDisabledDesc": { - "message": "Browser integration is not enabled in the Bitwarden Desktop application. Please enable it in the settings within the desktop application." + "message": "A integração com o navegador não está habilitada no aplicativo Bitwarden Desktop. Por favor, habilite-o nas configurações da aplicação para computador." }, "startDesktopTitle": { - "message": "Start the Bitwarden Desktop application" + "message": "Iniciar a aplicação Bitwarden Desktop" }, "startDesktopDesc": { - "message": "The Bitwarden Desktop application needs to be started before this function can be used." + "message": "The Bitwarden Desktop application needs to be started before unlock with biometrics can be used." }, "errorEnableBiometricTitle": { "message": "Unable to enable biometrics" @@ -1516,7 +1565,7 @@ "message": "An organization policy is affecting your ownership options." }, "excludedDomains": { - "message": "Excluded Domains" + "message": "Excluded domains" }, "excludedDomainsDesc": { "message": "Bitwarden will not ask to save login details for these domains. You must refresh the page for changes to take effect." @@ -1531,15 +1580,15 @@ } }, "send": { - "message": "Send", + "message": "Envio", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "searchSends": { - "message": "Search Sends", + "message": "Pesquisar Envios", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "addSend": { - "message": "Add Send", + "message": "Adicionar Envio", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendTypeText": { @@ -1549,20 +1598,21 @@ "message": "Ficheiro" }, "allSends": { - "message": "All Sends", + "message": "Todos os Envios", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCountReached": { - "message": "Max access count reached" + "message": "Número de acessos máximo atingido", + "description": "This text will be displayed after a Send has been accessed the maximum amount of times." }, "expired": { - "message": "Expired" + "message": "Expirado" }, "pendingDeletion": { - "message": "Pending deletion" + "message": "Remoção pendente" }, "passwordProtected": { - "message": "Password protected" + "message": "Protegido por senha" }, "copySendLink": { "message": "Copiar Send link", @@ -1575,47 +1625,47 @@ "message": "Eliminar" }, "removedPassword": { - "message": "Palavra-passe removida" + "message": "Senha removida" }, "deletedSend": { - "message": "Deleted Send", + "message": "Envio eliminado", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendLink": { - "message": "Send link", + "message": "Link de Envio", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "Desabilitado" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "Tem a certeza que pretende remover a senha?" }, "deleteSend": { - "message": "Delete Send", + "message": "Eliminar Envio", "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": "Tem a certeza que pretende eliminar este Envio?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "Editar Envio", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendTypeHeader": { - "message": "What type of Send is this?", + "message": "Que tipo de Envio é este?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNameDesc": { - "message": "A friendly name to describe this Send.", + "message": "Um nome amigável para descrever este Envio.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendFileDesc": { - "message": "The file you want to send." + "message": "O ficheiro que deseja enviar." }, "deletionDate": { - "message": "Deletion Date" + "message": "Data de eliminação" }, "deletionDateDesc": { "message": "The Send will be permanently deleted on the specified date and time.", @@ -1709,37 +1759,37 @@ "message": "In order to choose a file using Safari, pop out to a new window by clicking this banner." }, "sendFileCalloutHeader": { - "message": "Before you start" + "message": "Antes de começar" }, "sendFirefoxCustomDatePopoutMessage1": { - "message": "To use a calendar style date picker", + "message": "Para usar um seletor de data no estilo de calendário", "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read '**To use a calendar style date picker ** click here to pop out your window.'" }, "sendFirefoxCustomDatePopoutMessage2": { - "message": "click here", + "message": "clique aqui", "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'To use a calendar style date picker **click here** to pop out your window.'" }, "sendFirefoxCustomDatePopoutMessage3": { - "message": "to pop out your window.", + "message": "Para abrir em janela.", "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'To use a calendar style date picker click here **to pop out your window.**'" }, "expirationDateIsInvalid": { - "message": "The expiration date provided is not valid." + "message": "A data de validade fornecida não é válida." }, "deletionDateIsInvalid": { - "message": "The deletion date provided is not valid." + "message": "A data de eliminação fornecida não é válida." }, "expirationDateAndTimeRequired": { - "message": "An expiration date and time are required." + "message": "Uma data de validade e uma hora são obrigatórias." }, "deletionDateAndTimeRequired": { - "message": "A deletion date and time are required." + "message": "Uma data de eliminação e uma hora são obrigatórias." }, "dateParsingError": { - "message": "There was an error saving your deletion and expiration dates." + "message": "Ocorreu um erro ao guardar a sua exclusão e datas de validade." }, "hideEmail": { - "message": "Hide my email address from recipients." + "message": "Ocultar o meu endereço de correio eletrónico dos destinatários." }, "sendOptionsPolicyInEffect": { "message": "One or more organization policies are affecting your Send options." @@ -1760,31 +1810,31 @@ "message": "You must verify your email to use this feature. You can verify your email in the web vault." }, "updatedMasterPassword": { - "message": "Updated Master Password" + "message": "Palavra-passe Mestra Atualizada" }, "updateMasterPassword": { - "message": "Update Master Password" + "message": "Atualizar Senha Mestra" }, "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." }, "resetPasswordPolicyAutoEnroll": { - "message": "Automatic Enrollment" + "message": "Inscrição Automática" }, "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." }, "selectFolder": { - "message": "Select folder..." + "message": "Seleccionar pasta..." }, "ssoCompleteRegistration": { "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." }, "hours": { - "message": "Hours" + "message": "Horas" }, "minutes": { - "message": "Minutes" + "message": "Minutos" }, "vaultTimeoutPolicyInEffect": { "message": "Your organization policies are affecting your vault timeout. Maximum allowed Vault Timeout is $HOURS$ hour(s) and $MINUTES$ minute(s)", @@ -1799,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1813,5 +1863,115 @@ }, "copyCustomFieldNameNotUnique": { "message": "No unique identifier found." + }, + "convertOrganizationEncryptionDesc": { + "message": "$ORGANIZATION$ is using SSO with a self-hosted key server. A master password is no longer required to log in for members of this organization.", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, + "leaveOrganization": { + "message": "Deixar a Organização" + }, + "removeMasterPassword": { + "message": "Remover Senha Mestra" + }, + "removedMasterPassword": { + "message": "Senha mestra removida." + }, + "leaveOrganizationConfirmation": { + "message": "Tem a certeza de que pretende sair desta organização?" + }, + "leftOrganization": { + "message": "Saiu da organização." + }, + "toggleCharacterCount": { + "message": "Toggle character count" + }, + "sessionTimeout": { + "message": "A sua sessão expirou. Por favor, volte atrás e tente iniciar sessão novamente." + }, + "exportingPersonalVaultTitle": { + "message": "A Exportar Cofre Pessoal" + }, + "exportingPersonalVaultDescription": { + "message": "Apenas os itens do cofre pessoal associado ao $EMAIL$ serão exportados. Os itens do cofre da organização não serão incluídos.", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, + "error": { + "message": "Erro" + }, + "regenerateUsername": { + "message": "Regerar Nome de Utilizador" + }, + "generateUsername": { + "message": "Gerar Nome de Utilizador" + }, + "usernameType": { + "message": "Tipo de Nome de Utilizador" + }, + "plusAddressedEmail": { + "message": "Plus Addressed Email", + "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." + }, + "catchallEmail": { + "message": "Catch-all Email" + }, + "catchallEmailDesc": { + "message": "Use your domain's configured catch-all inbox." + }, + "random": { + "message": "Aleatório" + }, + "randomWord": { + "message": "Palavra Aleatória" + }, + "websiteName": { + "message": "Nome do Site" + }, + "whatWouldYouLikeToGenerate": { + "message": "O que desejaria de gerar?" + }, + "passwordType": { + "message": "Tipo de Palavra-passe" + }, + "service": { + "message": "Serviço" + }, + "forwardedEmail": { + "message": "Forwarded Email Alias" + }, + "forwardedEmailDesc": { + "message": "Generate an email alias with an external forwarding service." + }, + "hostname": { + "message": "Hostname", + "description": "Part of a URL." + }, + "apiAccessToken": { + "message": "Token de acesso da API" + }, + "apiKey": { + "message": "Chave da API" + }, + "ssoKeyConnectorError": { + "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/ro/messages.json b/apps/browser/src/_locales/ro/messages.json index a260f46af95..e2a9080d648 100644 --- a/apps/browser/src/_locales/ro/messages.json +++ b/apps/browser/src/_locales/ro/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Adresă de e-mail greșită." }, - "masterPassRequired": { - "message": "Este necesară parola principală." + "masterPasswordRequired": { + "message": "Este necesară o parolă principală." }, - "masterPassLength": { - "message": "Parola principală trebuie să conțină minimum 8 caractere." + "confirmMasterPasswordRequired": { + "message": "Este necesară rescrierea parolei principale." + }, + "masterPasswordMinlength": { + "message": "Parola principală trebuie să aibă cel puțin 8 caractere." }, "masterPassDoesntMatch": { "message": "Parola principală și confirmarea ei nu coincid!" @@ -568,7 +571,7 @@ "description": "This is the folder for uncategorized items" }, "enableAddLoginNotification": { - "message": "Solicitați adăugarea autentificării" + "message": "Solicitare de adăugare cont" }, "addLoginNotificationDesc": { "message": "Solicitați adăugarea unui element dacă nu se găsește unul în seif." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Dacă bifați această casetă sunteți de acord cu următoarele:" }, - "acceptPoliciesError": { - "message": "Termenii de utilizare și Politica de confidențialitate nu au fost recunoscute." + "acceptPoliciesRequired": { + "message": "Termeni de utilizare și Politica de confidențialitate nu au fost recunoscute." }, "termsOfService": { "message": "Termeni de utilizare" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Timpul de expirare a seifului depășește restricțiile stabilite de organizația dvs." + "vaultTimeoutTooLarge": { + "message": "Timpul de expirare al seifului depășește restricțiile stabilite de organizația dvs." }, "vaultExportDisabled": { "message": "Export de seif dezactivat" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Eroare de Conector Cheie: asigurați-vă că aveți conectorul Cheie disponibil și că funcționează corect." + }, + "organizationIsDisabled": { + "message": "Organizația este dezactivată." + }, + "disabledOrganizationFilterError": { + "message": "Articolele din Organizațiile dezactivate nu pot fi accesate. Contactați proprietarul Organizației pentru asistență." } } diff --git a/apps/browser/src/_locales/ru/messages.json b/apps/browser/src/_locales/ru/messages.json index d507c95aa64..12da8e6e50f 100644 --- a/apps/browser/src/_locales/ru/messages.json +++ b/apps/browser/src/_locales/ru/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Неверный адрес email." }, - "masterPassRequired": { - "message": "Необходимо ввести мастер-пароль." + "masterPasswordRequired": { + "message": "Требуется мастер-пароль." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Необходимо повторно ввести мастер-пароль." + }, + "masterPasswordMinlength": { "message": "Мастер-пароль должен содержать не менее 8 символов." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Отметив этот флажок, вы соглашаетесь со следующим:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Условия предоставления услуг и Политика конфиденциальности не были подтверждены." }, "termsOfService": { @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Время ожидания превышает ограничения, установленные вашей организацией." + "vaultTimeoutTooLarge": { + "message": "Тайм-аут вашего хранилища превышает ограничения, установленные вашей организацией." }, "vaultExportDisabled": { "message": "Экспорт хранилища отключен" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Ошибка соединителя ключей: убедитесь, что он доступен и работает корректно." + }, + "organizationIsDisabled": { + "message": "Организация отключена." + }, + "disabledOrganizationFilterError": { + "message": "Доступ к элементам в отключенных организациях невозможен. Обратитесь за помощью к владельцу организации." } } diff --git a/apps/browser/src/_locales/si/messages.json b/apps/browser/src/_locales/si/messages.json index 5849355ecbf..4654f89aec9 100644 --- a/apps/browser/src/_locales/si/messages.json +++ b/apps/browser/src/_locales/si/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "වලංගු නොවන විද්යුත් තැපැල් ලිපිනය." }, - "masterPassRequired": { - "message": "ප්රධාන මුරපදය අවශ්ය වේ." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "ප්රධාන මුරපදය අවම වශයෙන් අක්ෂර 8 ක් දිගු විය යුතුය." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "ප්රධාන මුරපදය තහවුරු කිරීම නොගැලපේ." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "මෙම කොටුව පරීක්ෂා කිරීමෙන් ඔබ පහත සඳහන් දෑ වලට එකඟ වේ:" }, - "acceptPoliciesError": { - "message": "සේවා කොන්දේසි සහ රහස්යතා ප්රතිපත්තිය පිළිගෙන නොමැත." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "සේවා කොන්දේසි" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "ඔබේ සුරක්ෂිතාගාරය කාලය ඔබේ සංවිධානය විසින් නියම කර ඇති සීමාවන් ඉක්මවා යයි." + "vaultTimeoutTooLarge": { + "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { "message": "ආබාධිත අපනයන සුරක්ෂිතාගාරය" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/sk/messages.json b/apps/browser/src/_locales/sk/messages.json index 7afc581fdc1..f9d72f35bce 100644 --- a/apps/browser/src/_locales/sk/messages.json +++ b/apps/browser/src/_locales/sk/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Neplatná emailová adresa." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Hlavné heslo je povinné." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Vyžaduje sa opätovné zadanie hlavného hesla." + }, + "masterPasswordMinlength": { "message": "Hlavné heslo musí obsahovať aspoň 8 znakov." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Označením tohto políčka súhlasíte s nasledovným:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Neboli akceptované Podmienky používania a zásady Ochrany osobných údajov." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Časový limit vášho trezora prekračuje obmedzenia nastavené vašou organizáciou." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Chyba Key Connector: uistite sa, že je Key Connector k dispozícii a funguje správne." + }, + "organizationIsDisabled": { + "message": "Organizácia je vypnutá." + }, + "disabledOrganizationFilterError": { + "message": "K položkám vo vypnutej organizácii nie je možné pristupovať. Požiadajte o pomoc vlastníka organizácie." } } diff --git a/apps/browser/src/_locales/sl/messages.json b/apps/browser/src/_locales/sl/messages.json index 814776b346a..07c962abf4b 100644 --- a/apps/browser/src/_locales/sl/messages.json +++ b/apps/browser/src/_locales/sl/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Neveljaven epoštni naslov." }, - "masterPassRequired": { - "message": "Glavno geslo je obvezno." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Glavno geslo mora biti dolgo najmanj 8 znakov." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Potrditev glavnega gesla se ne ujema." @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/sr/messages.json b/apps/browser/src/_locales/sr/messages.json index 40722a4da8e..613c6b3725e 100644 --- a/apps/browser/src/_locales/sr/messages.json +++ b/apps/browser/src/_locales/sr/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Неисправан имејл." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Главна Лозинка је неопходна." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Поновно уписивање главне лозинке је неопходно." + }, + "masterPasswordMinlength": { "message": "Главна Лозинка треба имати бар 8 знака." }, "masterPassDoesntMatch": { @@ -568,22 +571,22 @@ "description": "This is the folder for uncategorized items" }, "enableAddLoginNotification": { - "message": "Ask to add login" + "message": "Питај пре додавања" }, "addLoginNotificationDesc": { "message": "„Нотификације Додај Лозинку“ аутоматски тражи да сачувате нове пријаве у сефу кад год се први пут пријавите на њих." }, "showCardsCurrentTab": { - "message": "Show cards on Tab page" + "message": "Прикажи кредитне картице на страници картице" }, "showCardsCurrentTabDesc": { - "message": "List card items on the Tab page for easy auto-fill." + "message": "Прикажи ставке кредитних картица на страници картице за лакше аутоматско допуњавање." }, "showIdentitiesCurrentTab": { - "message": "Show identities on Tab page" + "message": "Прикажи идентитете на страници" }, "showIdentitiesCurrentTabDesc": { - "message": "List identity items on the Tab page for easy auto-fill." + "message": "Прикажи ставке идентитета на страници за лакше аутоматско допуњавање." }, "clearClipboard": { "message": "Обриши привремену меморију", @@ -600,10 +603,10 @@ "message": "Сачувај" }, "enableChangedPasswordNotification": { - "message": "Ask to update existing login" + "message": "Питај за ажурирање постојеће пријаве" }, "changedPasswordNotificationDesc": { - "message": "Ask to update a login's password when a change is detected on a website." + "message": "Прикажи потврду за ажурирање тренутне лозинке за пријаву када се промена препозна на Web страници." }, "notificationChangeDesc": { "message": "Да ли желите да ажурирате ову лозинку за Bitwarden?" @@ -612,10 +615,10 @@ "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": "Користите други клик за приступање генерисању лозинки и пријавама за тренутну web страницу. " }, "defaultUriMatchDetection": { "message": "Стандардно налажење УРЛ", @@ -807,13 +810,13 @@ "message": "Освежавање је завршено" }, "enableAutoTotpCopy": { - "message": "Copy TOTP automatically" + "message": "Аутоматски копирај једнократни код" }, "disableAutoTotpCopyDesc": { "message": "Ако је за вашу пријаву приложен аутентификациони кључ, једнократни код се аутоматски копира у вашој привременој меморији кад год ауто-попуните пријаву." }, "enableAutoBiometricsPrompt": { - "message": "Ask for biometrics on launch" + "message": "Захтевај биометрију при покретању" }, "premiumRequired": { "message": "Потребан Премијум" @@ -1034,16 +1037,16 @@ "message": "Овај прегледач не може да обрађује U2F захтеве у овом искачућем прозору. Да ли желите да отворите овај искачући прозор у новом прозору како бисте могли да се пријавите користећи U2F?" }, "enableFavicon": { - "message": "Show website icons" + "message": "Прикажи иконе сајтова" }, "faviconDesc": { - "message": "Show a recognizable image next to each login." + "message": "Прикажи препознатљиву слику поред сваке ставке за пријаву." }, "enableBadgeCounter": { - "message": "Show badge counter" + "message": "Прикажи бедж са бројачем" }, "badgeCounterDesc": { - "message": "Indicate how many logins you have for the current web page." + "message": "Означи број пријава које се могу користити на тренутној Web страници." }, "cardholderName": { "message": "Име Власника Картице" @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Означавањем овог поља пристајете на следеће:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Услови услуге и Политика приватности нису прихваћени." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Време истека вашег сефа је премашило дозвољена ограничења од стране ваше организације." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector грешка: будите сигурни да је Key Connector доступан и да ради." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/sv/messages.json b/apps/browser/src/_locales/sv/messages.json index 3ea4caa0ed1..71e31d658df 100644 --- a/apps/browser/src/_locales/sv/messages.json +++ b/apps/browser/src/_locales/sv/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Ogiltig e-postadress." }, - "masterPassRequired": { - "message": "Huvudlösenord krävs." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Huvudlösenordet måste vara minst 8 tecken långt." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Bekräftelsen för huvudlösenordet stämde ej." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Genom att markera denna ruta godkänner du följande:" }, - "acceptPoliciesError": { - "message": "Användarvillkoren och Integritetspolicyn har inte accepterats." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Användarvillkor" @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "Ditt valvs tid för timeout överskrider de begränsningar som fastställts av din organisation." + "vaultTimeoutTooLarge": { + "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { "message": "Valvexport inaktiverad" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector-fel: säkerställ att Key Connector är tillgänglig och fungerar korrekt." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/th/messages.json b/apps/browser/src/_locales/th/messages.json index ebf4779b11a..eefce558bca 100644 --- a/apps/browser/src/_locales/th/messages.json +++ b/apps/browser/src/_locales/th/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "ที่อยู่อีเมลไม่ถูกต้อง" }, - "masterPassRequired": { - "message": "ต้องระบุรหัสผ่านหลัก" + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "รหัสผ่านหลักต้องมีความยาวอย่างน้อย 8 อักขระ" + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Master password confirmation does not match." @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "By checking this box you agree to the following:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/tr/messages.json b/apps/browser/src/_locales/tr/messages.json index c44e99086c1..b2b78e70ace 100644 --- a/apps/browser/src/_locales/tr/messages.json +++ b/apps/browser/src/_locales/tr/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "Geçersiz e-posta adresi." }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "Ana parola gereklidir." }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "Ana parolayı yeniden yazmalısınız." + }, + "masterPasswordMinlength": { "message": "Ana parola en az 8 karakter uzunluğunda olmalıdır." }, "masterPassDoesntMatch": { @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "Bu kutuyu işaretleyerek aşağıdakileri kabul etmiş olursunuz:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "Hizmet Koşulları ve Gizlilik Politikası kabul edilmemiş." }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Kasa zaman aşımınız, kuruluşunuz tarafından belirlenen kısıtlamaları aşıyor." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Anahtar Bağlayıcı hatası: Anahtar Bağlayıcının mevcut olduğundan ve doğru çalıştığından emin olun." + }, + "organizationIsDisabled": { + "message": "Kuruluş devre dışı." + }, + "disabledOrganizationFilterError": { + "message": "Devre dışı kuruluşlardaki kayıtlara erişilemez. Destek almak için kuruluş sahibinizle iletişime geçin." } } diff --git a/apps/browser/src/_locales/uk/messages.json b/apps/browser/src/_locales/uk/messages.json index 13dda620af0..7ba06675c39 100644 --- a/apps/browser/src/_locales/uk/messages.json +++ b/apps/browser/src/_locales/uk/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Неправильна адреса е-пошти." }, - "masterPassRequired": { - "message": "Потрібен головний пароль." + "masterPasswordRequired": { + "message": "Необхідно ввести головний пароль." }, - "masterPassLength": { - "message": "Довжина головного пароля повинна бути не менше 8 символів." + "confirmMasterPasswordRequired": { + "message": "Необхідно повторно ввести головний пароль." + }, + "masterPasswordMinlength": { + "message": "Довжина головного пароля має бути принаймні 8 символів." }, "masterPassDoesntMatch": { "message": "Підтвердження головного пароля не збігається." @@ -594,7 +597,7 @@ "description": "Clipboard is the operating system thing where you copy/paste data to on your device." }, "notificationAddDesc": { - "message": "Чи повинен Bitwarden зберегти цей пароль?" + "message": "Чи має Bitwarden зберегти цей пароль?" }, "notificationAddSave": { "message": "Зберегти" @@ -643,7 +646,7 @@ "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated." }, "exportVault": { - "message": "Експорт сховища" + "message": "Експортувати сховище" }, "fileFormat": { "message": "Формат файлу" @@ -659,7 +662,7 @@ "message": "Експортовані дані вашого сховища знаходяться в незашифрованому вигляді. Вам не слід зберігати чи надсилати їх через незахищені канали (наприклад, е-поштою). Після використання негайно видаліть їх." }, "encExportKeyWarningDesc": { - "message": "Цей експорт шифрує ваші дані за допомогою ключа шифрування облікового запису. Якщо ви коли-небудь оновите ключ шифрування облікового запису, ви повинні виконати експорт знову, оскільки не зможете розшифрувати цей файл експорту." + "message": "Цей експорт шифрує ваші дані за допомогою ключа шифрування облікового запису. Якщо ви коли-небудь оновите ключ шифрування облікового запису, необхідно виконати експорт знову, оскільки не зможете розшифрувати цей файл експорту." }, "encExportAccountWarningDesc": { "message": "Ключі шифрування унікальні для кожного облікового запису користувача Bitwarden, тому ви не можете імпортувати зашифрований експорт до іншого облікового запису." @@ -810,7 +813,7 @@ "message": "Автоматично копіювати коди TOTP" }, "disableAutoTotpCopyDesc": { - "message": "Якщо ваш запис має вкладений ключ авторизації, код підтвердження TOTP автоматично копіюється до буфера обміну щоразу при автозаповненні." + "message": "Якщо запис має ключ авторизації, копіювати код підтвердження TOTP до буфера обміну під час автозаповнення." }, "enableAutoBiometricsPrompt": { "message": "Запитувати біометрію під час запуску" @@ -954,7 +957,7 @@ "message": "Автозаповнення на сторінці" }, "enableAutoFillOnPageLoadDesc": { - "message": "При виявленні форми входу виконувати автоматичне її заповнення під час завантаження сторінки." + "message": "Якщо виявлено форму входу, автоматично заповнювати її під час завантаження вебсторінки." }, "experimentalFeature": { "message": "Це експериментальна функція. При її використанні ви берете ризик на себе." @@ -963,10 +966,10 @@ "message": "Типове налаштування автозаповнення для записів входу" }, "defaultAutoFillOnPageLoadDesc": { - "message": "Після увімкнення автозаповнення на сторінці ви можете увімкнути чи вимкнути цю функцію для окремих записів входу. Це налаштування є типовим для записів входу, які не мають окремого налаштування." + "message": "Ви можете вимкнути цю функцію для окремих записів входу в меню запису \"Змінити\"." }, "itemAutoFillOnPageLoad": { - "message": "Автозаповнення на сторінці (якщо не увімкнено в налаштуваннях)" + "message": "Автозаповнення на сторінці (якщо увімкнено в налаштуваннях)" }, "autoFillOnPageLoadUseDefault": { "message": "Типове налаштування" @@ -1374,7 +1377,7 @@ "message": "Блокувати головним паролем при перезапуску браузера" }, "selectOneCollection": { - "message": "Ви повинні обрати принаймні одну збірку." + "message": "Необхідно вибрати принаймні одну збірку." }, "cloneItem": { "message": "Клонувати запис" @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Позначивши цей прапорець, ви погоджуєтеся з:" }, - "acceptPoliciesError": { - "message": "Умови користування та політика приватності не погоджені." + "acceptPoliciesRequired": { + "message": "Ви не погодилися з умовами користування та політикою приватності." }, "termsOfService": { "message": "Умови користування" @@ -1565,7 +1568,7 @@ "message": "Виключені домени" }, "excludedDomainsDesc": { - "message": "Bitwarden не запитуватиме про збереження даних входу для цих доменів. Ви повинні оновити сторінку для застосування змін." + "message": "Bitwarden не запитуватиме про збереження даних входу для цих доменів. Потрібно оновити сторінку для застосування змін." }, "excludedDomainsInvalidDomain": { "message": "$DOMAIN$ не є дійсним доменом", @@ -1813,7 +1816,7 @@ "message": "Оновити головний пароль" }, "updateMasterPasswordWarning": { - "message": "Ваш головний пароль нещодавно був змінений адміністратором організації. Щоб отримати доступ до сховища, ви повинні оновити його зараз. Продовживши, ви вийдете з поточного сеансу, після чого необхідно буде повторно виконати вхід. Сеанси на інших пристроях можуть залишатися активними протягом однієї години." + "message": "Ваш головний пароль нещодавно був змінений адміністратором організації. Щоб отримати доступ до сховища, вам необхідно оновити його зараз. Продовживши, ви вийдете з поточного сеансу, після чого потрібно буде повторно виконати вхід. Сеанси на інших пристроях можуть залишатися активними протягом однієї години." }, "resetPasswordPolicyAutoEnroll": { "message": "Автоматичне розгортання" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Час очікування сховища перевищує обмеження, встановлені вашою організацією." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Помилка Key Connector: переконайтеся, що Key Connector доступний та працює правильно." + }, + "organizationIsDisabled": { + "message": "Організацію вимкнено." + }, + "disabledOrganizationFilterError": { + "message": "Записи у вимкнених організаціях недоступні. Зверніться до власника вашої організації для отримання допомоги." } } diff --git a/apps/browser/src/_locales/vi/messages.json b/apps/browser/src/_locales/vi/messages.json index dec923fb217..3427c608402 100644 --- a/apps/browser/src/_locales/vi/messages.json +++ b/apps/browser/src/_locales/vi/messages.json @@ -423,11 +423,14 @@ "invalidEmail": { "message": "Địa chỉ email không hợp lệ." }, - "masterPassRequired": { - "message": "Mật khẩu chủ là bắt buộc." + "masterPasswordRequired": { + "message": "Master password is required." }, - "masterPassLength": { - "message": "Mật khẩu chủ phải có ít nhất 8 kí tự." + "confirmMasterPasswordRequired": { + "message": "Master password retype is required." + }, + "masterPasswordMinlength": { + "message": "Master password must be at least 8 characters long." }, "masterPassDoesntMatch": { "message": "Xác nhận mật khẩu chủ không khớp." @@ -1480,8 +1483,8 @@ "acceptPolicies": { "message": "Bạn đồng ý với những điều sau khi nhấn chọn ô này:" }, - "acceptPoliciesError": { - "message": "Điều khoản sử dụng và Chính sách quyền riêng tư chưa được đồng ý." + "acceptPoliciesRequired": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." }, "termsOfService": { "message": "Điều khoản sử dụng" @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "Your vault timeout exceeds the restrictions set by your organization." }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector error: make sure Key Connector is available and working correctly." + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "disabledOrganizationFilterError": { + "message": "Items in disabled Organizations cannot be accessed. Contact your Organization owner for assistance." } } diff --git a/apps/browser/src/_locales/zh_CN/messages.json b/apps/browser/src/_locales/zh_CN/messages.json index 41217fd6287..f3bbdb9c030 100644 --- a/apps/browser/src/_locales/zh_CN/messages.json +++ b/apps/browser/src/_locales/zh_CN/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "无效的电子邮件地址。" }, - "masterPassRequired": { + "masterPasswordRequired": { "message": "必须填写主密码。" }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "必须填写确认主密码。" + }, + "masterPasswordMinlength": { "message": "主密码至少需要 8 个字符。" }, "masterPassDoesntMatch": { @@ -568,10 +571,10 @@ "description": "This is the folder for uncategorized items" }, "enableAddLoginNotification": { - "message": "要求添加登录" + "message": "询问添加登录" }, "addLoginNotificationDesc": { - "message": "在密码库中找不到项目时询问添加一个项目。" + "message": "在密码库中找不到匹配项目时询问添加一个。" }, "showCardsCurrentTab": { "message": "在标签页上显示支付卡" @@ -600,10 +603,10 @@ "message": "保存" }, "enableChangedPasswordNotification": { - "message": "要求更新现有的登录" + "message": "询问更新现有的登录" }, "changedPasswordNotificationDesc": { - "message": "在网站上检测到更改时要求更新登录密码。" + "message": "在网站上检测到更改时询问更新登录密码。" }, "notificationChangeDesc": { "message": "是否要在 Bitwarden 中更新此密码?" @@ -615,7 +618,7 @@ "message": "显示上下文菜单选项" }, "contextMenuItemDesc": { - "message": "使用辅助点击来访问网站的密码生成和匹配登录。" + "message": "使用辅助点击来访问网站的密码生成和匹配的登录项目。 " }, "defaultUriMatchDetection": { "message": "默认 URI 匹配检测", @@ -954,7 +957,7 @@ "message": "页面加载时自动填充" }, "enableAutoFillOnPageLoadDesc": { - "message": "网页加载时如果检测到登录表单,则自动填充。" + "message": "网页加载时如果检测到登录表单,则执行自动填充。" }, "experimentalFeature": { "message": "目前这是一项实验功能。使用需自担风险。" @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "选中此框表示您同意:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "尚未同意服务条款和隐私政策。" }, "termsOfService": { @@ -1846,7 +1849,7 @@ } } }, - "vaultTimeoutToLarge": { + "vaultTimeoutTooLarge": { "message": "您的密码库超时时间超出了组织设置的限制。" }, "vaultExportDisabled": { @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector 错误:请确保 Key Connector 可用且工作正常。" + }, + "organizationIsDisabled": { + "message": "组织已被禁用。" + }, + "disabledOrganizationFilterError": { + "message": "无法访问已禁用组织中的项目。请联系您的组织所有者获取协助。" } } diff --git a/apps/browser/src/_locales/zh_TW/messages.json b/apps/browser/src/_locales/zh_TW/messages.json index 257394a02c7..43be17a775e 100644 --- a/apps/browser/src/_locales/zh_TW/messages.json +++ b/apps/browser/src/_locales/zh_TW/messages.json @@ -423,10 +423,13 @@ "invalidEmail": { "message": "無效的電子郵件地址。" }, - "masterPassRequired": { - "message": "必須填入主密碼。" + "masterPasswordRequired": { + "message": "必須填寫主密碼。" }, - "masterPassLength": { + "confirmMasterPasswordRequired": { + "message": "必須再次輸入主密碼。" + }, + "masterPasswordMinlength": { "message": "主密碼需要至少 8 個字元。" }, "masterPassDoesntMatch": { @@ -568,22 +571,22 @@ "description": "This is the folder for uncategorized items" }, "enableAddLoginNotification": { - "message": "Ask to add login" + "message": "詢問新增登入資料" }, "addLoginNotificationDesc": { - "message": "當您首次登入時,「新增登入資料通知」會自動提醒您在密碼庫中新增登入資料。" + "message": "在密碼庫中找不到相符的項目時詢問是否新增項目。" }, "showCardsCurrentTab": { "message": "於分頁頁面顯示支付卡" }, "showCardsCurrentTabDesc": { - "message": "List card items on the Tab page for easy auto-fill." + "message": "於分頁頁面顯示支付卡以便於自動填入。" }, "showIdentitiesCurrentTab": { "message": "於分頁頁面顯示身分" }, "showIdentitiesCurrentTabDesc": { - "message": "List identity items on the Tab page for easy auto-fill." + "message": "於分頁頁面顯示身分以便於自動填入。" }, "clearClipboard": { "message": "清除剪貼簿", @@ -600,10 +603,10 @@ "message": "儲存" }, "enableChangedPasswordNotification": { - "message": "Ask to update existing login" + "message": "詢問更新現有的登入資料" }, "changedPasswordNotificationDesc": { - "message": "Ask to update a login's password when a change is detected on a website." + "message": "偵測到網站密碼變更時,詢問是否更新登入資料密碼。" }, "notificationChangeDesc": { "message": "是否要在 Bitwarden 中更新此密碼?" @@ -612,10 +615,10 @@ "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": "使用輔助點選(右鍵選單)來存取網站的密碼產生和匹配的登入項目。 " }, "defaultUriMatchDetection": { "message": "預設的 URI 一致性偵測", @@ -639,7 +642,7 @@ "description": "Light color" }, "solarizedDark": { - "message": "Solarized Dark", + "message": "Solarized Dark 主題", "description": "'Solarized' is a noun and the name of a color scheme. It should not be translated." }, "exportVault": { @@ -813,7 +816,7 @@ "message": "若登入資料已包含驗證器金鑰,在自動填入此登入資料時,TOTP 驗證碼將複製至您的剪貼簿。" }, "enableAutoBiometricsPrompt": { - "message": "Ask for biometrics on launch" + "message": "啟動時要求生物特徵辨識" }, "premiumRequired": { "message": "需要進階會員資格" @@ -954,7 +957,7 @@ "message": "頁面載入時自動填入" }, "enableAutoFillOnPageLoadDesc": { - "message": "如果網頁載入時偵測到登入表單,則自動執行表單填入。" + "message": "網頁載入時如果偵測到登入表單,則執行自動填入。" }, "experimentalFeature": { "message": "這目前是一項實驗性功能。要使用需自行承擔風險。" @@ -963,7 +966,7 @@ "message": "登入項目的預設自動填入設定" }, "defaultAutoFillOnPageLoadDesc": { - "message": "啟用頁面載入時自動填入後,您可以為單個登入項目啟用或停用此功能。這是未單獨設定的登入項目的預設設定。" + "message": "您可以從項目的編輯檢視中為單個登入項目關閉頁面載入時自動填入。" }, "itemAutoFillOnPageLoad": { "message": "頁面載入時自動填入(如果選項中已啟用)" @@ -1040,10 +1043,10 @@ "message": "在每個登入資料旁顯示一個可辨識的圖片。" }, "enableBadgeCounter": { - "message": "Show badge counter" + "message": "顯示圖示計數器" }, "badgeCounterDesc": { - "message": "Indicate how many logins you have for the current web page." + "message": "顯示可用於目前網頁的登入資料數量。" }, "cardholderName": { "message": "持卡人姓名" @@ -1356,7 +1359,7 @@ "message": "設定您用來解鎖 Bitwarden 的 PIN 碼。您的 PIN 設定將在您完全登出本應用程式時被重設。" }, "pinRequired": { - "message": "需要 PIN 碼。" + "message": "必須填入 PIN 碼。" }, "invalidPin": { "message": "無效的 PIN 碼。" @@ -1480,7 +1483,7 @@ "acceptPolicies": { "message": "若選取此方塊,代表您同意下列項目:" }, - "acceptPoliciesError": { + "acceptPoliciesRequired": { "message": "尚未接受服務條款與隱私權政策。" }, "termsOfService": { @@ -1846,8 +1849,8 @@ } } }, - "vaultTimeoutToLarge": { - "message": "您的密碼庫逾時時間超過組織限制。" + "vaultTimeoutTooLarge": { + "message": "您的密碼庫逾時時間超過組織設定的限制。" }, "vaultExportDisabled": { "message": "密碼庫匯出已停用" @@ -1964,5 +1967,11 @@ }, "ssoKeyConnectorError": { "message": "Key Connector 錯誤:請確保 Key Connector 可用且運作正常。" + }, + "organizationIsDisabled": { + "message": "組織已停用。" + }, + "disabledOrganizationFilterError": { + "message": "無法存取已停用組織中的項目。請聯絡您組織的擁有者以獲取協助。" } } diff --git a/apps/browser/src/background/main.background.ts b/apps/browser/src/background/main.background.ts index 725cb1954b4..cfc66fe02bf 100644 --- a/apps/browser/src/background/main.background.ts +++ b/apps/browser/src/background/main.background.ts @@ -10,7 +10,8 @@ import { EnvironmentService as EnvironmentServiceAbstraction } from "@bitwarden/ import { EventService as EventServiceAbstraction } from "@bitwarden/common/abstractions/event.service"; import { ExportService as ExportServiceAbstraction } from "@bitwarden/common/abstractions/export.service"; import { FileUploadService as FileUploadServiceAbstraction } from "@bitwarden/common/abstractions/fileUpload.service"; -import { FolderService as FolderServiceAbstraction } from "@bitwarden/common/abstractions/folder.service"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; +import { InternalFolderService as InternalFolderServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService as I18nServiceAbstraction } from "@bitwarden/common/abstractions/i18n.service"; import { KeyConnectorService as KeyConnectorServiceAbstraction } from "@bitwarden/common/abstractions/keyConnector.service"; import { LogService as LogServiceAbstraction } from "@bitwarden/common/abstractions/log.service"; @@ -52,7 +53,8 @@ import { EnvironmentService } from "@bitwarden/common/services/environment.servi import { EventService } from "@bitwarden/common/services/event.service"; import { ExportService } from "@bitwarden/common/services/export.service"; import { FileUploadService } from "@bitwarden/common/services/fileUpload.service"; -import { FolderService } from "@bitwarden/common/services/folder.service"; +import { FolderApiService } from "@bitwarden/common/services/folder/folder-api.service"; +import { FolderService } from "@bitwarden/common/services/folder/folder.service"; import { KeyConnectorService } from "@bitwarden/common/services/keyConnector.service"; import { MemoryStorageService } from "@bitwarden/common/services/memoryStorage.service"; import { NotificationsService } from "@bitwarden/common/services/notifications.service"; @@ -118,7 +120,7 @@ export default class MainBackground { environmentService: EnvironmentServiceAbstraction; settingsService: SettingsServiceAbstraction; cipherService: CipherServiceAbstraction; - folderService: FolderServiceAbstraction; + folderService: InternalFolderServiceAbstraction; collectionService: CollectionServiceAbstraction; vaultTimeoutService: VaultTimeoutServiceAbstraction; syncService: SyncServiceAbstraction; @@ -147,6 +149,10 @@ export default class MainBackground { vaultFilterService: VaultFilterService; usernameGenerationService: UsernameGenerationServiceAbstraction; encryptService: EncryptService; + folderApiService: FolderApiServiceAbstraction; + + // Passed to the popup for Safari to workaround issues with theming, downloading, etc. + backgroundWindow = window; onUpdatedRan: boolean; onReplacedRan: boolean; @@ -266,11 +272,11 @@ export default class MainBackground { ); this.folderService = new FolderService( this.cryptoService, - this.apiService, this.i18nService, this.cipherService, this.stateService ); + this.folderApiService = new FolderApiService(this.folderService, this.apiService); this.collectionService = new CollectionService( this.cryptoService, this.i18nService, @@ -368,6 +374,7 @@ export default class MainBackground { this.stateService, this.organizationService, this.providerService, + this.folderApiService, logoutCallback ); this.eventService = new EventService( diff --git a/apps/browser/src/background/notification.background.ts b/apps/browser/src/background/notification.background.ts index b44ce820079..7cbdd0993e5 100644 --- a/apps/browser/src/background/notification.background.ts +++ b/apps/browser/src/background/notification.background.ts @@ -1,6 +1,8 @@ +import { firstValueFrom } from "rxjs"; + import { AuthService } from "@bitwarden/common/abstractions/auth.service"; import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder.service"; +import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; import { CipherType } from "@bitwarden/common/enums/cipherType"; @@ -385,7 +387,7 @@ export default class NotificationBackground { model.login = loginModel; if (!Utils.isNullOrWhitespace(folderId)) { - const folders = await this.folderService.getAllDecrypted(); + const folders = await firstValueFrom(this.folderService.folderViews$); if (folders.some((x) => x.id === folderId)) { model.folderId = folderId; } @@ -437,7 +439,7 @@ export default class NotificationBackground { private async getDataForTab(tab: chrome.tabs.Tab, responseCommand: string) { const responseData: any = {}; if (responseCommand === "notificationBarGetFoldersList") { - responseData.folders = await this.folderService.getAllDecrypted(); + responseData.folders = await firstValueFrom(this.folderService.folderViews$); } await BrowserApi.tabSendMessageData(tab, responseCommand, responseData); diff --git a/apps/browser/src/background/runtime.background.ts b/apps/browser/src/background/runtime.background.ts index 24513ed5bb2..e7e06e5c41a 100644 --- a/apps/browser/src/background/runtime.background.ts +++ b/apps/browser/src/background/runtime.background.ts @@ -143,7 +143,7 @@ export default class RuntimeBackground { tab: msg.tab, details: msg.details, }); - this.autofillTimeout = setTimeout(async () => await this.autofillPage(), 300); + this.autofillTimeout = setTimeout(async () => await this.autofillPage(msg.tab), 300); break; default: break; @@ -205,8 +205,9 @@ export default class RuntimeBackground { } } - private async autofillPage() { + private async autofillPage(tabToAutoFill: chrome.tabs.Tab) { const totpCode = await this.autofillService.doAutoFill({ + tab: tabToAutoFill, cipher: this.main.loginToAutoFill, pageDetails: this.pageDetailsToAutoFill, fillNewPassword: true, diff --git a/apps/browser/src/manifest.json b/apps/browser/src/manifest.json index 0054762b049..9e1299cf0b3 100644 --- a/apps/browser/src/manifest.json +++ b/apps/browser/src/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "__MSG_extName__", "short_name": "__MSG_appName__", - "version": "2022.6.0", + "version": "2022.6.1", "description": "__MSG_extDesc__", "default_locale": "en", "author": "Bitwarden Inc.", diff --git a/apps/browser/src/popup/accounts/register.component.html b/apps/browser/src/popup/accounts/register.component.html index fc9c4e7990d..4c8ec89aac9 100644 --- a/apps/browser/src/popup/accounts/register.component.html +++ b/apps/browser/src/popup/accounts/register.component.html @@ -1,4 +1,4 @@ -