diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1101bf9cab6..30d84547b11 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -6,9 +6,8 @@ ## Desktop native module ## apps/desktop/desktop_native @bitwarden/team-platform-dev -apps/desktop/desktop_native/objc/src/native/autofill @bitwarden/team-autofill-dev -apps/desktop/desktop_native/macos_provider @bitwarden/team-autofill-dev -apps/desktop/desktop_native/core/src/autofill @bitwarden/team-autofill-dev +apps/desktop/desktop_native/objc/src/native/autofill @bitwarden/team-autofill-desktop-dev +apps/desktop/desktop_native/core/src/autofill @bitwarden/team-autofill-desktop-dev ## No ownership for Cargo.lock and Cargo.toml to allow dependency updates apps/desktop/desktop_native/Cargo.lock apps/desktop/desktop_native/Cargo.toml @@ -30,6 +29,7 @@ libs/common/src/auth @bitwarden/team-auth-dev apps/browser/src/tools @bitwarden/team-tools-dev apps/cli/src/tools @bitwarden/team-tools-dev apps/desktop/src/app/tools @bitwarden/team-tools-dev +apps/desktop/desktop_native/bitwarden_chromium_importer @bitwarden/team-tools-dev apps/web/src/app/tools @bitwarden/team-tools-dev libs/angular/src/tools @bitwarden/team-tools-dev libs/common/src/models/export @bitwarden/team-tools-dev @@ -102,6 +102,7 @@ libs/guid @bitwarden/team-platform-dev libs/client-type @bitwarden/team-platform-dev libs/core-test-utils @bitwarden/team-platform-dev libs/state @bitwarden/team-platform-dev +libs/state-internal @bitwarden/team-platform-dev libs/state-test-utils @bitwarden/team-platform-dev # Web utils used across app and connectors apps/web/src/utils/ @bitwarden/team-platform-dev @@ -120,7 +121,6 @@ apps/web/src/translation-constants.ts @bitwarden/team-platform-dev .github/workflows/build-desktop.yml @bitwarden/team-platform-dev .github/workflows/build-web-target.yml @bitwarden/team-platform-dev .github/workflows/build-web.yml @bitwarden/team-platform-dev -.github/workflows/chromatic.yml @bitwarden/team-platform-dev .github/workflows/crowdin-pull.yml @bitwarden/team-platform-dev .github/workflows/enforce-labels.yml @bitwarden/team-platform-dev .github/workflows/lint.yml @bitwarden/team-platform-dev @@ -141,29 +141,31 @@ nx.json @bitwarden/team-platform-dev apps/browser/src/autofill @bitwarden/team-autofill-dev apps/desktop/src/autofill @bitwarden/team-autofill-dev libs/common/src/autofill @bitwarden/team-autofill-dev -apps/desktop/macos/autofill-extension @bitwarden/team-autofill-dev -apps/desktop/src/app/components/fido2placeholder.component.ts @bitwarden/team-autofill-dev -apps/desktop/desktop_native/windows_plugin_authenticator @bitwarden/team-autofill-dev -apps/desktop/desktop_native/autotype @bitwarden/team-autofill-dev +apps/desktop/macos/autofill-extension @bitwarden/team-autofill-desktop-dev .github/workflows/test-browser-interactions.yml @bitwarden/team-autofill-dev +# Autofill desktop files +apps/desktop/src/app/components/fido2placeholder.component.ts @bitwarden/team-autofill-desktop-dev +apps/desktop/desktop_native/windows_plugin_authenticator @bitwarden/team-autofill-desktop-dev +apps/desktop/desktop_native/autotype @bitwarden/team-autofill-desktop-dev # DuckDuckGo integration -apps/desktop/native-messaging-test-runner @bitwarden/team-autofill-dev -apps/desktop/src/services/duckduckgo-message-handler.service.ts @bitwarden/team-autofill-dev -apps/desktop/src/services/encrypted-message-handler.service.ts @bitwarden/team-autofill-dev -.github/workflows/alert-ddg-files-modified.yml @bitwarden/team-autofill-dev +apps/desktop/native-messaging-test-runner @bitwarden/team-autofill-desktop-dev +apps/desktop/src/services/duckduckgo-message-handler.service.ts @bitwarden/team-autofill-desktop-dev +apps/desktop/src/services/encrypted-message-handler.service.ts @bitwarden/team-autofill-desktop-dev +.github/workflows/alert-ddg-files-modified.yml @bitwarden/team-autofill-desktop-dev # SSH Agent -apps/desktop/desktop_native/core/src/ssh_agent @bitwarden/team-autofill-dev @bitwarden/wg-ssh-keys +apps/desktop/desktop_native/core/src/ssh_agent @bitwarden/team-autofill-desktop-dev @bitwarden/wg-ssh-keys ## UI Foundation ## +.github/workflows/chromatic.yml @bitwarden/team-ui-foundation .storybook @bitwarden/team-ui-foundation libs/components @bitwarden/team-ui-foundation +libs/assets @bitwarden/team-ui-foundation libs/ui @bitwarden/team-ui-foundation apps/browser/src/platform/popup/layout @bitwarden/team-ui-foundation apps/browser/src/popup/app-routing.animations.ts @bitwarden/team-ui-foundation apps/browser/src/popup/components/extension-anon-layout-wrapper @bitwarden/team-ui-foundation apps/web/src/app/layouts @bitwarden/team-ui-foundation - ## Key management team files ## apps/desktop/src/key-management @bitwarden/team-key-management-dev apps/web/src/app/key-management @bitwarden/team-key-management-dev @@ -214,3 +216,4 @@ apps/web/src/locales/en/messages.json **/tsconfig.json @bitwarden/team-platform-dev **/jest.config.js @bitwarden/team-platform-dev **/project.jsons @bitwarden/team-platform-dev +libs/pricing @bitwarden/team-billing-dev diff --git a/.github/workflows/build-browser.yml b/.github/workflows/build-browser.yml index 43661d50910..823cb7e25e0 100644 --- a/.github/workflows/build-browser.yml +++ b/.github/workflows/build-browser.yml @@ -123,11 +123,20 @@ jobs: build-source: - name: Build browser source + name: Build browser source - ${{matrix.license_type.readable}} runs-on: ubuntu-22.04 needs: - setup - locales-test + strategy: + matrix: + license_type: + - include_bitwarden_license_folder: false + archive_name_prefix: "" + readable: "open source license" + - include_bitwarden_license_folder: true + archive_name_prefix: "bit-" + readable: "commercial license" env: _BUILD_NUMBER: ${{ needs.setup.outputs.adj_build_number }} _NODE_VERSION: ${{ needs.setup.outputs.node_version }} @@ -166,6 +175,12 @@ jobs: mkdir -p browser-source/apps/browser cp -r apps/browser/* browser-source/apps/browser + # Copy bitwarden_license/bit-browser to the Browser source directory + if [[ ${{matrix.license_type.include_bitwarden_license_folder}} == "true" ]]; then + mkdir -p browser-source/bitwarden_license/bit-browser + cp -r bitwarden_license/bit-browser/* browser-source/bitwarden_license/bit-browser + fi + # Copy libs to Browser source directory mkdir browser-source/libs cp -r libs/* browser-source/libs @@ -175,13 +190,13 @@ jobs: - name: Upload browser source uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: - name: browser-source-${{ env._BUILD_NUMBER }}.zip + name: ${{matrix.license_type.archive_name_prefix}}browser-source-${{ env._BUILD_NUMBER }}.zip path: browser-source.zip if-no-files-found: error build: - name: Build + name: Build ${{ matrix.browser.name }} - ${{ matrix.license_type.readable }} runs-on: ubuntu-22.04 needs: - setup @@ -192,25 +207,38 @@ jobs: _NODE_VERSION: ${{ needs.setup.outputs.node_version }} strategy: matrix: - include: + license_type: + - build_prefix: "" + artifact_prefix: "" + source_archive_name_prefix: "" + archive_name_prefix: "" + npm_command_prefix: "dist:" + readable: "open source license" + - build_prefix: "bit-" + artifact_prefix: "bit-" + source_archive_name_prefix: "bit-" + archive_name_prefix: "bit-" + npm_command_prefix: "dist:bit:" + readable: "commercial license" + browser: - name: "chrome" - npm_command: "dist:chrome" + npm_command_suffix: "chrome" archive_name: "dist-chrome.zip" artifact_name: "dist-chrome-MV3" - name: "edge" - npm_command: "dist:edge" + npm_command_suffix: "edge" archive_name: "dist-edge.zip" artifact_name: "dist-edge-MV3" - name: "firefox" - npm_command: "dist:firefox" + npm_command_suffix: "firefox" archive_name: "dist-firefox.zip" artifact_name: "dist-firefox" - name: "firefox-mv3" - npm_command: "dist:firefox:mv3" + npm_command_suffix: "firefox:mv3" archive_name: "dist-firefox.zip" artifact_name: "DO-NOT-USE-FOR-PROD-dist-firefox-MV3" - name: "opera-mv3" - npm_command: "dist:opera:mv3" + npm_command_suffix: "opera:mv3" archive_name: "dist-opera.zip" artifact_name: "dist-opera-MV3" steps: @@ -234,7 +262,7 @@ jobs: - name: Download browser source uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 with: - name: browser-source-${{ env._BUILD_NUMBER }}.zip + name: ${{matrix.license_type.source_archive_name_prefix}}browser-source-${{ env._BUILD_NUMBER }}.zip - name: Unzip browser source artifact run: | @@ -264,7 +292,7 @@ jobs: run: npm link ../sdk-internal - name: Check source file size - if: ${{ startsWith(matrix.name, 'firefox') }} + if: ${{ startsWith(matrix.browser.name, 'firefox') }} run: | # Declare variable as indexed array declare -a FILES @@ -287,19 +315,19 @@ jobs: fi - name: Build extension - run: npm run ${{ matrix.npm_command }} + run: npm run ${{matrix.license_type.npm_command_prefix}}${{ matrix.browser.npm_command_suffix }} working-directory: browser-source/apps/browser - name: Upload extension artifact uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: - name: ${{ matrix.artifact_name }}-${{ env._BUILD_NUMBER }}.zip - path: browser-source/apps/browser/dist/${{ matrix.archive_name }} + name: ${{ matrix.license_type.artifact_prefix }}${{ matrix.browser.artifact_name }}-${{ env._BUILD_NUMBER }}.zip + path: browser-source/apps/browser/dist/${{matrix.license_type.archive_name_prefix}}${{ matrix.browser.archive_name }} if-no-files-found: error build-safari: - name: Build Safari + name: Build Safari - ${{ matrix.license_type.readable }} runs-on: macos-13 permissions: contents: read @@ -308,6 +336,19 @@ jobs: - setup - locales-test if: ${{ needs.setup.outputs.has_secrets == 'true' }} + strategy: + matrix: + license_type: + - build_prefix: "" + artifact_prefix: "" + archive_name_prefix: "" + npm_command_prefix: "dist:" + readable: "open source license" + - build_prefix: "bit-" + artifact_prefix: "bit-" + archive_name_prefix: "bit-" + npm_command_prefix: "dist:bit:" + readable: "commercial license" env: _BUILD_NUMBER: ${{ needs.setup.outputs.adj_build_number }} _NODE_VERSION: ${{ needs.setup.outputs.node_version }} @@ -433,21 +474,21 @@ jobs: npm link ../sdk-internal - name: Build Safari extension - run: npm run dist:safari + run: npm run ${{matrix.license_type.npm_command_prefix}}safari working-directory: apps/browser - name: Zip Safari build artifact run: | cd apps/browser/dist - zip dist-safari.zip ./Safari/**/build/Release/safari.appex -r + zip ${{matrix.license_type.archive_name_prefix }}dist-safari.zip ./Safari/**/build/Release/safari.appex -r pwd ls -la - name: Upload Safari artifact uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: - name: dist-safari-${{ env._BUILD_NUMBER }}.zip - path: apps/browser/dist/dist-safari.zip + name: ${{matrix.license_type.archive_name_prefix}}dist-safari-${{ env._BUILD_NUMBER }}.zip + path: apps/browser/dist/${{matrix.license_type.archive_name_prefix}}dist-safari.zip if-no-files-found: error crowdin-push: diff --git a/.github/workflows/build-desktop.yml b/.github/workflows/build-desktop.yml index 38e263bc226..3deb21640e7 100644 --- a/.github/workflows/build-desktop.yml +++ b/.github/workflows/build-desktop.yml @@ -1317,6 +1317,7 @@ jobs: $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 + Write-Output "### MacOS App Store build number: $env:BUILD_NUMBER" - name: Install Node dependencies @@ -1392,6 +1393,23 @@ jobs: CSC_FOR_PULL_REQUEST: true run: npm run pack:mac:mas + - name: Create MacOS App Store build number artifact + shell: pwsh + env: + BUILD_NUMBER: ${{ needs.setup.outputs.build_number }} + run: | + $buildInfo = @{ + buildNumber = $env:BUILD_NUMBER + } + $buildInfo | ConvertTo-Json | Set-Content -Path dist/macos-build-number.json + + - name: Upload MacOS App Store build number artifact + uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + with: + name: macos-build-number.json + path: apps/desktop/dist/macos-build-number.json + if-no-files-found: error + - name: Upload .pkg artifact uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml index d0b9cab4c45..793fb52eabf 100644 --- a/.github/workflows/chromatic.yml +++ b/.github/workflows/chromatic.yml @@ -11,6 +11,8 @@ on: branches: - "main" +permissions: {} + jobs: check-run: name: Check PR run diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 4246d623f04..7eab45e5b1b 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -102,3 +102,10 @@ jobs: run: cargo clippy --all-features --tests env: RUSTFLAGS: "-D warnings" + + - name: Install cargo-sort + run: cargo install cargo-sort --locked --git https://github.com/DevinR528/cargo-sort.git --rev f5047967021cbb1f822faddc355b3b07674305a1 + + - name: Cargo sort + working-directory: ./apps/desktop/desktop_native + run: cargo sort --workspace --check diff --git a/.github/workflows/publish-desktop.yml b/.github/workflows/publish-desktop.yml index aafc4d25ed4..9fe8909f8d6 100644 --- a/.github/workflows/publish-desktop.yml +++ b/.github/workflows/publish-desktop.yml @@ -18,10 +18,15 @@ on: type: string default: latest electron_rollout_percentage: - description: 'Staged Rollout Percentage for Electron' - required: true + description: 'Staged Rollout Percentage for Electron (ignored if Electron publish disabled)' + required: false default: '10' type: string + electron_publish: + description: 'Publish to Electron (auto-updater)' + required: true + default: true + type: boolean snap_publish: description: 'Publish to Snap store' required: true @@ -32,6 +37,15 @@ on: required: true default: true type: boolean + mas_publish: + description: 'Publish to Mac App Store' + required: true + default: true + type: boolean + release_notes: + description: 'Release Notes' + required: false + type: string jobs: setup: @@ -71,7 +85,7 @@ jobs: echo "Release Version: ${{ inputs.version }}" echo "version=${{ inputs.version }}" - $TAG_NAME="desktop-v${{ inputs.version }}" + TAG_NAME="desktop-v${{ inputs.version }}" echo "Tag name: $TAG_NAME" echo "tag_name=$TAG_NAME" >> $GITHUB_OUTPUT @@ -109,6 +123,7 @@ jobs: name: Electron blob publish runs-on: ubuntu-22.04 needs: setup + if: inputs.electron_publish permissions: contents: read packages: read @@ -292,6 +307,92 @@ jobs: run: choco push --source=https://push.chocolatey.org/ working-directory: apps/desktop/dist + mas: + name: Deploy Mac App Store + runs-on: macos-15 + needs: setup + permissions: + contents: read + id-token: write + if: inputs.mas_publish + env: + _PKG_VERSION: ${{ needs.setup.outputs.release_version }} + _RELEASE_TAG: ${{ needs.setup.outputs.tag_name }} + steps: + - name: Checkout repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Validate release notes for MAS + if: inputs.mas_publish && (inputs.release_notes == '' || inputs.release_notes == null) + run: | + echo "❌ Release notes are required when publishing to Mac App Store" + echo "Please provide release notes using the 'Release Notes' input field" + exit 1 + + - name: Download MacOS App Store build number + working-directory: apps/desktop + run: wget https://github.com/bitwarden/clients/releases/download/${{ env._RELEASE_TAG }}/macos-build-number.json + + - name: Setup Ruby and Install Fastlane + uses: ruby/setup-ruby@ca041f971d66735f3e5ff1e21cc13e2d51e7e535 # v1.233.0 + with: + ruby-version: '3.0' + bundler-cache: false + working-directory: apps/desktop + + - name: Install Fastlane + working-directory: apps/desktop + run: gem install fastlane + + - name: Log in to Azure + uses: bitwarden/gh-actions/azure-login@main + with: + subscription_id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} + tenant_id: ${{ secrets.AZURE_TENANT_ID }} + client_id: ${{ secrets.AZURE_CLIENT_ID }} + + - name: Get Azure Key Vault secrets + id: get-kv-secrets + uses: bitwarden/gh-actions/get-keyvault-secrets@main + with: + keyvault: gh-clients + secrets: "APP-STORE-CONNECT-AUTH-KEY,APP-STORE-CONNECT-TEAM-ISSUER" + + - name: Log out from Azure + uses: bitwarden/gh-actions/azure-logout@main + + - name: Publish to App Store + env: + APP_STORE_CONNECT_TEAM_ISSUER: ${{ steps.get-kv-secrets.outputs.APP-STORE-CONNECT-TEAM-ISSUER }} + APP_STORE_CONNECT_AUTH_KEY: ${{ steps.get-kv-secrets.outputs.APP-STORE-CONNECT-AUTH-KEY }} + working-directory: apps/desktop + run: | + BUILD_NUMBER=$(jq -r '.buildNumber' macos-build-number.json) + CHANGELOG="${{ inputs.release_notes }}" + IS_DRY_RUN="${{ inputs.publish_type == 'Dry Run' }}" + + if [ "$IS_DRY_RUN" = "true" ]; then + echo "🧪 DRY RUN MODE - Testing without actual App Store submission" + echo "📦 Would publish build $BUILD_NUMBER to Mac App Store" + else + echo "🚀 PRODUCTION MODE - Publishing to Mac App Store" + echo "📦 Publishing build $BUILD_NUMBER to Mac App Store" + fi + + echo "📝 Release notes (${#CHANGELOG} chars): ${CHANGELOG:0:100}..." + + # Validate changelog length (App Store limit is 4000 chars) + if [ ${#CHANGELOG} -gt 4000 ]; then + echo "❌ Release notes too long: ${#CHANGELOG} characters (max 4000)" + exit 1 + fi + + fastlane publish --verbose \ + app_version:"${{ env._PKG_VERSION }}" \ + build_number:$BUILD_NUMBER \ + changelog:"$CHANGELOG" \ + dry_run:$IS_DRY_RUN + update-deployment: name: Update Deployment Status runs-on: ubuntu-22.04 @@ -300,6 +401,7 @@ jobs: - electron-blob - snap - choco + - mas permissions: contents: read deployments: write diff --git a/.github/workflows/release-desktop-beta.yml b/.github/workflows/release-desktop-beta.yml deleted file mode 100644 index f5c5c2eb929..00000000000 --- a/.github/workflows/release-desktop-beta.yml +++ /dev/null @@ -1,1106 +0,0 @@ -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-22.04 - permissions: - contents: write - outputs: - release_version: ${{ steps.version.outputs.version }} - release_channel: ${{ steps.release_channel.outputs.channel }} - branch_name: ${{ steps.branch.outputs.branch_name }} - build_number: ${{ steps.increment-version.outputs.build_number }} - node_version: ${{ steps.retrieve-node-version.outputs.node_version }} - steps: - - name: Checkout repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - name: Branch check - run: | - if [[ "$GITHUB_REF" != "refs/heads/main" ]] && [[ "$GITHUB_REF" != "refs/heads/rc" ]] && [[ "$GITHUB_REF" != "refs/heads/hotfix-rc" ]]; then - echo "===================================" - echo "[!] Can only release from the 'main', '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@main - with: - release-type: 'Initial Release' - project-type: ts - file: apps/desktop/src/package.json - monorepo: true - monorepo-project: desktop - - - name: Increment Version - id: increment-version - run: | - BUILD_NUMBER=$(expr 3000 + $GITHUB_RUN_NUMBER) - echo "Setting build number to $BUILD_NUMBER" - echo "build_number=$BUILD_NUMBER" >> $GITHUB_OUTPUT - - - name: Get Version Channel - id: release_channel - run: | - case "${{ steps.version.outputs.version }}" in - *"alpha"*) - echo "channel=alpha" >> $GITHUB_OUTPUT - echo "[!] We do not yet support 'alpha'" - exit 1 - ;; - *"beta"*) - echo "channel=beta" >> $GITHUB_OUTPUT - ;; - *) - echo "channel=latest" >> $GITHUB_OUTPUT - ;; - esac - - - 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: Create desktop-beta-release branch - id: branch - env: - VERSION: ${{ github.event.inputs.version_number }} - run: | - find="." - replace="_" - ver=${VERSION//$find/$replace} - branch_name=desktop-beta-release-$ver-beta - - git switch -c $branch_name - git add . - git commit -m "Bump desktop version to $VERSION-beta" - - git push -u origin $branch_name - - echo "branch_name=$branch_name" >> $GITHUB_OUTPUT - - - name: Get Node Version - id: retrieve-node-version - run: | - NODE_NVMRC=$(cat .nvmrc) - NODE_VERSION=${NODE_NVMRC/v/''} - echo "node_version=$NODE_VERSION" >> $GITHUB_OUTPUT - - linux: - name: Linux Build - runs-on: ubuntu-22.04 - needs: setup - permissions: - contents: read - env: - _PACKAGE_VERSION: ${{ needs.setup.outputs.release_version }} - _NODE_VERSION: ${{ needs.setup.outputs.node_version }} - NODE_OPTIONS: --max_old_space_size=4096 - defaults: - run: - working-directory: apps/desktop - steps: - - name: Checkout repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - ref: ${{ needs.setup.outputs.branch_name }} - - - name: Set up Node - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 - with: - cache: 'npm' - cache-dependency-path: '**/package-lock.json' - node-version: ${{ env._NODE_VERSION }} - - - name: Set up environment - run: | - sudo apt-get update - sudo apt-get -y install pkg-config libxss-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@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-amd64.deb - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-amd64.deb - if-no-files-found: error - - - name: Upload .rpm artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.rpm - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.rpm - if-no-files-found: error - - - name: Upload .freebsd artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-x64.freebsd - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64.freebsd - if-no-files-found: error - - - name: Upload .snap artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: bitwarden_${{ env._PACKAGE_VERSION }}_amd64.snap - path: apps/desktop/dist/bitwarden_${{ env._PACKAGE_VERSION }}_amd64.snap - if-no-files-found: error - - - name: Upload .AppImage artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.AppImage - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x86_64.AppImage - if-no-files-found: error - - - name: Upload auto-update artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - 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-2022 - needs: setup - permissions: - contents: read - id-token: write - defaults: - run: - shell: pwsh - working-directory: apps/desktop - env: - _PACKAGE_VERSION: ${{ needs.setup.outputs.release_version }} - _NODE_VERSION: ${{ needs.setup.outputs.node_version }} - NODE_OPTIONS: --max_old_space_size=4096 - steps: - - name: Checkout repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - ref: ${{ needs.setup.outputs.branch_name }} - - - name: Set up Node - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 - with: - cache: 'npm' - cache-dependency-path: '**/package-lock.json' - node-version: ${{ env._NODE_VERSION }} - - - name: Install AST - run: dotnet tool install --global AzureSignTool --version 4.0.1 - - - name: Set up environment - run: choco install checksum --no-progress - - - name: Print environment - run: | - node --version - npm --version - choco --version - - - name: Log in to Azure - uses: bitwarden/gh-actions/azure-login@main - with: - subscription_id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - tenant_id: ${{ secrets.AZURE_TENANT_ID }} - client_id: ${{ secrets.AZURE_CLIENT_ID }} - - - name: Retrieve secrets - id: retrieve-secrets - uses: bitwarden/gh-actions/get-keyvault-secrets@main - with: - keyvault: "bitwarden-ci" - secrets: "code-signing-vault-url, - code-signing-client-id, - code-signing-tenant-id, - code-signing-client-secret, - code-signing-cert-name" - - - name: Log out from Azure - uses: bitwarden/gh-actions/azure-logout@main - - - 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@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-Portable-${{ env._PACKAGE_VERSION }}.exe - path: apps/desktop/dist/Bitwarden-Portable-${{ env._PACKAGE_VERSION }}.exe - if-no-files-found: error - - - name: Upload installer exe artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-Installer-${{ env._PACKAGE_VERSION }}.exe - path: apps/desktop/dist/nsis-web/Bitwarden-Installer-${{ env._PACKAGE_VERSION }}.exe - if-no-files-found: error - - - name: Upload appx ia32 artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-ia32.appx - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-ia32.appx - if-no-files-found: error - - - name: Upload store appx ia32 artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-ia32-store.appx - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-ia32-store.appx - if-no-files-found: error - - - name: Upload NSIS ia32 artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: bitwarden-${{ env._PACKAGE_VERSION }}-ia32.nsis.7z - path: apps/desktop/dist/nsis-web/bitwarden-${{ env._PACKAGE_VERSION }}-ia32.nsis.7z - if-no-files-found: error - - - name: Upload appx x64 artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-x64.appx - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64.appx - if-no-files-found: error - - - name: Upload store appx x64 artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-x64-store.appx - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-x64-store.appx - if-no-files-found: error - - - name: Upload NSIS x64 artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: bitwarden-${{ env._PACKAGE_VERSION }}-x64.nsis.7z - path: apps/desktop/dist/nsis-web/bitwarden-${{ env._PACKAGE_VERSION }}-x64.nsis.7z - if-no-files-found: error - - - name: Upload appx ARM64 artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-arm64.appx - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-arm64.appx - if-no-files-found: error - - - name: Upload store appx ARM64 artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-arm64-store.appx - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-arm64-store.appx - if-no-files-found: error - - - name: Upload NSIS ARM64 artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: bitwarden-${{ env._PACKAGE_VERSION }}-arm64.nsis.7z - path: apps/desktop/dist/nsis-web/bitwarden-${{ env._PACKAGE_VERSION }}-arm64.nsis.7z - if-no-files-found: error - - - name: Upload nupkg artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: bitwarden.${{ env._PACKAGE_VERSION }}.nupkg - path: apps/desktop/dist/chocolatey/bitwarden.${{ env._PACKAGE_VERSION }}.nupkg - if-no-files-found: error - - - name: Upload auto-update artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - 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-15 - needs: setup - permissions: - contents: read - id-token: write - env: - _PACKAGE_VERSION: ${{ needs.setup.outputs.release_version }} - _NODE_VERSION: ${{ needs.setup.outputs.node_version }} - NODE_OPTIONS: --max_old_space_size=4096 - defaults: - run: - working-directory: apps/desktop - steps: - - name: Checkout repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - ref: ${{ needs.setup.outputs.branch_name }} - - - name: Set up Node - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 - with: - cache: 'npm' - cache-dependency-path: '**/package-lock.json' - node-version: ${{ env._NODE_VERSION }} - - - name: Set up Node-gyp - run: python3 -m pip install setuptools - - - 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@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 - with: - path: apps/desktop/build - key: ${{ runner.os }}-${{ github.run_id }}-build - - - name: Cache Safari - id: safari-cache - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 - with: - path: apps/browser/dist/Safari - key: ${{ runner.os }}-${{ github.run_id }}-safari-extension - - - name: Log in to Azure - uses: bitwarden/gh-actions/azure-login@main - with: - subscription_id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - tenant_id: ${{ secrets.AZURE_TENANT_ID }} - client_id: ${{ secrets.AZURE_CLIENT_ID }} - - - name: Get Azure Key Vault secrets - id: get-kv-secrets - uses: bitwarden/gh-actions/get-keyvault-secrets@main - with: - keyvault: gh-clients - secrets: "KEYCHAIN-PASSWORD" - - - name: Download Provisioning Profiles secrets - env: - ACCOUNT_NAME: bitwardenci - CONTAINER_NAME: profiles - run: | - mkdir -p $HOME/secrets - - az storage blob download --account-name $ACCOUNT_NAME --container-name $CONTAINER_NAME \ - --name bitwarden_desktop_appstore.provisionprofile \ - --file $HOME/secrets/bitwarden_desktop_appstore.provisionprofile \ - --output none - - - name: Get certificates - run: | - mkdir -p $HOME/certificates - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/bitwarden-desktop-key | - jq -r .value | base64 -d > $HOME/certificates/bitwarden-desktop-key.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/appstore-app-cert | - jq -r .value | base64 -d > $HOME/certificates/appstore-app-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/appstore-installer-cert | - jq -r .value | base64 -d > $HOME/certificates/appstore-installer-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/devid-app-cert | - jq -r .value | base64 -d > $HOME/certificates/devid-app-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/devid-installer-cert | - jq -r .value | base64 -d > $HOME/certificates/devid-installer-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/macdev-cert | - jq -r .value | base64 -d > $HOME/certificates/macdev-cert.p12 - - - name: Log out from Azure - uses: bitwarden/gh-actions/azure-logout@main - - - name: Set up keychain - env: - KEYCHAIN_PASSWORD: ${{ steps.get-kv-secrets.outputs.KEYCHAIN-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/certificates/bitwarden-desktop-key.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/devid-app-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/devid-installer-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/appstore-app-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/appstore-installer-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/macdev-cert.p12" -k build.keychain -P "" \ - -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-15 - needs: - - setup - - macos-build - permissions: - contents: read - packages: read - id-token: write - env: - _PACKAGE_VERSION: ${{ needs.setup.outputs.release_version }} - _NODE_VERSION: ${{ needs.setup.outputs.node_version }} - NODE_OPTIONS: --max_old_space_size=4096 - defaults: - run: - working-directory: apps/desktop - steps: - - name: Checkout repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - ref: ${{ needs.setup.outputs.branch_name }} - - - name: Set up Node - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 - with: - cache: 'npm' - cache-dependency-path: '**/package-lock.json' - node-version: ${{ env._NODE_VERSION }} - - - name: Set up Node-gyp - run: python3 -m pip install setuptools - - - name: Print environment - run: | - node --version - npm --version - echo "GitHub ref: $GITHUB_REF" - echo "GitHub event: $GITHUB_EVENT" - xcodebuild -showsdks - - - name: Get Build Cache - id: build-cache - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 - with: - path: apps/desktop/build - key: ${{ runner.os }}-${{ github.run_id }}-build - - - name: Setup Safari Cache - id: safari-cache - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 - with: - path: apps/browser/dist/Safari - key: ${{ runner.os }}-${{ github.run_id }}-safari-extension - - - name: Log in to Azure - uses: bitwarden/gh-actions/azure-login@main - with: - subscription_id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - tenant_id: ${{ secrets.AZURE_TENANT_ID }} - client_id: ${{ secrets.AZURE_CLIENT_ID }} - - - name: Get Azure Key Vault secrets - id: get-kv-secrets - uses: bitwarden/gh-actions/get-keyvault-secrets@main - with: - keyvault: gh-clients - secrets: "KEYCHAIN-PASSWORD,APPLE-ID-USERNAME,APPLE-ID-PASSWORD" - - - name: Download Provisioning Profiles secrets - env: - ACCOUNT_NAME: bitwardenci - CONTAINER_NAME: profiles - run: | - mkdir -p $HOME/secrets - - az storage blob download --account-name $ACCOUNT_NAME --container-name $CONTAINER_NAME \ - --name bitwarden_desktop_appstore.provisionprofile \ - --file $HOME/secrets/bitwarden_desktop_appstore.provisionprofile \ - --output none - - - name: Get certificates - run: | - mkdir -p $HOME/certificates - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/bitwarden-desktop-key | - jq -r .value | base64 -d > $HOME/certificates/bitwarden-desktop-key.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/appstore-app-cert | - jq -r .value | base64 -d > $HOME/certificates/appstore-app-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/appstore-installer-cert | - jq -r .value | base64 -d > $HOME/certificates/appstore-installer-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/devid-app-cert | - jq -r .value | base64 -d > $HOME/certificates/devid-app-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/devid-installer-cert | - jq -r .value | base64 -d > $HOME/certificates/devid-installer-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/macdev-cert | - jq -r .value | base64 -d > $HOME/certificates/macdev-cert.p12 - - - name: Log out from Azure - uses: bitwarden/gh-actions/azure-logout@main - - - name: Set up keychain - env: - KEYCHAIN_PASSWORD: ${{ steps.get-kv-secrets.outputs.KEYCHAIN-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/certificates/bitwarden-desktop-key.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/devid-app-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/devid-installer-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/appstore-app-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/appstore-installer-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/macdev-cert.p12" -k build.keychain -P "" \ - -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: Download artifact from hotfix-rc - if: github.ref == 'refs/heads/hotfix-rc' - uses: bitwarden/gh-actions/download-artifacts@main - with: - workflow: build-browser.yml - workflow_conclusion: success - branch: hotfix-rc - path: ${{ github.workspace }}/browser-build-artifacts - - - name: Download artifact from rc - if: github.ref == 'refs/heads/rc' - uses: bitwarden/gh-actions/download-artifacts@main - with: - workflow: build-browser.yml - workflow_conclusion: success - branch: rc - path: ${{ github.workspace }}/browser-build-artifacts - - - name: Download artifacts from main - if: ${{ github.ref != 'refs/heads/rc' && github.ref != 'refs/heads/hotfix-rc' }} - uses: bitwarden/gh-actions/download-artifacts@main - with: - workflow: build-browser.yml - workflow_conclusion: success - branch: main - 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: ${{ steps.get-kv-secrets.outputs.APPLE-ID-USERNAME }} - APPLE_ID_PASSWORD: ${{ steps.get-kv-secrets.outputs.APPLE-ID-PASSWORD }} - run: npm run pack:mac - - - name: Upload .zip artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal-mac.zip - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-universal-mac.zip - if-no-files-found: error - - - name: Upload .dmg artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg - if-no-files-found: error - - - name: Upload .dmg blockmap artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg.blockmap - path: apps/desktop/dist/Bitwarden-${{ env._PACKAGE_VERSION }}-universal.dmg.blockmap - if-no-files-found: error - - - name: Upload auto-update artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - 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-15 - needs: - - setup - - macos-build - permissions: - contents: read - packages: read - id-token: write - env: - _PACKAGE_VERSION: ${{ needs.setup.outputs.release_version }} - _NODE_VERSION: ${{ needs.setup.outputs.node_version }} - NODE_OPTIONS: --max_old_space_size=4096 - defaults: - run: - working-directory: apps/desktop - steps: - - name: Checkout repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - ref: ${{ needs.setup.outputs.branch_name }} - - - name: Set up Node - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 - with: - cache: 'npm' - cache-dependency-path: '**/package-lock.json' - node-version: ${{ env._NODE_VERSION }} - - - name: Set up Node-gyp - run: python3 -m pip install setuptools - - - name: Print environment - run: | - node --version - npm --version - echo "GitHub ref: $GITHUB_REF" - echo "GitHub event: $GITHUB_EVENT" - xcodebuild -showsdks - - - name: Get Build Cache - id: build-cache - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 - with: - path: apps/desktop/build - key: ${{ runner.os }}-${{ github.run_id }}-build - - - name: Setup Safari Cache - id: safari-cache - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 - with: - path: apps/browser/dist/Safari - key: ${{ runner.os }}-${{ github.run_id }}-safari-extension - - - name: Log in to Azure - uses: bitwarden/gh-actions/azure-login@main - with: - subscription_id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - tenant_id: ${{ secrets.AZURE_TENANT_ID }} - client_id: ${{ secrets.AZURE_CLIENT_ID }} - - - name: Get Azure Key Vault secrets - id: get-kv-secrets - uses: bitwarden/gh-actions/get-keyvault-secrets@main - with: - keyvault: gh-clients - secrets: "KEYCHAIN-PASSWORD,APPLE-ID-USERNAME,APPLE-ID-PASSWORD" - - - name: Download Provisioning Profiles secrets - env: - ACCOUNT_NAME: bitwardenci - CONTAINER_NAME: profiles - run: | - mkdir -p $HOME/secrets - - az storage blob download --account-name $ACCOUNT_NAME --container-name $CONTAINER_NAME \ - --name bitwarden_desktop_appstore.provisionprofile \ - --file $HOME/secrets/bitwarden_desktop_appstore.provisionprofile \ - --output none - - - name: Get certificates - run: | - mkdir -p $HOME/certificates - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/bitwarden-desktop-key | - jq -r .value | base64 -d > $HOME/certificates/bitwarden-desktop-key.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/appstore-app-cert | - jq -r .value | base64 -d > $HOME/certificates/appstore-app-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/appstore-installer-cert | - jq -r .value | base64 -d > $HOME/certificates/appstore-installer-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/devid-app-cert | - jq -r .value | base64 -d > $HOME/certificates/devid-app-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/devid-installer-cert | - jq -r .value | base64 -d > $HOME/certificates/devid-installer-cert.p12 - - az keyvault secret show --id https://bitwarden-ci.vault.azure.net/certificates/macdev-cert | - jq -r .value | base64 -d > $HOME/certificates/macdev-cert.p12 - - - name: Log out from Azure - uses: bitwarden/gh-actions/azure-logout@main - - - name: Set up keychain - env: - KEYCHAIN_PASSWORD: ${{ steps.get-kv-secrets.outputs.KEYCHAIN-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/certificates/bitwarden-desktop-key.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/devid-app-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/devid-installer-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/appstore-app-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/appstore-installer-cert.p12" -k build.keychain -P "" \ - -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild - - security import "$HOME/certificates/macdev-cert.p12" -k build.keychain -P "" \ - -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: Download artifact from hotfix-rc - if: github.ref == 'refs/heads/hotfix-rc' - uses: bitwarden/gh-actions/download-artifacts@main - with: - workflow: build-browser.yml - workflow_conclusion: success - branch: hotfix-rc - path: ${{ github.workspace }}/browser-build-artifacts - - - name: Download artifact from rc - if: github.ref == 'refs/heads/rc' - uses: bitwarden/gh-actions/download-artifacts@main - with: - workflow: build-browser.yml - workflow_conclusion: success - branch: rc - path: ${{ github.workspace }}/browser-build-artifacts - - - name: Download artifact from main - if: ${{ github.ref != 'refs/heads/rc' && github.ref != 'refs/heads/hotfix-rc' }} - uses: bitwarden/gh-actions/download-artifacts@main - with: - workflow: build-browser.yml - workflow_conclusion: success - branch: main - 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: ${{ steps.get-kv-secrets.outputs.APPLE-ID-USERNAME }} - APPLE_ID_PASSWORD: ${{ steps.get-kv-secrets.outputs.APPLE-ID-PASSWORD }} - - - name: Upload .pkg artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 - with: - name: Bitwarden-${{ env._PACKAGE_VERSION }}-universal.pkg - path: apps/desktop/dist/mas-universal/Bitwarden-${{ env._PACKAGE_VERSION }}-universal.pkg - if-no-files-found: error - - release: - name: Release beta channel to S3 - runs-on: ubuntu-22.04 - needs: - - setup - - linux - - windows - - macos-build - - macos-package-github - - macos-package-mas - permissions: - contents: read - id-token: write - deployments: write - steps: - - name: Create GitHub deployment - uses: chrnorm/deployment-action@55729fcebec3d284f60f5bcabbd8376437d696b1 # v2.0.7 - id: deployment - with: - token: '${{ secrets.GITHUB_TOKEN }}' - initial-status: 'in_progress' - environment: 'Desktop - Beta' - description: 'Deployment ${{ needs.setup.outputs.release_version }} to channel ${{ needs.setup.outputs.release_channel }} from branch ${{ needs.setup.outputs.branch_name }}' - task: release - - - name: Log in to Azure - uses: bitwarden/gh-actions/azure-login@main - with: - subscription_id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - tenant_id: ${{ secrets.AZURE_TENANT_ID }} - client_id: ${{ secrets.AZURE_CLIENT_ID }} - - - name: Retrieve secrets - id: retrieve-secrets - uses: bitwarden/gh-actions/get-keyvault-secrets@main - with: - keyvault: "bitwarden-ci" - secrets: "aws-electron-access-id, - aws-electron-access-key, - aws-electron-bucket-name" - - - name: Log out from Azure - uses: bitwarden/gh-actions/azure-logout@main - - - name: Download all artifacts - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 - with: - path: apps/desktop/artifacts - - - name: Rename .pkg to .pkg.archive - env: - PKG_VERSION: ${{ needs.setup.outputs.release_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 - - - name: Update deployment status to Success - if: ${{ success() }} - uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3 - with: - token: '${{ secrets.GITHUB_TOKEN }}' - state: 'success' - deployment-id: ${{ steps.deployment.outputs.deployment_id }} - - - name: Update deployment status to Failure - if: ${{ failure() }} - uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3 - with: - token: '${{ secrets.GITHUB_TOKEN }}' - state: 'failure' - deployment-id: ${{ steps.deployment.outputs.deployment_id }} - - remove-branch: - name: Remove branch - runs-on: ubuntu-22.04 - if: always() - needs: - - setup - - linux - - windows - - macos-build - - macos-package-github - - macos-package-mas - - release - permissions: - contents: write - steps: - - name: Checkout repo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - 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: Remove branch - env: - BRANCH: ${{ needs.setup.outputs.branch_name }} - run: git push origin --delete $BRANCH diff --git a/.github/workflows/release-desktop.yml b/.github/workflows/release-desktop.yml index 5ce0da4cb4b..bfd6115a1a9 100644 --- a/.github/workflows/release-desktop.yml +++ b/.github/workflows/release-desktop.yml @@ -124,7 +124,8 @@ jobs: apps/desktop/artifacts/Bitwarden-${{ env.PKG_VERSION }}-universal.pkg.archive, apps/desktop/artifacts/${{ env.RELEASE_CHANNEL }}.yml, apps/desktop/artifacts/${{ env.RELEASE_CHANNEL }}-linux.yml, - apps/desktop/artifacts/${{ env.RELEASE_CHANNEL }}-mac.yml" + apps/desktop/artifacts/${{ env.RELEASE_CHANNEL }}-mac.yml, + apps/desktop/artifacts/macos-build-number.json" commit: ${{ github.sha }} tag: desktop-v${{ env.PKG_VERSION }} name: Desktop v${{ env.PKG_VERSION }} diff --git a/.npmrc b/.npmrc index cffe8cdef13..421cf18217d 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,4 @@ save-exact=true +# Increase available heap size to avoid running out of memory when compiling. +# This applies to all npm scripts in this repository. +node-options=--max-old-space-size=8192 \ No newline at end of file diff --git a/.storybook/main.ts b/.storybook/main.ts index 879e87fe376..d3811bb178d 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -10,6 +10,8 @@ const config: StorybookConfig = { "../libs/auth/src/**/*.stories.@(js|jsx|ts|tsx)", "../libs/dirt/card/src/**/*.mdx", "../libs/dirt/card/src/**/*.stories.@(js|jsx|ts|tsx)", + "../libs/pricing/src/**/*.mdx", + "../libs/pricing/src/**/*.stories.@(js|jsx|ts|tsx)", "../libs/tools/send/send-ui/src/**/*.mdx", "../libs/tools/send/send-ui/src/**/*.stories.@(js|jsx|ts|tsx)", "../libs/vault/src/**/*.mdx", diff --git a/apps/browser/package.json b/apps/browser/package.json index e75d2b235db..24a53f43f66 100644 --- a/apps/browser/package.json +++ b/apps/browser/package.json @@ -1,32 +1,60 @@ { "name": "@bitwarden/browser", - "version": "2025.8.0", + "version": "2025.9.0", "scripts": { "build": "npm run build:chrome", + "build:bit": "npm run build:bit:chrome", "build:chrome": "cross-env BROWSER=chrome MANIFEST_VERSION=3 NODE_OPTIONS=\"--max-old-space-size=8192\" webpack", + "build:bit:chrome": "cross-env BROWSER=chrome MANIFEST_VERSION=3 NODE_OPTIONS=\"--max-old-space-size=8192\" webpack -c ../../bitwarden_license/bit-browser/webpack.config.js", "build:edge": "cross-env BROWSER=edge MANIFEST_VERSION=3 NODE_OPTIONS=\"--max-old-space-size=8192\" webpack", + "build:bit:edge": "cross-env BROWSER=edge MANIFEST_VERSION=3 NODE_OPTIONS=\"--max-old-space-size=8192\" webpack -c ../../bitwarden_license/bit-browser/webpack.config.js", "build:firefox": "cross-env BROWSER=firefox NODE_OPTIONS=\"--max-old-space-size=8192\" webpack", + "build:bit:firefox": "cross-env BROWSER=firefox NODE_OPTIONS=\"--max-old-space-size=8192\" webpack -c ../../bitwarden_license/bit-browser/webpack.config.js", "build:opera": "cross-env BROWSER=opera MANIFEST_VERSION=3 NODE_OPTIONS=\"--max-old-space-size=8192\" webpack", + "build:bit:opera": "cross-env BROWSER=opera MANIFEST_VERSION=3 NODE_OPTIONS=\"--max-old-space-size=8192\" webpack -c ../../bitwarden_license/bit-browser/webpack.config.js", "build:safari": "cross-env BROWSER=safari NODE_OPTIONS=\"--max-old-space-size=8192\" webpack", + "build:bit:safari": "cross-env BROWSER=safari NODE_OPTIONS=\"--max-old-space-size=8192\" webpack -c ../../bitwarden_license/bit-browser/webpack.config.js", "build:watch": "npm run build:watch:chrome", "build:watch:chrome": "npm run build:chrome -- --watch", + "build:bit:watch:chrome": "npm run build:bit:chrome -- --watch", "build:watch:edge": "npm run build:edge -- --watch", + "build:bit:watch:edge": "npm run build:bit:edge -- --watch", "build:watch:firefox": "npm run build:firefox -- --watch", + "build:bit:watch:firefox": "npm run build:bit:firefox -- --watch", "build:watch:opera": "npm run build:opera -- --watch", + "build:bit:watch:opera": "npm run build:bit:opera -- --watch", "build:watch:safari": "npm run build:safari -- --watch", + "build:bit:watch:safari": "npm run build:bit:safari -- --watch", + "build:watch:firefox:mv3": "cross-env MANIFEST_VERSION=3 npm run build:watch:firefox", + "build:bit:watch:firefox:mv3": "cross-env MANIFEST_VERSION=3 npm run build:bit:watch:firefox", + "build:watch:safari:mv3": "cross-env MANIFEST_VERSION=3 npm run build:watch:safari", + "build:bit:watch:safari:mv3": "cross-env MANIFEST_VERSION=3 npm run build:bit:watch:safari", "build:prod:chrome": "cross-env NODE_ENV=production npm run build:chrome", + "build:bit:prod:chrome": "cross-env NODE_ENV=production npm run build:bit:chrome", "build:prod:edge": "cross-env NODE_ENV=production npm run build:edge", + "build:bit:prod:edge": "cross-env NODE_ENV=production npm run build:bit:edge", "build:prod:firefox": "cross-env NODE_ENV=production npm run build:firefox", + "build:bit:prod:firefox": "cross-env NODE_ENV=production npm run build:bit:firefox", "build:prod:opera": "cross-env NODE_ENV=production npm run build:opera", + "build:bit:prod:opera": "cross-env NODE_ENV=production npm run build:bit:opera", "build:prod:safari": "cross-env NODE_ENV=production npm run build:safari", + "build:bit:prod:safari": "cross-env NODE_ENV=production npm run build:bit:safari", "dist:chrome": "npm run build:prod:chrome && mkdir -p dist && ./scripts/compress.sh dist-chrome.zip", + "dist:bit:chrome": "npm run build:bit:prod:chrome && mkdir -p dist && ./scripts/compress.sh bit-dist-chrome.zip", "dist:edge": "npm run build:prod:edge && mkdir -p dist && ./scripts/compress.sh dist-edge.zip", + "dist:bit:edge": "npm run build:bit:prod:edge && mkdir -p dist && ./scripts/compress.sh bit-dist-edge.zip", "dist:firefox": "npm run build:prod:firefox && mkdir -p dist && ./scripts/compress.sh dist-firefox.zip", + "dist:bit:firefox": "npm run build:bit:prod:firefox && mkdir -p dist && ./scripts/compress.sh bit-dist-firefox.zip", "dist:opera": "npm run build:prod:opera && mkdir -p dist && ./scripts/compress.sh dist-opera.zip", + "dist:bit:opera": "npm run build:bit:prod:opera && mkdir -p dist && ./scripts/compress.sh bit-dist-opera.zip", "dist:safari": "npm run build:prod:safari && ./scripts/package-safari.ps1", + "dist:bit:safari": "npm run build:bit:prod:safari && ./scripts/package-safari.ps1", "dist:firefox:mv3": "cross-env MANIFEST_VERSION=3 npm run dist:firefox", + "dist:bit:firefox:mv3": "cross-env MANIFEST_VERSION=3 npm run dist:bit:firefox", "dist:opera:mv3": "cross-env MANIFEST_VERSION=3 npm run dist:opera", + "dist:bit:opera:mv3": "cross-env MANIFEST_VERSION=3 npm run dist:bit:opera", "dist:safari:mv3": "cross-env MANIFEST_VERSION=3 npm run dist:safari", + "dist:bit:safari:mv3": "cross-env MANIFEST_VERSION=3 npm run dist:bit:safari", "test": "jest", "test:watch": "jest --watch", "test:watch:all": "jest --watchAll", diff --git a/apps/browser/src/_locales/ar/messages.json b/apps/browser/src/_locales/ar/messages.json index ee723217f2a..1bb7d3433d2 100644 --- a/apps/browser/src/_locales/ar/messages.json +++ b/apps/browser/src/_locales/ar/messages.json @@ -556,6 +556,9 @@ "view": { "message": "عرض" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "لا توجد عناصر لعرضها." }, @@ -1761,13 +1764,13 @@ "message": "لا يمكن لهذا المتصفح معالجة طلبات U2F في هذه النافذة المنبثقة. هل تريد فتح هذا المنبثق في نافذة جديدة بحيث يمكنك تسجيل الدخول باستخدام U2F؟" }, "enableFavicon": { - "message": "إظهار أيقونات الموقع" + "message": "Show website icons" }, "faviconDesc": { - "message": "إظهار صورة قابلة للتعرف بجانب كل تسجيل دخول." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "إظهار صورة قابلة للتعرف بجانب كل تسجيل دخول. تنطبق على جميع حسابات تسجيل الدخول." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "إظهار عداد الشارات" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "اختر مجموعة" }, - "importTargetHint": { - "message": "حدد هذا الخيار إذا كنت تريد نقل محتويات الملف المستورد إلى $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "الملف يحتوي على عناصر غير مسندة." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/az/messages.json b/apps/browser/src/_locales/az/messages.json index 1d26f50bca6..2a7659d9002 100644 --- a/apps/browser/src/_locales/az/messages.json +++ b/apps/browser/src/_locales/az/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Bax" }, + "viewLogin": { + "message": "Girişə bax" + }, "noItemsInList": { "message": "Sadalanacaq heç bir element yoxdur." }, @@ -1761,13 +1764,13 @@ "message": "Bu brauzer 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": "Veb sayt ikonlarını göstər" + "message": "Show website icons" }, "faviconDesc": { - "message": "Hər girişin yanında tanına bilən təsvir göstər." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Hər bir giriş elementinin yanında tanına bilən bir təsvir göstər. Giriş etmiş bütün hesablara aiddir." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Nişan sayğacını göstər" @@ -2383,13 +2386,13 @@ "message": "Bu qutunu işarələyərək aşağıdakılarla razılaşırsınız:" }, "acceptPoliciesRequired": { - "message": "Xidmət Şərtləri və Gizlilik Siyasəti qəbul edilməyib." + "message": "Xidmət Şərtləri və Məxfilik Siyasəti qəbul edilməyib." }, "termsOfService": { "message": "Xidmət Şərtləri" }, "privacyPolicy": { - "message": "Gizlilik Siyasəti" + "message": "Məxfilik Siyasəti" }, "yourNewPasswordCannotBeTheSameAsYourCurrentPassword": { "message": "Yeni parolunuz hazırkı parolunuzla eyni ola bilməz." @@ -2491,7 +2494,7 @@ "message": "Bu əməliyyat yan çubuqda icra edilə bilməz. Lütfən açılan pəncərədə yenidən sınayın." }, "personalOwnershipSubmitError": { - "message": "Müəssisə Siyasətinə görə, elementləri şəxsi seyfinizdə saxlamağınız məhdudlaşdırılıb. Sahiblik seçimini təşkilat olaraq dəyişdirin və mövcud kolleksiyalar arasından seçim edin." + "message": "Müəssisə Siyasətinə görə, elementləri fərdi seyfinizdə saxlamağınız məhdudlaşdırılıb. Sahiblik seçimini təşkilat olaraq dəyişdirin və mövcud kolleksiyalar arasından seçim edin." }, "personalOwnershipPolicyInEffect": { "message": "Bir təşkilat siyasəti, sahiblik seçimlərinizə təsir edir." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Bir kolleksiya seçin" }, - "importTargetHint": { - "message": "Daxilə köçürülən fayl məzmununun $DESTINATION$ yerinə daşınmasını istəyirsinizsə bu variantı seçin", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Daxilə köçürülən fayl məzmunlarının bir kolleksiyaya daşınmasını istəyirsinizsə bu variantı seçin" + }, + "importTargetHintFolder": { + "message": "Daxilə köçürülən fayl məzmunlarının bir qovluğa daşınmasını istəyirsinizsə bu variantı seçin" }, "importUnassignedItemsError": { "message": "Faylda təyin edilməmiş elementlər var." @@ -4439,7 +4438,7 @@ "description": "Title for the dialog that appears when the user has not granted the extension permission to set privacy settings" }, "privacyPermissionAdditionNotGrantedDescription": { - "message": "Bitwarden-i ilkin parol meneceri olaraq ayarlamaq üçün ona brauzer gizlilik icazələrini verməlisiniz.", + "message": "Bitwarden-i ilkin parol meneceri olaraq ayarlamaq üçün ona brauzer məxfilik icazələrini verməlisiniz.", "description": "Description for the dialog that appears when the user has not granted the extension permission to set privacy settings" }, "makeDefault": { @@ -4783,7 +4782,7 @@ } }, "personalDetails": { - "message": "Şəxsi detallar" + "message": "Fərdi detallar" }, "identification": { "message": "İdentifikasiya" @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Uzantı ikonunda giriş üçün avto-doldurma təklif sayını göstər" }, + "accountAccessRequested": { + "message": "Hesab erişimi tələb olundu" + }, + "confirmAccessAttempt": { + "message": "$EMAIL$ üçün erişim cəhdini təsdiqlə", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Seyfdə cəld kopyalama fəaliyyətlərini göstər" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Riskli parolları dəyişdir" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Bu giriş risk altındadır və bir veb sayt əskikdir. Daha güclü təhlükəsizlik üçün bir veb sayt əlavə edin və parolu dəyişdirin." + }, + "missingWebsite": { + "message": "Əskik veb sayt" + }, "settingsVaultOptions": { "message": "Seyf seçimləri" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Daha az göstər" + }, + "next": { + "message": "Növbəti" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Key Connector domenini təsdiqlə" } } diff --git a/apps/browser/src/_locales/be/messages.json b/apps/browser/src/_locales/be/messages.json index d6090123878..e1af3400be1 100644 --- a/apps/browser/src/_locales/be/messages.json +++ b/apps/browser/src/_locales/be/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Прагляд" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "У спісе адсутнічаюць элементы." }, @@ -1761,10 +1764,10 @@ "message": "Дадзены браўзер не можа апрацоўваць запыты U2F у гэтым усплывальным акне. Адкрыць гэта ўсплывальнае акно ў новым акне, каб мець магчымасць увайсці ў сістэму, выкарыстоўваючы U2F?" }, "enableFavicon": { - "message": "Паказваць значкі вэб-сайтаў" + "message": "Show website icons" }, "faviconDesc": { - "message": "Паказваць распазнавальны відарыс побач з кожным лагінам." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { "message": "Show a recognizable image next to each login. Applies to all logged in accounts." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Выбраць калекцыю" }, - "importTargetHint": { - "message": "Выберыце гэты параметр, калі вы хочаце, каб змесціва імпартаванага файла было перамешчанага ў $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "Файл змяшчае непадпісаныя элементы." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/bg/messages.json b/apps/browser/src/_locales/bg/messages.json index 3b411cd088c..b70e5e6f825 100644 --- a/apps/browser/src/_locales/bg/messages.json +++ b/apps/browser/src/_locales/bg/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Преглед" }, + "viewLogin": { + "message": "Преглед на елемента за вписване" + }, "noItemsInList": { "message": "Няма елементи за показване." }, @@ -1767,7 +1770,7 @@ "message": "Показване на разпознаваемо изображение до всеки запис." }, "faviconDescAlt": { - "message": "Показване на разпознаваемо изображение до всеки елемент. Прилага се към всички акаунти, в които сте Вписан(а)." + "message": "Показване на разпознаваемо изображение до всеки елемент. Прилага се към всички акаунти, в които сте вписан(а)." }, "enableBadgeCounter": { "message": "Показване на брояч в значка" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Изберете колекция" }, - "importTargetHint": { - "message": "Изберете тази опция, ако искате съдържанието на внесения файл да бъде преместено в $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Изберете тази опция, ако искате съдържанието на внесения файл да бъде преместено в колекция" + }, + "importTargetHintFolder": { + "message": "Изберете тази опция, ако искате съдържанието на внесения файл да бъде преместено в папка" }, "importUnassignedItemsError": { "message": "Файлът съдържа невъзложени елементи." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Показване на броя предложения за автоматично попълване на данни за вписване върху иконката на добавката" }, + "accountAccessRequested": { + "message": "Има заявка за достъп до акаунта" + }, + "confirmAccessAttempt": { + "message": "Потвърждаване на заявката за достъп за $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Показване на действията за бързо копиране в трезора" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Промяна на парола в риск" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Този елемент за вписване е в риск и в него липсва уеб сайт. Добавете уеб сайт и сменете паролата, за по-добра сигурност." + }, + "missingWebsite": { + "message": "Липсващ уеб сайт" + }, "settingsVaultOptions": { "message": "Настройки на трезора" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Показване на по-малко" + }, + "next": { + "message": "Следващо" + }, + "moreBreadcrumbs": { + "message": "Още елементи в пътечката", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Потвърждаване на домейна на конектора за ключове" } } diff --git a/apps/browser/src/_locales/bn/messages.json b/apps/browser/src/_locales/bn/messages.json index 55baca0dad2..ff36e30adb1 100644 --- a/apps/browser/src/_locales/bn/messages.json +++ b/apps/browser/src/_locales/bn/messages.json @@ -556,6 +556,9 @@ "view": { "message": "দেখুন" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "তালিকার জন্য কোনও বস্তু নেই।" }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/bs/messages.json b/apps/browser/src/_locales/bs/messages.json index 7ad375dabf0..8acfda7f422 100644 --- a/apps/browser/src/_locales/bs/messages.json +++ b/apps/browser/src/_locales/bs/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/ca/messages.json b/apps/browser/src/_locales/ca/messages.json index 3edfb98eba2..53c71129630 100644 --- a/apps/browser/src/_locales/ca/messages.json +++ b/apps/browser/src/_locales/ca/messages.json @@ -548,7 +548,7 @@ "message": "Cerca en la caixa forta" }, "resetSearch": { - "message": "Reset search" + "message": "Restableix la cerca" }, "edit": { "message": "Edita" @@ -556,6 +556,9 @@ "view": { "message": "Visualitza" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "No hi ha cap element a llistar." }, @@ -659,7 +662,7 @@ "message": "El vostre navegador web no admet la còpia fàcil del porta-retalls. Copieu-ho manualment." }, "verifyYourIdentity": { - "message": "Verify your identity" + "message": "Verificació de la vostra identitat" }, "weDontRecognizeThisDevice": { "message": "No reconeixem aquest dispositiu. Introduïu el codi que us hem enviat al correu electrònic per verificar la identitat." @@ -875,22 +878,22 @@ "message": "Inicia sessió a Bitwarden" }, "enterTheCodeSentToYourEmail": { - "message": "Enter the code sent to your email" + "message": "Introduïu el codi que us hem enviat al correu electrònic" }, "enterTheCodeFromYourAuthenticatorApp": { - "message": "Enter the code from your authenticator app" + "message": "Introduïu el codi de la vostra aplicació d'autenticació" }, "pressYourYubiKeyToAuthenticate": { "message": "Press your YubiKey to authenticate" }, "duoTwoFactorRequiredPageSubtitle": { - "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in." + "message": "Cal l'inici de sessió en dos passos de Duo al vostre compte. Seguiu els passos de sota per finalitzar l'inici de sessió." }, "followTheStepsBelowToFinishLoggingIn": { - "message": "Follow the steps below to finish logging in." + "message": "Seguiu els passos a continuació per finalitzar l'inici de sessió." }, "followTheStepsBelowToFinishLoggingInWithSecurityKey": { - "message": "Follow the steps below to finish logging in with your security key." + "message": "Seguiu els passos a continuació per finalitzar l'inici de sessió amb la clau de seguretat." }, "restartRegistration": { "message": "Reinicia el registre" @@ -914,7 +917,7 @@ "message": "No" }, "location": { - "message": "Location" + "message": "Ubicació" }, "unexpectedError": { "message": "S'ha produït un error inesperat." @@ -1124,7 +1127,7 @@ "description": "Button text for updating an existing login entry." }, "unlockToSave": { - "message": "Unlock to save this login", + "message": "Desbloqueja per guardar aquest inici de sessió", "description": "User prompt to take action in order to save the login they just entered." }, "saveLogin": { @@ -1169,7 +1172,7 @@ "description": "Message prompting user to undertake completion of another security task." }, "saveFailure": { - "message": "Error saving", + "message": "Error en guardar", "description": "Error message shown when the system fails to save login details." }, "saveFailureDetails": { @@ -1483,20 +1486,20 @@ } }, "dontAskAgainOnThisDeviceFor30Days": { - "message": "Don't ask again on this device for 30 days" + "message": "No ho torneu a preguntar en aquest dispositiu durant 30 dies" }, "selectAnotherMethod": { "message": "Select another method", "description": "Select another two-step login method" }, "useYourRecoveryCode": { - "message": "Use your recovery code" + "message": "Utilitzeu el codi de recuperació" }, "insertU2f": { "message": "Introduïu la vostra clau de seguretat al port USB de l'ordinador. Si té un botó, premeu-lo." }, "openInNewTab": { - "message": "Open in new tab" + "message": "Obrir en una pestanya nova" }, "webAuthnAuthenticate": { "message": "Autenticar WebAuthn" @@ -1761,13 +1764,13 @@ "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": "Mostra les icones dels llocs web" + "message": "Show website icons" }, "faviconDesc": { - "message": "Mostra una imatge reconeixible al costat de cada inici de sessió." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Mostra una imatge reconeixible al costat de cada sessió. S'aplica a tots els comptes connectats." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Mostra el comptador insígnia" @@ -2302,7 +2305,7 @@ "message": "El formulari està allotjat en un domini diferent de l'URI de l'inici de sessió guardat. Trieu D'acord per omplir -lo automàticament de totes maneres o Cancel·la per aturar-ho." }, "autofillIframeWarningTip": { - "message": "Per evitar aquest avís en el futur, guardeu aquest URI, $HOSTNAME$, al vostre element d'inici de sessió de Bitwarden d'aquest lloc.", + "message": "Per evitar aquest avís en el futur, guardeu el lloc d'aquest URI, $HOSTNAME$, en els elements d'inici de sessió de Bitwarden.", "placeholders": { "hostname": { "content": "$1", @@ -3785,11 +3788,11 @@ "message": "Trust user" }, "sendsTitleNoItems": { - "message": "Send sensitive information safely", + "message": "Envieu informació confidencial, de manera segura", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendsBodyNoItems": { - "message": "Share files and data securely with anyone, on any platform. Your information will remain end-to-end encrypted while limiting exposure.", + "message": "Compartiu fitxers i dades de manera segura amb qualsevol persona, en qualsevol plataforma. La informació romandrà xifrada de principi a fi i alhora limitarà l'exposició.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "inputRequired": { @@ -3946,7 +3949,7 @@ "description": "Text to display in overlay when the account is locked." }, "unlockYourAccountToViewAutofillSuggestions": { - "message": "Unlock your account to view autofill suggestions", + "message": "Desbloqueja el compte per veure els suggeriments d'emplenament automàtic", "description": "Text to display in overlay when the account is locked." }, "unlockAccount": { @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Selecciona una col·lecció" }, - "importTargetHint": { - "message": "Seleccioneu aquesta opció si voleu que el contingut del fitxer importat es desplace a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "El fitxer conté elements no assignats." @@ -4379,7 +4378,7 @@ "description": "Label indicating the most common import formats" }, "uriMatchDefaultStrategyHint": { - "message": "URI match detection is how Bitwarden identifies autofill suggestions.", + "message": "Bitwarden empra la detecció de coincidències URI per identificar suggeriments d'aemplenament automàtic.", "description": "Explains to the user that URI match detection determines how Bitwarden suggests autofill options, and clarifies that this default strategy applies when no specific match detection is set for a login item." }, "regExAdvancedOptionWarning": { @@ -4395,7 +4394,7 @@ "description": "Link to match detection docs on warning dialog for advance match strategy" }, "uriAdvancedOption": { - "message": "Advanced options", + "message": "Opcions avançades", "description": "Advanced option placeholder for uri option component" }, "confirmContinueToBrowserSettingsTitle": { @@ -4482,7 +4481,7 @@ "message": "Suggested items" }, "autofillSuggestionsTip": { - "message": "Save a login item for this site to autofill" + "message": "Guarda un inici de sessió d'aquest lloc web per omplir-lo automàticament" }, "yourVaultIsEmpty": { "message": "La caixa forta està buida" @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Mostra el nombre de suggeriments d'emplenament automàtic d'inici de sessió a la icona d'extensió" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Mostra accions de còpia ràpida a la caixa forta" }, @@ -5175,7 +5186,7 @@ "message": "No hi ha cap element a la paperera" }, "noItemsInTrashDesc": { - "message": "Items you delete will appear here and be permanently deleted after 30 days" + "message": "Els elements que suprimiu apareixeran ací i s'eliminaran permanentment al cap de 30 dies" }, "trashWarning": { "message": "Els elements que porten més de 30 dies a la paperera se suprimiran automàticament" @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Opcions de la caixa forta" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/cs/messages.json b/apps/browser/src/_locales/cs/messages.json index 916f765ea21..a8209ef4016 100644 --- a/apps/browser/src/_locales/cs/messages.json +++ b/apps/browser/src/_locales/cs/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Zobrazit" }, + "viewLogin": { + "message": "Zobrazit přihlašovací údaje" + }, "noItemsInList": { "message": "Žádné položky k zobrazení." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Zvolte sbírku" }, - "importTargetHint": { - "message": "Pokud chcete obsah importovaného souboru přesunout do: \"$DESTINATION$\", vyberte tuto volbu", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Pokud chcete obsah importovaného souboru přesunout do sbírky, vyberte tuto volbu" + }, + "importTargetHintFolder": { + "message": "Pokud chcete obsah importovaného souboru přesunout do složky, vyberte tuto volbu" }, "importUnassignedItemsError": { "message": "Soubor obsahuje nepřiřazené položky." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Zobrazit počet návrhů automatického vyplňování přihlášení na ikoně rozšíření" }, + "accountAccessRequested": { + "message": "Požadován přístup k účtu" + }, + "confirmAccessAttempt": { + "message": "Potvrďte pokus o přístup z $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Zobrazit akce rychlé kopie v trezoru" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Změnit ohrožené heslo" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Tyto přihlašovací údaje jsou ohrožené a chybí jim webová stránka. Přidejte webovou stránku a změňte heslo pro větší bezpečnost." + }, + "missingWebsite": { + "message": "Chybějící webová stránka" + }, "settingsVaultOptions": { "message": "Volby trezoru" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Zobrazit méně" + }, + "next": { + "message": "Další" + }, + "moreBreadcrumbs": { + "message": "Více...", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Potvrdit doménu Key Connectoru" } } diff --git a/apps/browser/src/_locales/cy/messages.json b/apps/browser/src/_locales/cy/messages.json index 8307b994fe0..5f7c624cbda 100644 --- a/apps/browser/src/_locales/cy/messages.json +++ b/apps/browser/src/_locales/cy/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Gweld" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Does dim eitemau i'w rhestru." }, @@ -1761,10 +1764,10 @@ "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?" }, "enableFavicon": { - "message": "Dangos eiconau gwefannau" + "message": "Show website icons" }, "faviconDesc": { - "message": "Dangos delwedd adnabyddadwy wrth ymyl pob eitem." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { "message": "Show a recognizable image next to each login. Applies to all logged in accounts." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Dewisiadau'r gell" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/da/messages.json b/apps/browser/src/_locales/da/messages.json index 0ff87e6e14f..e3a18790a85 100644 --- a/apps/browser/src/_locales/da/messages.json +++ b/apps/browser/src/_locales/da/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Vis" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Der er ingen elementer at vise." }, @@ -1761,13 +1764,13 @@ "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": "Vis webstedsikoner" + "message": "Show website icons" }, "faviconDesc": { - "message": "Vis et genkendeligt billede ud for hvert login." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Vis et genkendeligt billede ved siden af hvert login. Gælder for alle indloggede konti." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Vis badge-tæller" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Vælg en samling" }, - "importTargetHint": { - "message": "Vælg denne indstilling, hvis importeret filindhold skal flyttet til en $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "Fil indeholder ikke-tildelte emner." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Vis antal login-autoudfyldningsforslag på udvidelsesikon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Vis hurtig-kopihandlinger på Boks" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/de/messages.json b/apps/browser/src/_locales/de/messages.json index ffaf490fbf8..0836c82c0c2 100644 --- a/apps/browser/src/_locales/de/messages.json +++ b/apps/browser/src/_locales/de/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Anzeigen" }, + "viewLogin": { + "message": "Login ansehen" + }, "noItemsInList": { "message": "Keine Einträge zum Anzeigen vorhanden." }, @@ -1764,10 +1767,10 @@ "message": "Website-Symbole anzeigen" }, "faviconDesc": { - "message": "Ein wiedererkennbares Bild neben jeden Zugangsdaten anzeigen." + "message": "Ein wiedererkennbares Bild neben jedem Login anzeigen." }, "faviconDescAlt": { - "message": "Ein wiedererkennbares Bild neben jeden Zugangsdaten anzeigen. Gilt für alle angemeldeten Konten." + "message": "Ein wiedererkennbares Bild neben jedem Login anzeigen. Gilt für alle eingeloggten Konten." }, "enableBadgeCounter": { "message": "Badge-Zähler anzeigen" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Sammlung auswählen" }, - "importTargetHint": { - "message": "Wähle diese Option, wenn der importierte Dateiinhalt in eine(n) $DESTINATION$ verschoben werden soll", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Wählen Sie diese Option, wenn der importierte Dateiinhalt in eine Sammlung verschoben werden soll" + }, + "importTargetHintFolder": { + "message": "Wählen Sie diese Option, wenn der importierte Dateiinhalt in einen Ordner verschoben werden soll" }, "importUnassignedItemsError": { "message": "Die Datei enthält nicht zugewiesene Einträge." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Anzahl der Auto-Ausfüllen-Vorschläge von Zugangsdaten auf dem Erweiterungssymbol anzeigen" }, + "accountAccessRequested": { + "message": "Kontozugriff angefordert" + }, + "confirmAccessAttempt": { + "message": "Zugriffsversuch für $EMAIL$ bestätigen", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Schnellkopier-Aktionen im Tresor anzeigen" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Gefährdetes Passwort ändern" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Dieser Login ist gefährdet und es fehlt eine Website. Fügen Sie eine Website hinzu und ändern Sie das Passwort, um die Sicherheit zu erhöhen." + }, + "missingWebsite": { + "message": "Fehlende Webseite" + }, "settingsVaultOptions": { "message": "Tresoroptionen" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Weniger anzeigen" + }, + "next": { + "message": "Weiter" + }, + "moreBreadcrumbs": { + "message": "Mehr Breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Bestätige Key Connector Domäne" } } diff --git a/apps/browser/src/_locales/el/messages.json b/apps/browser/src/_locales/el/messages.json index 3d46b63ec45..c2ea283e4d9 100644 --- a/apps/browser/src/_locales/el/messages.json +++ b/apps/browser/src/_locales/el/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Προβολή" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Δεν υπάρχουν στοιχεία στη λίστα." }, @@ -665,7 +668,7 @@ "message": "Δεν αναγνωρίζουμε αυτή τη συσκευή. Εισάγετε τον κωδικό που στάλθηκε στο email σας για να επαληθεύσετε την ταυτότητά σας." }, "continueLoggingIn": { - "message": "Continue logging in" + "message": "Συνέχεια σύνδεσης" }, "yourVaultIsLocked": { "message": "Το vault σας είναι κλειδωμένο. Επαληθεύστε τον κύριο κωδικό πρόσβασης για να συνεχίσετε." @@ -1028,7 +1031,7 @@ "message": "Ζητήστε να προσθέσετε ένα αντικείμενο αν δε βρεθεί στο θησαυ/κιό σας. Ισχύει για όλους τους συνδεδεμένους λογαριασμούς." }, "showCardsInVaultViewV2": { - "message": "Always show cards as Autofill suggestions on Vault view" + "message": "Εμφάνιση καρτών ως προτάσεις αυτόματης συμπλήρωσης στην προβολή Θησαυ/κίου" }, "showCardsCurrentTab": { "message": "Εμφάνιση καρτών στη σελίδα Καρτέλας" @@ -1037,7 +1040,7 @@ "message": "Εμφάνισε τα αντικείμενα κάρτες στη σελίδα Καρτέλα για εύκολη αυτόματη συμπλήρωση." }, "showIdentitiesInVaultViewV2": { - "message": "Always show identities as Autofill suggestions on Vault view" + "message": "Εμφάνιση ταυτοτήτων ως προτάσεις αυτόματης συμπλήρωσης στην προβολή Θησαυ/κίου" }, "showIdentitiesCurrentTab": { "message": "Εμφάνιση ταυτοτήτων στη σελίδα καρτέλας" @@ -1049,7 +1052,7 @@ "message": "Κάντε κλικ στα αντικείμενα για αυτόματη συμπλήρωση στην προβολή Θησαυ/κίου" }, "clickToAutofill": { - "message": "Click items in autofill suggestion to fill" + "message": "Κάντε κλικ στα αντικείμενα της πρότασης αυτόματης συμπλήρωσης για εισαγωγή" }, "clearClipboard": { "message": "Εκκαθάριση Πρόχειρου", @@ -1066,7 +1069,7 @@ "message": "Ναι, Αποθήκευση Τώρα" }, "notificationViewAria": { - "message": "View $ITEMNAME$, opens in new window", + "message": "Προβολή $ITEMNAME$, ανοίγει σε νέο παράθυρο", "placeholders": { "itemName": { "content": "$1" @@ -1075,18 +1078,18 @@ "description": "Aria label for the view button in notification bar confirmation message" }, "notificationNewItemAria": { - "message": "New Item, opens in new window", + "message": "Νέο στοιχείο, ανοίγει σε νέο παράθυρο", "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" }, "notificationEditTooltip": { - "message": "Edit before saving", + "message": "Επεξεργασία πριν την αποθήκευση", "description": "Tooltip and Aria label for edit button on cipher item" }, "newNotification": { - "message": "New notification" + "message": "Νέα ειδοποίηση" }, "labelWithNotification": { - "message": "$LABEL$: New notification", + "message": "$LABEL$: Νέα ειδοποίηση", "description": "Label for the notification with a new login suggestion.", "placeholders": { "label": { @@ -1096,11 +1099,11 @@ } }, "notificationLoginSaveConfirmation": { - "message": "saved to Bitwarden.", + "message": "αποθηκεύτηκε στο Bitwarden.", "description": "Shown to user after item is saved." }, "notificationLoginUpdatedConfirmation": { - "message": "updated in Bitwarden.", + "message": "ενημερώθηκε στο Bitwarden.", "description": "Shown to user after item is updated." }, "selectItemAriaLabel": { @@ -1116,31 +1119,31 @@ } }, "saveAsNewLoginAction": { - "message": "Save as new login", + "message": "Αποθήκευση ως νέα σύνδεση", "description": "Button text for saving login details as a new entry." }, "updateLoginAction": { - "message": "Update login", + "message": "Ενημέρωση σύνδεσης", "description": "Button text for updating an existing login entry." }, "unlockToSave": { - "message": "Unlock to save this login", + "message": "Ξεκλειδώστε για να αποθηκεύσετε αυτή τη σύνδεση", "description": "User prompt to take action in order to save the login they just entered." }, "saveLogin": { - "message": "Save login", + "message": "Αποθήκευση σύνδεσης", "description": "Prompt asking the user if they want to save their login details." }, "updateLogin": { - "message": "Update existing login", + "message": "Ενημέρωση υπάρχουσας σύνδεσης", "description": "Prompt asking the user if they want to update an existing login entry." }, "loginSaveSuccess": { - "message": "Login saved", + "message": "Σύνδεση αποθηκεύτηκε", "description": "Message displayed when login details are successfully saved." }, "loginUpdateSuccess": { - "message": "Login updated", + "message": "Σύνδεση ενημερώθηκε", "description": "Message displayed when login details are successfully updated." }, "loginUpdateTaskSuccess": { @@ -1165,7 +1168,7 @@ "description": "Shown to user after login is updated." }, "nextSecurityTaskAction": { - "message": "Change next password", + "message": "Αλλαγή επόμενου κωδικού πρόσβασης", "description": "Message prompting user to undertake completion of another security task." }, "saveFailure": { @@ -1761,13 +1764,13 @@ "message": "Αυτό το πρόγραμμα περιήγησης δεν μπορεί να επεξεργαστεί αιτήματα του U2F σε αυτό το αναδυόμενο παράθυρο. Θέλετε να ανοίξετε το αναδυόμενο σε νέο παράθυρο, ώστε να μπορείτε να συνδεθείτε χρησιμοποιώντας U2F;" }, "enableFavicon": { - "message": "Εμφάνιση εικονιδίων ιστοσελίδας" + "message": "Show website icons" }, "faviconDesc": { - "message": "Εμφάνιση μιας αναγνωρίσιμης εικόνας δίπλα σε κάθε σύνδεση." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Εμφάνιση μιας αναγνωρίσιμης εικόνας δίπλα σε κάθε σύνδεση. Ισχύει για όλους τους συνδεδεμένους λογαριασμούς." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Εμφάνιση μετρητή εμβλημάτων" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Επιλέξτε μια συλλογή" }, - "importTargetHint": { - "message": "Επιλέξτε αυτή την επιλογή εάν θέλετε τα περιεχόμενα του εισαγόμενου αρχείου να μετακινηθούν στο $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "Το αρχείο περιέχει μη συσχετισμένα στοιχεία." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Εμφάνιση αριθμού προτάσεων αυτόματης συμπλήρωσης σύνδεσης στο εικονίδιο επέκτασης" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Εμφάνιση ενεργειών γρήγορης αντιγραφής στο Θησαυ/κιο" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/en/messages.json b/apps/browser/src/_locales/en/messages.json index 1c27fab6971..a44b1e11c32 100644 --- a/apps/browser/src/_locales/en/messages.json +++ b/apps/browser/src/_locales/en/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5580,8 +5597,14 @@ "showLess": { "message": "Show less" }, + "next": { + "message": "Next" + }, "moreBreadcrumbs": { "message": "More breadcrumbs", "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/en_GB/messages.json b/apps/browser/src/_locales/en_GB/messages.json index 8acf75e2ee5..d5a554e0163 100644 --- a/apps/browser/src/_locales/en_GB/messages.json +++ b/apps/browser/src/_locales/en_GB/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/en_IN/messages.json b/apps/browser/src/_locales/en_IN/messages.json index 281caeac0d5..7cf57ebd099 100644 --- a/apps/browser/src/_locales/en_IN/messages.json +++ b/apps/browser/src/_locales/en_IN/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -1764,7 +1767,7 @@ "message": "Show website icons" }, "faviconDesc": { - "message": "Show a recognizable image next to each login." + "message": "Show a recognisable image next to each login." }, "faviconDescAlt": { "message": "Show a recognisable image next to each login. Applies to all logged in accounts." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/es/messages.json b/apps/browser/src/_locales/es/messages.json index 0e1185148df..4f9d67b15f1 100644 --- a/apps/browser/src/_locales/es/messages.json +++ b/apps/browser/src/_locales/es/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Ver" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "No hay elementos que listar." }, @@ -1761,13 +1764,13 @@ "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": "Mostrar los iconos del sitio web" + "message": "Show website icons" }, "faviconDesc": { - "message": "Mostrar una imagen reconocible junto a cada inicio de sesión." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Mostrar una imagen reconocible junto a cada inicio de sesión. Se aplica a todas las cuentas conectadas." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Mostrar el contador numérico" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Selecciona una colección" }, - "importTargetHint": { - "message": "Selecciona esta opción si deseas que el contenido del archivo importado se mueva a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "El archivo contiene elementos no asignados." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Mostrar número de sugerencias de autocompletado de inicios de sesión en el icono de la extensión" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Cambiar contraseña de riesgo" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Opciones de la caja fuerte" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/et/messages.json b/apps/browser/src/_locales/et/messages.json index 09e77bd361f..68e57c06dbd 100644 --- a/apps/browser/src/_locales/et/messages.json +++ b/apps/browser/src/_locales/et/messages.json @@ -111,13 +111,13 @@ "message": "Kaart" }, "vault": { - "message": "Seif" + "message": "Hoidla" }, "myVault": { - "message": "Minu seif" + "message": "Minu hoidla" }, "allVaults": { - "message": "Kõik seifid" + "message": "Kõik hoidlad" }, "tools": { "message": "Tööriistad" @@ -556,6 +556,9 @@ "view": { "message": "Vaata" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Puuduvad kirjed, mida kuvada." }, @@ -671,7 +674,7 @@ "message": "Hoidla on lukus. Jätkamiseks sisesta ülemparool." }, "yourVaultIsLockedV2": { - "message": "Your vault is locked" + "message": "Sinu hoidla on lukus" }, "yourAccountIsLocked": { "message": "Your account is locked" @@ -1761,13 +1764,13 @@ "message": "Kasutatav brauser ei suuda selles aknas U2F päringuid töödelda. Kas avan uue akna, et saaksid U2F abil sisse logida?" }, "enableFavicon": { - "message": "Kuva veebilehtede ikoone" + "message": "Show website icons" }, "faviconDesc": { - "message": "Kuvab iga kirje kõrval lehekülje ikooni." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Näita väikest tuttavat ikooni iga kirje kõrval. Kehtib ka sisselogitud kontodele." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Kuva kirjete arvu" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -4476,13 +4475,13 @@ "message": "Pääsuvõti on eemaldatud" }, "autofillSuggestions": { - "message": "Autofill suggestions" + "message": "Automaatse täitmise soovitused" }, "itemSuggestions": { "message": "Suggested items" }, "autofillSuggestionsTip": { - "message": "Save a login item for this site to autofill" + "message": "Automaatseks täitmiseks salvesta kirje selle saidi jaoks" }, "yourVaultIsEmpty": { "message": "Your vault is empty" @@ -4649,7 +4648,7 @@ } }, "new": { - "message": "New" + "message": "Uus" }, "removeItem": { "message": "Remove $NAME$", @@ -4690,7 +4689,7 @@ "message": "Item history" }, "lastEdited": { - "message": "Last edited" + "message": "Viimati muudetud" }, "ownerYou": { "message": "Owner: You" @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5490,7 +5507,7 @@ "message": "Import now" }, "hasItemsVaultNudgeTitle": { - "message": "Welcome to your vault!" + "message": "Tere tulemast sinu hoidlasse!" }, "hasItemsVaultNudgeBodyOne": { "message": "Autofill items for the current page" @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/eu/messages.json b/apps/browser/src/_locales/eu/messages.json index 1cd1439e972..ea3f38764dd 100644 --- a/apps/browser/src/_locales/eu/messages.json +++ b/apps/browser/src/_locales/eu/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Erakutsi" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Ez dago erakusteko elementurik." }, @@ -1761,10 +1764,10 @@ "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": "Erakutsi webguneko ikonoak" + "message": "Show website icons" }, "faviconDesc": { - "message": "Erakutsi irudi bat saio-hasiera bakoitzaren ondoan." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { "message": "Show a recognizable image next to each login. Applies to all logged in accounts." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/fa/messages.json b/apps/browser/src/_locales/fa/messages.json index cfae87fd1a5..dde97ff4058 100644 --- a/apps/browser/src/_locales/fa/messages.json +++ b/apps/browser/src/_locales/fa/messages.json @@ -556,6 +556,9 @@ "view": { "message": "مشاهده" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "هیچ موردی برای نمایش وجود ندارد." }, @@ -1761,13 +1764,13 @@ "message": "این مرورگر نمی‌تواند درخواستهای U2F را در این پنجره پاپ آپ پردازش کند. آیا می‌خواهید این پنجره را در یک پنجره جدید باز کنید تا بتوانید با استفاده از U2F وارد شوید؟" }, "enableFavicon": { - "message": "نمایش نمادهای وب‌سایت" + "message": "Show website icons" }, "faviconDesc": { - "message": "یک تصویر قابل تشخیص در کنار هر ورود نشان دهید." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "نمایش تصویر قابل تشخیص کنار هر ورود به سیستم. برای تمام حساب‌های کاربری وارد شده اعمال می‌شود." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "نمایش شمارنده نشان" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "انتخاب یک مجموعه" }, - "importTargetHint": { - "message": "اگر می‌خواهید محتوای پرونده درون ریزی شده به $DESTINATION$ منتقل شود، این گزینه را انتخاب کنید", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "پرونده حاوی موارد اختصاص نیافته است." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "نمایش تعداد پیشنهادهای پر کردن خودکار ورود در نماد افزونه" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "نمایش عملیات کپی سریع در گاوصندوق" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "تغییر کلمه عبور در معرض خطر" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "گزینه‌های گاوصندوق" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/fi/messages.json b/apps/browser/src/_locales/fi/messages.json index ffd5caea1d3..046769b9043 100644 --- a/apps/browser/src/_locales/fi/messages.json +++ b/apps/browser/src/_locales/fi/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Näytä" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Näytettäviä kohteita ei ole." }, @@ -1761,13 +1764,13 @@ "message": "Tämä selain ei voi käsitellä U2F-pyyntöjä tässä ponnahdusikkunassa. Haluatko avata näkymän uuteen ikkunaan vahvistaaksesi kirjautumisen U2F-suojausavaimella?" }, "enableFavicon": { - "message": "Näytä verkkosivustojen kuvakkeet" + "message": "Show website icons" }, "faviconDesc": { - "message": "Näytä tunnistettava kuva jokaiselle kirjautumistiedolle." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Näytä tunnistettava kuva jokaisen kirjautumistiedon vieressä. Koskee kaikkia kirjautuneita tilejä." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Näytä laskuri" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Valitse kokoelma" }, - "importTargetHint": { - "message": "Valitse tämä, jos haluat tuoda tiedoston sisällön kohteeseen \"$DESTINATION$\".", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "Tiedosto sisältää määrittämättömiä kohteita." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Näytä automaattitäytön ehdotusten määrä laajennuksen kuvakkeessa" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Näytä pikakopiointitoiminnot holvissa" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Vaihda vaarantunut salasana" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Holvin asetukset" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/fil/messages.json b/apps/browser/src/_locales/fil/messages.json index 1682d21aa7f..8c24dd456e5 100644 --- a/apps/browser/src/_locales/fil/messages.json +++ b/apps/browser/src/_locales/fil/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Tanaw" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Walang mga bagay na maipapakita." }, @@ -1761,10 +1764,10 @@ "message": "Ang browser na ito ay hindi maaaring prosesuhin ang mga hiling ng U2F sa popup window na ito. Nais mo bang buksan ang popup na ito sa isang bagong window upang ma-log in gamit ang U2F?" }, "enableFavicon": { - "message": "Ipakita ang mga icon ng website" + "message": "Show website icons" }, "faviconDesc": { - "message": "Ipakita ang isang kilalang larawan sa tabi ng bawat login." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { "message": "Show a recognizable image next to each login. Applies to all logged in accounts." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/fr/messages.json b/apps/browser/src/_locales/fr/messages.json index 1a4f466a41c..039ba8142ef 100644 --- a/apps/browser/src/_locales/fr/messages.json +++ b/apps/browser/src/_locales/fr/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Afficher" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Aucun identifiant à afficher." }, @@ -1761,13 +1764,13 @@ "message": "Ce navigateur ne peut pas traiter les demandes U2F dans cette fenêtre popup. Voulez-vous ouvrir cette popup dans une nouvelle fenêtre afin de pouvoir vous connecter à l'aide de l'U2F ?" }, "enableFavicon": { - "message": "Afficher les icônes des sites web" + "message": "Show website icons" }, "faviconDesc": { - "message": "Affiche une image reconnaissable à côté de chaque identifiant." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Affiche une image reconnaissable à côté de chaque identifiant. S'applique à tous les comptes connectés." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Afficher le compteur de badge" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Sélectionner une collection" }, - "importTargetHint": { - "message": "Sélectionnez cette option si vous voulez que le contenu du fichier importé soit déplacé vers un(e) $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Sélectionnez cette option si vous voulez que le contenu du fichier importé soit déplacé vers une collection" + }, + "importTargetHintFolder": { + "message": "Sélectionnez cette option si vous voulez que le contenu du fichier importé soit déplacé vers un dossier" }, "importUnassignedItemsError": { "message": "Le fichier contient des éléments non assignés." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Afficher le nombre de suggestions de saisie automatique d'identifiant sur l'icône d'extension" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Afficher les actions de copie rapide dans le coffre" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Changer le mot de passe à risque" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Options du coffre" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/gl/messages.json b/apps/browser/src/_locales/gl/messages.json index 0698191f53e..f8fbd03b759 100644 --- a/apps/browser/src/_locales/gl/messages.json +++ b/apps/browser/src/_locales/gl/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Ver" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Non hai entradas que listar." }, @@ -1761,13 +1764,13 @@ "message": "Este navegador non pode procesar peticións U2F nesta ventá emerxente. Queres convertila nunha ventá completa para poder continuar?" }, "enableFavicon": { - "message": "Amosar iconas web" + "message": "Show website icons" }, "faviconDesc": { - "message": "Amosar unha imaxe recoñecible xunto a cada credencial." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Amosar unha imaxe recoñecible xunto a cada credencial. Aplica a tódalas sesións iniciadas en Bitwarden." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Amosar contador na icona" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Seleccionar unha colección" }, - "importTargetHint": { - "message": "Selecciona esta opción se queres que o contido importado se mova a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "O arquivo contén entradas sen asignar." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Amosar o número de suxestións de credenciais na icona da extensión" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Amosar accións rápidas de copiado na caixa forte" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/he/messages.json b/apps/browser/src/_locales/he/messages.json index 96dc5215051..1cc76b23633 100644 --- a/apps/browser/src/_locales/he/messages.json +++ b/apps/browser/src/_locales/he/messages.json @@ -395,7 +395,7 @@ "message": "תיקייה חדשה" }, "folderName": { - "message": "שם תיקייה" + "message": "שם התיקייה" }, "folderHintText": { "message": "צור תיקייה מקוננת על ידי הוספת שם תיקיית האב ואחריו “/”. דוגמה: חברתי/פורומים" @@ -548,7 +548,7 @@ "message": "חיפוש בכספת" }, "resetSearch": { - "message": "Reset search" + "message": "אפס חיפוש" }, "edit": { "message": "ערוך" @@ -556,6 +556,9 @@ "view": { "message": "הצג" }, + "viewLogin": { + "message": "הצג כניסה" + }, "noItemsInList": { "message": "אין פריטים להצגה." }, @@ -848,10 +851,10 @@ "message": "הפוך את האימות הדו־שלבי לחלק" }, "totpHelper": { - "message": "Bitwarden יכול לאחסון ולמלא קודים של אימות דו־שלבי. העתק והדבק את המפתח לשדה זה." + "message": "Bitwarden יכול לאחסן ולמלא קודים של אימות דו־שלבי. העתק והדבק את המפתח לתוך שדה זה." }, "totpHelperWithCapture": { - "message": "Bitwarden יכול לאחסון ולמלא קודים של אימות דו־שלבי. בחר את סמל המצלמה כדי לצלם את הקוד QR המאמת של אתר זה, או העתק והדבק את המפתח לתוך שדה זה." + "message": "Bitwarden יכול לאחסן ולמלא קודים של אימות דו־שלבי. בחר את סמל המצלמה כדי לצלם את הקוד QR המאמת של אתר זה, או העתק והדבק את המפתח לתוך שדה זה." }, "learnMoreAboutAuthenticators": { "message": "למד עוד על מאמתים" @@ -890,7 +893,7 @@ "message": "עקוב אחר השלבים למטה כדי לסיים להיכנס." }, "followTheStepsBelowToFinishLoggingInWithSecurityKey": { - "message": "Follow the steps below to finish logging in with your security key." + "message": "יש לעקוב אחר השלבים למטה כדי לסיים להיכנס באמצעות מפתח האבטחה שלך." }, "restartRegistration": { "message": "התחל הרשמה מחדש" @@ -1066,7 +1069,7 @@ "message": "שמור" }, "notificationViewAria": { - "message": "View $ITEMNAME$, opens in new window", + "message": "הצג את $ITEMNAME$, נפתח בחלון חדש", "placeholders": { "itemName": { "content": "$1" @@ -1075,18 +1078,18 @@ "description": "Aria label for the view button in notification bar confirmation message" }, "notificationNewItemAria": { - "message": "New Item, opens in new window", + "message": "פריט חדש, נפתח בחלון חדש", "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" }, "notificationEditTooltip": { - "message": "Edit before saving", + "message": "ערוך לפני השמירה", "description": "Tooltip and Aria label for edit button on cipher item" }, "newNotification": { - "message": "New notification" + "message": "התראה חדשה" }, "labelWithNotification": { - "message": "$LABEL$: New notification", + "message": "$LABEL$: התראה חדשה", "description": "Label for the notification with a new login suggestion.", "placeholders": { "label": { @@ -1096,15 +1099,15 @@ } }, "notificationLoginSaveConfirmation": { - "message": "saved to Bitwarden.", + "message": "נשמר ב־Bitwarden.", "description": "Shown to user after item is saved." }, "notificationLoginUpdatedConfirmation": { - "message": "updated in Bitwarden.", + "message": "עודכן ב־Bitwarden.", "description": "Shown to user after item is updated." }, "selectItemAriaLabel": { - "message": "Select $ITEMTYPE$, $ITEMNAME$", + "message": "בחר $ITEMTYPE$, $ITEMNAME$", "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", "placeholders": { "itemType": { @@ -1124,15 +1127,15 @@ "description": "Button text for updating an existing login entry." }, "unlockToSave": { - "message": "Unlock to save this login", + "message": "בטל נעילה כדי לשמור כניסה זו", "description": "User prompt to take action in order to save the login they just entered." }, "saveLogin": { - "message": "Save login", + "message": "שמור כניסה", "description": "Prompt asking the user if they want to save their login details." }, "updateLogin": { - "message": "Update existing login", + "message": "עדכן כניסה קיימת", "description": "Prompt asking the user if they want to update an existing login entry." }, "loginSaveSuccess": { @@ -1144,7 +1147,7 @@ "description": "Message displayed when login details are successfully updated." }, "loginUpdateTaskSuccess": { - "message": "Great job! You took the steps to make you and $ORGANIZATION$ more secure.", + "message": "עבודה נהדרת! ביצעת את השלבים כדי להפוך אותך ואת $ORGANIZATION$ ליותר מאובטחים.", "placeholders": { "organization": { "content": "$1" @@ -1153,7 +1156,7 @@ "description": "Shown to user after login is updated." }, "loginUpdateTaskSuccessAdditional": { - "message": "Thank you for making $ORGANIZATION$ more secure. You have $TASK_COUNT$ more passwords to update.", + "message": "תודה לך שהפכת את $ORGANIZATION$ ליותר מאובטח. יש לך עוד $TASK_COUNT$ סיסמאות לעדכן.", "placeholders": { "organization": { "content": "$1" @@ -1165,7 +1168,7 @@ "description": "Shown to user after login is updated." }, "nextSecurityTaskAction": { - "message": "Change next password", + "message": "שנה את הסיסמה הבאה", "description": "Message prompting user to undertake completion of another security task." }, "saveFailure": { @@ -1177,10 +1180,10 @@ "description": "Detailed error message shown when saving login details fails." }, "changePasswordWarning": { - "message": "After changing your password, you will need to log in with your new password. Active sessions on other devices will be logged out within one hour." + "message": "לאחר שינוי הסיסמה שלך, תצטרך להיכנס עם הסיסמה החדשה שלך. הפעלות פעילות במכשירים אחרים ינותקו תוך שעה." }, "accountRecoveryUpdateMasterPasswordSubtitle": { - "message": "Change your master password to complete account recovery." + "message": "יש לשנות את הסיסמה הראשית שלך כדי להשלים את שחזור החשבון." }, "enableChangedPasswordNotification": { "message": "שאל אם לעדכן פרטי כניסה קיימת" @@ -1375,7 +1378,7 @@ "message": "התכונה אינה זמינה" }, "legacyEncryptionUnsupported": { - "message": "Legacy encryption is no longer supported. Please contact support to recover your account." + "message": "הצפנה מהדור הקודם אינה נתמכת עוד. נא ליצור קשר עם התמיכה כדי לשחזר את חשבונך." }, "premiumMembership": { "message": "חברות פרימיום" @@ -1609,13 +1612,13 @@ "message": "הצעות למילוי אוטומטי" }, "autofillSpotlightTitle": { - "message": "Easily find autofill suggestions" + "message": "מצא בקלות הצעות למילוי אוטומטי" }, "autofillSpotlightDesc": { - "message": "Turn off your browser's autofill settings, so they don't conflict with Bitwarden." + "message": "השבת את המילוי האוטומטי של הדפדפן שלך, כך שהוא לא יתנגש עם Bitwarden." }, "turnOffBrowserAutofill": { - "message": "Turn off $BROWSER$ autofill", + "message": "השבת את המילוי האוטומטי של $BROWSER$", "placeholders": { "browser": { "content": "$1", @@ -1624,7 +1627,7 @@ } }, "turnOffAutofill": { - "message": "Turn off autofill" + "message": "השבת מילוי אוטומטי" }, "showInlineMenuLabel": { "message": "הצג הצעות למילוי אוטומטי על שדות טופס" @@ -1833,7 +1836,7 @@ "message": "קוד אבטחה" }, "cardNumber": { - "message": "card number" + "message": "מספר כרטיס" }, "ex": { "message": "לדוגמא" @@ -1935,7 +1938,7 @@ "message": "מפתח SSH" }, "typeNote": { - "message": "Note" + "message": "הערה" }, "newItemHeader": { "message": "$TYPE$ חדש", @@ -2169,7 +2172,7 @@ "message": "קבע קוד PIN לביטול נעילת Bitwarden. הגדרות הPIN יאופסו אם תבצע יציאה מהתוכנה." }, "setPinCode": { - "message": "You can use this PIN to unlock Bitwarden. Your PIN will be reset if you ever fully log out of the application." + "message": "באפשרותך להשתמש ב־PIN זה כדי לבטל את נעילת Bitwarden. ה־PIN שלך יאופס אם אי פעם תצא באופן מלא מהיישום." }, "pinRequired": { "message": "נדרש קוד PIN." @@ -2220,7 +2223,7 @@ "message": "השתמש בסיסמה זו" }, "useThisPassphrase": { - "message": "Use this passphrase" + "message": "השתמש בביטוי סיסמה זה" }, "useThisUsername": { "message": "השתמש בשם משתמש זה" @@ -2500,10 +2503,10 @@ "message": "מדיניות ארגון חסמה ייבוא פריטים אל תוך הכספת האישית שלך." }, "restrictCardTypeImport": { - "message": "Cannot import card item types" + "message": "לא ניתן לייבא פריטים מסוג כרטיס" }, "restrictCardTypeImportDesc": { - "message": "A policy set by 1 or more organizations prevents you from importing cards to your vaults." + "message": "מדיניות שנקבעה על ידי ארגון אחד או יותר מונעת ממך מלייבא כרטיסים לכספות שלך." }, "domainsTitle": { "message": "דומיינים", @@ -2537,7 +2540,7 @@ "message": "שינוי" }, "changePassword": { - "message": "Change password", + "message": "שנה סיסמה", "description": "Change password button for browser at risk notification on login." }, "changeButtonTitle": { @@ -2550,7 +2553,7 @@ } }, "atRiskPassword": { - "message": "At-risk password" + "message": "סיסמה בסיכון" }, "atRiskPasswords": { "message": "סיסמאות בסיכון" @@ -2587,7 +2590,7 @@ } }, "atRiskChangePrompt": { - "message": "Your password for this site is at-risk. $ORGANIZATION$ has requested that you change it.", + "message": "הסיסמה שלך עבור אתר זה נמצאת בסיכון. $ORGANIZATION$ ביקשו שתשנה אותה.", "placeholders": { "organization": { "content": "$1", @@ -2597,7 +2600,7 @@ "description": "Notification body when a login triggers an at-risk password change request and the change password domain is known." }, "atRiskNavigatePrompt": { - "message": "$ORGANIZATION$ wants you to change this password because it is at-risk. Navigate to your account settings to change the password.", + "message": "$ORGANIZATION$ רוצים שתשנה את הסיסמה הזאת בגלל שהיא בסיכון. נווט אל הגדרות החשבון שלך כדי לשנות את הסיסמה.", "placeholders": { "organization": { "content": "$1", @@ -2635,14 +2638,14 @@ "description": "Description of the review at-risk login slide on the at-risk password page carousel" }, "reviewAtRiskLoginSlideImgAltPeriod": { - "message": "Illustration of a list of logins that are at-risk." + "message": "איור של רשימת כניסות בסיכון." }, "generatePasswordSlideDesc": { "message": "צור במהירות סיסמה חזקה וייחודית עם תפריט המילוי האוטומטי של Bitwarden באתר שבסיכון.", "description": "Description of the generate password slide on the at-risk password page carousel" }, "generatePasswordSlideImgAltPeriod": { - "message": "Illustration of the Bitwarden autofill menu displaying a generated password." + "message": "איור של תפריט המילוי האוטומטי של Bitwarden המציג סיסמה שנוצרה." }, "updateInBitwarden": { "message": "עדכן ב־Bitwarden" @@ -2652,7 +2655,7 @@ "description": "Description of the update in Bitwarden slide on the at-risk password page carousel" }, "updateInBitwardenSlideImgAltPeriod": { - "message": "Illustration of a Bitwarden’s notification prompting the user to update the login." + "message": "איור של התראת Bitwarden המנחה את המשתמש לעדכן את הכניסה." }, "turnOnAutofill": { "message": "הפעל מילוי אוטומטי" @@ -2932,7 +2935,7 @@ "message": "עליך לאמת את הדוא\"ל שלך כדי להשתמש בתכונה זו. ניתן לאמת את הדוא\"ל שלך בכספת הרשת." }, "masterPasswordSuccessfullySet": { - "message": "Master password successfully set" + "message": "סיסמה ראשית הוגדרה בהצלחה" }, "updatedMasterPassword": { "message": "סיסמה ראשית עודכנה" @@ -3073,13 +3076,13 @@ "message": "לא נמצא מזהה ייחודי." }, "removeMasterPasswordForOrganizationUserKeyConnector": { - "message": "A master password is no longer required for members of the following organization. Please confirm the domain below with your organization administrator." + "message": "סיסמה ראשית אינה נדרשת עוד עבור חברים בארגון הבא. נא לאשר את הדומיין שלהלן עם מנהל הארגון שלך." }, "organizationName": { - "message": "Organization name" + "message": "שם הארגון" }, "keyConnectorDomain": { - "message": "Key Connector domain" + "message": "דומיין של Key Connector" }, "leaveOrganization": { "message": "עזוב ארגון" @@ -3115,7 +3118,7 @@ } }, "exportingIndividualVaultWithAttachmentsDescription": { - "message": "Only the individual vault items including attachments associated with $EMAIL$ will be exported. Organization vault items will not be included", + "message": "רק פריטי הכספת האישית כולל צרופות המשויכים עם $EMAIL$ ייוצאו. פריטי כספת ארגונית לא יכללו", "placeholders": { "email": { "content": "$1", @@ -3467,7 +3470,7 @@ "message": "בקשה נשלחה" }, "loginRequestApprovedForEmailOnDevice": { - "message": "Login request approved for $EMAIL$ on $DEVICE$", + "message": "בקשת הכניסה אושרה עבור $EMAIL$ ב־$DEVICE$", "placeholders": { "email": { "content": "$1", @@ -3480,16 +3483,16 @@ } }, "youDeniedLoginAttemptFromAnotherDevice": { - "message": "You denied a login attempt from another device. If this was you, try to log in with the device again." + "message": "דחית ניסיון כניסה ממכשיר אחר. אם זה היית אתה, נסה להיכנס עם המכשיר שוב." }, "device": { - "message": "Device" + "message": "מכשיר" }, "loginStatus": { - "message": "Login status" + "message": "מצב כניסה" }, "masterPasswordChanged": { - "message": "Master password saved" + "message": "הסיסמה הראשית נשמרה" }, "exposedMasterPassword": { "message": "סיסמה ראשית חשופה" @@ -3585,28 +3588,28 @@ "message": "זכור מכשיר זה כדי להפוך כניסות עתידיות לחלקות" }, "manageDevices": { - "message": "Manage devices" + "message": "נהל מכשירים" }, "currentSession": { - "message": "Current session" + "message": "הפעלה נוכחית" }, "mobile": { - "message": "Mobile", + "message": "נייד", "description": "Mobile app" }, "extension": { - "message": "Extension", + "message": "הרחבה", "description": "Browser extension/addon" }, "desktop": { - "message": "Desktop", + "message": "שולחן עבודה", "description": "Desktop app" }, "webVault": { - "message": "Web vault" + "message": "כספת רשת" }, "webApp": { - "message": "Web app" + "message": "יישום רשת" }, "cli": { "message": "CLI" @@ -3616,22 +3619,22 @@ "description": "Software Development Kit" }, "requestPending": { - "message": "Request pending" + "message": "בקשה בהמתנה" }, "firstLogin": { - "message": "First login" + "message": "כניסה ראשונה" }, "trusted": { - "message": "Trusted" + "message": "מהימן" }, "needsApproval": { - "message": "Needs approval" + "message": "צריך אישור" }, "devices": { - "message": "Devices" + "message": "מכשירים" }, "accessAttemptBy": { - "message": "Access attempt by $EMAIL$", + "message": "ניסיון גישה על ידי $EMAIL$", "placeholders": { "email": { "content": "$1", @@ -3640,31 +3643,31 @@ } }, "confirmAccess": { - "message": "Confirm access" + "message": "אשר גישה" }, "denyAccess": { - "message": "Deny access" + "message": "דחה גישה" }, "time": { - "message": "Time" + "message": "זמן" }, "deviceType": { - "message": "Device Type" + "message": "סוג מכשיר" }, "loginRequest": { - "message": "Login request" + "message": "בקשת כניסה" }, "thisRequestIsNoLongerValid": { - "message": "This request is no longer valid." + "message": "בקשה זו אינה תקפה עוד." }, "loginRequestHasAlreadyExpired": { - "message": "Login request has already expired." + "message": "כבר פג תוקפה של בקשת הכניסה." }, "justNow": { - "message": "Just now" + "message": "זה עתה" }, "requestedXMinutesAgo": { - "message": "Requested $MINUTES$ minutes ago", + "message": "התבקשה לפני $MINUTES$ דקות", "placeholders": { "minutes": { "content": "$1", @@ -3694,10 +3697,10 @@ "message": "בקש אישור מנהל" }, "unableToCompleteLogin": { - "message": "Unable to complete login" + "message": "לא ניתן להשלים את הכניסה" }, "loginOnTrustedDeviceOrAskAdminToAssignPassword": { - "message": "You need to log in on a trusted device or ask your administrator to assign you a password." + "message": "עליך להיכנס במכשיר מהימן או לבקש ממנהל המערכת שלך להקצות לך סיסמה." }, "ssoIdentifierRequired": { "message": "נדרש מזהה SSO של הארגון." @@ -3761,35 +3764,35 @@ "message": "מכשיר מהימן" }, "trustOrganization": { - "message": "Trust organization" + "message": "תן אמון בארגון" }, "trust": { - "message": "Trust" + "message": "תן אמון" }, "doNotTrust": { - "message": "Do not trust" + "message": "אל תתן אמון" }, "organizationNotTrusted": { - "message": "Organization is not trusted" + "message": "הארגון אינו מהימן" }, "emergencyAccessTrustWarning": { - "message": "For the security of your account, only confirm if you have granted emergency access to this user and their fingerprint matches what is displayed in their account" + "message": "למען אבטחת חשבונך, אשר רק אם הענקת גישת חירום למשתמש הזה וטביעת האצבע שלו תואמת את מה שמוצג בחשבון שלו" }, "orgTrustWarning": { - "message": "For the security of your account, only proceed if you are a member of this organization, have account recovery enabled, and the fingerprint displayed below matches the organization's fingerprint." + "message": "למען אבטחת חשבונך, המשך רק אם אתה חבר של הארגון הזה, הפעלת שחזור חשבון, וטביעת האצבע המוצגת למטה תואמת את טביעת האצבע של הארגון." }, "orgTrustWarning1": { - "message": "This organization has an Enterprise policy that will enroll you in account recovery. Enrollment will allow organization administrators to change your password. Only proceed if you recognize this organization and the fingerprint phrase displayed below matches the organization's fingerprint." + "message": "לארגון זה יש מדיניות ארגונית אשר תרשום אותך לשחזור חשבון. ההרשמה תאפשר למנהלי הארגון לשנות את הסיסמה שלך. המשך רק אם אתה מזהה את הארגון הזה וביטוי טביעת האצבע המוצג למטה תואם את טביעת האצבע של הארגון." }, "trustUser": { - "message": "Trust user" + "message": "תן אמון במשתמש" }, "sendsTitleNoItems": { - "message": "Send sensitive information safely", + "message": "שלח מידע רגיש באופן בטוח", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendsBodyNoItems": { - "message": "Share files and data securely with anyone, on any platform. Your information will remain end-to-end encrypted while limiting exposure.", + "message": "שתף קבצים ונתונים באופן מאובטח עם כל אחד, בכל פלטפורמה. המידע שלך יישאר מוצפן מקצה־לקצה תוך הגבלת חשיפה.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "inputRequired": { @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "בחר אוסף" }, - "importTargetHint": { - "message": "בחר באפשרות זו אם ברצונך להעביר את תוכן הקובץ המיובא אל $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "בחר אפשרות זו אם ברצונך שהתוכן של הקובץ המיובא יועבר לאוסף" + }, + "importTargetHintFolder": { + "message": "בחר אפשרות זו אם ברצונך שהתוכן של הקובץ המיובא יועבר לתיקייה" }, "importUnassignedItemsError": { "message": "קובץ מכיל פריטים לא מוקצים." @@ -4379,23 +4378,23 @@ "description": "Label indicating the most common import formats" }, "uriMatchDefaultStrategyHint": { - "message": "URI match detection is how Bitwarden identifies autofill suggestions.", + "message": "זיהוי התאמת URI הוא האופן שבו Bitwarden מזהה הצעות למילוי אוטומטי.", "description": "Explains to the user that URI match detection determines how Bitwarden suggests autofill options, and clarifies that this default strategy applies when no specific match detection is set for a login item." }, "regExAdvancedOptionWarning": { - "message": "\"Regular expression\" is an advanced option with increased risk of exposing credentials.", + "message": "\"ביטוי רגולרי\" הוא אפשרות מתקדמת עם סיכון מוגבר לחשיפת אישורים.", "description": "Content for dialog which warns a user when selecting 'regular expression' matching strategy as a cipher match strategy" }, "startsWithAdvancedOptionWarning": { - "message": "\"Starts with\" is an advanced option with increased risk of exposing credentials.", + "message": "\"מתחיל עם\" היא אפשרות מתקדמת עם סיכון מוגבר לחשיפת אישורים.", "description": "Content for dialog which warns a user when selecting 'starts with' matching strategy as a cipher match strategy" }, "uriMatchWarningDialogLink": { - "message": "More about match detection", + "message": "עוד על זיהוי התאמה", "description": "Link to match detection docs on warning dialog for advance match strategy" }, "uriAdvancedOption": { - "message": "Advanced options", + "message": "אפשרויות מתקדמות", "description": "Advanced option placeholder for uri option component" }, "confirmContinueToBrowserSettingsTitle": { @@ -4544,7 +4543,7 @@ } }, "viewItemTitleWithField": { - "message": "View item - $ITEMNAME$ - $FIELD$", + "message": "הצג פריט - $ITEMNAME$ - $FIELD$", "description": "Title for a link that opens a view for an item.", "placeholders": { "itemname": { @@ -4568,7 +4567,7 @@ } }, "autofillTitleWithField": { - "message": "Autofill - $ITEMNAME$ - $FIELD$", + "message": "מלא אוטומטית - $ITEMNAME$ - $FIELD$", "description": "Title for a button that autofills a login item.", "placeholders": { "itemname": { @@ -4582,7 +4581,7 @@ } }, "copyFieldCipherName": { - "message": "Copy $FIELD$, $CIPHERNAME$", + "message": "העתק $FIELD$, $CIPHERNAME$", "description": "Title for a button that copies a field value to the clipboard.", "placeholders": { "field": { @@ -4729,31 +4728,31 @@ } }, "downloadBitwarden": { - "message": "Download Bitwarden" + "message": "הורד את Bitwarden" }, "downloadBitwardenOnAllDevices": { - "message": "Download Bitwarden on all devices" + "message": "הורד את Bitwarden בכל המכשירים" }, "getTheMobileApp": { - "message": "Get the mobile app" + "message": "קבל את היישום לנייד" }, "getTheMobileAppDesc": { - "message": "Access your passwords on the go with the Bitwarden mobile app." + "message": "גש אל הסיסמאות שלך בדרך עם היישום לנייד של Bitwarden." }, "getTheDesktopApp": { - "message": "Get the desktop app" + "message": "קבל את היישום לשולחן העבודה" }, "getTheDesktopAppDesc": { - "message": "Access your vault without a browser, then set up unlock with biometrics to expedite unlocking in both the desktop app and browser extension." + "message": "גש לכספת שלך ללא דפדפן, ואז הגדר ביטול נעילה עם זיהוי ביומטרי כדי לזרז ביטול נעילה גם ביישום לשולחן העבודה וגם בהרחבת הדפדפן." }, "downloadFromBitwardenNow": { - "message": "Download from bitwarden.com now" + "message": "הורד מ־bitwarden.com עכשיו" }, "getItOnGooglePlay": { - "message": "Get it on Google Play" + "message": "קבל אותו ב־Google Play" }, "downloadOnTheAppStore": { - "message": "Download on the App Store" + "message": "הורד ב־App Store" }, "permanentlyDeleteAttachmentConfirmation": { "message": "האם אתה בטוח שברצונך למחוק לצמיתות צרופה זו?" @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "הצג את מספר ההצעות למילוי כניסה אוטומטי בסמל ההרחבה" }, + "accountAccessRequested": { + "message": "התבקשה גישה לחשבון" + }, + "confirmAccessAttempt": { + "message": "אשר ניסיון גישה עבור $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "הצג פעולות העתקה מהירה בכספת" }, @@ -5217,16 +5228,16 @@ "message": "ביטול נעילה ביומטרי אינו זמין כעת מסיבה לא ידועה." }, "unlockVault": { - "message": "Unlock your vault in seconds" + "message": "בטל את נעילת הכספת שלך בשניות" }, "unlockVaultDesc": { - "message": "You can customize your unlock and timeout settings to more quickly access your vault." + "message": "באפשרותך להתאים אישית את הגדרות ביטול הנעילה ופסק הזמן כדי לגשת במהירות רבה יותר לכספת שלך." }, "unlockPinSet": { - "message": "Unlock PIN set" + "message": "הוגדר PIN לביטול נעילה" }, "unlockWithBiometricSet": { - "message": "Unlock with biometrics set" + "message": "הוגדר ביטול נעילה עם זיהוי ביומטרי" }, "authenticating": { "message": "מאמת" @@ -5240,7 +5251,7 @@ "description": "Notification message for when a password has been regenerated" }, "saveToBitwarden": { - "message": "Save to Bitwarden", + "message": "שמור ב־Bitwarden", "description": "Confirmation message for saving a login to Bitwarden" }, "spaceCharacterDescriptor": { @@ -5427,7 +5438,7 @@ "message": "מפתח SSH יובא בהצלחה" }, "cannotRemoveViewOnlyCollections": { - "message": "אינך יכול להסיר אוספים עם הרשאות צפייה בלבד: $COLLECTIONS$", + "message": "אינך יכול להסיר אוספים עם הרשאות הצגה בלבד: $COLLECTIONS$", "placeholders": { "collections": { "content": "$1", @@ -5444,140 +5455,156 @@ "changeAtRiskPassword": { "message": "שנה סיסמה בסיכון" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "כניסה זו נמצאת בסיכון וחסר בה אתר אינטרנט. הוסף אתר אינטרנט ושנה את הסיסמה לאבטחה חזקה יותר." + }, + "missingWebsite": { + "message": "לא נמצא אתר אינטרנט" + }, "settingsVaultOptions": { - "message": "Vault options" + "message": "אפשרויות כספת" }, "emptyVaultDescription": { - "message": "The vault protects more than just your passwords. Store secure logins, IDs, cards and notes securely here." + "message": "הכספת מגינה על יותר מרק הסיסמאות שלך. אחסן כניסות מאובטחות, זהויות, כרטיסים והערות באופן מאובטח כאן." }, "introCarouselLabel": { - "message": "Welcome to Bitwarden" + "message": "ברוך בואך אל Bitwarden" }, "securityPrioritized": { - "message": "Security, prioritized" + "message": "אבטחה, מועדפת" }, "securityPrioritizedBody": { - "message": "Save logins, cards, and identities to your secure vault. Bitwarden uses zero-knowledge, end-to-end encryption to protect what’s important to you." + "message": "שמור כניסות, כרטיסים, וזהויות לכספת המאובטחת שלך. Bitwarden משתמש בהצפנה מקצה־לקצה באפס ידיעה כדי להגן על מה שחשוב לך." }, "quickLogin": { - "message": "Quick and easy login" + "message": "כניסה מהירה וקלה" }, "quickLoginBody": { - "message": "Set up biometric unlock and autofill to log into your accounts without typing a single letter." + "message": "הגדר ביטול נעילה ביומטרי ומילוי אוטומטי כדי להיכנס לחשבונות שלך מבלי להקליד אות אחת." }, "secureUser": { - "message": "Level up your logins" + "message": "שדרג את הכניסות שלך" }, "secureUserBody": { - "message": "Use the generator to create and save strong, unique passwords for all your accounts." + "message": "השתמש במחולל כדי ליצור ולשמור סיסמאות חזקות וייחודיות עבור כל החשבונות שלך." }, "secureDevices": { - "message": "Your data, when and where you need it" + "message": "הנתונים שלך, מתי והיכן שאתה צריך אותם" }, "secureDevicesBody": { - "message": "Save unlimited passwords across unlimited devices with Bitwarden mobile, browser, and desktop apps." + "message": "שמור מספר בלתי מוגבל של סיסמאות בין מספר בלתי מוגבל של מכשירים עם יישומי Bitwarden לנייד, דפדפן, ושולחן עבודה." }, "nudgeBadgeAria": { - "message": "1 notification" + "message": "התראה אחת" }, "emptyVaultNudgeTitle": { - "message": "Import existing passwords" + "message": "ייבא סיסמאות קיימות" }, "emptyVaultNudgeBody": { - "message": "Use the importer to quickly transfer logins to Bitwarden without manually adding them." + "message": "השתמש במייבא כדי להעביר במהירות כניסות אל Bitwarden מבלי להוסיף אותן באופן ידני." }, "emptyVaultNudgeButton": { - "message": "Import now" + "message": "ייבא עכשיו" }, "hasItemsVaultNudgeTitle": { - "message": "Welcome to your vault!" + "message": "ברוך בואך אל הכספת שלך!" }, "hasItemsVaultNudgeBodyOne": { - "message": "Autofill items for the current page" + "message": "פריטים למילוי אוטומטי עבור הדף הנוכחי" }, "hasItemsVaultNudgeBodyTwo": { - "message": "Favorite items for easy access" + "message": "פריטים מועדפים עבור גישה קלה" }, "hasItemsVaultNudgeBodyThree": { - "message": "Search your vault for something else" + "message": "חפש בכספת שלך עבור משהו אחר" }, "newLoginNudgeTitle": { - "message": "Save time with autofill" + "message": "חסוך זמן עם מילוי אוטומטי" }, "newLoginNudgeBodyOne": { - "message": "Include a", + "message": "כלול", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyBold": { - "message": "Website", + "message": "אתר אינטרנט", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newLoginNudgeBodyTwo": { - "message": "so this login appears as an autofill suggestion.", + "message": "כך שכניסה זו תופיע כהצעה למילוי אוטומטי.", "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", "example": "Include a Website so this login appears as an autofill suggestion." }, "newCardNudgeTitle": { - "message": "Seamless online checkout" + "message": "תהליך תשלום מקוון חלק" }, "newCardNudgeBody": { - "message": "With cards, easily autofill payment forms securely and accurately." + "message": "עם כרטיסים, ניתן למלא אוטומטית בקלות טפסי תשלום באופן מאובטח ומדויק." }, "newIdentityNudgeTitle": { - "message": "Simplify creating accounts" + "message": "הפוך יצירת חשבונות לפשוטה" }, "newIdentityNudgeBody": { - "message": "With identities, quickly autofill long registration or contact forms." + "message": "עם זהויות, ניתן למלא אוטומטית במהירות טפסי הרשמה או יצירת קשר." }, "newNoteNudgeTitle": { - "message": "Keep your sensitive data safe" + "message": "שמור על הנתונים הרגישים שלך בטוחים" }, "newNoteNudgeBody": { - "message": "With notes, securely store sensitive data like banking or insurance details." + "message": "עם הערות, ניתן לאחסן באופן מאובטח נתונים רגישים כמו פרטי בנקאות או ביטוח." }, "newSshNudgeTitle": { - "message": "Developer-friendly SSH access" + "message": "גישת SSH ידידותית למפתחים" }, "newSshNudgeBodyOne": { - "message": "Store your keys and connect with the SSH agent for fast, encrypted authentication.", + "message": "אחסן את המפתחות שלך והתחבר באמצעות סוכן ה־SSH עבור אימות מהיר ומוצפן.", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "newSshNudgeBodyTwo": { - "message": "Learn more about SSH agent", + "message": "למד עוד על סוכן SSH", "description": "Two part message", "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "generatorNudgeTitle": { - "message": "Quickly create passwords" + "message": "צור סיסמאות במהירות" }, "generatorNudgeBodyOne": { - "message": "Easily create strong and unique passwords by clicking on", + "message": "צור בקלות סיסמאות חזקות וייחודיות על ידי לחיצה על", "description": "Two part message", "example": "Easily create strong and unique passwords by clicking on {icon} to help you keep your logins secure." }, "generatorNudgeBodyTwo": { - "message": "to help you keep your logins secure.", + "message": "כדי לעזור לך לשמור את הכניסות שלך מאובטחות.", "description": "Two part message", "example": "Easily create strong and unique passwords by clicking on {icon} to help you keep your logins secure." }, "generatorNudgeBodyAria": { - "message": "Easily create strong and unique passwords by clicking on the Generate password button to help you keep your logins secure.", + "message": "צור בקלות סיסמאות חזקות וייחודיות על ידי לחיצה על הלחצן 'צור סיסמה' כדי לעזור לך לשמור את הכניסות שלך מאובטחות.", "description": "Aria label for the body content of the generator nudge" }, "noPermissionsViewPage": { - "message": "You do not have permissions to view this page. Try logging in with a different account." + "message": "אין לך הרשאות כדי לראות עמוד זה. נסה להיכנס עם חשבון אחר." }, "wasmNotSupported": { - "message": "WebAssembly is not supported on your browser or is not enabled. WebAssembly is required to use the Bitwarden app.", + "message": "WebAssembly אינו נתמך בדפדפן שלך או אינו מופעל. WebAssembly נדרש כדי להשתמש ביישום Bitwarden.", "description": "'WebAssembly' is a technical term and should not be translated." }, "showMore": { - "message": "Show more" + "message": "הצג עוד" }, "showLess": { - "message": "Show less" + "message": "הצג פחות" + }, + "next": { + "message": "הבא" + }, + "moreBreadcrumbs": { + "message": "עוד סימני דרך", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "אשר דומיין של Key Connector" } } diff --git a/apps/browser/src/_locales/hi/messages.json b/apps/browser/src/_locales/hi/messages.json index 35d7e8b2911..a9ebd8170bf 100644 --- a/apps/browser/src/_locales/hi/messages.json +++ b/apps/browser/src/_locales/hi/messages.json @@ -556,6 +556,9 @@ "view": { "message": "देखें" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "सूचीबद्ध करने के लिए कोई आइटम नहीं हैं।" }, @@ -1761,10 +1764,10 @@ "message": "यह ब्राउज़र इस पॉपअप विंडो में U2F अनुरोधों को संसाधित नहीं कर सकता है।क्या आप इस पॉपअप को एक नई विंडो में खोलना चाहते हैं ताकि आप U2F का उपयोग करके लॉग इन कर सकें?" }, "enableFavicon": { - "message": "वेबसाइट आइकन दिखाएं" + "message": "Show website icons" }, "faviconDesc": { - "message": "प्रत्येक लॉगिन के आगे एक पहचानने योग्य छवि दिखाएं।" + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { "message": "Show a recognizable image next to each login. Applies to all logged in accounts." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/hr/messages.json b/apps/browser/src/_locales/hr/messages.json index d38461ab553..22bac18ecf7 100644 --- a/apps/browser/src/_locales/hr/messages.json +++ b/apps/browser/src/_locales/hr/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Prikaz" }, + "viewLogin": { + "message": "Prikaži prijavu" + }, "noItemsInList": { "message": "Nema stavki za prikaz." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Odaberi zbirku" }, - "importTargetHint": { - "message": "Odaberi ovu opciju ako sadržaj uvezene datoteke želiš spremiti u $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Odaberi ovu opciju ako sadržaj uvezene datoteke želiš premjestiti u zbirku" + }, + "importTargetHintFolder": { + "message": "Odaberi ovu opciju ako sadržaj uvezene datoteke želiš premjestiti u mapu" }, "importUnassignedItemsError": { "message": "Datoteka sadrži nedodijeljene stavke." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Prikaži broj prijedloga auto-ispune na ikoni proširenja" }, + "accountAccessRequested": { + "message": "Zatražen je pristup računu" + }, + "confirmAccessAttempt": { + "message": "Potvrdi pokušaj prijave za $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Prikaži akcije brzog kopiranja na trezoru" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Promijeni rizičnu lozinku" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Ova prijava je ugrožena i nedostaje joj web-stranica. Dodaj web-stranicu i promijeni lozinku za veću sigurnost." + }, + "missingWebsite": { + "message": "Nedostaje web-stranica" + }, "settingsVaultOptions": { "message": "Mogućnosti trezora" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Pokaži manje" + }, + "next": { + "message": "Sljedeće" + }, + "moreBreadcrumbs": { + "message": "Više mrvica", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Potvrdi domenu kontektora ključa" } } diff --git a/apps/browser/src/_locales/hu/messages.json b/apps/browser/src/_locales/hu/messages.json index a0fc88e047a..b44439f6578 100644 --- a/apps/browser/src/_locales/hu/messages.json +++ b/apps/browser/src/_locales/hu/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Nézet" }, + "viewLogin": { + "message": "Bejelentkezés megtekintése" + }, "noItemsInList": { "message": "Nincsenek megjeleníthető tételek." }, @@ -1761,13 +1764,13 @@ "message": "Ez a böngésző nem dolgozza fel az U2F kéréseket ebben a felbukkanó ablakban. Szeretnénk megnyitni a felbukkanó ablakot új böngészőablakban az U2F segítségével történő bejelentkezéshez?" }, "enableFavicon": { - "message": "Webhely ikonok megjelenítése" + "message": "Show website icons" }, "faviconDesc": { - "message": "Felismerhető kép megjelenítése minden bejelentkezés mellett." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Minden bejelentkezés mellett egy felismerhető kép megjelenítése. Minden bejelentkezett fiókra vonatkozik." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Számláló jelvény megjelenítése" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Gyűjtemény kiválasztása" }, - "importTargetHint": { - "message": "Válasszuk ezt a lehetőséget, ha azt akarjuk, hogy az importált fájl tartalma $DESTINATION$ helyre kerüljön", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Válasszuk ezt az opciót, ha azt akarjuk, hogy az importált fájl tartalma egy gyűjteménybe kerüljön." + }, + "importTargetHintFolder": { + "message": "Válasszuk ezt az opciót, ha azt akarjuk, hogy az importált fájl tartalma egy mappába kerüljön." }, "importUnassignedItemsError": { "message": "A fájl hozzá nem rendelt elemeket tartalmaz." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Az automatikus bejelentkezési kitöltési javaslatok számának megjelenítése a bővítmény ikonján" }, + "accountAccessRequested": { + "message": "Fiók hozzáférés kérés történt." + }, + "confirmAccessAttempt": { + "message": "Bejelentkezési kísérlet megerősítése $EMAIL$ email címmel", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Gyors másolási műveletek megjelenítése a Széfen" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Kockázatos jelszó megváltoztatása" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Ez a bejelentkezés veszélyben van és hiányzik egy webhely. Adjunk hozzá egy webhelyet és módosítsuk a jelszót az erősebb biztonság érdekében." + }, + "missingWebsite": { + "message": "Hiányzó webhely" + }, "settingsVaultOptions": { "message": "Széf opciók" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Kevesebb megjelenítése" + }, + "next": { + "message": "Következő" + }, + "moreBreadcrumbs": { + "message": "További morzsamenük", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "A Key Connector tartomány megerősítése" } } diff --git a/apps/browser/src/_locales/id/messages.json b/apps/browser/src/_locales/id/messages.json index 297b2d458e1..81b1ba32229 100644 --- a/apps/browser/src/_locales/id/messages.json +++ b/apps/browser/src/_locales/id/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Tampilan" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Tidak ada item yang dapat dicantumkan." }, @@ -1761,13 +1764,13 @@ "message": "Peramban ini tidak bisa memproses permintaan U2F di jendela popup ini. Apakah Anda ingin membuka popup ini di jendela baru sehingga Anda dapat masuk menggunakan U2F?" }, "enableFavicon": { - "message": "Tampilkan ikon situs web" + "message": "Show website icons" }, "faviconDesc": { - "message": "Tampilkan sebuah gambar yang dapat dikenali di setiap masuk." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Tampilkan sebuah gambar yang dapat dikenali di sebelah tiap login. Diterapkan ke semua akun yang telah masuk." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Tampilkan hitungan di lencana" @@ -3789,7 +3792,7 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendsBodyNoItems": { - "message": "Bagikan berkas-berkas dan data secara aman dengan siapa saja, pada platform apapun. Informasi Anda akan tetap terenkripsi dari ujung-ke-ujung sembari membatasi paparan.", + "message": "Bagikan berkas-berkas dan data secara aman dengan siapa saja, pada platform apa pun. Informasi Anda akan tetap terenkripsi dari ujung ke ujung sembari membatasi paparan.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "inputRequired": { @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Pilih koleksi" }, - "importTargetHint": { - "message": "Pilih pilihan ini jika Anda ingin isi dari berkas yang diimpor dipindah ke $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "Berkas berisi benda-benda yang belum ditetapkan." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Tampilkan jumlah saran isi otomatis login pada ikon pengaya" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Tampilkan tindakan salin cepat pada Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Ubah kata sandi yang berrisiko" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Pilihan brankas" }, @@ -5575,9 +5592,19 @@ "description": "'WebAssembly' is a technical term and should not be translated." }, "showMore": { - "message": "Show more" + "message": "Tampilkan lebih banyak" }, "showLess": { - "message": "Show less" + "message": "Tampilkan lebih sedikit" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/it/messages.json b/apps/browser/src/_locales/it/messages.json index 4e1c1d63e50..c05a3ad6c81 100644 --- a/apps/browser/src/_locales/it/messages.json +++ b/apps/browser/src/_locales/it/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Visualizza" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Non ci sono elementi da mostrare." }, @@ -1761,13 +1764,13 @@ "message": "Questo browser non può elaborare richieste U2F in questo pop-up. Aprire questo pop-up in una nuova finestra per accedere usando U2F?" }, "enableFavicon": { - "message": "Mostra icone dei siti" + "message": "Show website icons" }, "faviconDesc": { - "message": "Mostra un piccolo logo riconoscibile accanto a ogni login." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Mostra un piccolo logo riconoscibile accanto a ogni login. Si applica a tutti gli account connessi." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Mostra badge contatore" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Seleziona una raccolta" }, - "importTargetHint": { - "message": "Seleziona questa opzione se vuoi che i contenuti del file di importazione siano spostati in una $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Seleziona questa opzione se vuoi che i contenuti dell'importazione siano salvati in una raccolta" + }, + "importTargetHintFolder": { + "message": "Seleziona questa opzione se vuoi che i contenuti dell'importazione siano salvati in una cartella" }, "importUnassignedItemsError": { "message": "Il file contiene elementi non assegnati." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Mostra il numero di suggerimenti di riempimento automatico sull'icona dell'estensione" }, + "accountAccessRequested": { + "message": "Accesso all'account richiesto" + }, + "confirmAccessAttempt": { + "message": "Conferma il tentativo di accesso per $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Mostra azioni di copia rapida nella Cassaforte" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Cambia parola d'accesso a rischio" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Opzioni cassaforte" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Mostra di meno" + }, + "next": { + "message": "Avanti" + }, + "moreBreadcrumbs": { + "message": "Ulteriori segmenti", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Conferma dominio Key Connector" } } diff --git a/apps/browser/src/_locales/ja/messages.json b/apps/browser/src/_locales/ja/messages.json index 9370a3ae6b1..d05c5a13128 100644 --- a/apps/browser/src/_locales/ja/messages.json +++ b/apps/browser/src/_locales/ja/messages.json @@ -556,6 +556,9 @@ "view": { "message": "表示" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "表示するアイテムがありません" }, @@ -1761,13 +1764,13 @@ "message": "このブラウザーでは U2F 要求をポップアップウインドウでは実行できません。U2F でログインできるよう、新しいウインドウで開き直しますか?" }, "enableFavicon": { - "message": "ウェブサイトのアイコンを表示" + "message": "Show website icons" }, "faviconDesc": { - "message": "ログイン情報の隣にアイコン画像を表示します" + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "各ログインの横に認識可能な画像を表示します。すべてのログイン済みアカウントに適用されます。" + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "バッジカウンターを表示" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "コレクションを選択" }, - "importTargetHint": { - "message": "インポートしたファイルコンテンツを $DESTINATION$ に移動したい場合は、このオプションを選択してください。", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "割り当てられていないアイテムがファイルに含まれています。" @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "拡張機能アイコンにログイン自動入力の候補の数を表示する" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "保管庫にクイックコピー操作を表示する" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "危険なパスワードの変更" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "保管庫オプション" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/ka/messages.json b/apps/browser/src/_locales/ka/messages.json index 6bbdb6f67f3..68e2cf47230 100644 --- a/apps/browser/src/_locales/ka/messages.json +++ b/apps/browser/src/_locales/ka/messages.json @@ -556,6 +556,9 @@ "view": { "message": "ხედი" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "აირჩიეთ კოლექცია" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/km/messages.json b/apps/browser/src/_locales/km/messages.json index d076ef01ef2..be0400906cc 100644 --- a/apps/browser/src/_locales/km/messages.json +++ b/apps/browser/src/_locales/km/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/kn/messages.json b/apps/browser/src/_locales/kn/messages.json index f4ab488884a..a4a56b0dd8f 100644 --- a/apps/browser/src/_locales/kn/messages.json +++ b/apps/browser/src/_locales/kn/messages.json @@ -556,6 +556,9 @@ "view": { "message": "ವೀಕ್ಷಣೆ" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "ಪಟ್ಟಿ ಮಾಡಲು ಯಾವುದೇ ಐಟಂಗಳಿಲ್ಲ." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/ko/messages.json b/apps/browser/src/_locales/ko/messages.json index 50725e73064..f27465a26f1 100644 --- a/apps/browser/src/_locales/ko/messages.json +++ b/apps/browser/src/_locales/ko/messages.json @@ -556,6 +556,9 @@ "view": { "message": "보기" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "항목이 없습니다." }, @@ -1761,13 +1764,13 @@ "message": "이 브라우저의 팝업 창에서는 U2F 요청을 처리할 수 없습니다. U2F로 로그인할 수 있도록 이 창을 새 창에서 여시겠습니까?" }, "enableFavicon": { - "message": "웹사이트 아이콘 표시하기" + "message": "Show website icons" }, "faviconDesc": { - "message": "로그인 정보 옆에 식별용 이미지를 표시합니다." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "각 로그인 정보 옆에 인식할 수 있는 이미지를 표시합니다. 모든 로그인된 계정에 적용됩니다." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "배지 갯수 표시" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "컬렉션 선택" }, - "importTargetHint": { - "message": "가져온 파일의 내용을 $DESTINATION$로 이동하려면 이 옵션을 선택하세요.", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "파일에 할당되지 않은 항목이 포함되어 있습니다." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "확장 아이콘에 로그인 자동 완성 제안 수 표시" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "보관함에서 빠른 복사 기능 표시" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/lt/messages.json b/apps/browser/src/_locales/lt/messages.json index fa53a42a4b7..7ca0353af67 100644 --- a/apps/browser/src/_locales/lt/messages.json +++ b/apps/browser/src/_locales/lt/messages.json @@ -3,14 +3,14 @@ "message": "Bitwarden" }, "appLogoLabel": { - "message": "Bitwarden logotipas" + "message": "„Bitwarden“ logotipas" }, "extName": { "message": "„Bitwarden“ slaptažodžių tvarkyklė", "description": "Extension name, MUST be less than 40 characters (Safari restriction)" }, "extDesc": { - "message": "Namuose, darbe ar kelyje, Bitwarden apsaugo jūsų slaptažodžius, raktažodžius ir svarbią informaciją", + "message": "Namuose, darbe ar kelyje, „Bitwarden“ apsaugo jūsų slaptažodžius, raktažodžius ir svarbią informaciją", "description": "Extension description, MUST be less than 112 characters (Safari restriction)" }, "loginOrCreateNewAccount": { @@ -23,13 +23,13 @@ "message": "Sukurti paskyrą" }, "newToBitwarden": { - "message": "Pirmą kartą Bitwarden?" + "message": "Pirmą kartą „Bitwarden“?" }, "logInWithPasskey": { "message": "Prisijungti naudojant prieigos raktą" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "Naudoti vieningo prisijungimo sistemą" }, "welcomeBack": { "message": "Sveiki sugrįžę" @@ -38,7 +38,7 @@ "message": "Nustatyti stiprų slaptažodį" }, "finishCreatingYourAccountBySettingAPassword": { - "message": "Baigkite kurti paskyrą nustatydami slaptažodį" + "message": "Baikite kurti paskyrą nustatydami slaptažodį" }, "enterpriseSingleSignOn": { "message": "Vienkartinis įmonės prisijungimas" @@ -59,10 +59,10 @@ "message": "Pagrindinis slaptažodis" }, "masterPassDesc": { - "message": "Pagrindinis slaptažodis yra slaptažodis, kurį naudojate norėdami pasiekti savo saugyklą. Labai svarbu nepamiršti pagrindinio slaptažodžio. Nėra galimybių atkurti slaptažodį, jei jį pamiršite." + "message": "Pagrindinis slaptažodis yra slaptažodis, kurį naudojate norėdami pasiekti savo saugyklą. Labai svarbu nepamiršti pagrindinio slaptažodžio. Nėra galimybių atkurti slaptažodžio, jei jį pamiršite." }, "masterPassHintDesc": { - "message": "Pagrindinio slaptažodžio užuomina gali padėti Jums prisiminti slaptažodį, jei jį pamiršite." + "message": "Pagrindinio slaptažodžio užuomina gali padėti jums prisiminti slaptažodį, jei jį pamiršite." }, "masterPassHintText": { "message": "Jei pamiršote slaptažodį, slaptažodžio užuomina gali būti išsiųsta į jūsų el. paštą. $CURRENT$ / $MAXIMUM$ didžiausias simbolių skaičius.", @@ -105,7 +105,7 @@ } }, "finishJoiningThisOrganizationBySettingAMasterPassword": { - "message": "Baigėte prisijungimą prie organizacijos nustatant pagrindinį slaptažodį." + "message": "Užbaikite prisijungimą prie organizacijos nustatydami pagrindinį slaptažodį." }, "tab": { "message": "Skirtukas" @@ -132,7 +132,7 @@ "message": "Kopijuoti slaptažodį" }, "copyPassphrase": { - "message": "Kopijuoti slaptažodžio frazę" + "message": "Kopijuoti slaptą frazę" }, "copyNote": { "message": "Kopijuoti pastabą" @@ -156,13 +156,13 @@ "message": "Kopijuoti įmonę" }, "copySSN": { - "message": "Kopijuoti socialinės apsaugos numerį" + "message": "Kopijuoti asmens kodo numerį" }, "copyPassportNumber": { "message": "Kopijuoti paso numerį" }, "copyLicenseNumber": { - "message": "Kopijuoti licenzijos numerį" + "message": "Kopijuoti licencijos numerį" }, "copyPrivateKey": { "message": "Kopijuoti privatų raktą" @@ -193,7 +193,7 @@ "description": "Copy to clipboard" }, "fill": { - "message": "Fill", + "message": "Užpildyti", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." }, "autoFill": { @@ -209,10 +209,10 @@ "message": "Tapatybės automatinis užpildymas" }, "fillVerificationCode": { - "message": "Fill verification code" + "message": "Užpildyti patvirtinimo kodą" }, "fillVerificationCodeAria": { - "message": "Fill Verification Code", + "message": "Užpildyti patvirtinimo kodą", "description": "Aria label for the heading displayed the inline menu for totp code autofill" }, "generatePasswordCopied": { @@ -240,10 +240,10 @@ "message": "Pridėti tapatybę" }, "unlockVaultMenu": { - "message": "Atrakinti Jūsų saugyklą" + "message": "Atrakinti jūsų saugyklą" }, "loginToVaultMenu": { - "message": "Prisijungti prie Jūsų saugyklos" + "message": "Prisijungti prie jūsų saugyklos" }, "autoFillInfo": { "message": "Nėra galimų prisijungimų prie dabartinio naršyklės skirtuko." @@ -255,16 +255,16 @@ "message": "Pridėti elementą" }, "accountEmail": { - "message": "Account email" + "message": "Paskyros el. paštas" }, "requestHint": { - "message": "Request hint" + "message": "Duoti užuominą" }, "requestPasswordHint": { - "message": "Request password hint" + "message": "Duoti slaptažodžio užuominą" }, "enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": { - "message": "Enter your account email address and your password hint will be sent to you" + "message": "Įveskite savo paskyros el. pašą ir jūsų slaptažodžio užuomina bus atsiųsta jums" }, "getMasterPasswordHint": { "message": "Gauti pagrindinio slaptažodžio užuominą" @@ -291,25 +291,25 @@ "message": "Keisti pagrindinį slaptažodį" }, "continueToWebApp": { - "message": "Tęsti į žiniatinklio programėlę?" + "message": "Tęsti į žiniatinklio programą?" }, "continueToWebAppDesc": { - "message": "Atraskite daugiau savo Bitwarden paskyros funkcijų web programoje." + "message": "Atraskite daugiau savo „Bitwarden“ paskyros funkcijų žiniatinklio programoje." }, "continueToHelpCenter": { "message": "Eiti į pagalbos centrą?" }, "continueToHelpCenterDesc": { - "message": "Pagalbos Centre sužinokite daugiau kaip naudotis Bitwarden." + "message": "Pagalbos centre sužinokite daugiau, kaip naudotis „Bitwarden“." }, "continueToBrowserExtensionStore": { "message": "Eiti į naršyklės plėtinių svetainę?" }, "continueToBrowserExtensionStoreDesc": { - "message": "Padėkite kitiems sužinoti ar Bitwarden yra jiems tinkamas. Apsilankykite naršyklės plėtinių svetainėje ir įvertinkite Bitwarden." + "message": "Padėkite kitiems sužinoti ar B„itwarden“ yra jiems tinkamas. Apsilankykite naršyklės plėtinių svetainėje ir įvertinkite „Bitwarden“." }, "changeMasterPasswordOnWebConfirmation": { - "message": "Pagrindinį slaptažodį galite pakeisti „Bitwarden“ žiniatinklio programėlėje." + "message": "Pagrindinį slaptažodį galite pakeisti „Bitwarden“ žiniatinklio programoje." }, "fingerprintPhrase": { "message": "Pirštų atspaudų frazė", @@ -383,7 +383,7 @@ "message": "Redaguoti aplankalą" }, "editFolderWithName": { - "message": "Edit folder: $FOLDERNAME$", + "message": "Redaguoti aplanką: $FOLDERNAME$", "placeholders": { "foldername": { "content": "$1", @@ -392,10 +392,10 @@ } }, "newFolder": { - "message": "New folder" + "message": "Naujas aplankas" }, "folderName": { - "message": "Folder name" + "message": "Aplanko vardas" }, "folderHintText": { "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" @@ -556,6 +556,9 @@ "view": { "message": "Peržiūrėti" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Nėra rodytinų elementų." }, @@ -677,7 +680,7 @@ "message": "Your account is locked" }, "or": { - "message": "or" + "message": "arba" }, "unlock": { "message": "Atrakinti" @@ -702,7 +705,7 @@ "message": "Atsijungta nuo saugyklos" }, "vaultTimeout1": { - "message": "Timeout" + "message": "Skirtas laikas" }, "lockNow": { "message": "Užrakinti dabar" @@ -799,10 +802,10 @@ "message": "Jūsų paskyra sukurta! Galite prisijungti." }, "newAccountCreated2": { - "message": "Your new account has been created!" + "message": "Jūsų nauja paskyra buvo sukurta!" }, "youHaveBeenLoggedIn": { - "message": "You have been logged in!" + "message": "Jūs prisijungėte!" }, "youSuccessfullyLoggedIn": { "message": "Jūs sėkmingai prisijungėte" @@ -845,7 +848,7 @@ "message": "Nuskaitykite autentifikatoriaus QR kodą iš dabartinio tinklalapio" }, "totpHelperTitle": { - "message": "Make 2-step verification seamless" + "message": "Padaryti dviejų veiksnių patvirtinimą sklandų" }, "totpHelper": { "message": "Bitwarden can store and fill 2-step verification codes. Copy and paste the key into this field." @@ -872,19 +875,19 @@ "message": "Prisijungti" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "Prisijungti prie „Bitwarden“" }, "enterTheCodeSentToYourEmail": { - "message": "Enter the code sent to your email" + "message": "Įveskite kodą išsiųstą jums el. paštu" }, "enterTheCodeFromYourAuthenticatorApp": { - "message": "Enter the code from your authenticator app" + "message": "Įveskite kodą iš autentifikacijos programėlės" }, "pressYourYubiKeyToAuthenticate": { - "message": "Press your YubiKey to authenticate" + "message": "Palieskite savo „YubiKey“, kad autentifikuotumėtės" }, "duoTwoFactorRequiredPageSubtitle": { - "message": "Duo two-step login is required for your account. Follow the steps below to finish logging in." + "message": "„Duo“ dviejų veiksnių prisijungimas yra privalomas jūsų paskyrai. Sekite žingsnius žemiau, kad užbaigtumėte prisijungimą." }, "followTheStepsBelowToFinishLoggingIn": { "message": "Follow the steps below to finish logging in." @@ -1761,13 +1764,13 @@ "message": "Ši naršyklė negali apdoroti U2F prašymų šiame iššokančiame lange. Ar nori atidaryti šį iššokantį langą naujame lange, kad galėtum prisijungti naudodamas (-a) U2F?" }, "enableFavicon": { - "message": "Rodyti tinklalapių ikonėles" + "message": "Show website icons" }, "faviconDesc": { - "message": "Rodyti atpažįstamą vaizdą šalia kiekvieno prisijungimo." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Rodyti atpažįstamą vaizdą šalia kiekvieno prisijungimo. Taikoma visoms prisijungusioms paskyroms." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Rodyti ženkliukų skaitiklį" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Pasirinkti rinkinį" }, - "importTargetHint": { - "message": "Pasirinkite šį pasirinkimą, jei norite, jog importuoto failo turinys, būtų perkeltas į $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "Faile yra nepriskirtų elementų." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/lv/messages.json b/apps/browser/src/_locales/lv/messages.json index 68d5a0db2e3..08a99915648 100644 --- a/apps/browser/src/_locales/lv/messages.json +++ b/apps/browser/src/_locales/lv/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Skatīt" }, + "viewLogin": { + "message": "Apskatīt pieteikšanās vienumu" + }, "noItemsInList": { "message": "Nav vienumu, ko parādīt." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Atlasīt krājumu" }, - "importTargetHint": { - "message": "Šī iespēja jāatlasa, ja ir vēlēšanās ievietotās datnes saturu pārvietot uz $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Šī iespēja jāatlasa, ja ir vēlēšanās ievietotās datnes saturu ievietot krājumā" + }, + "importTargetHintFolder": { + "message": "Šī iespēja jāatlasa, ja ir vēlēšanās ievietotās datnes saturu ievietot mapē" }, "importUnassignedItemsError": { "message": "Datne satur nepiešķirtus vienumus." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Paplašinājuma ikonā rādīt pieteikšanās automātiskās aizpildes ieteikumu skaitu" }, + "accountAccessRequested": { + "message": "Pieprasīta piekļuve kontam" + }, + "confirmAccessAttempt": { + "message": "Apstiprināt $EMAIL$ piekļuves mēģinājumu", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Glabātavā rādīt ātrās kopēšanas darbības" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Mainīt riskam pakļautu paroli" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Šis pieteikšanās vienums ir pakļauts riskam, un tam nav norādīta tīmekļvietne. Lielākai drošībai jāpievieno tīmekļvietne un jānomaina parole." + }, + "missingWebsite": { + "message": "Nav norādīta tīmekļvietne" + }, "settingsVaultOptions": { "message": "Glabātavas iespējas" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Rādīt mazāk" + }, + "next": { + "message": "Nākamais" + }, + "moreBreadcrumbs": { + "message": "Vairāk norāžu", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Apstiprināt Key Connector domēnu" } } diff --git a/apps/browser/src/_locales/ml/messages.json b/apps/browser/src/_locales/ml/messages.json index ca1bbc69297..00bd531945c 100644 --- a/apps/browser/src/_locales/ml/messages.json +++ b/apps/browser/src/_locales/ml/messages.json @@ -556,6 +556,9 @@ "view": { "message": "കാണുക" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "പ്രദർശിപ്പിക്കാൻ ഇനങ്ങളൊന്നുമില്ല." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/mr/messages.json b/apps/browser/src/_locales/mr/messages.json index 70059b1552e..d370a096583 100644 --- a/apps/browser/src/_locales/mr/messages.json +++ b/apps/browser/src/_locales/mr/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/my/messages.json b/apps/browser/src/_locales/my/messages.json index d076ef01ef2..be0400906cc 100644 --- a/apps/browser/src/_locales/my/messages.json +++ b/apps/browser/src/_locales/my/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/nb/messages.json b/apps/browser/src/_locales/nb/messages.json index 9e617957dc8..a86b371e537 100644 --- a/apps/browser/src/_locales/nb/messages.json +++ b/apps/browser/src/_locales/nb/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Vis" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Det er ingen elementer å vise." }, @@ -1761,10 +1764,10 @@ "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": "Vis nettsideikoner" + "message": "Show website icons" }, "faviconDesc": { - "message": "Vis et gjenkjennelig bilde ved siden av hver innlogging." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { "message": "Show a recognizable image next to each login. Applies to all logged in accounts." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Velg en samling" }, - "importTargetHint": { - "message": "Velg dette alternativet hvis du vil flytte den importerte filens innhold til en $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "Filen inneholder utildelte elementer." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Vis antall auto-utfyllingsforslag for pålogging på utvidelsesikonet" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Vis hurtigkopieringshandlinger i hvelvet" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Hvelvinnstillinger" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/ne/messages.json b/apps/browser/src/_locales/ne/messages.json index d076ef01ef2..be0400906cc 100644 --- a/apps/browser/src/_locales/ne/messages.json +++ b/apps/browser/src/_locales/ne/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/nl/messages.json b/apps/browser/src/_locales/nl/messages.json index 4b38d8491aa..87910f9172c 100644 --- a/apps/browser/src/_locales/nl/messages.json +++ b/apps/browser/src/_locales/nl/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Weergeven" }, + "viewLogin": { + "message": "Login bekijken" + }, "noItemsInList": { "message": "Er zijn geen items om weer te geven." }, @@ -1022,7 +1025,7 @@ "message": "Opslaan in kluisopties" }, "addLoginNotificationDesc": { - "message": "\"Melding bij nieuwe login\" vraagt automatisch om nieuwe sites in de kluis op te slaan wanneer je ergens voor de eerste keer inlogt." + "message": "Vraag om een item toe te voegen als deze niet in je kluis is gevonden." }, "addLoginNotificationDescAlt": { "message": "Vraag om een item toe te voegen als het niet is gevonden is je kluis. Dit geld voor alle ingelogde accounts." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Collectie selecteren" }, - "importTargetHint": { - "message": "Kies deze optie als je de geïmporteerde bestandsinhoud wilt verplaatsen naar een $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Kies deze optie als je de geïmporteerde bestandsinhoud naar een collectie wilt verplaatsen" + }, + "importTargetHintFolder": { + "message": "Kies deze optie als je de geïmporteerde bestandsinhoud naar een map wilt verplaatsen" }, "importUnassignedItemsError": { "message": "Bestand bevat niet-toegewezen items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Aantal login automatisch invullen suggesties op het extensie-pictogram weergeven" }, + "accountAccessRequested": { + "message": "Accounttoegang aangevraagd" + }, + "confirmAccessAttempt": { + "message": "Inlogpoging voor $EMAIL$ bevestigen", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Toon snelle kopieeracties in de kluis" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Risicovol wachtwoord wijzigen" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Deze login is in gevaar en mist een website. Voeg een website toe en verander het wachtwoord voor een sterkere beveiliging." + }, + "missingWebsite": { + "message": "Ontbrekende website" + }, "settingsVaultOptions": { "message": "Kluis-instellingen" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Minder weergeven" + }, + "next": { + "message": "Volgende" + }, + "moreBreadcrumbs": { + "message": "Meer broodkruimels", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Key Connector-domein bevestigen" } } diff --git a/apps/browser/src/_locales/nn/messages.json b/apps/browser/src/_locales/nn/messages.json index d076ef01ef2..be0400906cc 100644 --- a/apps/browser/src/_locales/nn/messages.json +++ b/apps/browser/src/_locales/nn/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/or/messages.json b/apps/browser/src/_locales/or/messages.json index d076ef01ef2..be0400906cc 100644 --- a/apps/browser/src/_locales/or/messages.json +++ b/apps/browser/src/_locales/or/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/pl/messages.json b/apps/browser/src/_locales/pl/messages.json index 97875409529..1be9d204250 100644 --- a/apps/browser/src/_locales/pl/messages.json +++ b/apps/browser/src/_locales/pl/messages.json @@ -291,19 +291,19 @@ "message": "Zmień hasło główne" }, "continueToWebApp": { - "message": "Przejść do aplikacji internetowej?" + "message": "Kontynuować przejście do aplikacji internetowej?" }, "continueToWebAppDesc": { "message": "Odkryj więcej funkcji konta Bitwarden w aplikacji internetowej." }, "continueToHelpCenter": { - "message": "Przejść do centrum pomocy?" + "message": "Kontynuować przejście do centrum pomocy?" }, "continueToHelpCenterDesc": { "message": "Dowiedz się więcej o tym, jak korzystać z centrum pomocy Bitwarden." }, "continueToBrowserExtensionStore": { - "message": "Przejść do sklepu z rozszerzeniami przeglądarki?" + "message": "Kontynuować przejście do sklepu z rozszerzeniami przeglądarki?" }, "continueToBrowserExtensionStoreDesc": { "message": "Pomóż innym sprawdzić, czy Bitwarden jest dla nich odpowiedni. Odwiedź sklep z rozszerzeniami przeglądarki i zostaw ocenę." @@ -335,7 +335,7 @@ "message": "Więcej od Bitwarden" }, "continueToBitwardenDotCom": { - "message": "Przejść do bitwarden.com?" + "message": "Kontynuować przejście do bitwarden.com?" }, "bitwardenForBusiness": { "message": "Bitwarden dla firm" @@ -483,7 +483,7 @@ "message": "Opcje" }, "length": { - "message": "Długość" + "message": "Liczba znaków" }, "include": { "message": "Uwzględnij", @@ -556,6 +556,9 @@ "view": { "message": "Pokaż" }, + "viewLogin": { + "message": "Pokaż dane logowania" + }, "noItemsInList": { "message": "Brak elementów do wyświetlenia." }, @@ -932,7 +935,7 @@ "message": "Zwiększ bezpieczeństwo konta, konfigurując logowanie dwustopniowe w aplikacji internetowej Bitwarden." }, "twoStepLoginConfirmationTitle": { - "message": "Przejść do aplikacji internetowej?" + "message": "Kontynuować przejście do aplikacji internetowej?" }, "editedFolder": { "message": "Folder został zapisany" @@ -1022,10 +1025,10 @@ "message": "Opcje zapisywania w sejfie" }, "addLoginNotificationDesc": { - "message": "Proponuj dodanie elementu, jeśli nie ma go w sejfie." + "message": "Proponuj zapisywanie danych logowania, jeśli nie ma ich w sejfie." }, "addLoginNotificationDescAlt": { - "message": "Proponuj dodanie elementu, jeśli nie ma go w sejfie. Dotyczy wszystkich zalogowanych kont." + "message": "Proponuj zapisywanie danych logowania, jeśli nie ma ich w sejfie. Dotyczy wszystkich zalogowanych kont." }, "showCardsInVaultViewV2": { "message": "Zawsze pokazuj karty w sugestiach autouzupełniania" @@ -1405,7 +1408,7 @@ "message": "Specjalne opcje logowania dwustopniowego, takie jak YubiKey i Duo." }, "ppremiumSignUpReports": { - "message": "Raporty bezpieczeństwa haseł, stanu konta i raporty wycieków danych, aby Twoje dane były bezpieczne." + "message": "Raporty bezpieczeństwa haseł, konta i wycieków danych, aby Twoje dane były bezpieczne." }, "ppremiumSignUpTotp": { "message": "Generator kodów weryfikacyjnych TOTP dla danych logowania w sejfie." @@ -1684,7 +1687,7 @@ "message": "Możesz wyłączyć autouzupełnianie po załadowaniu strony dla poszczególnych elementów w opcjach konkretnych elementów." }, "itemAutoFillOnPageLoad": { - "message": "Automatycznie uzupełniaj po załadowaniu strony (jeśli włączono w opcjach)" + "message": "Uzupełniaj po załadowaniu strony (jeśli włączono w opcjach)" }, "autoFillOnPageLoadUseDefault": { "message": "Użyj domyślnego ustawienia" @@ -1758,7 +1761,7 @@ "message": "Kliknięcie poza okno, w celu sprawdzenia wiadomość z kodem weryfikacyjnym spowoduje, że zostanie ono zamknięte. Czy chcesz otworzyć nowe okno tak, aby się nie zamknęło?" }, "popupU2fCloseMessage": { - "message": "Ta przeglądarka nie może przetworzyć żądania U2F w wyskakującym oknie. Czy chcesz otworzyć nowe okno przeglądarki, aby zalogować się przy pomocy klucza U2F?" + "message": "Przeglądarka nie może przetworzyć żądań U2F. Czy chcesz otworzyć nowe okno, aby zalogować się za pomocą U2F?" }, "enableFavicon": { "message": "Pokaż ikony stron internetowych" @@ -3467,7 +3470,7 @@ "message": "Prośba została wysłana" }, "loginRequestApprovedForEmailOnDevice": { - "message": "Logowanie potwierdzone dla $EMAIL$ na $DEVICE$", + "message": "Potwierdzono logowanie $EMAIL$ ($DEVICE$)", "placeholders": { "email": { "content": "$1", @@ -3480,7 +3483,7 @@ } }, "youDeniedLoginAttemptFromAnotherDevice": { - "message": "Odrzucono próby logowania z innego urządzenia. Jeśli to naprawdę Ty, spróbuj ponownie zalogować się za pomocą urządzenia." + "message": "Odrzucono próbę logowania z innego urządzenia. Zaloguj się ponownie z tego urządzenia." }, "device": { "message": "Urządzenie" @@ -3773,7 +3776,7 @@ "message": "Organizacja nie jest zaufana" }, "emergencyAccessTrustWarning": { - "message": "Dla bezpieczeństwa Twojego konta potwierdź tylko, jeśli przyznano temu użytkownikowi dostęp awaryjny i jego odcisk palca pasuje do tego, co widnieje na jego koncie" + "message": "Potwierdź tylko wtedy, gdy chcesz przyznać użytkownikowi dostęp awaryjny i jego unikalny identyfikator konta jest prawidłowy." }, "orgTrustWarning": { "message": "Kontynuuj tylko wtedy, gdy jesteś członkiem organizacji, masz włączone odzyskiwanie konta, a unikalny identyfikator pasuje do organizacji." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Wybierz kolekcję" }, - "importTargetHint": { - "message": "Wybierz tę opcję, jeśli chcesz przenieść dane do $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Wybierz tę opcję, jeśli chcesz przenieść dane do kolekcji" + }, + "importTargetHintFolder": { + "message": "Wybierz tę opcję, jeśli chcesz przenieść dane do folderu" }, "importUnassignedItemsError": { "message": "Plik zawiera nieprzypisane elementy." @@ -4185,7 +4184,7 @@ "message": "Klucz dostępu" }, "accessing": { - "message": "Logowanie na" + "message": "Serwer" }, "loggedInExclamation": { "message": "Zalogowano!" @@ -4197,7 +4196,7 @@ "message": "Klucz dostępu nie zostanie skopiowany do sklonowanego elementu. Czy chcesz kontynuować klonowanie elementu?" }, "passkeyFeatureIsNotImplementedForAccountsWithoutMasterPassword": { - "message": "Weryfikacja jest wymagana przez stronę inicjującą. Ta funkcja nie jest jeszcze zaimplementowana dla kont bez hasła głównego." + "message": "Weryfikacja jest wymagana przez stronę inicjującą. Ta funkcja nie jest jeszcze dostępna dla kont bez hasła głównego." }, "logInWithPasskeyQuestion": { "message": "Zalogować się kluczem dostępu?" @@ -4399,11 +4398,11 @@ "description": "Advanced option placeholder for uri option component" }, "confirmContinueToBrowserSettingsTitle": { - "message": "Przejść do ustawień przeglądarki?", + "message": "Kontynuować przejście do ustawień przeglądarki?", "description": "Title for dialog which asks if the user wants to proceed to a relevant browser settings page" }, "confirmContinueToHelpCenter": { - "message": "Przejść do centrum pomocy?", + "message": "Kontynuować przejście do centrum pomocy?", "description": "Title for dialog which asks if the user wants to proceed to a relevant Help Center page" }, "confirmContinueToHelpCenterPasswordManagementContent": { @@ -4439,7 +4438,7 @@ "description": "Title for the dialog that appears when the user has not granted the extension permission to set privacy settings" }, "privacyPermissionAdditionNotGrantedDescription": { - "message": "Musisz przyznać Bitwarden uprawnienia do prywatności przeglądarki, aby ustawić go jako domyślnego menedżera haseł.", + "message": "Aby ustawić Bitwarden jako domyślny menedżer haseł, przyznaj rozszerzeniu uprawnienie do zmiany ustawień prywatności.", "description": "Description for the dialog that appears when the user has not granted the extension permission to set privacy settings" }, "makeDefault": { @@ -4999,7 +4998,7 @@ } }, "reorderWebsiteUriButton": { - "message": "Zmień kolejność URI stron internetowych. Użyj klawiszy ze strzałkami, aby przenieść element w górę lub w dół." + "message": "Zmień kolejność stron internetowych. Użyj klawiszy ze strzałkami, aby przenieść element w górę lub w dół." }, "reorderFieldUp": { "message": "Pole $LABEL$ zostało przeniesione w górę. Pozycja $INDEX$ z $LENGTH$", @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Pokaż liczbę sugestii autouzupełniania na ikonie rozszerzenia" }, + "accountAccessRequested": { + "message": "Poproszono o dostęp do konta" + }, + "confirmAccessAttempt": { + "message": "Potwierdź próbę dostępu dla $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Pokaż akcje szybkiego kopiowania w sejfie" }, @@ -5427,7 +5438,7 @@ "message": "Klucz SSH został zaimportowany" }, "cannotRemoveViewOnlyCollections": { - "message": "Nie można usunąć kolekcji z uprawnieniami tylko do przeglądania: $COLLECTIONS$", + "message": "Nie możesz usunąć następujących kolekcji z uprawnieniami tylko do odczytu: $COLLECTIONS$", "placeholders": { "collections": { "content": "$1", @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Zmień zagrożone hasło" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Dane logowania są zagrożone i nie zawierają strony internetowej. Dodaj stronę internetową i zmień hasło." + }, + "missingWebsite": { + "message": "Brak strony internetowej" + }, "settingsVaultOptions": { "message": "Opcje sejfu" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Pokaż mniej" + }, + "next": { + "message": "Dalej" + }, + "moreBreadcrumbs": { + "message": "Więcej nawigacji", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Potwierdź domenę Key Connector" } } diff --git a/apps/browser/src/_locales/pt_BR/messages.json b/apps/browser/src/_locales/pt_BR/messages.json index ac5afdc9fce..7e192777a4b 100644 --- a/apps/browser/src/_locales/pt_BR/messages.json +++ b/apps/browser/src/_locales/pt_BR/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Ver" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Não há itens para listar." }, @@ -1037,7 +1040,7 @@ "message": "Exibir itens de cartão em páginas com abas para simplificar o preenchimento automático" }, "showIdentitiesInVaultViewV2": { - "message": "Sempre mostrar identidades como sugestões de preenchimento automático na Tela do Cofre" + "message": "Sempre mostrar identidades como sugestões de preenchimento automático na tela do Cofre" }, "showIdentitiesCurrentTab": { "message": "Exibir Identidades na Aba Atual" @@ -1761,13 +1764,13 @@ "message": "Este navegador não pode processar requisições U2F nesta janela popup. Você quer abrir este popup em uma nova janela para que você possa entrar usando U2F?" }, "enableFavicon": { - "message": "Mostrar ícones do site" + "message": "Show website icons" }, "faviconDesc": { - "message": "Mostrar uma imagem reconhecível ao lado de cada login." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Mostre uma imagem reconhecível ao lado de cada login. Aplica-se a todas as contas conectadas." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Mostrar contador de insígnia" @@ -3785,11 +3788,11 @@ "message": "Trust user" }, "sendsTitleNoItems": { - "message": "Envie informações sensíveis com segurança", + "message": "Envie informações confidenciais com segurança", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendsBodyNoItems": { - "message": "Compartilhe arquivos e dados com segurança, com qualquer pessoa e em qualquer plataforma. Suas informações ficarão sempre criptografadas de ponta a ponta, garantindo exposição mínima.", + "message": "Compartilhe arquivos e dados de forma segura com qualquer pessoa, em qualquer plataforma. Suas informações permanecerão criptografadas de ponta a ponta enquanto limitam a exposição.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "inputRequired": { @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Selecione uma coleção" }, - "importTargetHint": { - "message": "Selecione esta opção se você quer o conteúdo do arquivo importado movido para $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "Arquivo contém itens não atribuídos." @@ -4741,7 +4740,7 @@ "message": "Acesse as suas senhas em qualquer lugar com o aplicativo móvel Bitwarden." }, "getTheDesktopApp": { - "message": "Get the desktop app" + "message": "Obter o aplicativo para desktop" }, "getTheDesktopAppDesc": { "message": "Acesse o seu cofre sem um navegador e, em seguida, configure o desbloqueio com dados biométricos para facilitar o desbloqueio tanto no aplicativo desktop quanto na extensão do navegador." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Mostrar o número de sugestões de preenchimento automático de login no ícone da extensão" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Mostrar a opção de cópia rápida no Cofre" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Alterar senhas vulneráveis" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Opções do cofre" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/pt_PT/messages.json b/apps/browser/src/_locales/pt_PT/messages.json index d3ce5ec3e48..605b3dd520c 100644 --- a/apps/browser/src/_locales/pt_PT/messages.json +++ b/apps/browser/src/_locales/pt_PT/messages.json @@ -65,7 +65,7 @@ "message": "Uma dica da palavra-passe mestra pode ajudá-lo a lembrar-se da sua palavra-passe, caso se esqueça dela." }, "masterPassHintText": { - "message": "Se se esquecer da sua palavra-passe, a dica da palavra-passe pode ser enviada para o seu e-mail. Máximo de $CURRENT$/$MAXIMUM$ carateres.", + "message": "Se se esquecer da sua palavra-passe, a dica da palavra-passe pode ser enviada para o seu e-mail. Máximo de $CURRENT$/$MAXIMUM$ caracteres.", "placeholders": { "current": { "content": "$1", @@ -490,7 +490,7 @@ "description": "Card header for password generator include block" }, "uppercaseDescription": { - "message": "Incluir carateres em maiúsculas", + "message": "Incluir caracteres em maiúsculas", "description": "Tooltip for the password generator uppercase character checkbox" }, "uppercaseLabel": { @@ -498,7 +498,7 @@ "description": "Label for the password generator uppercase character checkbox" }, "lowercaseDescription": { - "message": "Incluir carateres em minúsculas", + "message": "Incluir caracteres em minúsculas", "description": "Full description for the password generator lowercase character checkbox" }, "lowercaseLabel": { @@ -514,7 +514,7 @@ "description": "Label for the password generator numbers checkbox" }, "specialCharactersDescription": { - "message": "Incluir carateres especiais", + "message": "Incluir caracteres especiais", "description": "Full description for the password generator special characters checkbox" }, "numWords": { @@ -534,10 +534,10 @@ "message": "Mínimo de números" }, "minSpecial": { - "message": "Mínimo de carateres especiais" + "message": "Mínimo de caracteres especiais" }, "avoidAmbiguous": { - "message": "Evitar carateres ambíguos", + "message": "Evitar caracteres ambíguos", "description": "Label for the avoid ambiguous characters checkbox." }, "generatorPolicyInEffect": { @@ -556,6 +556,9 @@ "view": { "message": "Ver" }, + "viewLogin": { + "message": "Ver credencial" + }, "noItemsInList": { "message": "Não existem itens para listar." }, @@ -783,7 +786,7 @@ "message": "É necessário reescrever a palavra-passe mestra." }, "masterPasswordMinlength": { - "message": "A palavra-passe mestra deve ter pelo menos $VALUE$ carateres.", + "message": "A palavra-passe mestra deve ter pelo menos $VALUE$ caracteres.", "description": "The Master Password must be at least a specific number of characters long.", "placeholders": { "value": { @@ -2344,16 +2347,16 @@ } }, "policyInEffectUppercase": { - "message": "Contém um ou mais carateres em maiúsculas" + "message": "Contém um ou mais caracteres em maiúsculas" }, "policyInEffectLowercase": { - "message": "Contém um ou mais carateres em minúsculas" + "message": "Contém um ou mais caracteres em minúsculas" }, "policyInEffectNumbers": { "message": "Contém um ou mais números" }, "policyInEffectSpecial": { - "message": "Contém um ou mais dos seguintes carateres especiais $CHARS$", + "message": "Contém um ou mais dos seguintes caracteres especiais $CHARS$", "placeholders": { "chars": { "content": "$1", @@ -3097,7 +3100,7 @@ "message": "Saiu da organização." }, "toggleCharacterCount": { - "message": "Mostrar/ocultar contagem de carateres" + "message": "Mostrar/ocultar contagem de caracteres" }, "sessionTimeout": { "message": "A sua sessão expirou. Por favor, volte atrás e tente iniciar sessão novamente." @@ -3173,7 +3176,7 @@ } }, "passwordLengthRecommendationHint": { - "message": " Utilize $RECOMMENDED$ carateres ou mais para gerar uma palavra-passe forte.", + "message": " Utilize $RECOMMENDED$ caracteres ou mais para gerar uma palavra-passe forte.", "description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).", "placeholders": { "recommended": { @@ -3513,7 +3516,7 @@ "message": "A sua palavra-passe mestra não pode ser recuperada se a esquecer!" }, "characterMinimum": { - "message": "$LENGTH$ carateres no mínimo", + "message": "$LENGTH$ caracteres no mínimo", "placeholders": { "length": { "content": "$1", @@ -3802,7 +3805,7 @@ "message": "Procurar" }, "inputMinLength": { - "message": "O campo deve ter pelo menos $COUNT$ carateres.", + "message": "O campo deve ter pelo menos $COUNT$ caracteres.", "placeholders": { "count": { "content": "$1", @@ -3811,7 +3814,7 @@ } }, "inputMaxLength": { - "message": "O campo não pode exceder os $COUNT$ carateres de comprimento.", + "message": "O campo não pode exceder os $COUNT$ caracteres de comprimento.", "placeholders": { "count": { "content": "$1", @@ -3820,7 +3823,7 @@ } }, "inputForbiddenCharacters": { - "message": "Não são permitidos os seguintes carateres: $CHARACTERS$", + "message": "Não são permitidos os seguintes caracteres: $CHARACTERS$", "placeholders": { "characters": { "content": "$1", @@ -3829,7 +3832,7 @@ } }, "inputMinValue": { - "message": "O valor do campo tem de ser, pelo menos, $MIN$ carateres.", + "message": "O valor do campo tem de ser, pelo menos, $MIN$ caracteres.", "placeholders": { "min": { "content": "$1", @@ -3838,7 +3841,7 @@ } }, "inputMaxValue": { - "message": "O valor do campo não pode exceder os $MAX$ carateres.", + "message": "O valor do campo não pode exceder os $MAX$ caracteres.", "placeholders": { "max": { "content": "$1", @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Selecionar uma coleção" }, - "importTargetHint": { - "message": "Selecione esta opção se pretender que o conteúdo do ficheiro importado seja transferido para $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Selecione esta opção se pretender que o conteúdo do ficheiro importado seja transferido para uma coleção" + }, + "importTargetHintFolder": { + "message": "Selecione esta opção se pretender que o conteúdo do ficheiro importado seja transferido para uma pasta" }, "importUnassignedItemsError": { "message": "O ficheiro contém itens não atribuídos." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Mostrar o número de sugestões de preenchimento automático de credenciais no ícone da extensão" }, + "accountAccessRequested": { + "message": "Acesso à conta solicitado" + }, + "confirmAccessAttempt": { + "message": "Confirmar tentativa de acesso para $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Mostrar ações de cópia rápida no cofre" }, @@ -5163,10 +5174,10 @@ "message": "Ficheiro guardado no dispositivo. Gira-o a partir das transferências do seu dispositivo." }, "showCharacterCount": { - "message": "Mostrar contagem de carateres" + "message": "Mostrar contagem de caracteres" }, "hideCharacterCount": { - "message": "Ocultar contagem de carateres" + "message": "Ocultar contagem de caracteres" }, "itemsInTrash": { "message": "Itens no lixo" @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Alterar palavra-passe em risco" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Esta credencial está em risco e não tem um site. Adicione um site e altere a palavra-passe para uma segurança mais forte." + }, + "missingWebsite": { + "message": "Site em falta" + }, "settingsVaultOptions": { "message": "Opções do cofre" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Mostrar menos" + }, + "next": { + "message": "Seguinte" + }, + "moreBreadcrumbs": { + "message": "Mais da navegação estrutural", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirmar o domínio do Key Connector" } } diff --git a/apps/browser/src/_locales/ro/messages.json b/apps/browser/src/_locales/ro/messages.json index 741b491da13..5c9655f9759 100644 --- a/apps/browser/src/_locales/ro/messages.json +++ b/apps/browser/src/_locales/ro/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Afișare" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Nu există niciun articol de afișat." }, @@ -1761,10 +1764,10 @@ "message": "Acest browser nu poate procesa cererile U2F în această fereastră pop-up. Doriți să deschideți acest pop-up într-o fereastră nouă, astfel încât să vă puteți conecta utilizând U2F?" }, "enableFavicon": { - "message": "Afișați pictogramele site-ului web" + "message": "Show website icons" }, "faviconDesc": { - "message": "Afișează o imagine ușor de recunoscut lângă fiecare autentificare." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { "message": "Show a recognizable image next to each login. Applies to all logged in accounts." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/ru/messages.json b/apps/browser/src/_locales/ru/messages.json index 88fa89ac73e..72166573df6 100644 --- a/apps/browser/src/_locales/ru/messages.json +++ b/apps/browser/src/_locales/ru/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Просмотр" }, + "viewLogin": { + "message": "Просмотр логина" + }, "noItemsInList": { "message": "Нет элементов для отображения." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Выберите коллекцию" }, - "importTargetHint": { - "message": "Выберите эту опцию, если хотите, чтобы содержимое импортированного файла было перемещено в $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Выберите эту опцию, если хотите, чтобы содержимое импортированного файла было перемещено в коллекцию" + }, + "importTargetHintFolder": { + "message": "Выберите эту опцию, если хотите, чтобы содержимое импортированного файла было перемещено в папку" }, "importUnassignedItemsError": { "message": "Файл содержит неназначенные элементы." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Показывать количество вариантов автозаполнения логина на значке расширения" }, + "accountAccessRequested": { + "message": "Запрошен доступ к аккаунту" + }, + "confirmAccessAttempt": { + "message": "Подтвердить попытку доступа $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Показать быстрые действия копирования в хранилище" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Изменить пароль, подверженный риску" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Настройки хранилища" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Меньше" + }, + "next": { + "message": "Далее" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Подтвердите домен соединителя ключей" } } diff --git a/apps/browser/src/_locales/si/messages.json b/apps/browser/src/_locales/si/messages.json index dd2df6f309c..c0edd60f344 100644 --- a/apps/browser/src/_locales/si/messages.json +++ b/apps/browser/src/_locales/si/messages.json @@ -556,6 +556,9 @@ "view": { "message": "දකින්න" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "ලැයිස්තු ගත කිරීමට අයිතම නොමැත." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/sk/messages.json b/apps/browser/src/_locales/sk/messages.json index e12a0c97ac4..6f1f578b14f 100644 --- a/apps/browser/src/_locales/sk/messages.json +++ b/apps/browser/src/_locales/sk/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Zobraziť" }, + "viewLogin": { + "message": "Zobraziť prihlásenie" + }, "noItemsInList": { "message": "Neexistujú žiadne položky na zobrazenie." }, @@ -1761,7 +1764,7 @@ "message": "Tento prehliadač nedokáže spracovať U2F požiadavku v popup okne. Chcete ho otvoriť v novom okne aby ste sa mohli prihlásiť pomocou U2F?" }, "enableFavicon": { - "message": "Zobrazovať favikony stránok" + "message": "Zobraziť favikony stránok" }, "faviconDesc": { "message": "Pri každom prihlásení zobrazí rozpoznateľný obrázok." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Vyberte zbierku" }, - "importTargetHint": { - "message": "Zvoľte túto možnosť, ak chcete obsah importovaného súboru presunúť do $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Zvoľte túto možnosť, ak chcete obsah importovaného súboru presunúť do zbierky" + }, + "importTargetHintFolder": { + "message": "Zvoľte túto možnosť, ak chcete obsah importovaného súboru presunúť do priečinka" }, "importUnassignedItemsError": { "message": "Súbor obsahuje nepriradené položky." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Zobraziť počet odporúčaných prihlasovacích údajov na ikone rozšírenia" }, + "accountAccessRequested": { + "message": "Žiadosť o prístup k účtu" + }, + "confirmAccessAttempt": { + "message": "Potvrďte pokus o prístup pre $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Zobraziť akcie rýchleho kopírovania v trezore" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Zmeniť rizikové heslá" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Toto prihlásenie je v ohrození a chýba mu webová stránka. Pridajte webovú stránku a zmeňte heslo na silnejšie zabezpečenie." + }, + "missingWebsite": { + "message": "Chýbajúca webová stránka" + }, "settingsVaultOptions": { "message": "Možnosti trezoru" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Zobraziť menej" + }, + "next": { + "message": "Ďalej" + }, + "moreBreadcrumbs": { + "message": "Viac", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Potvrdiť doménu Key Connectora" } } diff --git a/apps/browser/src/_locales/sl/messages.json b/apps/browser/src/_locales/sl/messages.json index 3af24b85889..1f2295f2c59 100644 --- a/apps/browser/src/_locales/sl/messages.json +++ b/apps/browser/src/_locales/sl/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Pogled" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Tukaj ni ničesar." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/sr/messages.json b/apps/browser/src/_locales/sr/messages.json index 12d0c5b015e..e48e10ce1b6 100644 --- a/apps/browser/src/_locales/sr/messages.json +++ b/apps/browser/src/_locales/sr/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Приказ" }, + "viewLogin": { + "message": "Преглед пријаве" + }, "noItemsInList": { "message": "Нема ставке у листи." }, @@ -1615,7 +1618,7 @@ "message": "Искључите подешавања ауто-пуњења прегледача, тако да се не сукобљавај са Bitwarden." }, "turnOffBrowserAutofill": { - "message": "Turn off $BROWSER$ autofill", + "message": "Угасити ауто-пуњење $BROWSER$-а", "placeholders": { "browser": { "content": "$1", @@ -1624,7 +1627,7 @@ } }, "turnOffAutofill": { - "message": "Turn off autofill" + "message": "Угасити ауто-пуњење" }, "showInlineMenuLabel": { "message": "Прикажи предлоге за ауто-попуњавање у пољима обрасца" @@ -1761,13 +1764,13 @@ "message": "Овај прегледач не може да обрађује U2F захтеве у овом искачућем прозору. Да ли желите да отворите овај искачући прозор у новом прозору како бисте могли да се пријавите користећи U2F?" }, "enableFavicon": { - "message": "Прикажи иконе сајтова" + "message": "Show website icons" }, "faviconDesc": { - "message": "Прикажи препознатљиву слику поред сваке ставке за пријаву." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Приказује препознатљиву слику поред сваке пријаве. Важи за све пријављене налоге." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Прикажи бедж са бројачем" @@ -3779,7 +3782,7 @@ "message": "За сигурност вашег рачуна, наставите само ако сте члан ове организације, омогућили опоравак рачуна и отисак који се приказује испод одговара прстима организације." }, "orgTrustWarning1": { - "message": "This organization has an Enterprise policy that will enroll you in account recovery. Enrollment will allow organization administrators to change your password. Only proceed if you recognize this organization and the fingerprint phrase displayed below matches the organization's fingerprint." + "message": "Ова организација има политику за предузећа која ће вас уписати у опоравак налога. Упис ће омогућити администраторима организације да промене вашу лозинку. Наставите само ако препознајете ову организацију и ако се фраза отиска приказана испод поклапа са отиском организације." }, "trustUser": { "message": "Повери кориснику" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Изабери колекцију" }, - "importTargetHint": { - "message": "Изаберите ову опцију ако желите да се садржај увезене датотеке премести у $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Изаберите ову опцију ако желите да се садржај увезене датотеке пребацио у колекцију" + }, + "importTargetHintFolder": { + "message": "Изаберите ову опцију ако желите да се садржај увезене датотеке пребацио у фасцикли" }, "importUnassignedItemsError": { "message": "Датотека садржи недодељене ставке." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Прикажи број предлога за ауто-попуњавање пријаве на икони додатка" }, + "accountAccessRequested": { + "message": "Приступ рачуна је затражен" + }, + "confirmAccessAttempt": { + "message": "Потврдити приступ за $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Приказати брзе радње копирања у Сефу" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Променити ризичну лозинку" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Ова пријава је ризична и недостаје веб локација. Додајте веб страницу и промените лозинку за јачу сигурност." + }, + "missingWebsite": { + "message": "Недостаје веб страница" + }, "settingsVaultOptions": { "message": "Опције сефа" }, @@ -5520,7 +5537,7 @@ "example": "Include a Website so this login appears as an autofill suggestion." }, "newCardNudgeTitle": { - "message": "Seamless online checkout" + "message": "Лако онлајн плачање" }, "newCardNudgeBody": { "message": "Са картицама, лако и сигурносно попуните формуларе за плаћање." @@ -5575,9 +5592,19 @@ "description": "'WebAssembly' is a technical term and should not be translated." }, "showMore": { - "message": "Show more" + "message": "Прикажи више" }, "showLess": { - "message": "Show less" + "message": "Прикажи мање" + }, + "next": { + "message": "Следеће" + }, + "moreBreadcrumbs": { + "message": "Више мрвица", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Потврдите домен конектора кључа" } } diff --git a/apps/browser/src/_locales/sv/messages.json b/apps/browser/src/_locales/sv/messages.json index 1174b6ac077..1fb9498f2df 100644 --- a/apps/browser/src/_locales/sv/messages.json +++ b/apps/browser/src/_locales/sv/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Visa" }, + "viewLogin": { + "message": "Visa inloggning" + }, "noItemsInList": { "message": "Det finns inga objekt att visa." }, @@ -1764,7 +1767,7 @@ "message": "Visa webbplatsikoner" }, "faviconDesc": { - "message": "Visa en identifierbar bild bredvid varje inloggning." + "message": "Visa en igenkännbar bild bredvid varje inloggning." }, "faviconDescAlt": { "message": "Visa en igenkännbar bild bredvid varje inloggning. Gäller för alla inloggade konton." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Välj en samling" }, - "importTargetHint": { - "message": "Välj det här alternativet om du vill att innehållet i den importerade filen ska flyttas till en $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Välj detta alternativ om du vill att innehållet i den importerade filen ska flyttas till en samling" + }, + "importTargetHintFolder": { + "message": "Välj detta alternativ om du vill att innehållet i den importerade filen ska flyttas till en mapp" }, "importUnassignedItemsError": { "message": "Filen innehåller otilldelade objekt." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Visa antal autofyllförslag för inloggning på tilläggsikonen" }, + "accountAccessRequested": { + "message": "Begäran om åtkomst till konto" + }, + "confirmAccessAttempt": { + "message": "Bekräfta åtkomstförsök för $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Visa snabbkopieringsåtgärder på Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Ändra lösenord för riskgrupper" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Denna inloggning är utsatt för risk och saknar en webbplats. Lägg till en webbplats och ändra lösenordet för ökad säkerhet." + }, + "missingWebsite": { + "message": "Saknar webbplats" + }, "settingsVaultOptions": { "message": "Alternativ för valv" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Visa mindre" + }, + "next": { + "message": "Nästa" + }, + "moreBreadcrumbs": { + "message": "Fler länkstigar", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Bekräfta Key Connector-domän" } } diff --git a/apps/browser/src/_locales/ta/messages.json b/apps/browser/src/_locales/ta/messages.json new file mode 100644 index 00000000000..1c6d7bc4528 --- /dev/null +++ b/apps/browser/src/_locales/ta/messages.json @@ -0,0 +1,5610 @@ +{ + "appName": { + "message": "Bitwarden" + }, + "appLogoLabel": { + "message": "Bitwarden லோகோ" + }, + "extName": { + "message": "Bitwarden கடவுச்சொல் மேலாளர்", + "description": "Extension name, MUST be less than 40 characters (Safari restriction)" + }, + "extDesc": { + "message": "வீட்டிலோ, வேலையிலோ, பயணத்திலோ, Bitwarden உங்கள் கடவுச்சொற்கள் மற்றும் முக்கிய தகவல்களை எளிதாகப் பாதுகாக்கிறது", + "description": "Extension description, MUST be less than 112 characters (Safari restriction)" + }, + "loginOrCreateNewAccount": { + "message": "உங்கள் பாதுகாப்பான வால்ட்டை அணுக, உள்நுழையவும் அல்லது புதிய கணக்கை உருவாக்கவும்." + }, + "inviteAccepted": { + "message": "அழைப்பு ஏற்கப்பட்டது" + }, + "createAccount": { + "message": "கணக்கை உருவாக்கவும்" + }, + "newToBitwarden": { + "message": "Bitwarden-க்கு புதியவரா?" + }, + "logInWithPasskey": { + "message": "பாஸ்கீயுடன் உள்நுழையவும்" + }, + "useSingleSignOn": { + "message": "ஒற்றை உள்நுழைவைப் பயன்படுத்தவும்" + }, + "welcomeBack": { + "message": "மீண்டும் வருக" + }, + "setAStrongPassword": { + "message": "ஒரு வலிமையான கடவுச்சொல்லை அமைக்கவும்" + }, + "finishCreatingYourAccountBySettingAPassword": { + "message": "கடவுச்சொல்லை அமைப்பதன் மூலம் உங்கள் கணக்கை உருவாக்குவதை முடிக்கவும்" + }, + "enterpriseSingleSignOn": { + "message": "என்டர்பிரைஸ் ஒற்றை உள்நுழைவு" + }, + "cancel": { + "message": "ரத்துசெய்" + }, + "close": { + "message": "மூடு" + }, + "submit": { + "message": "சமர்ப்பி" + }, + "emailAddress": { + "message": "மின்னஞ்சல் முகவரி" + }, + "masterPass": { + "message": "முதன்மை கடவுச்சொல்" + }, + "masterPassDesc": { + "message": "முதன்மை கடவுச்சொல் என்பது உங்கள் வால்ட்டை அணுக நீங்கள் பயன்படுத்தும் கடவுச்சொல் ஆகும். உங்கள் முதன்மை கடவுச்சொல்லை மறக்காமல் இருப்பது மிகவும் முக்கியம். அதை நீங்கள் மறந்துவிட்டால், அதை மீட்டெடுக்க வழி இல்லை." + }, + "masterPassHintDesc": { + "message": "உங்கள் முதன்மை கடவுச்சொல்லை மறந்துவிட்டால், அதை நினைவில் வைத்துக்கொள்ள முதன்மை கடவுச்சொல் குறிப்பு உதவும்." + }, + "masterPassHintText": { + "message": "உங்கள் கடவுச்சொல்லை மறந்துவிட்டால், கடவுச்சொல் குறிப்பு உங்கள் மின்னஞ்சலுக்கு அனுப்பப்படலாம். $CURRENT$/$MAXIMUM$ எழுத்து அதிகபட்சம்.", + "placeholders": { + "current": { + "content": "$1", + "example": "0" + }, + "maximum": { + "content": "$2", + "example": "50" + } + } + }, + "reTypeMasterPass": { + "message": "முதன்மை கடவுச்சொல்லை மீண்டும் தட்டச்சு செய்யவும்" + }, + "masterPassHint": { + "message": "முதன்மை கடவுச்சொல் குறிப்பு (விரும்பினால்)" + }, + "passwordStrengthScore": { + "message": "கடவுச்சொல் வலிமை மதிப்பெண் $SCORE$", + "placeholders": { + "score": { + "content": "$1", + "example": "4" + } + } + }, + "joinOrganization": { + "message": "நிறுவனத்தில் சேர்" + }, + "joinOrganizationName": { + "message": "$ORGANIZATIONNAME$ இல் சேரவும்", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "My Org Name" + } + } + }, + "finishJoiningThisOrganizationBySettingAMasterPassword": { + "message": "ஒரு முதன்மை கடவுச்சொல்லை அமைப்பதன் மூலம் இந்த நிறுவனத்தில் இணைவதை முடிக்கவும்." + }, + "tab": { + "message": "தாவல்" + }, + "vault": { + "message": "வால்ட்" + }, + "myVault": { + "message": "எனது வால்ட்" + }, + "allVaults": { + "message": "அனைத்து வால்ட்களும்" + }, + "tools": { + "message": "கருவிகள்" + }, + "settings": { + "message": "அமைப்புகள்" + }, + "currentTab": { + "message": "தற்போதைய தாவல்" + }, + "copyPassword": { + "message": "கடவுச்சொல்லை நகலெடு" + }, + "copyPassphrase": { + "message": "கடவுச்சொல் சொற்றொடரை நகலெடு" + }, + "copyNote": { + "message": "குறிப்பை நகலெடு" + }, + "copyUri": { + "message": "URI-ஐ நகலெடு" + }, + "copyUsername": { + "message": "பயனர்பெயரை நகலெடு" + }, + "copyNumber": { + "message": "எண்ணை நகலெடு" + }, + "copySecurityCode": { + "message": "பாதுகாப்பு குறியீட்டை நகலெடு" + }, + "copyName": { + "message": "பெயரை நகலெடு" + }, + "copyCompany": { + "message": "நிறுவனத்தை நகலெடு" + }, + "copySSN": { + "message": "சமூகப் பாதுகாப்பு எண்ணை நகலெடு" + }, + "copyPassportNumber": { + "message": "பாஸ்போர்ட் எண்ணை நகலெடு" + }, + "copyLicenseNumber": { + "message": "உரிமம் எண்ணை நகலெடு" + }, + "copyPrivateKey": { + "message": "தனிப்பட்ட விசையை நகலெடு" + }, + "copyPublicKey": { + "message": "பொது விசையை நகலெடு" + }, + "copyFingerprint": { + "message": "கைரேகையை நகலெடு" + }, + "copyCustomField": { + "message": "$FIELD$-ஐ நகலெடு", + "placeholders": { + "field": { + "content": "$1", + "example": "Custom field label" + } + } + }, + "copyWebsite": { + "message": "வலைத்தளத்தை நகலெடு" + }, + "copyNotes": { + "message": "குறிப்புகளை நகலெடு" + }, + "copy": { + "message": "நகலெடு", + "description": "Copy to clipboard" + }, + "fill": { + "message": "நிரப்பு", + "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." + }, + "autoFill": { + "message": "தானாக நிரப்பு" + }, + "autoFillLogin": { + "message": "உள்நுழைவை தானாக நிரப்பு" + }, + "autoFillCard": { + "message": "அட்டையைத் தானாக நிரப்பு" + }, + "autoFillIdentity": { + "message": "அடையாளத்தைத் தானாக நிரப்பு" + }, + "fillVerificationCode": { + "message": "சரிபார்ப்புக் குறியீட்டை நிரப்பு" + }, + "fillVerificationCodeAria": { + "message": "சரிபார்ப்புக் குறியீட்டை நிரப்பு", + "description": "Aria label for the heading displayed the inline menu for totp code autofill" + }, + "generatePasswordCopied": { + "message": "கடவுச்சொல்லை உருவாக்கு (நகலெடுக்கப்பட்டது)" + }, + "copyElementIdentifier": { + "message": "விருப்பப்பட்ட புல பெயரை நகலெடு" + }, + "noMatchingLogins": { + "message": "பொருந்தும் உள்நுழைவுகள் இல்லை" + }, + "noCards": { + "message": "அட்டைகள் இல்லை" + }, + "noIdentities": { + "message": "அடையாளங்கள் இல்லை" + }, + "addLoginMenu": { + "message": "உள்நுழைவைச் சேர்" + }, + "addCardMenu": { + "message": "அட்டையைச் சேர்" + }, + "addIdentityMenu": { + "message": "அடையாளத்தைச் சேர்" + }, + "unlockVaultMenu": { + "message": "உங்கள் வால்ட்டைத் திறக்கவும்" + }, + "loginToVaultMenu": { + "message": "உங்கள் வால்ட்டில் உள்நுழையவும்" + }, + "autoFillInfo": { + "message": "தற்போதைய உலாவியில் தானாக நிரப்புவதற்கு உள்நுழைவுகள் எதுவும் இல்லை." + }, + "addLogin": { + "message": "ஒரு உள்நுழைவைச் சேர்" + }, + "addItem": { + "message": "உருப்படியைச் சேர்" + }, + "accountEmail": { + "message": "கணக்கு மின்னஞ்சல்" + }, + "requestHint": { + "message": "குறிப்பைக் கோரு" + }, + "requestPasswordHint": { + "message": "கடவுச்சொல் குறிப்பைக் கோரு" + }, + "enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": { + "message": "உங்கள் கணக்கு மின்னஞ்சல் முகவரியை உள்ளிடவும், உங்கள் கடவுச்சொல் குறிப்பு உங்களுக்கு அனுப்பப்படும்" + }, + "getMasterPasswordHint": { + "message": "முதன்மை கடவுச்சொல் குறிப்பைப் பெறு" + }, + "continue": { + "message": "தொடர்" + }, + "sendVerificationCode": { + "message": "உங்கள் மின்னஞ்சலுக்கு ஒரு சரிபார்ப்புக் குறியீட்டை அனுப்பவும்" + }, + "sendCode": { + "message": "குறியீட்டை அனுப்பு" + }, + "codeSent": { + "message": "குறியீடு அனுப்பப்பட்டது" + }, + "verificationCode": { + "message": "சரிபார்ப்புக் குறியீடு" + }, + "confirmIdentity": { + "message": "தொடர உங்கள் அடையாளத்தை உறுதிப்படுத்தவும்." + }, + "changeMasterPassword": { + "message": "முதன்மை கடவுச்சொல்லை மாற்றவும்" + }, + "continueToWebApp": { + "message": "வலை பயன்பாட்டிற்கு தொடரவா?" + }, + "continueToWebAppDesc": { + "message": "வலை பயன்பாட்டில் உங்கள் Bitwarden கணக்கின் கூடுதல் அம்சங்களை ஆராயுங்கள்." + }, + "continueToHelpCenter": { + "message": "உதவி மையத்திற்கு தொடரவா?" + }, + "continueToHelpCenterDesc": { + "message": "உதவி மையத்தில் Bitwarden-ஐ எவ்வாறு பயன்படுத்துவது என்பது பற்றி மேலும் அறிக." + }, + "continueToBrowserExtensionStore": { + "message": "உலாவி நீட்டிப்பு ஸ்டோரைத் தொடரவா?" + }, + "continueToBrowserExtensionStoreDesc": { + "message": "Bitwarden அவர்களுக்கு சரியானதா என்பதை மற்றவர்கள் கண்டறிய உதவுங்கள். உங்கள் உலாவியின் நீட்டிப்பு ஸ்டோருக்குச் சென்று இப்போது ஒரு மதிப்பீட்டை விடுங்கள்." + }, + "changeMasterPasswordOnWebConfirmation": { + "message": "Bitwarden வலை பயன்பாட்டில் உங்கள் முதன்மை கடவுச்சொல்லை மாற்றலாம்." + }, + "fingerprintPhrase": { + "message": "கைரேகை சொற்றொடர்", + "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." + }, + "yourAccountsFingerprint": { + "message": "உங்கள் கணக்கின் கைரேகை சொற்றொடர்", + "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." + }, + "twoStepLogin": { + "message": "இரண்டு-படி உள்நுழைவு" + }, + "logOut": { + "message": "வெளியேறு" + }, + "aboutBitwarden": { + "message": "Bitwarden பற்றி" + }, + "about": { + "message": "பற்றி" + }, + "moreFromBitwarden": { + "message": "Bitwarden-இலிருந்து மேலும்" + }, + "continueToBitwardenDotCom": { + "message": "bitwarden.com தளத்திற்கு செல்லவா?" + }, + "bitwardenForBusiness": { + "message": "வணிகத்திற்கான Bitwarden" + }, + "bitwardenAuthenticator": { + "message": "Bitwarden அங்கீகரிப்பான்" + }, + "continueToAuthenticatorPageDesc": { + "message": "Bitwarden Authenticator ஆனது அங்கீகரிப்பு விசைகளைச் சேமிக்கவும், 2-படி சரிபார்ப்பு ஓட்டங்களுக்கு TOTP குறியீடுகளை உருவாக்கவும் உங்களை அனுமதிக்கிறது. bitwarden.com வலைத்தளத்தில் மேலும் அறிக" + }, + "bitwardenSecretsManager": { + "message": "Bitwarden ரகசியங்கள் மேலாளர்" + }, + "continueToSecretsManagerPageDesc": { + "message": "Bitwarden Secrets Manager-ஐப் பயன்படுத்தி டெவலப்பர் ரகசியங்களை பாதுகாப்பாக சேமித்து, நிர்வகித்து, பகிருங்கள். bitwarden.com வலைத்தளத்தில் மேலும் அறிக." + }, + "passwordlessDotDev": { + "message": "Passwordless.dev" + }, + "continueToPasswordlessDotDevPageDesc": { + "message": "Passwordless.dev-ஐப் பயன்படுத்தி பாரம்பரிய கடவுச்சொற்கள் இல்லாத, எளிதான மற்றும் பாதுகாப்பான உள்நுழைவு அனுபவங்களை உருவாக்குங்கள். bitwarden.com வலைத்தளத்தில் மேலும் அறிக." + }, + "freeBitwardenFamilies": { + "message": "இலவச Bitwarden Families" + }, + "freeBitwardenFamiliesPageDesc": { + "message": "நீங்கள் இலவச Bitwarden Families-க்கு தகுதியுடையவர். இந்தச் சலுகையை இன்று வலை பயன்பாட்டில் மீட்டெடுக்கவும்." + }, + "version": { + "message": "பதிப்பு" + }, + "save": { + "message": "சேமி" + }, + "move": { + "message": "நகர்த்து" + }, + "addFolder": { + "message": "கோப்புறையைச் சேர்" + }, + "name": { + "message": "பெயர்" + }, + "editFolder": { + "message": "கோப்புறையைத் திருத்து" + }, + "editFolderWithName": { + "message": "கோப்புறையைத் திருத்து: $FOLDERNAME$", + "placeholders": { + "foldername": { + "content": "$1", + "example": "Social" + } + } + }, + "newFolder": { + "message": "புதிய கோப்புறை" + }, + "folderName": { + "message": "கோப்புறை பெயர்" + }, + "folderHintText": { + "message": "ஒரு கோப்புறையின் பெயரைச் சேர்த்து, அதைத் தொடர்ந்து ஒரு “/” ஐச் சேர்ப்பதன் மூலம் ஒரு கோப்புறையை உருவாக்கலாம். எடுத்துக்காட்டு: Social/Forums" + }, + "noFoldersAdded": { + "message": "கோப்புறைகள் சேர்க்கப்படவில்லை" + }, + "createFoldersToOrganize": { + "message": "உங்கள் வால்ட் உருப்படிகளை ஒழுங்கமைக்க கோப்புறைகளை உருவாக்கவும்" + }, + "deleteFolderPermanently": { + "message": "இந்த கோப்புறையை நிரந்தரமாக நீக்க விரும்புகிறீர்களா?" + }, + "deleteFolder": { + "message": "கோப்புறையை நீக்கு" + }, + "folders": { + "message": "கோப்புறைகள்" + }, + "noFolders": { + "message": "பட்டியலிட கோப்புறைகள் எதுவும் இல்லை." + }, + "helpFeedback": { + "message": "உதவி மற்றும் பின்னூட்டம்" + }, + "helpCenter": { + "message": "Bitwarden உதவி மையம்" + }, + "communityForums": { + "message": "Bitwarden சமூக மன்றங்களை ஆராயுங்கள்" + }, + "contactSupport": { + "message": "Bitwarden ஆதரவைத் தொடர்பு கொள்ளுங்கள்" + }, + "sync": { + "message": "ஒத்திசை" + }, + "syncVaultNow": { + "message": "இப்போது வால்ட்டை ஒத்திசை" + }, + "lastSync": { + "message": "கடைசி ஒத்திசைவு:" + }, + "passGen": { + "message": "கடவுச்சொல் உருவாக்கி" + }, + "generator": { + "message": "உருவாக்கி", + "description": "Short for 'credential generator'." + }, + "passGenInfo": { + "message": "உங்கள் உள்நுழைவுகளுக்கு தானாகவே வலிமையான, தனித்துவமான கடவுச்சொற்களை உருவாக்குங்கள்." + }, + "bitWebVaultApp": { + "message": "Bitwarden வலை பயன்பாடு" + }, + "importItems": { + "message": "உருப்படிகளை இறக்குமதிசெய்" + }, + "select": { + "message": "தேர்ந்தெடு" + }, + "generatePassword": { + "message": "கடவுச்சொல்லை உருவாக்கு" + }, + "generatePassphrase": { + "message": "கடவுச்சொல் சொற்றொடரை உருவாக்கு" + }, + "passwordGenerated": { + "message": "கடவுச்சொல் உருவாக்கப்பட்டது" + }, + "passphraseGenerated": { + "message": "கடவுச்சொல் சொற்றொடர் உருவாக்கப்பட்டது" + }, + "usernameGenerated": { + "message": "பயனர்பெயர் உருவாக்கப்பட்டது" + }, + "emailGenerated": { + "message": "மின்னஞ்சல் உருவாக்கப்பட்டது" + }, + "regeneratePassword": { + "message": "கடவுச்சொல்லை மீண்டும் உருவாக்கு" + }, + "options": { + "message": "விருப்பத்தேர்வுகள்" + }, + "length": { + "message": "நீளம்" + }, + "include": { + "message": "சேர்த்துக்கொள்", + "description": "Card header for password generator include block" + }, + "uppercaseDescription": { + "message": "பெரிய எழுத்துக்களை சேர்த்துக்கொள்", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "சிறிய எழுத்துக்களை சேர்த்துக்கொள்", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "எண்களை சேர்த்துக்கொள்", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "சிறப்பு எழுத்துக்களை சேர்த்துக்கொள்", + "description": "Full description for the password generator special characters checkbox" + }, + "numWords": { + "message": "வார்த்தைகளின் எண்ணிக்கை" + }, + "wordSeparator": { + "message": "வார்த்தை பிரிப்பான்" + }, + "capitalize": { + "message": "பெரிய எழுத்தாக்கு", + "description": "Make the first letter of a work uppercase." + }, + "includeNumber": { + "message": "எண்ணைச் சேர்த்துக்கொள்" + }, + "minNumbers": { + "message": "குறைந்தபட்ச எண்கள்" + }, + "minSpecial": { + "message": "குறைந்தபட்ச சிறப்பு" + }, + "avoidAmbiguous": { + "message": "தெளிவற்ற எழுத்துக்களை தவிர்க்கவும்", + "description": "Label for the avoid ambiguous characters checkbox." + }, + "generatorPolicyInEffect": { + "message": "உங்கள் உருவாக்கி விருப்பத்தேர்வுகளுக்கு என்டர்பிரைஸ் கொள்கை தேவைகள் பயன்படுத்தப்பட்டுள்ளன.", + "description": "Indicates that a policy limits the credential generator screen." + }, + "searchVault": { + "message": "வால்ட்டைத் தேடு" + }, + "resetSearch": { + "message": "தேடலை மீட்டமை" + }, + "edit": { + "message": "திருத்து" + }, + "view": { + "message": "காண்" + }, + "viewLogin": { + "message": "உள்நுழைவைக் காண்க" + }, + "noItemsInList": { + "message": "பட்டியலிட உருப்படிகள் எதுவும் இல்லை." + }, + "itemInformation": { + "message": "உருப்படி தகவல்" + }, + "username": { + "message": "பயனர்பெயர்" + }, + "password": { + "message": "கடவுச்சொல்" + }, + "totp": { + "message": "அங்கீகரிப்பு இரகசியம்" + }, + "passphrase": { + "message": "கடவுச்சொல் சொற்றொடர்" + }, + "favorite": { + "message": "விருப்பமானது" + }, + "unfavorite": { + "message": "விருப்பமற்றது" + }, + "itemAddedToFavorites": { + "message": "உருப்படி விருப்பமானதில் சேர்க்கப்பட்டது" + }, + "itemRemovedFromFavorites": { + "message": "உருப்படி விருப்பமானதிலிருந்து நீக்கப்பட்டது" + }, + "notes": { + "message": "குறிப்புகள்" + }, + "privateNote": { + "message": "தனிப்பட்ட குறிப்பு" + }, + "note": { + "message": "குறிப்பு" + }, + "editItem": { + "message": "உருப்படியைத் திருத்து" + }, + "folder": { + "message": "கோப்புறை" + }, + "deleteItem": { + "message": "உருப்படியை நீக்கு" + }, + "viewItem": { + "message": "உருப்படியைக் காண்" + }, + "launch": { + "message": "தொடங்கு" + }, + "launchWebsite": { + "message": "வலைத்தளத்தைத் தொடங்கு" + }, + "launchWebsiteName": { + "message": "$ITEMNAME$ வலைத்தளத்தைத் தொடங்கு", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret item" + } + } + }, + "website": { + "message": "வலைத்தளம்" + }, + "toggleVisibility": { + "message": "காண்பிக்கும் நிலையை மாற்று" + }, + "manage": { + "message": "நிர்வகி" + }, + "other": { + "message": "மற்றவை" + }, + "unlockMethods": { + "message": "திறக்கும் விருப்பத்தேர்வுகள்" + }, + "unlockMethodNeededToChangeTimeoutActionDesc": { + "message": "உங்கள் வால்ட் காலக்கெடு செயலை மாற்ற ஒரு திறக்கும் முறையை அமைக்கவும்." + }, + "unlockMethodNeeded": { + "message": "அமைப்புகளில் ஒரு திறக்கும் முறையை அமைக்கவும்" + }, + "sessionTimeoutHeader": { + "message": "அமர்வு காலக்கெடு" + }, + "vaultTimeoutHeader": { + "message": "வால்ட் காலக்கெடு" + }, + "otherOptions": { + "message": "பிற விருப்பத்தேர்வுகள்" + }, + "rateExtension": { + "message": "நீட்டிப்புக்கு மதிப்பிடு" + }, + "browserNotSupportClipboard": { + "message": "உங்கள் உலாவி எளிதான நகலெடுப்பதை ஆதரிக்கவில்லை. அதற்குப் பதிலாக கைமுறையாக நகலெடுக்கவும்." + }, + "verifyYourIdentity": { + "message": "உங்கள் அடையாளத்தைச் சரிபார்க்கவும்" + }, + "weDontRecognizeThisDevice": { + "message": "இந்த சாதனத்தை நாங்கள் அடையாளம் காணவில்லை. உங்கள் அடையாளத்தைச் சரிபார்க்க உங்கள் மின்னஞ்சலுக்கு அனுப்பப்பட்ட குறியீட்டை உள்ளிடவும்." + }, + "continueLoggingIn": { + "message": "உள்நுழைவைத் தொடரவும்" + }, + "yourVaultIsLocked": { + "message": "உங்கள் வால்ட் பூட்டப்பட்டுள்ளது. தொடர உங்கள் அடையாளத்தைச் சரிபார்க்கவும்." + }, + "yourVaultIsLockedV2": { + "message": "உங்கள் வால்ட் பூட்டப்பட்டுள்ளது" + }, + "yourAccountIsLocked": { + "message": "உங்கள் கணக்கு பூட்டப்பட்டுள்ளது" + }, + "or": { + "message": "அல்லது" + }, + "unlock": { + "message": "திற" + }, + "loggedInAsOn": { + "message": "$HOSTNAME$-இல் $EMAIL$-ஆக உள்நுழைந்துள்ளார்.", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + }, + "hostname": { + "content": "$2", + "example": "bitwarden.com" + } + } + }, + "invalidMasterPassword": { + "message": "தவறான முதன்மை கடவுச்சொல்" + }, + "vaultTimeout": { + "message": "வால்ட் காலக்கெடு" + }, + "vaultTimeout1": { + "message": "காலக்கெடு" + }, + "lockNow": { + "message": "இப்போது பூட்டு" + }, + "lockAll": { + "message": "அனைத்தையும் பூட்டு" + }, + "immediately": { + "message": "உடனடியாக" + }, + "tenSeconds": { + "message": "10 வினாடிகள்" + }, + "twentySeconds": { + "message": "20 வினாடிகள்" + }, + "thirtySeconds": { + "message": "30 வினாடிகள்" + }, + "oneMinute": { + "message": "1 நிமிடம்" + }, + "twoMinutes": { + "message": "2 நிமிடங்கள்" + }, + "fiveMinutes": { + "message": "5 நிமிடங்கள்" + }, + "fifteenMinutes": { + "message": "15 நிமிடங்கள்" + }, + "thirtyMinutes": { + "message": "30 நிமிடங்கள்" + }, + "oneHour": { + "message": "1 மணிநேரம்" + }, + "fourHours": { + "message": "4 மணிநேரங்கள்" + }, + "onLocked": { + "message": "சிஸ்டம் பூட்டப்பட்டவுடன்" + }, + "onRestart": { + "message": "உலாவி மறுதொடக்கம் செய்யப்பட்டவுடன்" + }, + "never": { + "message": "ஒருபோதும் இல்லை" + }, + "security": { + "message": "பாதுகாப்பு" + }, + "confirmMasterPassword": { + "message": "முதன்மை கடவுச்சொல்லை உறுதிப்படுத்து" + }, + "masterPassword": { + "message": "முதன்மை கடவுச்சொல்" + }, + "masterPassImportant": { + "message": "உங்கள் முதன்மை கடவுச்சொல்லை மறந்துவிட்டால் அதை மீட்டெடுக்க முடியாது!" + }, + "masterPassHintLabel": { + "message": "முதன்மை கடவுச்சொல் குறிப்பு" + }, + "errorOccurred": { + "message": "ஒரு பிழை ஏற்பட்டது" + }, + "emailRequired": { + "message": "மின்னஞ்சல் முகவரி அவசியம்." + }, + "invalidEmail": { + "message": "தவறான மின்னஞ்சல் முகவரி." + }, + "masterPasswordRequired": { + "message": "முதன்மை கடவுச்சொல் அவசியம்." + }, + "confirmMasterPasswordRequired": { + "message": "முதன்மை கடவுச்சொல்லை மீண்டும் தட்டச்சு செய்வது அவசியம்." + }, + "masterPasswordMinlength": { + "message": "முதன்மை கடவுச்சொல் குறைந்தது $VALUE$ எழுத்து நீளம் இருக்க வேண்டும்.", + "description": "The Master Password must be at least a specific number of characters long.", + "placeholders": { + "value": { + "content": "$1", + "example": "8" + } + } + }, + "masterPassDoesntMatch": { + "message": "முதன்மை கடவுச்சொல் உறுதிப்படுத்தல் பொருந்தவில்லை." + }, + "newAccountCreated": { + "message": "உங்கள் புதிய கணக்கு உருவாக்கப்பட்டது! இப்போது நீங்கள் உள்நுழையலாம்." + }, + "newAccountCreated2": { + "message": "உங்கள் புதிய கணக்கு உருவாக்கப்பட்டது!" + }, + "youHaveBeenLoggedIn": { + "message": "நீங்கள் உள்நுழைந்துள்ளீர்கள்!" + }, + "youSuccessfullyLoggedIn": { + "message": "நீங்கள் வெற்றிகரமாக உள்நுழைந்துள்ளீர்கள்" + }, + "youMayCloseThisWindow": { + "message": "நீங்கள் இந்த சாளரத்தை மூடலாம்" + }, + "masterPassSent": { + "message": "உங்கள் முதன்மை கடவுச்சொல் குறிப்புடன் ஒரு மின்னஞ்சலை நாங்கள் உங்களுக்கு அனுப்பி உள்ளோம்." + }, + "verificationCodeRequired": { + "message": "சரிபார்ப்புக் குறியீடு அவசியம்." + }, + "webauthnCancelOrTimeout": { + "message": "அங்கீகாரம் ரத்து செய்யப்பட்டது அல்லது அதிக நேரம் எடுத்தது. மீண்டும் முயற்சிக்கவும்." + }, + "invalidVerificationCode": { + "message": "தவறான சரிபார்ப்புக் குறியீடு" + }, + "valueCopied": { + "message": "$VALUE$ நகலெடுக்கப்பட்டது", + "description": "Value has been copied to the clipboard.", + "placeholders": { + "value": { + "content": "$1", + "example": "Password" + } + } + }, + "autofillError": { + "message": "இந்த பக்கத்தில் தேர்ந்தெடுக்கப்பட்ட உருப்படியை தானாக நிரப்ப முடியவில்லை. அதற்குப் பதிலாக தகவலை நகலெடுத்து ஒட்டவும்." + }, + "totpCaptureError": { + "message": "தற்போதைய வலைப்பக்கத்திலிருந்து QR குறியீட்டை ஸ்கேன் செய்ய முடியவில்லை" + }, + "totpCaptureSuccess": { + "message": "அங்கீகரிப்பு விசை சேர்க்கப்பட்டது" + }, + "totpCapture": { + "message": "தற்போதைய வலைப்பக்கத்திலிருந்து அங்கீகரிப்பு QR குறியீட்டை ஸ்கேன் செய்யவும்" + }, + "totpHelperTitle": { + "message": "2-படி சரிபார்ப்பை தடையற்றதாக்கு" + }, + "totpHelper": { + "message": "Bitwarden 2-படி சரிபார்ப்புக் குறியீடுகளை சேமித்து நிரப்ப முடியும். விசையை இந்த புலத்தில் நகலெடுத்து ஒட்டவும்." + }, + "totpHelperWithCapture": { + "message": "Bitwarden 2-படி சரிபார்ப்புக் குறியீடுகளை சேமித்து நிரப்ப முடியும். இந்த வலைத்தளத்தின் அங்கீகரிப்பு QR குறியீட்டின் ஸ்கிரீன்ஷாட்டை எடுக்க கேமரா ஐகானைத் தேர்ந்தெடுக்கவும், அல்லது விசையை இந்த புலத்தில் நகலெடுத்து ஒட்டவும்." + }, + "learnMoreAboutAuthenticators": { + "message": "அங்கீகரிப்பாளர்கள் பற்றி மேலும் அறிக" + }, + "copyTOTP": { + "message": "அங்கீகரிப்பு விசையை நகலெடு (TOTP)" + }, + "loggedOut": { + "message": "வெளியேறிவிட்டது" + }, + "loggedOutDesc": { + "message": "உங்கள் கணக்கிலிருந்து நீங்கள் வெளியேறிவிட்டீர்கள்." + }, + "loginExpired": { + "message": "உங்கள் உள்நுழைவு அமர்வு காலாவதியாகிவிட்டது." + }, + "logIn": { + "message": "உள்நுழை" + }, + "logInToBitwarden": { + "message": "Bitwarden-இல் உள்நுழை" + }, + "enterTheCodeSentToYourEmail": { + "message": "உங்கள் மின்னஞ்சலுக்கு அனுப்பப்பட்ட குறியீட்டை உள்ளிடவும்" + }, + "enterTheCodeFromYourAuthenticatorApp": { + "message": "உங்கள் அங்கீகரிப்பு பயன்பாட்டிலிருந்து குறியீட்டை உள்ளிடவும்" + }, + "pressYourYubiKeyToAuthenticate": { + "message": "அங்கீகரிக்க உங்கள் YubiKey-ஐ அழுத்தவும்" + }, + "duoTwoFactorRequiredPageSubtitle": { + "message": "உங்கள் கணக்கிற்கு Duo இரண்டு-படி உள்நுழைவு அவசியம். உள்நுழைவதை முடிக்க கீழே உள்ள படிகளைப் பின்பற்றவும்." + }, + "followTheStepsBelowToFinishLoggingIn": { + "message": "உள்நுழைவதை முடிக்க கீழே உள்ள படிகளைப் பின்பற்றவும்." + }, + "followTheStepsBelowToFinishLoggingInWithSecurityKey": { + "message": "உங்கள் பாதுகாப்பு விசையுடன் உள்நுழைவதை முடிக்க கீழே உள்ள படிகளைப் பின்பற்றவும்." + }, + "restartRegistration": { + "message": "பதிவை மறுதொடக்கம் செய்" + }, + "expiredLink": { + "message": "காலாவதியான இணைப்பு" + }, + "pleaseRestartRegistrationOrTryLoggingIn": { + "message": "தயவுசெய்து பதிவை மறுதொடக்கம் செய்யவும் அல்லது உள்நுழைய முயற்சிக்கவும்." + }, + "youMayAlreadyHaveAnAccount": { + "message": "உங்களுக்கு ஏற்கனவே ஒரு கணக்கு இருக்கலாம்" + }, + "logOutConfirmation": { + "message": "நீங்கள் வெளியேற விரும்புகிறீர்களா?" + }, + "yes": { + "message": "ஆம்" + }, + "no": { + "message": "இல்லை" + }, + "location": { + "message": "இருப்பிடம்" + }, + "unexpectedError": { + "message": "எதிர்பாராத பிழை ஏற்பட்டது." + }, + "nameRequired": { + "message": "பெயர் அவசியம்." + }, + "addedFolder": { + "message": "கோப்புறை சேர்க்கப்பட்டது" + }, + "twoStepLoginConfirmation": { + "message": "இரண்டு-படி உள்நுழைவு உங்கள் உள்நுழைவை ஒரு பாதுகாப்பு விசை, அங்கீகரிப்பு பயன்பாடு, SMS, தொலைபேசி அழைப்பு அல்லது மின்னஞ்சல் போன்ற மற்றொரு சாதனத்துடன் சரிபார்க்கும்படி செய்வதன் மூலம் உங்கள் கணக்கை மேலும் பாதுகாப்பானதாக்குகிறது. இரண்டு-படி உள்நுழைவை bitwarden.com வலை வால்ட்டில் அமைக்கலாம். இப்போது வலைத்தளத்தைப் பார்வையிட விரும்புகிறீர்களா?" + }, + "twoStepLoginConfirmationContent": { + "message": "Bitwarden வலை பயன்பாட்டில் இரண்டு-படி உள்நுழைவை அமைப்பதன் மூலம் உங்கள் கணக்கை மேலும் பாதுகாப்பானதாக்குங்கள்." + }, + "twoStepLoginConfirmationTitle": { + "message": "வலை பயன்பாட்டிற்கு தொடரவா?" + }, + "editedFolder": { + "message": "கோப்புறை சேமிக்கப்பட்டது" + }, + "deleteFolderConfirmation": { + "message": "இந்த கோப்புறையை நீக்க விரும்புகிறீர்களா?" + }, + "deletedFolder": { + "message": "கோப்புறை நீக்கப்பட்டது" + }, + "gettingStartedTutorial": { + "message": "தொடங்குவதற்கான வழிகாட்டி" + }, + "gettingStartedTutorialVideo": { + "message": "உலாவி நீட்டிப்பிலிருந்து அதிகபட்ச பயனை எவ்வாறு பெறுவது என்பதை அறிய, எங்கள் தொடங்குவதற்கான வழிகாட்டியைப் பார்க்கவும்." + }, + "syncingComplete": { + "message": "ஒத்திசைவு முடிந்தது" + }, + "syncingFailed": { + "message": "ஒத்திசைவு தோல்வியடைந்தது" + }, + "passwordCopied": { + "message": "கடவுச்சொல் நகலெடுக்கப்பட்டது" + }, + "uri": { + "message": "URI" + }, + "uriPosition": { + "message": "URI $POSITION$", + "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", + "placeholders": { + "position": { + "content": "$1", + "example": "2" + } + } + }, + "newUri": { + "message": "புதிய URI" + }, + "addDomain": { + "message": "டொமைனைச் சேர்", + "description": "'Domain' here refers to an internet domain name (e.g. 'bitwarden.com') and the message in whole described the act of putting a domain value into the context." + }, + "addedItem": { + "message": "உருப்படி சேர்க்கப்பட்டது" + }, + "editedItem": { + "message": "உருப்படி சேமிக்கப்பட்டது" + }, + "deleteItemConfirmation": { + "message": "நீங்கள் உண்மையிலேயே குப்பைக்கு அனுப்ப விரும்புகிறீர்களா?" + }, + "deletedItem": { + "message": "உருப்படி குப்பைக்கு அனுப்பப்பட்டது" + }, + "overwritePassword": { + "message": "கடவுச்சொல்லை மேலெழுது" + }, + "overwritePasswordConfirmation": { + "message": "தற்போதைய கடவுச்சொல்லை மேலெழுத விரும்புகிறீர்களா?" + }, + "overwriteUsername": { + "message": "பயனர்பெயரை மேலெழுது" + }, + "overwriteUsernameConfirmation": { + "message": "தற்போதைய பயனர்பெயரை மேலெழுது விரும்புகிறீர்களா?" + }, + "searchFolder": { + "message": "கோப்புறையைத் தேடு" + }, + "searchCollection": { + "message": "சேகரிப்பைத் தேடு" + }, + "searchType": { + "message": "தேடல் வகை" + }, + "noneFolder": { + "message": "கோப்புறை இல்லை", + "description": "This is the folder for uncategorized items" + }, + "enableAddLoginNotification": { + "message": "உள்நுழைவைச் சேர்க்க கேட்கவும்" + }, + "vaultSaveOptionsTitle": { + "message": "வால்ட்டில் சேமிக்கும் விருப்பத்தேர்வுகள்" + }, + "addLoginNotificationDesc": { + "message": "உங்கள் வால்ட்டில் ஒரு உருப்படி காணப்படவில்லை என்றால், அதைச் சேர்க்க கேட்கவும்." + }, + "addLoginNotificationDescAlt": { + "message": "உங்கள் வால்ட்டில் ஒரு உருப்படி காணப்படவில்லை என்றால், அதைச் சேர்க்க கேட்கவும். அனைத்து உள்நுழைந்த கணக்குகளுக்கும் பொருந்தும்." + }, + "showCardsInVaultViewV2": { + "message": "வால்ட் பார்வையில் தானாக நிரப்பும் பரிந்துரைகளாக எப்போதும் அட்டைகளைக் காட்டு" + }, + "showCardsCurrentTab": { + "message": "தாவல் பக்கத்தில் அட்டைகளைக் காட்டு" + }, + "showCardsCurrentTabDesc": { + "message": "எளிதான தானாக நிரப்புதலுக்காக தாவல் பக்கத்தில் அட்டை உருப்படிகளைப் பட்டியலிடு." + }, + "showIdentitiesInVaultViewV2": { + "message": "வால்ட் பார்வையில் தானாக நிரப்பும் பரிந்துரைகளாக எப்போதும் அடையாளங்களைக் காட்டு" + }, + "showIdentitiesCurrentTab": { + "message": "தாவல் பக்கத்தில் அடையாளங்களைக் காட்டு" + }, + "showIdentitiesCurrentTabDesc": { + "message": "எளிதான தானாக நிரப்புதலுக்காக தாவல் பக்கத்தில் அடையாள உருப்படிகளைப் பட்டியலிடு." + }, + "clickToAutofillOnVault": { + "message": "வால்ட் பார்வையில் உருப்படிகளை தானாக நிரப்ப கிளிக் செய்யவும்" + }, + "clickToAutofill": { + "message": "தானாக நிரப்பும் பரிந்துரையில் உருப்படிகளை நிரப்ப கிளிக் செய்யவும்" + }, + "clearClipboard": { + "message": "கிளிப்போர்டை அழி", + "description": "Clipboard is the operating system thing where you copy/paste data to on your device." + }, + "clearClipboardDesc": { + "message": "உங்கள் கிளிப்போர்டிலிருந்து நகலெடுக்கப்பட்ட மதிப்புகளை தானாகவே அழிக்கவும்.", + "description": "Clipboard is the operating system thing where you copy/paste data to on your device." + }, + "notificationAddDesc": { + "message": "இந்த கடவுச்சொல்லை Bitwarden உங்களுக்காக நினைவில் வைத்திருக்க வேண்டுமா?" + }, + "notificationAddSave": { + "message": "சேமி" + }, + "notificationViewAria": { + "message": "$ITEMNAME$ ஐப் பார்க்கவும், புதிய சாளரத்தில் திறக்கும்", + "placeholders": { + "itemName": { + "content": "$1" + } + }, + "description": "Aria label for the view button in notification bar confirmation message" + }, + "notificationNewItemAria": { + "message": "புதிய உருப்படி, புதிய சாளரத்தில் திறக்கும்", + "description": "Aria label for the new item button in notification bar confirmation message when error is prompted" + }, + "notificationEditTooltip": { + "message": "சேமிக்கும் முன் திருத்து", + "description": "Tooltip and Aria label for edit button on cipher item" + }, + "newNotification": { + "message": "புதிய அறிவிப்பு" + }, + "labelWithNotification": { + "message": "$LABEL$: புதிய அறிவிப்பு", + "description": "Label for the notification with a new login suggestion.", + "placeholders": { + "label": { + "content": "$1", + "example": "Login" + } + } + }, + "notificationLoginSaveConfirmation": { + "message": "Bitwarden இல் சேமிக்கப்பட்டது.", + "description": "Shown to user after item is saved." + }, + "notificationLoginUpdatedConfirmation": { + "message": "Bitwarden-இல் புதுப்பிக்கப்பட்டது.", + "description": "Shown to user after item is updated." + }, + "selectItemAriaLabel": { + "message": "$ITEMTYPE$ஐத் தேர்ந்தெடுக்கவும், $ITEMNAME$", + "description": "Used by screen readers. $1 is the item type (like vault or folder), $2 is the selected item name.", + "placeholders": { + "itemType": { + "content": "$1" + }, + "itemName": { + "content": "$2" + } + } + }, + "saveAsNewLoginAction": { + "message": "புதிய உள்நுழைவாக சேமி", + "description": "Button text for saving login details as a new entry." + }, + "updateLoginAction": { + "message": "உள்நுழைவை புதுப்பி", + "description": "Button text for updating an existing login entry." + }, + "unlockToSave": { + "message": "இந்த உள்நுழைவை சேமிக்க திறக்கவும்", + "description": "User prompt to take action in order to save the login they just entered." + }, + "saveLogin": { + "message": "உள்நுழைவை சேமி", + "description": "Prompt asking the user if they want to save their login details." + }, + "updateLogin": { + "message": "தற்போதுள்ள உள்நுழைவை புதுப்பி", + "description": "Prompt asking the user if they want to update an existing login entry." + }, + "loginSaveSuccess": { + "message": "உள்நுழைவு சேமிக்கப்பட்டது", + "description": "Message displayed when login details are successfully saved." + }, + "loginUpdateSuccess": { + "message": "உள்நுழைவு புதுப்பிக்கப்பட்டது", + "description": "Message displayed when login details are successfully updated." + }, + "loginUpdateTaskSuccess": { + "message": "சிறப்பான வேலை! உங்களையும் $ORGANIZATION$-ஐயும் மேலும் பாதுகாப்பானதாக்க நீங்கள் நடவடிக்கைகளை எடுத்துள்ளீர்கள்.", + "placeholders": { + "organization": { + "content": "$1" + } + }, + "description": "Shown to user after login is updated." + }, + "loginUpdateTaskSuccessAdditional": { + "message": "$ORGANIZATION$-ஐ மேலும் பாதுகாப்பானதாக்கியதற்கு நன்றி. புதுப்பிக்க உங்களுக்கு இன்னும் $TASK_COUNT$ கடவுச்சொற்கள் உள்ளன.", + "placeholders": { + "organization": { + "content": "$1" + }, + "task_count": { + "content": "$2" + } + }, + "description": "Shown to user after login is updated." + }, + "nextSecurityTaskAction": { + "message": "அடுத்த கடவுச்சொல்லை மாற்றவும்", + "description": "Message prompting user to undertake completion of another security task." + }, + "saveFailure": { + "message": "சேமிப்பதில் பிழை", + "description": "Error message shown when the system fails to save login details." + }, + "saveFailureDetails": { + "message": "ஐயோ! இதை எங்களால் சேமிக்க முடியவில்லை. விவரங்களை கைமுறையாக உள்ளிட முயற்சிக்கவும்.", + "description": "Detailed error message shown when saving login details fails." + }, + "changePasswordWarning": { + "message": "உங்கள் கடவுச்சொல்லை மாற்றிய பிறகு, உங்கள் புதிய கடவுச்சொல்லுடன் உள்நுழைய வேண்டும். மற்ற சாதனங்களில் உள்ள செயலில் உள்ள அமர்வுகள் ஒரு மணி நேரத்திற்குள் வெளியேறிவிடும்." + }, + "accountRecoveryUpdateMasterPasswordSubtitle": { + "message": "கணக்கு மீட்டெடுப்பை முடிக்க உங்கள் முதன்மை கடவுச்சொல்லை மாற்றவும்." + }, + "enableChangedPasswordNotification": { + "message": "தற்போதுள்ள உள்நுழைவை புதுப்பிக்க கேட்கவும்" + }, + "changedPasswordNotificationDesc": { + "message": "ஒரு வலைத்தளத்தில் ஒரு மாற்றம் கண்டறியப்படும்போது ஒரு உள்நுழைவின் கடவுச்சொல்லை புதுப்பிக்க கேட்கவும்." + }, + "changedPasswordNotificationDescAlt": { + "message": "ஒரு வலைத்தளத்தில் ஒரு மாற்றம் கண்டறியப்படும்போது ஒரு உள்நுழைவின் கடவுச்சொல்லை புதுப்பிக்க கேட்கவும். அனைத்து உள்நுழைந்த கணக்குகளுக்கும் பொருந்தும்." + }, + "enableUsePasskeys": { + "message": "பாஸ்கீகளை சேமிக்கவும் பயன்படுத்தவும் கேட்கவும்" + }, + "usePasskeysDesc": { + "message": "புதிய பாஸ்கீகளை சேமிக்க அல்லது உங்கள் வால்ட்டில் சேமிக்கப்பட்ட பாஸ்கீகளைப் பயன்படுத்தி உள்நுழைய கேட்கவும். அனைத்து உள்நுழைந்த கணக்குகளுக்கும் பொருந்தும்." + }, + "notificationChangeDesc": { + "message": "இந்த கடவுச்சொல்லை Bitwarden-இல் புதுப்பிக்க விரும்புகிறீர்களா?" + }, + "notificationChangeSave": { + "message": "புதுப்பி" + }, + "notificationUnlockDesc": { + "message": "தானாக நிரப்பும் கோரிக்கையை முடிக்க உங்கள் Bitwarden வால்ட்டைத் திறக்கவும்." + }, + "notificationUnlock": { + "message": "திற" + }, + "additionalOptions": { + "message": "கூடுதல் விருப்பத்தேர்வுகள்" + }, + "enableContextMenuItem": { + "message": "சூழல் மெனு விருப்பத்தேர்வுகளைக் காட்டு" + }, + "contextMenuItemDesc": { + "message": "வலைத்தளத்திற்கான கடவுச்சொல் உருவாக்கம் மற்றும் பொருந்தும் உள்நுழைவுகளை அணுக ஒரு இரண்டாம் கிளிக் பயன்படுத்தவும்." + }, + "contextMenuItemDescAlt": { + "message": "வலைத்தளத்திற்கான கடவுச்சொல் உருவாக்கம் மற்றும் பொருந்தும் உள்நுழைவுகளை அணுக ஒரு இரண்டாம் கிளிக் பயன்படுத்தவும். அனைத்து உள்நுழைந்த கணக்குகளுக்கும் பொருந்தும்." + }, + "defaultUriMatchDetection": { + "message": "இயல்புநிலை URI பொருத்தம் கண்டறிதல்", + "description": "Default URI match detection for autofill." + }, + "defaultUriMatchDetectionDesc": { + "message": "தானாக நிரப்புதல் போன்ற செயல்களைச் செய்யும்போது உள்நுழைவுகளுக்கான URI பொருத்தம் கண்டறிதல் கையாளப்படும் இயல்புநிலை வழியைத் தேர்ந்தெடுக்கவும்." + }, + "theme": { + "message": "தீம்" + }, + "themeDesc": { + "message": "பயன்பாட்டின் வண்ண தீமை மாற்றவும்." + }, + "themeDescAlt": { + "message": "பயன்பாட்டின் வண்ண தீமை மாற்றவும். அனைத்து உள்நுழைந்த கணக்குகளுக்கும் பொருந்தும்." + }, + "dark": { + "message": "டார்க்", + "description": "Dark color" + }, + "light": { + "message": "லைட்", + "description": "Light color" + }, + "exportFrom": { + "message": "இதிலிருந்து ஏற்றுமதிசெய்" + }, + "exportVault": { + "message": "வால்ட்டை ஏற்றுமதிசெய்" + }, + "fileFormat": { + "message": "கோப்பு வடிவம்" + }, + "fileEncryptedExportWarningDesc": { + "message": "இந்த கோப்பு ஏற்றுமதி கடவுச்சொல் பாதுகாக்கப்பட்டதாக இருக்கும் மற்றும் அதைத் திறக்க கோப்பு கடவுச்சொல் தேவைப்படும்." + }, + "filePassword": { + "message": "கோப்பு கடவுச்சொல்" + }, + "exportPasswordDescription": { + "message": "இந்த கடவுச்சொல், இந்தக் கோப்பை ஏற்றுமதி செய்வதற்கும் இறக்குமதி செய்வதற்கும் பயன்படுத்தப்படும்" + }, + "accountRestrictedOptionDescription": { + "message": "ஏற்றுமதியை என்க்ரிப்ட் செய்யவும், தற்போதைய Bitwarden கணக்கிற்கு மட்டுமே இறக்குமதி செய்வதைக் கட்டுப்படுத்தவும் உங்கள் கணக்கின் பயனர்பெயர் மற்றும் முதன்மைக் கடவுச்சொல்லிலிருந்து பெறப்பட்ட உங்கள் கணக்கின் என்க்ரிப்ஷன் கீயை பயன்படுத்தவும்." + }, + "passwordProtectedOptionDescription": { + "message": "ஏற்றுமதியை என்க்ரிப்ட் செய்ய ஒரு கோப்பு கடவுச்சொல்லை அமைத்து, அதை டீக்ரிப்ட் செய்ய கடவுச்சொல்லைப் பயன்படுத்தி, அதை எந்த Bitwarden கணக்கிற்கும் இறக்குமதி செய்யவும்." + }, + "exportTypeHeading": { + "message": "ஏற்றுமதி வகை" + }, + "accountRestricted": { + "message": "கணக்கு கட்டுப்படுத்தப்பட்டது" + }, + "filePasswordAndConfirmFilePasswordDoNotMatch": { + "message": "“கோப்பு கடவுச்சொல்” மற்றும் “கோப்பு கடவுச்சொல்லை உறுதிப்படுத்து“ ஆகியவை பொருந்தவில்லை." + }, + "warning": { + "message": "எச்சரிக்கை", + "description": "WARNING (should stay in capitalized letters if the language permits)" + }, + "warningCapitalized": { + "message": "எச்சரிக்கை", + "description": "Warning (should maintain locale-relevant capitalization)" + }, + "confirmVaultExport": { + "message": "வால்ட் ஏற்றுமதியை உறுதிப்படுத்துக" + }, + "exportWarningDesc": { + "message": "இந்த ஏற்றுமதியில், உங்கள் வால்ட் டேட்டா என்க்ரிப்ட் செய்யப்படாத வடிவத்தில் உள்ளது. ஏற்றுமதி செய்யப்பட்ட கோப்பை பாதுகாப்பற்ற சேனல்கள் (மின்னஞ்சல் போன்றவை) வழியாக சேமிக்கவோ அல்லது அனுப்பவோ கூடாது. அதைப் பயன்படுத்தி முடித்தவுடன் உடனடியாக அதை நீக்கிவிடவும்." + }, + "encExportKeyWarningDesc": { + "message": "இந்த ஏற்றுமதி உங்கள் கணக்கின் என்க்ரிப்ஷன் கீயைப் பயன்படுத்தி உங்கள் டேட்டாவை என்க்ரிப்ட் செய்கிறது. உங்கள் கணக்கின் என்க்ரிப்ஷன் கீயை நீங்கள் மாற்றினால், நீங்கள் மீண்டும் ஏற்றுமதி செய்ய வேண்டும், ஏனெனில் உங்களால் இந்த ஏற்றுமதி கோப்பை டீக்ரிப்ட் செய்ய முடியாது." + }, + "encExportAccountWarningDesc": { + "message": "கணக்கு என்க்ரிப்ஷன் கீகள் ஒவ்வொரு Bitwarden பயனர் கணக்கிற்கும் தனித்துவமானது, எனவே என்க்ரிப்ட் செய்யப்பட்ட ஏற்றுமதியை வேறொரு கணக்கில் இறக்குமதி செய்ய முடியாது." + }, + "exportMasterPassword": { + "message": "உங்கள் வால்ட் டேட்டாவை ஏற்றுமதி செய்ய உங்கள் முதன்மைக் கடவுச்சொல்லை உள்ளிடவும்." + }, + "shared": { + "message": "பகிரப்பட்டது" + }, + "bitwardenForBusinessPageDesc": { + "message": "Bitwarden for Business ஒரு அமைப்பைப் பயன்படுத்தி மற்றவர்களுடன் உங்கள் வால்ட் பொருட்களைப் பகிர உங்களை அனுமதிக்கிறது. bitwarden.com வலைத்தளத்தில் மேலும் அறிக." + }, + "moveToOrganization": { + "message": "அமைப்புக்கு நகர்த்து" + }, + "movedItemToOrg": { + "message": "$ITEMNAME$ $ORGNAME$-க்கு நகர்த்தப்பட்டது", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret Item" + }, + "orgname": { + "content": "$2", + "example": "Company Name" + } + } + }, + "moveToOrgDesc": { + "message": "இந்த பொருளை எந்த அமைப்புக்கு நகர்த்த விரும்புகிறீர்கள் என்பதைத் தேர்ந்தெடுக்கவும். ஒரு அமைப்புக்கு நகர்த்துவது அந்த பொருளின் உரிமையை அந்த அமைப்புக்கு மாற்றுகிறது. அது நகர்த்தப்பட்டவுடன் நீங்கள் இனி இந்த பொருளின் நேரடி உரிமையாளராக இருக்க மாட்டீர்கள்." + }, + "learnMore": { + "message": "மேலும் அறிக" + }, + "authenticatorKeyTotp": { + "message": "அங்கீகரிப்பு விசை (TOTP)" + }, + "verificationCodeTotp": { + "message": "சரிபார்ப்புக் குறியீடு (TOTP)" + }, + "copyVerificationCode": { + "message": "சரிபார்ப்புக் குறியீட்டை நகலெடு" + }, + "attachments": { + "message": "இணைப்புகள்" + }, + "deleteAttachment": { + "message": "இணைப்பை நீக்கு" + }, + "deleteAttachmentConfirmation": { + "message": "இந்த இணைப்பை நீக்க நீங்கள் உறுதியாக உள்ளீர்களா?" + }, + "deletedAttachment": { + "message": "இணைப்பு நீக்கப்பட்டது" + }, + "newAttachment": { + "message": "புதிய இணைப்பைச் சேர்" + }, + "noAttachments": { + "message": "இணைப்புகள் இல்லை." + }, + "attachmentSaved": { + "message": "இணைப்பு சேமிக்கப்பட்டது" + }, + "file": { + "message": "கோப்பு" + }, + "fileToShare": { + "message": "பகிர வேண்டிய கோப்பு" + }, + "selectFile": { + "message": "ஒரு கோப்பைத் தேர்ந்தெடுக்கவும்" + }, + "maxFileSize": { + "message": "அதிகபட்ச கோப்பு அளவு 500 MB ஆகும்." + }, + "featureUnavailable": { + "message": "வசதி கிடைக்கவில்லை" + }, + "legacyEncryptionUnsupported": { + "message": "மரபு என்க்ரிப்ஷன் இனி ஆதரிக்கப்படாது. உங்கள் கணக்கை மீட்டெடுக்க ஆதரவைத் தொடர்பு கொள்ளவும்." + }, + "premiumMembership": { + "message": "பிரீமியம் மெம்பர்ஷிப்" + }, + "premiumManage": { + "message": "மெம்பர்ஷிப்பை நிர்வகி" + }, + "premiumManageAlert": { + "message": "bitwarden.com வலை வால்ட்டில் உங்கள் மெம்பர்ஷிப்பை நீங்கள் நிர்வகிக்கலாம். இப்போது வலைத்தளத்தைப் பார்வையிட விரும்புகிறீர்களா?" + }, + "premiumRefresh": { + "message": "மெம்பர்ஷிப்பை ரெஃப்ரெஷ் செய்" + }, + "premiumNotCurrentMember": { + "message": "நீங்கள் தற்போது பிரீமியம் மெம்பர் இல்லை." + }, + "premiumSignUpAndGet": { + "message": "ஒரு பிரீமியம் மெம்பர்ஷிப்பிற்கு சைன் அப் செய்து பெறுங்கள்:" + }, + "ppremiumSignUpStorage": { + "message": "கோப்பு இணைப்புகளுக்கு 1 GB என்க்ரிப்ட் செய்யப்பட்ட ஸ்டோரேஜ்." + }, + "premiumSignUpEmergency": { + "message": "அவசர அணுகல்." + }, + "premiumSignUpTwoStepOptions": { + "message": "YubiKey மற்றும் Duo போன்ற பிரத்யேக டூ-ஸ்டெப் உள்நுழைவு விருப்பங்கள்." + }, + "ppremiumSignUpReports": { + "message": "உங்கள் வால்ட்டைப் பாதுகாப்பாக வைத்திருக்க கடவுச்சொல் சுகாதாரம், கணக்கின் ஆரோக்கியம் மற்றும் டேட்டா மீறல் அறிக்கைகள்." + }, + "ppremiumSignUpTotp": { + "message": "உங்கள் வால்ட்டில் உள்நுழைவுகளுக்கான TOTP சரிபார்ப்புக் குறியீடு (2FA) ஜெனரேட்டர்." + }, + "ppremiumSignUpSupport": { + "message": "முன்னுரிமை வாடிக்கையாளர் ஆதரவு." + }, + "ppremiumSignUpFuture": { + "message": "எதிர்கால பிரீமியம் அம்சங்கள் அனைத்தும். மேலும் பல விரைவில் வருகிறது!" + }, + "premiumPurchase": { + "message": "பிரீமியம் வாங்கு" + }, + "premiumPurchaseAlertV2": { + "message": "Bitwarden வலை செயலியில் உங்கள் கணக்கு அமைப்புகளிலிருந்து பிரீமியம் வாங்கலாம்." + }, + "premiumCurrentMember": { + "message": "நீங்கள் ஒரு பிரீமியம் மெம்பர்!" + }, + "premiumCurrentMemberThanks": { + "message": "Bitwarden-ஐ ஆதரித்ததற்கு நன்றி." + }, + "premiumFeatures": { + "message": "பிரீமியத்திற்கு மேம்படுத்திப் பெறுங்கள்:" + }, + "premiumPrice": { + "message": "எல்லாம் வெறும் $PRICE$ /ஆண்டுக்கு!", + "placeholders": { + "price": { + "content": "$1", + "example": "$10" + } + } + }, + "premiumPriceV2": { + "message": "ஆண்டுக்கு வெறும் $PRICE$க்கு அனைத்தும்!", + "placeholders": { + "price": { + "content": "$1", + "example": "$10" + } + } + }, + "refreshComplete": { + "message": "ரெஃப்ரெஷ் நிறைவடைந்தது" + }, + "enableAutoTotpCopy": { + "message": "TOTP-ஐ தானாக நகலெடு" + }, + "disableAutoTotpCopyDesc": { + "message": "ஒரு உள்நுழைவுக்கு ஒரு அங்கீகரிப்பு விசை இருந்தால், நீங்கள் உள்நுழைவை ஆட்டோஃபில் செய்யும்போது TOTP சரிபார்ப்புக் குறியீட்டை உங்கள் கிளிப்-போர்டுக்கு நகலெடுக்கவும்." + }, + "enableAutoBiometricsPrompt": { + "message": "தொடங்கும் போது பயோமெட்ரிக்ஸைக் கேட்கவும்" + }, + "premiumRequired": { + "message": "பிரீமியம் தேவை" + }, + "premiumRequiredDesc": { + "message": "இந்த அம்சத்தைப் பயன்படுத்த ஒரு பிரீமியம் மெம்பர்ஷிப் தேவை." + }, + "authenticationTimeout": { + "message": "அங்கீகரிப்பு டைம் அவுட்" + }, + "authenticationSessionTimedOut": { + "message": "அங்கீகரிப்பு அமர்வு காலாவதியானது. தயவுசெய்து உள்நுழைவு செயல்முறையை மீண்டும் தொடங்கவும்." + }, + "verificationCodeEmailSent": { + "message": "சரிபார்ப்பு மின்னஞ்சல் $EMAIL$-க்கு அனுப்பப்பட்டது.", + "placeholders": { + "email": { + "content": "$1", + "example": "example@gmail.com" + } + } + }, + "dontAskAgainOnThisDeviceFor30Days": { + "message": "இந்த சாதனத்தில் 30 நாட்களுக்கு மீண்டும் கேட்க வேண்டாம்" + }, + "selectAnotherMethod": { + "message": "மற்றொரு முறையைத் தேர்ந்தெடுக்கவும்", + "description": "Select another two-step login method" + }, + "useYourRecoveryCode": { + "message": "உங்கள் மீட்புக் குறியீட்டைப் பயன்படுத்தவும்" + }, + "insertU2f": { + "message": "உங்கள் கணினியின் USB போர்ட்டில் உங்கள் பாதுகாப்பு விசையைச் செருகவும். அதற்கு ஒரு பட்டன் இருந்தால், அதைத் தொடவும்." + }, + "openInNewTab": { + "message": "புதிய டேப்பில் திற" + }, + "webAuthnAuthenticate": { + "message": "WebAuthn-ஐ அங்கீகரி" + }, + "readSecurityKey": { + "message": "பாதுகாப்பு விசையைப் படி" + }, + "awaitingSecurityKeyInteraction": { + "message": "பாதுகாப்பு விசை தொடர்புகொள்ளக் காத்திருக்கிறது..." + }, + "loginUnavailable": { + "message": "உள்நுழைவு கிடைக்கவில்லை" + }, + "noTwoStepProviders": { + "message": "இந்த கணக்கில் டூ-ஸ்டெப் உள்நுழைவு அமைக்கப்பட்டுள்ளது, இருப்பினும், கட்டமைக்கப்பட்ட டூ-ஸ்டெப் வழங்குநர்களில் எதுவும் இந்த வலை உலாவியால் ஆதரிக்கப்படவில்லை." + }, + "noTwoStepProviders2": { + "message": "தயவுசெய்து ஆதரிக்கப்பட்ட வலை உலாவியை (Chrome போன்றது) பயன்படுத்தவும் மற்றும்/அல்லது வலை உலாவிகளில் சிறந்த முறையில் ஆதரிக்கப்படும் கூடுதல் வழங்குநர்களைச் சேர்க்கவும் (அங்கீகரிப்பு செயலி போன்றது)." + }, + "twoStepOptions": { + "message": "டூ-ஸ்டெப் உள்நுழைவு விருப்பங்கள்" + }, + "selectTwoStepLoginMethod": { + "message": "டூ-ஸ்டெப் உள்நுழைவு முறையைத் தேர்ந்தெடுக்கவும்" + }, + "recoveryCodeDesc": { + "message": "உங்கள் டூ-ஃபாக்டர் வழங்குநர்கள் அனைவருக்கும் அணுகலை இழந்தீர்களா? உங்கள் கணக்கிலிருந்து அனைத்து டூ-ஃபாக்டர் வழங்குநர்களையும் முடக்க உங்கள் மீட்புக் குறியீட்டைப் பயன்படுத்தவும்." + }, + "recoveryCodeTitle": { + "message": "மீட்புக் குறியீடு" + }, + "authenticatorAppTitle": { + "message": "அங்கீகரிப்பு செயலி" + }, + "authenticatorAppDescV2": { + "message": "Bitwarden Authenticator போன்ற அங்கீகரிப்பு செயலியால் உருவாக்கப்பட்ட குறியீட்டை உள்ளிடவும்.", + "description": "'Bitwarden Authenticator' is a product name and should not be translated." + }, + "yubiKeyTitleV2": { + "message": "Yubico OTP பாதுகாப்பு விசை" + }, + "yubiKeyDesc": { + "message": "உங்கள் கணக்கை அணுக ஒரு YubiKey-ஐப் பயன்படுத்தவும். YubiKey 4, 4 Nano, 4C, மற்றும் NEO சாதனங்களுடன் வேலை செய்கிறது." + }, + "duoDescV2": { + "message": "Duo Security-யால் உருவாக்கப்பட்ட குறியீட்டை உள்ளிடவும்.", + "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." + }, + "duoOrganizationDesc": { + "message": "Duo Mobile செயலி, SMS, ஃபோன் கால் அல்லது U2F பாதுகாப்பு விசையைப் பயன்படுத்தி உங்கள் அமைப்புக்கான Duo Security-யுடன் சரிபார்க்கவும்.", + "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." + }, + "webAuthnTitle": { + "message": "FIDO2 WebAuthn" + }, + "webAuthnDesc": { + "message": "உங்கள் கணக்கை அணுக, WebAuthn இணக்கமான எந்தவொரு பாதுகாப்பு விசையையும் பயன்படுத்தவும்." + }, + "emailTitle": { + "message": "மின்னஞ்சல்" + }, + "emailDescV2": { + "message": "உங்கள் மின்னஞ்சலுக்கு அனுப்பப்பட்ட குறியீட்டை உள்ளிடவும்." + }, + "selfHostedEnvironment": { + "message": "சுய-ஹோஸ்ட் செய்யப்பட்ட சூழல்" + }, + "selfHostedBaseUrlHint": { + "message": "உங்கள் ஆன்-ப்ரிமைஸ் ஹோஸ்ட் செய்யப்பட்ட Bitwarden இன்ஸ்டாலேஷனின் பேஸ் URL-ஐ குறிப்பிடவும். உதாரணம்: https://bitwarden.company.com" + }, + "selfHostedCustomEnvHeader": { + "message": "மேம்பட்ட கட்டமைப்பிற்காக, ஒவ்வொரு சேவையின் பேஸ் URL-ஐயும் தனித்தனியாக நீங்கள் குறிப்பிடலாம்." + }, + "selfHostedEnvFormInvalid": { + "message": "நீங்கள் பேஸ் சர்வர் URL-ஐ அல்லது குறைந்தது ஒரு தனிப்பயன் சூழலைச் சேர்க்க வேண்டும்." + }, + "customEnvironment": { + "message": "தனிப்பயன் சூழல்" + }, + "baseUrl": { + "message": "சர்வர் URL" + }, + "selfHostBaseUrl": { + "message": "சுய-ஹோஸ்ட் சர்வர் URL", + "description": "Label for field requesting a self-hosted integration service URL" + }, + "apiUrl": { + "message": "API சர்வர் URL" + }, + "webVaultUrl": { + "message": "வலை வால்ட் சர்வர் URL" + }, + "identityUrl": { + "message": "Identity சர்வர் URL" + }, + "notificationsUrl": { + "message": "அறிவிப்புகள் சர்வர் URL" + }, + "iconsUrl": { + "message": "ஐகான்ஸ் சர்வர் URL" + }, + "environmentSaved": { + "message": "சூழல் URLகள் சேமிக்கப்பட்டன" + }, + "showAutoFillMenuOnFormFields": { + "message": "படிவப் புலங்களில் ஆட்டோஃபில் மெனுவைக் காட்டு", + "description": "Represents the message for allowing the user to enable the autofill overlay" + }, + "autofillSuggestionsSectionTitle": { + "message": "ஆட்டோஃபில் பரிந்துரைகள்" + }, + "autofillSpotlightTitle": { + "message": "ஆட்டோஃபில் பரிந்துரைகளை எளிதாகக் கண்டறியவும்" + }, + "autofillSpotlightDesc": { + "message": "உங்கள் உலாவி ஆட்டோஃபில் அமைப்புகளை முடக்கவும், அதனால் அவை Bitwarden-உடன் முரண்படாது." + }, + "turnOffBrowserAutofill": { + "message": "$BROWSER$ ஆட்டோஃபில்லை முடக்கு", + "placeholders": { + "browser": { + "content": "$1", + "example": "Chrome" + } + } + }, + "turnOffAutofill": { + "message": "ஆட்டோஃபில்லை முடக்கு" + }, + "showInlineMenuLabel": { + "message": "படிவப் புலங்களில் ஆட்டோஃபில் பரிந்துரைகளைக் காட்டு" + }, + "showInlineMenuIdentitiesLabel": { + "message": "பரிந்துரைகளாக அடையாளங்களைக் காட்டு" + }, + "showInlineMenuCardsLabel": { + "message": "பரிந்துரைகளாக கார்டுகளைக் காட்டு" + }, + "showInlineMenuOnIconSelectionLabel": { + "message": "ஐகான் தேர்ந்தெடுக்கப்பட்டபோது பரிந்துரைகளைக் காட்டு" + }, + "showInlineMenuOnFormFieldsDescAlt": { + "message": "உள்நுழைந்த அனைத்து கணக்குகளுக்கும் பொருந்தும்." + }, + "turnOffBrowserBuiltInPasswordManagerSettings": { + "message": "முரண்பாடுகளைத் தவிர்க்க, உங்கள் உலாவியின் உள்ளமைக்கப்பட்ட கடவுச்சொல் மேனேஜர் அமைப்புகளை முடக்கவும்." + }, + "turnOffBrowserBuiltInPasswordManagerSettingsLink": { + "message": "உலாவி அமைப்புகளை எடிட் செய்." + }, + "autofillOverlayVisibilityOff": { + "message": "ஆஃப்", + "description": "Overlay setting select option for disabling autofill overlay" + }, + "autofillOverlayVisibilityOnFieldFocus": { + "message": "புலம் தேர்ந்தெடுக்கப்பட்டபோது (ஃபோகஸ்-இல்)", + "description": "Overlay appearance select option for showing the field on focus of the input element" + }, + "autofillOverlayVisibilityOnButtonClick": { + "message": "ஆட்டோஃபில் ஐகான் தேர்ந்தெடுக்கப்பட்டபோது", + "description": "Overlay appearance select option for showing the field on click of the overlay icon" + }, + "enableAutoFillOnPageLoadSectionTitle": { + "message": "பக்கம் லோட் ஆகும்போது ஆட்டோஃபில்" + }, + "enableAutoFillOnPageLoad": { + "message": "பக்கம் லோட் ஆகும்போது ஆட்டோஃபில்" + }, + "enableAutoFillOnPageLoadDesc": { + "message": "ஒரு உள்நுழைவுப் படிவம் கண்டறியப்பட்டால், வலைப் பக்கம் லோட் ஆகும்போது ஆட்டோஃபில் செய்யவும்." + }, + "experimentalFeature": { + "message": "பாதிக்கப்பட்ட அல்லது நம்பத்தகாத வலைத்தளங்கள் பக்கம் லோட் ஆகும்போது ஆட்டோஃபில்லை பயன்படுத்திக் கொள்ள முடியும்." + }, + "learnMoreAboutAutofillOnPageLoadLinkText": { + "message": "ஆபத்துகளைப் பற்றி மேலும் அறிக" + }, + "learnMoreAboutAutofill": { + "message": "ஆட்டோஃபில் பற்றி மேலும் அறிக" + }, + "defaultAutoFillOnPageLoad": { + "message": "உள்நுழைவு பொருட்களுக்கான டிஃபால்ட் ஆட்டோஃபில் அமைப்பு" + }, + "defaultAutoFillOnPageLoadDesc": { + "message": "உள்நுழைவு பொருட்களுக்கான டிஃபால்ட் ஆட்டோஃபில் அமைப்பை ஐட்டம்-இன் எடிட் வியூவிலிருந்து பக்க லோட்-இல் முடக்கலாம்." + }, + "itemAutoFillOnPageLoad": { + "message": "பக்கம் லோட் ஆகும்போது ஆட்டோஃபில் (விருப்பங்களில் அமைக்கப்பட்டிருந்தால்)" + }, + "autoFillOnPageLoadUseDefault": { + "message": "டிஃபால்ட் அமைப்பைப் பயன்படுத்து" + }, + "autoFillOnPageLoadYes": { + "message": "பக்கம் லோட் ஆகும்போது ஆட்டோஃபில்" + }, + "autoFillOnPageLoadNo": { + "message": "பக்கம் லோட் ஆகும்போது ஆட்டோஃபில் செய்ய வேண்டாம்" + }, + "commandOpenPopup": { + "message": "வால்ட் பாப்-அப்பைத் திற" + }, + "commandOpenSidebar": { + "message": "சைட்பாரில் வால்ட்டைத் திற" + }, + "commandAutofillLoginDesc": { + "message": "தற்போதைய வலைத்தளத்திற்கான கடைசியாகப் பயன்படுத்தப்பட்ட உள்நுழைவை ஆட்டோஃபில் செய்யவும்" + }, + "commandAutofillCardDesc": { + "message": "தற்போதைய வலைத்தளத்திற்கான கடைசியாகப் பயன்படுத்தப்பட்ட கார்டை ஆட்டோஃபில் செய்யவும்" + }, + "commandAutofillIdentityDesc": { + "message": "தற்போதைய வலைத்தளத்திற்கான கடைசியாகப் பயன்படுத்தப்பட்ட அடையாளத்தை ஆட்டோஃபில் செய்யவும்" + }, + "commandGeneratePasswordDesc": { + "message": "புதிய சீரற்ற கடவுச்சொல்லை உருவாக்கி கிளிப்போர்டுக்கு நகலெடுக்கவும்" + }, + "commandLockVaultDesc": { + "message": "வால்ட்டை லாக் செய்" + }, + "customFields": { + "message": "தனிப்பயன் புலங்கள்" + }, + "copyValue": { + "message": "மதிப்பை நகலெடு" + }, + "value": { + "message": "மதிப்பு" + }, + "newCustomField": { + "message": "புதிய தனிப்பயன் புலம்" + }, + "dragToSort": { + "message": "வரிசைப்படுத்த இழு" + }, + "dragToReorder": { + "message": "மீண்டும் வரிசைப்படுத்த இழுக்கவும்" + }, + "cfTypeText": { + "message": "உரை" + }, + "cfTypeHidden": { + "message": "மறைக்கப்பட்டது" + }, + "cfTypeBoolean": { + "message": "பூலியன்" + }, + "cfTypeCheckbox": { + "message": "பெட்டி" + }, + "cfTypeLinked": { + "message": "இணைக்கப்பட்டது", + "description": "This describes a field that is 'linked' (tied) to another field." + }, + "linkedValue": { + "message": "இணைக்கப்பட்ட மதிப்பு", + "description": "This describes a value that is 'linked' (tied) to another value." + }, + "popup2faCloseMessage": { + "message": "உங்கள் சரிபார்ப்புக் குறியீட்டிற்கான உங்கள் மின்னஞ்சலைச் சரிபார்க்க, பாப்அப் சாளரத்திற்கு வெளியே கிளிக் செய்வதால், இந்த பாப்அப் மூடப்படும். இந்த பாப்அப் மூடாமல் இருக்க, புதிய சாளரத்தில் திறக்க விரும்புகிறீர்களா?" + }, + "popupU2fCloseMessage": { + "message": "இந்த உலாவி இந்தப் பாப்அப் சாளரத்தில் U2F கோரிக்கைகளை செயலாக்க முடியாது. U2F ஐப் பயன்படுத்தி உள்நுழைய, இந்த பாப்அப்பை புதிய சாளரத்தில் திறக்க விரும்புகிறீர்களா?" + }, + "enableFavicon": { + "message": "வலைத்தள ஐகான்களைக் காட்டு" + }, + "faviconDesc": { + "message": "ஒவ்வொரு உள்நுழைவுக்கும் அருகில் அடையாளம் காணக்கூடிய படத்தைக் காட்டு." + }, + "faviconDescAlt": { + "message": "ஒவ்வொரு உள்நுழைவுக்கும் அருகில் அடையாளம் காணக்கூடிய படத்தைக் காட்டு. உள்நுழைந்துள்ள அனைத்து கணக்குகளுக்கும் பொருந்தும்." + }, + "enableBadgeCounter": { + "message": "பேட்ஜ் கவுண்டரைக் காட்டு" + }, + "badgeCounterDesc": { + "message": "தற்போதைய இணையப் பக்கத்தில் உங்களிடம் உள்ள உள்நுழைவுகளின் எண்ணிக்கையைக் குறிக்கவும்." + }, + "cardholderName": { + "message": "அட்டைதாரர் பெயர்" + }, + "number": { + "message": "எண்" + }, + "brand": { + "message": "பிராண்ட்" + }, + "expirationMonth": { + "message": "காலாவதி மாதம்" + }, + "expirationYear": { + "message": "காலாவதி ஆண்டு" + }, + "expiration": { + "message": "காலாவதி" + }, + "january": { + "message": "ஜனவரி" + }, + "february": { + "message": "பிப்ரவரி" + }, + "march": { + "message": "மார்ச்" + }, + "april": { + "message": "ஏப்ரல்" + }, + "may": { + "message": "மே" + }, + "june": { + "message": "ஜூன்" + }, + "july": { + "message": "ஜூலை" + }, + "august": { + "message": "ஆகஸ்ட்" + }, + "september": { + "message": "செப்டம்பர்" + }, + "october": { + "message": "அக்டோபர்" + }, + "november": { + "message": "நவம்பர்" + }, + "december": { + "message": "டிசம்பர்" + }, + "securityCode": { + "message": "பாதுகாப்புக் குறியீடு" + }, + "cardNumber": { + "message": "அட்டை எண்" + }, + "ex": { + "message": "உதா." + }, + "title": { + "message": "பதவி" + }, + "mr": { + "message": "திரு" + }, + "mrs": { + "message": "திருமதி" + }, + "ms": { + "message": "Ms" + }, + "dr": { + "message": "டாக்டர்" + }, + "mx": { + "message": "Mx" + }, + "firstName": { + "message": "முதல் பெயர்" + }, + "middleName": { + "message": "நடுப் பெயர்" + }, + "lastName": { + "message": "கடைசி பெயர்" + }, + "fullName": { + "message": "முழுப் பெயர்" + }, + "identityName": { + "message": "அடையாளப் பெயர்" + }, + "company": { + "message": "நிறுவனம்" + }, + "ssn": { + "message": "சமூக பாதுகாப்பு எண்" + }, + "passportNumber": { + "message": "கடவுச்சீட்டு எண்" + }, + "licenseNumber": { + "message": "உரிமம் எண்" + }, + "email": { + "message": "மின்னஞ்சல்" + }, + "phone": { + "message": "தொலைபேசி" + }, + "address": { + "message": "முகவரி" + }, + "address1": { + "message": "முகவரி 1" + }, + "address2": { + "message": "முகவரி 2" + }, + "address3": { + "message": "முகவரி 3" + }, + "cityTown": { + "message": "நகரம் / ஊர்" + }, + "stateProvince": { + "message": "மாநிலம் / மாகாணம்" + }, + "zipPostalCode": { + "message": "ஜிப் / அஞ்சல் குறியீடு" + }, + "country": { + "message": "நாடு" + }, + "type": { + "message": "வகை" + }, + "typeLogin": { + "message": "உள்நுழை" + }, + "typeLogins": { + "message": "உள்நுழைவுகள்" + }, + "typeSecureNote": { + "message": "பாதுகாப்பான குறிப்பு" + }, + "typeCard": { + "message": "அட்டை" + }, + "typeIdentity": { + "message": "அடையாளம்" + }, + "typeSshKey": { + "message": "SSH விசை" + }, + "typeNote": { + "message": "குறிப்பு" + }, + "newItemHeader": { + "message": "புதிய $TYPE$", + "placeholders": { + "type": { + "content": "$1", + "example": "Login" + } + } + }, + "editItemHeader": { + "message": "திருத்து $TYPE$", + "placeholders": { + "type": { + "content": "$1", + "example": "Login" + } + } + }, + "viewItemHeader": { + "message": "பார்வை $TYPE$", + "placeholders": { + "type": { + "content": "$1", + "example": "Login" + } + } + }, + "passwordHistory": { + "message": "கடவுச்சொல் வரலாறு" + }, + "generatorHistory": { + "message": "ஜெனரேட்டர் வரலாறு" + }, + "clearGeneratorHistoryTitle": { + "message": "ஜெனரேட்டர் வரலாற்றை அழி" + }, + "cleargGeneratorHistoryDescription": { + "message": "நீங்கள் தொடர்ந்தால், ஜெனரேட்டரின் வரலாற்றிலிருந்து அனைத்து உள்ளீடுகளும் நிரந்தரமாக நீக்கப்படும். நீங்கள் தொடர விரும்புகிறீர்களா?" + }, + "back": { + "message": "பின்" + }, + "collections": { + "message": "சேகரிப்புகள்" + }, + "nCollections": { + "message": "$COUNT$ சேகரிப்புகள்", + "placeholders": { + "count": { + "content": "$1", + "example": "2" + } + } + }, + "favorites": { + "message": "பிடித்தவை" + }, + "popOutNewWindow": { + "message": "புதிய சாளரத்தில் பாப்அப்" + }, + "refresh": { + "message": "மீட்டமை" + }, + "cards": { + "message": "அட்டைகள்" + }, + "identities": { + "message": "அடையாளங்கள்" + }, + "logins": { + "message": "உள்நுழைவுகள்" + }, + "secureNotes": { + "message": "பாதுகாப்பான குறிப்புகள்" + }, + "sshKeys": { + "message": "SSH விசைகள்" + }, + "clear": { + "message": "அழி", + "description": "To clear something out. example: To clear browser history." + }, + "checkPassword": { + "message": "கடவுச்சொல் வெளிப்பட்டதா எனச் சரிபார்க்கவும்." + }, + "passwordExposed": { + "message": "இந்த கடவுச்சொல் தரவு மீறல்களில் $VALUE$ முறை வெளிப்படுத்தப்பட்டுள்ளது. இதை நீங்கள் மாற்ற வேண்டும்.", + "placeholders": { + "value": { + "content": "$1", + "example": "2" + } + } + }, + "passwordSafe": { + "message": "இந்த கடவுச்சொல் அறியப்பட்ட எந்த தரவு மீறல்களிலும் காணப்படவில்லை. அதைப் பயன்படுத்துவது பாதுகாப்பானது." + }, + "baseDomain": { + "message": "அடிப்படை டொமைன்", + "description": "Domain name. Ex. website.com" + }, + "baseDomainOptionRecommended": { + "message": "அடிப்படை டொமைன் (பரிந்துரைக்கப்பட்டது)", + "description": "Domain name. Ex. website.com" + }, + "domainName": { + "message": "டொமைன் பெயர்", + "description": "Domain name. Ex. website.com" + }, + "host": { + "message": "ஹோஸ்ட்", + "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." + }, + "exact": { + "message": "சரியானது" + }, + "startsWith": { + "message": "இதனுடன் தொடங்கும்" + }, + "regEx": { + "message": "ஒழுங்குமுறை வெளிப்பாடு", + "description": "A programming term, also known as 'RegEx'." + }, + "matchDetection": { + "message": "பொருந்தும் கண்டறிதல்", + "description": "URI match detection for autofill." + }, + "defaultMatchDetection": { + "message": "இயல்புநிலை பொருத்தம் கண்டறிதல்", + "description": "Default URI match detection for autofill." + }, + "toggleOptions": { + "message": "விருப்பங்களை மாற்று" + }, + "toggleCurrentUris": { + "message": "தற்போதைய URLகளை மாற்று", + "description": "Toggle the display of the URIs of the currently open tabs in the browser." + }, + "currentUri": { + "message": "தற்போதைய URI", + "description": "The URI of one of the current open tabs in the browser." + }, + "organization": { + "message": "அமைப்பு", + "description": "An entity of multiple related people (ex. a team or business organization)." + }, + "types": { + "message": "வகைகள்" + }, + "allItems": { + "message": "அனைத்து பொருட்கள்" + }, + "noPasswordsInList": { + "message": "பட்டியலிட கடவுச்சொற்கள் இல்லை." + }, + "clearHistory": { + "message": "வரலாற்றை அழி" + }, + "nothingToShow": { + "message": "காட்ட எதுவும் இல்லை" + }, + "nothingGeneratedRecently": { + "message": "சமீபத்தில் நீங்கள் எதையும் உருவாக்கவில்லை" + }, + "remove": { + "message": "அகற்று" + }, + "default": { + "message": "இயல்புநிலை" + }, + "dateUpdated": { + "message": "புதுப்பிக்கப்பட்டது", + "description": "ex. Date this item was updated" + }, + "dateCreated": { + "message": "உருவாக்கப்பட்டது", + "description": "ex. Date this item was created" + }, + "datePasswordUpdated": { + "message": "கடவுச்சொல் புதுப்பிக்கப்பட்டது", + "description": "ex. Date this password was updated" + }, + "neverLockWarning": { + "message": "\"ஒருபோதும் இல்லை\" விருப்பத்தைப் பயன்படுத்த விரும்புகிறீர்களா? உங்கள் பூட்டு விருப்பங்களை \"ஒருபோதும் இல்லை\" என அமைப்பது உங்கள் பெட்டகத்தின் என்கிரிப்ஷன் விசையை உங்கள் சாதனத்தில் சேமிக்கிறது. இந்த விருப்பத்தைப் பயன்படுத்தினால், உங்கள் சாதனத்தை நீங்கள் சரியாகப் பாதுகாத்து வைத்திருப்பதை உறுதி செய்ய வேண்டும்." + }, + "noOrganizationsList": { + "message": "நீங்கள் எந்த அமைப்புகளையும் சேர்ந்தவர் அல்ல. அமைப்புகள் மற்ற பயனர்களுடன் பொருட்களைப் பாதுகாப்பாகப் பகிர உங்களை அனுமதிக்கின்றன." + }, + "noCollectionsInList": { + "message": "பட்டியலிட சேகரிப்புகள் இல்லை." + }, + "ownership": { + "message": "உரிமை" + }, + "whoOwnsThisItem": { + "message": "இந்த பொருளுக்கு யார் உரிமையாளர்?" + }, + "strong": { + "message": "வலுவான", + "description": "ex. A strong password. Scale: Weak -> Good -> Strong" + }, + "good": { + "message": "நல்ல", + "description": "ex. A good password. Scale: Weak -> Good -> Strong" + }, + "weak": { + "message": "பலவீனமான", + "description": "ex. A weak password. Scale: Weak -> Good -> Strong" + }, + "weakMasterPassword": { + "message": "பலவீனமான முதன்மை கடவுச்சொல்" + }, + "weakMasterPasswordDesc": { + "message": "நீங்கள் தேர்ந்தெடுத்த முதன்மை கடவுச்சொல் பலவீனமானது. உங்கள் Bitwarden கணக்கைப் பாதுகாக்க, நீங்கள் ஒரு வலுவான முதன்மை கடவுச்சொல்லை (அல்லது ஒரு கடவுச்சொல் சொற்றொடரை) பயன்படுத்த வேண்டும். இந்த முதன்மை கடவுச்சொல்லைப் பயன்படுத்த நீங்கள் உறுதியாக இருக்கிறீர்களா?" + }, + "pin": { + "message": "PIN", + "description": "PIN code. Ex. The short code (often numeric) that you use to unlock a device." + }, + "unlockWithPin": { + "message": "PIN உடன் திற" + }, + "setYourPinTitle": { + "message": "PIN ஐ அமை" + }, + "setYourPinButton": { + "message": "PIN ஐ அமை" + }, + "setYourPinCode": { + "message": "Bitwarden ஐத் திறக்க உங்கள் PIN குறியீட்டை அமை. பயன்பாட்டிலிருந்து நீங்கள் முழுமையாக வெளியேறினால், உங்கள் PIN அமைப்புகள் மீட்டமைக்கப்படும்." + }, + "setPinCode": { + "message": "Bitwarden ஐத் திறக்க இந்த PIN ஐ நீங்கள் பயன்படுத்தலாம். பயன்பாட்டிலிருந்து நீங்கள் முழுமையாக வெளியேறினால், உங்கள் PIN மீட்டமைக்கப்படும்." + }, + "pinRequired": { + "message": "PIN குறியீடு தேவை." + }, + "invalidPin": { + "message": "தவறான PIN குறியீடு." + }, + "tooManyInvalidPinEntryAttemptsLoggingOut": { + "message": "அதிகமான தவறான PIN உள்ளீட்டு முயற்சிகள். வெளியேறுகிறது." + }, + "unlockWithBiometrics": { + "message": "பயோமெட்ரிக்ஸ் உடன் திற" + }, + "unlockWithMasterPassword": { + "message": "முதன்மை கடவுச்சொல்லுடன் திற" + }, + "awaitDesktop": { + "message": "டெஸ்க்டாப்பிலிருந்து உறுதிப்படுத்தலுக்காக காத்திருக்கிறது" + }, + "awaitDesktopDesc": { + "message": "உலாவிக்கான பயோமெட்ரிக்ஸை அமைக்க, Bitwarden டெஸ்க்டாப் பயன்பாட்டில் பயோமெட்ரிக்ஸைப் பயன்படுத்தி உறுதிப்படுத்தவும்." + }, + "lockWithMasterPassOnRestart": { + "message": "உலாவி மீண்டும் தொடங்கும் போது முதன்மை கடவுச்சொல்லுடன் பூட்டு" + }, + "lockWithMasterPassOnRestart1": { + "message": "உலாவி மீண்டும் தொடங்கும் போது முதன்மை கடவுச்சொல் தேவை" + }, + "selectOneCollection": { + "message": "நீங்கள் குறைந்தது ஒரு சேகரிப்பைத் தேர்ந்தெடுக்க வேண்டும்." + }, + "cloneItem": { + "message": "பொருளை நகலெடு" + }, + "clone": { + "message": "நகலெடு" + }, + "passwordGenerator": { + "message": "கடவுச்சொல் ஜெனரேட்டர்" + }, + "usernameGenerator": { + "message": "பயனர் பெயர் ஜெனரேட்டர்" + }, + "useThisEmail": { + "message": "இந்த மின்னஞ்சலைப் பயன்படுத்து" + }, + "useThisPassword": { + "message": "இந்த கடவுச்சொல்லைப் பயன்படுத்து" + }, + "useThisPassphrase": { + "message": "இந்த கடவுச்சொல் சொற்றொடரைப் பயன்படுத்து" + }, + "useThisUsername": { + "message": "இந்த பயனர் பெயரைப் பயன்படுத்து" + }, + "securePasswordGenerated": { + "message": "பாதுகாப்பான கடவுச்சொல் உருவாக்கப்பட்டது! இணையதளத்திலும் உங்கள் கடவுச்சொல்லைப் புதுப்பிக்க மறக்காதீர்கள்." + }, + "useGeneratorHelpTextPartOne": { + "message": "ஜெனரேட்டரைப் பயன்படுத்து", + "description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'" + }, + "useGeneratorHelpTextPartTwo": { + "message": "ஒரு வலுவான தனிப்பட்ட கடவுச்சொல்லை உருவாக்க", + "description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'" + }, + "vaultCustomization": { + "message": "பெட்டக தனிப்பயனாக்கம்" + }, + "vaultTimeoutAction": { + "message": "பெட்டக காலக்கெடு நடவடிக்கை" + }, + "vaultTimeoutAction1": { + "message": "காலக்கெடு நடவடிக்கை" + }, + "lock": { + "message": "பூட்டு", + "description": "Verb form: to make secure or inaccessible by" + }, + "trash": { + "message": "குப்பை", + "description": "Noun: a special folder to hold deleted items" + }, + "searchTrash": { + "message": "குப்பையில் தேடு" + }, + "permanentlyDeleteItem": { + "message": "பொருளை நிரந்தரமாக நீக்கு" + }, + "permanentlyDeleteItemConfirmation": { + "message": "இந்த பொருளை நிரந்தரமாக நீக்க விரும்புகிறீர்களா?" + }, + "permanentlyDeletedItem": { + "message": "பொருள் நிரந்தரமாக நீக்கப்பட்டது" + }, + "restoreItem": { + "message": "பொருளை மீட்டமை" + }, + "restoredItem": { + "message": "பொருள் மீட்டமைக்கப்பட்டது" + }, + "alreadyHaveAccount": { + "message": "ஏற்கனவே ஒரு கணக்கு உள்ளதா?" + }, + "vaultTimeoutLogOutConfirmation": { + "message": "வெளியேறுவது உங்கள் பெட்டகத்திற்கான அனைத்து அணுகலையும் அகற்றும் மற்றும் காலக்கெடு காலத்திற்குப் பிறகு ஆன்லைன் அங்கீகாரத்தை கோருகிறது. இந்த அமைப்பைப் பயன்படுத்த நீங்கள் உறுதியாக இருக்கிறீர்களா?" + }, + "vaultTimeoutLogOutConfirmationTitle": { + "message": "காலக்கெடு நடவடிக்கை உறுதிப்படுத்தல்" + }, + "autoFillAndSave": { + "message": "தானாக நிரப்பு மற்றும் சேமி" + }, + "fillAndSave": { + "message": "நிரப்பு மற்றும் சேமி" + }, + "autoFillSuccessAndSavedUri": { + "message": "பொருள் தானாக நிரப்பப்பட்டது மற்றும் URI சேமிக்கப்பட்டது" + }, + "autoFillSuccess": { + "message": "பொருள் தானாக நிரப்பப்பட்டது " + }, + "insecurePageWarning": { + "message": "எச்சரிக்கை: இது ஒரு பாதுகாப்பற்ற HTTP பக்கம், நீங்கள் சமர்ப்பிக்கும் எந்த தகவலும் மற்றவர்களால் காணப்படலாம் மற்றும் மாற்றப்படலாம். இந்த உள்நுழைவு முதலில் பாதுகாப்பான (HTTPS) பக்கத்தில் சேமிக்கப்பட்டது." + }, + "insecurePageWarningFillPrompt": { + "message": "இந்த உள்நுழைவை இன்னும் நிரப்ப விரும்புகிறீர்களா?" + }, + "autofillIframeWarning": { + "message": "படிவம் உங்கள் சேமிக்கப்பட்ட உள்நுழைவின் URI ஐ விட வேறு டொமைனால் ஹோஸ்ட் செய்யப்பட்டுள்ளது. எப்படியும் தானாக நிரப்ப சரி என்பதைத் தேர்ந்தெடு, அல்லது நிறுத்த ரத்துசெய் என்பதைத் தேர்ந்தெடு." + }, + "autofillIframeWarningTip": { + "message": "எதிர்காலத்தில் இந்த எச்சரிக்கையைத் தடுக்க, இந்த URI, $HOSTNAME$, இந்த தளத்திற்கான உங்கள் Bitwarden உள்நுழைவு பொருளில் சேமிக்கவும்.", + "placeholders": { + "hostname": { + "content": "$1", + "example": "www.example.com" + } + } + }, + "setMasterPassword": { + "message": "முதன்மை கடவுச்சொல்லை அமை" + }, + "currentMasterPass": { + "message": "தற்போதைய முதன்மை கடவுச்சொல்" + }, + "newMasterPass": { + "message": "புதிய முதன்மை கடவுச்சொல்" + }, + "confirmNewMasterPass": { + "message": "புதிய முதன்மை கடவுச்சொல்லை உறுதிப்படுத்து" + }, + "masterPasswordPolicyInEffect": { + "message": "ஒன்று அல்லது அதற்கு மேற்பட்ட அமைப்பு கொள்கைகள் உங்கள் முதன்மை கடவுச்சொல் பின்வரும் தேவைகளைப் பூர்த்தி செய்ய வேண்டும்:" + }, + "policyInEffectMinComplexity": { + "message": "குறைந்தபட்ச சிக்கலான மதிப்பெண் $SCORE$", + "placeholders": { + "score": { + "content": "$1", + "example": "4" + } + } + }, + "policyInEffectMinLength": { + "message": "குறைந்தபட்ச நீளம் $LENGTH$", + "placeholders": { + "length": { + "content": "$1", + "example": "14" + } + } + }, + "policyInEffectUppercase": { + "message": "ஒன்று அல்லது அதற்கு மேற்பட்ட பெரிய எழுத்துக்களைக் கொண்டிரு" + }, + "policyInEffectLowercase": { + "message": "ஒன்று அல்லது அதற்கு மேற்பட்ட சிறிய எழுத்துக்களைக் கொண்டிரு" + }, + "policyInEffectNumbers": { + "message": "ஒன்று அல்லது அதற்கு மேற்பட்ட எண்களைக் கொண்டிரு" + }, + "policyInEffectSpecial": { + "message": "பின்வரும் சிறப்பு எழுத்துகளில் ஒன்று அல்லது அதற்கு மேற்பட்டவற்றை கொண்டிரு $CHARS$", + "placeholders": { + "chars": { + "content": "$1", + "example": "!@#$%^&*" + } + } + }, + "masterPasswordPolicyRequirementsNotMet": { + "message": "உங்கள் புதிய முதன்மை கடவுச்சொல் கொள்கை தேவைகளைப் பூர்த்தி செய்யவில்லை." + }, + "receiveMarketingEmailsV2": { + "message": "உங்கள் இன்பாக்ஸில் Bitwarden இலிருந்து ஆலோசனை, அறிவிப்புகள் மற்றும் ஆராய்ச்சி வாய்ப்புகளைப் பெறுங்கள்." + }, + "unsubscribe": { + "message": "தவிர்க்கவும்" + }, + "atAnyTime": { + "message": "எந்த நேரத்திலும்." + }, + "byContinuingYouAgreeToThe": { + "message": "தொடர்வதன் மூலம், நீங்கள் இதற்கு ஒப்புக்கொள்கிறீர்கள்" + }, + "and": { + "message": "மற்றும்" + }, + "acceptPolicies": { + "message": "இந்த பெட்டியைத் தேர்ந்தெடுப்பதன் மூலம் பின்வருவனவற்றை நீங்கள் ஒப்புக்கொள்கிறீர்கள்:" + }, + "acceptPoliciesRequired": { + "message": "சேவை விதிமுறைகள் மற்றும் தனியுரிமைக் கொள்கை ஒப்புக்கொள்ளப்படவில்லை." + }, + "termsOfService": { + "message": "சேவை விதிமுறைகள்" + }, + "privacyPolicy": { + "message": "தனியுரிமைக் கொள்கை" + }, + "yourNewPasswordCannotBeTheSameAsYourCurrentPassword": { + "message": "உங்கள் புதிய கடவுச்சொல் உங்கள் தற்போதைய கடவுச்சொல்லாக இருக்க முடியாது." + }, + "hintEqualsPassword": { + "message": "உங்கள் கடவுச்சொல் குறிப்பு உங்கள் கடவுச்சொல்லாக இருக்க முடியாது." + }, + "ok": { + "message": "சரி" + }, + "errorRefreshingAccessToken": { + "message": "அணுகல் டோக்கன் மீட்டமைப்பு பிழை" + }, + "errorRefreshingAccessTokenDesc": { + "message": "மீட்டமைப்பு டோக்கன் அல்லது API விசைகள் காணப்படவில்லை. வெளியேறி மீண்டும் உள்நுழைய முயற்சிக்கவும்." + }, + "desktopSyncVerificationTitle": { + "message": "டெஸ்க்டாப் ஒத்திசைவு சரிபார்ப்பு" + }, + "desktopIntegrationVerificationText": { + "message": "டெஸ்க்டாப் பயன்பாட்டில் இந்த கைரேகையைக் காட்டுகிறதா என சரிபார்க்கவும்: " + }, + "desktopIntegrationDisabledTitle": { + "message": "உலாவி ஒருங்கிணைப்பு அமைக்கப்படவில்லை" + }, + "desktopIntegrationDisabledDesc": { + "message": "Bitwarden டெஸ்க்டாப் பயன்பாட்டில் உலாவி ஒருங்கிணைப்பு அமைக்கப்படவில்லை. டெஸ்க்டாப் பயன்பாட்டில் உள்ள அமைப்புகளில் அதை அமைக்கவும்." + }, + "startDesktopTitle": { + "message": "Bitwarden டெஸ்க்டாப் பயன்பாட்டைத் தொடங்கு" + }, + "startDesktopDesc": { + "message": "பயோமெட்ரிக்ஸ் உடன் திறப்பதைப் பயன்படுத்துவதற்கு முன் Bitwarden டெஸ்க்டாப் பயன்பாடு தொடங்கப்பட வேண்டும்." + }, + "errorEnableBiometricTitle": { + "message": "பயோமெட்ரிக்ஸை அமைக்க முடியவில்லை" + }, + "errorEnableBiometricDesc": { + "message": "டெஸ்க்டாப் பயன்பாட்டால் நடவடிக்கை ரத்து செய்யப்பட்டது" + }, + "nativeMessagingInvalidEncryptionDesc": { + "message": "டெஸ்க்டாப் பயன்பாடு பாதுகாப்பான தகவல்தொடர்பு சேனலை செல்லாததாக்கியது. இந்த செயல்பாட்டை மீண்டும் முயற்சிக்கவும்" + }, + "nativeMessagingInvalidEncryptionTitle": { + "message": "டெஸ்க்டாப் தொடர்பு தடைபட்டது" + }, + "nativeMessagingWrongUserDesc": { + "message": "டெஸ்க்டாப் பயன்பாடு வேறு கணக்கில் உள்நுழைந்துள்ளது. இரண்டு பயன்பாடுகளும் ஒரே கணக்கில் உள்நுழைந்துள்ளன என்பதை உறுதிப்படுத்தவும்." + }, + "nativeMessagingWrongUserTitle": { + "message": "கணக்கு பொருந்தவில்லை" + }, + "nativeMessagingWrongUserKeyTitle": { + "message": "பயோமெட்ரிக் விசை பொருந்தவில்லை" + }, + "nativeMessagingWrongUserKeyDesc": { + "message": "பயோமெட்ரிக் திறத்தல் தோல்வியடைந்தது. பயோமெட்ரிக் ரகசிய விசை பெட்டகத்தைத் திறக்கத் தவறிவிட்டது. பயோமெட்ரிக்ஸை மீண்டும் அமைக்க முயற்சிக்கவும்." + }, + "biometricsNotEnabledTitle": { + "message": "பயோமெட்ரிக்ஸ் அமைக்கப்படவில்லை" + }, + "biometricsNotEnabledDesc": { + "message": "உலாவி பயோமெட்ரிக்ஸ் டெஸ்க்டாப் பயோமெட்ரிக்கை முதலில் அமைப்புகளில் அமைக்க வேண்டும்." + }, + "biometricsNotSupportedTitle": { + "message": "பயோமெட்ரிக்ஸ் ஆதரிக்கப்படவில்லை" + }, + "biometricsNotSupportedDesc": { + "message": "இந்த சாதனத்தில் உலாவி பயோமெட்ரிக்ஸ் ஆதரிக்கப்படவில்லை." + }, + "biometricsNotUnlockedTitle": { + "message": "பயனர் பூட்டப்பட்டார் அல்லது வெளியேறினார்" + }, + "biometricsNotUnlockedDesc": { + "message": "டெஸ்க்டாப் பயன்பாட்டில் இந்த பயனரைத் திறந்து மீண்டும் முயற்சிக்கவும்." + }, + "biometricsNotAvailableTitle": { + "message": "பயோமெட்ரிக் திறத்தல் கிடைக்கவில்லை" + }, + "biometricsNotAvailableDesc": { + "message": "பயோமெட்ரிக் திறத்தல் தற்போது கிடைக்கவில்லை. பிறகு மீண்டும் முயற்சிக்கவும்." + }, + "biometricsFailedTitle": { + "message": "பயோமெட்ரிக்ஸ் தோல்வியடைந்தது" + }, + "biometricsFailedDesc": { + "message": "பயோமெட்ரிக்ஸ் முடிக்க முடியாது, ஒரு முதன்மை கடவுச்சொல்லைப் பயன்படுத்த அல்லது வெளியேற பரிசீலிக்கவும். இது தொடர்ந்தால், Bitwarden ஆதரவை தொடர்பு கொள்ளவும்." + }, + "nativeMessaginPermissionErrorTitle": { + "message": "அனுமதி வழங்கப்படவில்லை" + }, + "nativeMessaginPermissionErrorDesc": { + "message": "Bitwarden டெஸ்க்டாப் பயன்பாட்டுடன் தொடர்பு கொள்ள அனுமதி இல்லாமல், உலாவி நீட்டிப்பில் நாங்கள் பயோமெட்ரிக்ஸை வழங்க முடியாது. மீண்டும் முயற்சிக்கவும்." + }, + "nativeMessaginPermissionSidebarTitle": { + "message": "அனுமதி கோரிக்கை பிழை" + }, + "nativeMessaginPermissionSidebarDesc": { + "message": "இந்த நடவடிக்கை பக்கவாட்டில் செய்ய முடியாது, பாப்அப் அல்லது பாப்அவுட்டில் மீண்டும் நடவடிக்கை எடுக்கவும்." + }, + "personalOwnershipSubmitError": { + "message": "ஒரு என்டர்பிரைஸ் கொள்கை காரணமாக, உங்கள் தனிப்பட்ட பெட்டகத்தில் பொருட்களைச் சேமிப்பதிலிருந்து நீங்கள் தடை செய்யப்பட்டுள்ளீர்கள். உரிமை விருப்பத்தை ஒரு அமைப்புக்கு மாற்றி, கிடைக்கக்கூடிய சேகரிப்புகளில் இருந்து தேர்ந்தெடுக்கவும்." + }, + "personalOwnershipPolicyInEffect": { + "message": "ஒரு அமைப்பு கொள்கை உங்கள் உரிமை விருப்பங்களை பாதிக்கிறது." + }, + "personalOwnershipPolicyInEffectImports": { + "message": "ஒரு அமைப்பு கொள்கை உங்கள் தனிப்பட்ட பெட்டகத்திற்கு பொருட்களை இறக்குமதி செய்வதைத் தடுத்துள்ளது." + }, + "restrictCardTypeImport": { + "message": "அட்டை பொருள் வகைகளை இறக்குமதி செய்ய முடியாது" + }, + "restrictCardTypeImportDesc": { + "message": "1 அல்லது அதற்கு மேற்பட்ட அமைப்புகளால் அமைக்கப்பட்டுள்ள ஒரு கொள்கை உங்கள் பெட்டகங்களுக்கு அட்டைகளை இறக்குமதி செய்வதிலிருந்து உங்களைத் தடுக்கிறது." + }, + "domainsTitle": { + "message": "டொமைன்கள்", + "description": "A category title describing the concept of web domains" + }, + "blockedDomains": { + "message": "தடைசெய்யப்பட்ட டொமைன்கள்" + }, + "learnMoreAboutBlockedDomains": { + "message": "தடைசெய்யப்பட்ட டொமைன்கள் பற்றி மேலும் அறிய" + }, + "excludedDomains": { + "message": "விலக்கப்பட்ட டொமைன்கள்" + }, + "excludedDomainsDesc": { + "message": "இந்த டொமைன்களுக்கான உள்நுழைவு விவரங்களைச் சேமிக்க Bitwarden கேட்காது. மாற்றங்கள் நடைமுறைக்கு வர பக்கத்தை மீண்டும் மீட்டமைக்க வேண்டும்." + }, + "excludedDomainsDescAlt": { + "message": "உள்நுழைந்த அனைத்து கணக்குகளுக்கும் இந்த டொமைன்களுக்கான உள்நுழைவு விவரங்களைச் சேமிக்க Bitwarden கேட்காது. மாற்றங்கள் நடைமுறைக்கு வர பக்கத்தை மீண்டும் மீட்டமைக்க வேண்டும்." + }, + "blockedDomainsDesc": { + "message": "இந்த இணையதளங்களுக்கு தானாக நிரப்புதல் மற்றும் பிற தொடர்புடைய அம்சங்கள் வழங்கப்படாது. மாற்றங்கள் நடைமுறைக்கு வர பக்கத்தை மீண்டும் மீட்டமைக்க வேண்டும்." + }, + "autofillBlockedNoticeV2": { + "message": "இந்த இணையதளத்திற்கு தானாக நிரப்புதல் தடைசெய்யப்பட்டுள்ளது." + }, + "autofillBlockedNoticeGuidance": { + "message": "அமைப்புகளில் இதை மாற்று" + }, + "change": { + "message": "மாற்று" + }, + "changePassword": { + "message": "கடவுச்சொல்லை மாற்று", + "description": "Change password button for browser at risk notification on login." + }, + "changeButtonTitle": { + "message": "கடவுச்சொல்லை மாற்று - $ITEMNAME$", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret Item" + } + } + }, + "atRiskPassword": { + "message": "ஆபத்தில் உள்ள கடவுச்சொல்" + }, + "atRiskPasswords": { + "message": "ஆபத்தில் உள்ள கடவுச்சொற்கள்" + }, + "atRiskPasswordDescSingleOrg": { + "message": "$ORGANIZATION$ ஒரு கடவுச்சொல்லை மாற்றும்படி கோருகிறது, ஏனெனில் அது ஆபத்தில் உள்ளது.", + "placeholders": { + "organization": { + "content": "$1", + "example": "Acme Corp" + } + } + }, + "atRiskPasswordsDescSingleOrgPlural": { + "message": "$ORGANIZATION$ $COUNT$ கடவுச்சொற்களை மாற்றும்படி கோருகிறது, ஏனெனில் அவை ஆபத்தில் உள்ளன.", + "placeholders": { + "organization": { + "content": "$1", + "example": "Acme Corp" + }, + "count": { + "content": "$2", + "example": "2" + } + } + }, + "atRiskPasswordsDescMultiOrgPlural": { + "message": "உங்கள் நிறுவனங்கள் $COUNT$ கடவுச்சொற்களை மாற்றும்படி கோருகின்றன, ஏனெனில் அவை ஆபத்தில் உள்ளன.", + "placeholders": { + "count": { + "content": "$1", + "example": "2" + } + } + }, + "atRiskChangePrompt": { + "message": "இந்த தளத்திற்கான உங்கள் கடவுச்சொல் ஆபத்தில் உள்ளது. $ORGANIZATION$ அதை மாற்றும்படி கோரியுள்ளது.", + "placeholders": { + "organization": { + "content": "$1", + "example": "Acme Corp" + } + }, + "description": "Notification body when a login triggers an at-risk password change request and the change password domain is known." + }, + "atRiskNavigatePrompt": { + "message": "$ORGANIZATION$ இந்த கடவுச்சொல் ஆபத்தில் இருப்பதால் அதை மாற்ற விரும்புகிறது. கடவுச்சொல்லை மாற்ற உங்கள் கணக்கு அமைப்புகளுக்குச் செல்லவும்.", + "placeholders": { + "organization": { + "content": "$1", + "example": "Acme Corp" + } + }, + "description": "Notification body when a login triggers an at-risk password change request and no change password domain is provided." + }, + "reviewAndChangeAtRiskPassword": { + "message": "ஒரு ஆபத்தில் உள்ள கடவுச்சொல்லை மதிப்பாய்வு செய்து மாற்று" + }, + "reviewAndChangeAtRiskPasswordsPlural": { + "message": "$COUNT$ ஆபத்தில் உள்ள கடவுச்சொற்களை மதிப்பாய்வு செய்து மாற்று", + "placeholders": { + "count": { + "content": "$1", + "example": "2" + } + } + }, + "changeAtRiskPasswordsFaster": { + "message": "ஆபத்தில் உள்ள கடவுச்சொற்களை வேகமாக மாற்று" + }, + "changeAtRiskPasswordsFasterDesc": { + "message": "உங்கள் அமைப்புகளைப் புதுப்பித்து, உங்கள் கடவுச்சொற்களை விரைவாக தானாக நிரப்பலாம் மற்றும் புதியவற்றை உருவாக்கலாம்" + }, + "reviewAtRiskLogins": { + "message": "ஆபத்தில் உள்ள உள்நுழைவுகளை மதிப்பாய்வு செய்" + }, + "reviewAtRiskPasswords": { + "message": "ஆபத்தில் உள்ள கடவுச்சொற்களை மதிப்பாய்வு செய்" + }, + "reviewAtRiskLoginsSlideDesc": { + "message": "உங்கள் நிறுவன கடவுச்சொற்கள் பலவீனமாக, மீண்டும் பயன்படுத்தப்பட்டு, மற்றும்/அல்லது வெளிப்படுத்தப்பட்டதால் ஆபத்தில் உள்ளன.", + "description": "Description of the review at-risk login slide on the at-risk password page carousel" + }, + "reviewAtRiskLoginSlideImgAltPeriod": { + "message": "ஆபத்தில் உள்ள உள்நுழைவுகளின் பட்டியலின் விளக்கம்." + }, + "generatePasswordSlideDesc": { + "message": "ஆபத்தில் உள்ள தளத்தில் உள்ள Bitwarden தானாக நிரப்பு மெனுவுடன் ஒரு வலுவான, தனிப்பட்ட கடவுச்சொல்லை விரைவாக உருவாக்குங்கள்.", + "description": "Description of the generate password slide on the at-risk password page carousel" + }, + "generatePasswordSlideImgAltPeriod": { + "message": "உருவாக்கப்பட்ட கடவுச்சொல்லைக் காட்டும் Bitwarden தானாக நிரப்பு மெனுவின் விளக்கம்." + }, + "updateInBitwarden": { + "message": "Bitwarden இல் புதுப்பி" + }, + "updateInBitwardenSlideDesc": { + "message": "Bitwarden பின்னர் கடவுச்சொல் நிர்வாகியில் கடவுச்சொல்லைப் புதுப்பிக்க உங்களைத் தூண்டும்.", + "description": "Description of the update in Bitwarden slide on the at-risk password page carousel" + }, + "updateInBitwardenSlideImgAltPeriod": { + "message": "பயனரை உள்நுழைவைப் புதுப்பிக்கும்படி தூண்டும் Bitwarden இன் அறிவிப்பின் விளக்கம்." + }, + "turnOnAutofill": { + "message": "தானாக நிரப்புதலை இயக்கு" + }, + "turnedOnAutofill": { + "message": "தானாக நிரப்புதல் இயக்கப்பட்டது" + }, + "dismiss": { + "message": "நீக்கு" + }, + "websiteItemLabel": { + "message": "இணையதளம் $number$ (URI)", + "placeholders": { + "number": { + "content": "$1", + "example": "3" + } + } + }, + "excludedDomainsInvalidDomain": { + "message": "$DOMAIN$ ஒரு செல்லுபடியாகும் டொமைன் அல்ல", + "placeholders": { + "domain": { + "content": "$1", + "example": "duckduckgo.com" + } + } + }, + "blockedDomainsSavedSuccess": { + "message": "தடைசெய்யப்பட்ட டொமைன் மாற்றங்கள் சேமிக்கப்பட்டன" + }, + "excludedDomainsSavedSuccess": { + "message": "விலக்கப்பட்ட டொமைன் மாற்றங்கள் சேமிக்கப்பட்டன" + }, + "limitSendViews": { + "message": "பார்வைகளை வரம்புபடுத்து" + }, + "limitSendViewsHint": { + "message": "வரம்பு எட்டிய பிறகு யாரும் இந்த அனுப்புதலைப் பார்க்க முடியாது.", + "description": "Displayed under the limit views field on Send" + }, + "limitSendViewsCount": { + "message": "$ACCESSCOUNT$ காட்சிகள் மீதமுள்ளன", + "description": "Displayed under the limit views field on Send", + "placeholders": { + "accessCount": { + "content": "$1", + "example": "2" + } + } + }, + "send": { + "message": "அனுப்பு", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDetails": { + "message": "அனுப்பு விவரங்கள்", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendTypeText": { + "message": "உரை" + }, + "sendTypeTextToShare": { + "message": "பகிர்வதற்கான உரை" + }, + "sendTypeFile": { + "message": "கோப்பு" + }, + "allSends": { + "message": "அனைத்து அனுப்புகளும்", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "maxAccessCountReached": { + "message": "அதிகபட்ச அணுகல் எண்ணிக்கை எட்டப்பட்டது", + "description": "This text will be displayed after a Send has been accessed the maximum amount of times." + }, + "hideTextByDefault": { + "message": "இயல்புநிலையாக உரையை மறை" + }, + "expired": { + "message": "காலாவதியானது" + }, + "passwordProtected": { + "message": "கடவுச்சொல் பாதுகாக்கப்பட்டது" + }, + "copyLink": { + "message": "இணைப்பை நகலெடு" + }, + "copySendLink": { + "message": "அனுப்பு இணைப்பை நகலெடு", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "removePassword": { + "message": "கடவுச்சொல்லை அகற்று" + }, + "delete": { + "message": "நீக்கு" + }, + "removedPassword": { + "message": "கடவுச்சொல் அகற்றப்பட்டது" + }, + "deletedSend": { + "message": "அனுப்பு நீக்கப்பட்டது", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendLink": { + "message": "அனுப்பு இணைப்பு", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disabled": { + "message": "முடக்கப்பட்டது" + }, + "removePasswordConfirmation": { + "message": "கடவுச்சொல்லை அகற்ற விரும்புகிறீர்களா?" + }, + "deleteSend": { + "message": "அனுப்பு நீக்கு", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deleteSendConfirmation": { + "message": "இந்த அனுப்புதலை நீக்க விரும்புகிறீர்களா?", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deleteSendPermanentConfirmation": { + "message": "இந்த அனுப்புதலை நிரந்தரமாக நீக்க விரும்புகிறீர்களா?", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "editSend": { + "message": "அனுப்பு திருத்து", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deletionDate": { + "message": "நீக்கப்பட்ட தேதி" + }, + "deletionDateDescV2": { + "message": "இந்த தேதியில் அனுப்புதல் நிரந்தரமாக நீக்கப்படும்.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "expirationDate": { + "message": "காலாவதி தேதி" + }, + "oneDay": { + "message": "1 நாள்" + }, + "days": { + "message": "$DAYS$ நாட்கள்", + "placeholders": { + "days": { + "content": "$1", + "example": "2" + } + } + }, + "custom": { + "message": "தனிப்பயன்" + }, + "sendPasswordDescV3": { + "message": "பெறுநர்கள் இந்த அனுப்புதலை அணுக ஒரு விருப்ப கடவுச்சொல்லைச் சேர்க்கவும்.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "createSend": { + "message": "புதிய அனுப்பு", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "newPassword": { + "message": "புதிய கடவுச்சொல்" + }, + "sendDisabled": { + "message": "அனுப்பு அகற்றப்பட்டது", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendDisabledWarning": { + "message": "ஒரு நிறுவன கொள்கை காரணமாக, நீங்கள் ஏற்கனவே உள்ள அனுப்புதலை மட்டுமே நீக்க முடியும்.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "createdSend": { + "message": "அனுப்பு உருவாக்கப்பட்டது", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "createdSendSuccessfully": { + "message": "அனுப்புதல் வெற்றிகரமாக உருவாக்கப்பட்டது!", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendExpiresInHoursSingle": { + "message": "அடுத்த 1 மணிநேரத்திற்கு இணைப்பைக் கொண்ட எவரும் அனுப்புதலை அணுகலாம்.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendExpiresInHours": { + "message": "அடுத்த $HOURS$ மணிநேரத்திற்கு இணைப்பைக் கொண்ட எவரும் அனுப்புதலை அணுகலாம்.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.", + "placeholders": { + "hours": { + "content": "$1", + "example": "5" + } + } + }, + "sendExpiresInDaysSingle": { + "message": "அடுத்த 1 நாளுக்கு இணைப்பைக் கொண்ட எவரும் அனுப்புதலை அணுகலாம்.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendExpiresInDays": { + "message": "அடுத்த $DAYS$ நாட்களுக்கு இணைப்பைக் கொண்ட எவரும் அனுப்புதலை அணுகலாம்.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.", + "placeholders": { + "days": { + "content": "$1", + "example": "5" + } + } + }, + "sendLinkCopied": { + "message": "அனுப்பு இணைப்பு நகலெடுக்கப்பட்டது", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "editedSend": { + "message": "அனுப்பு சேமிக்கப்பட்டது", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendFilePopoutDialogText": { + "message": "நீட்டிப்பை வெளியேற்றவா?", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendFilePopoutDialogDesc": { + "message": "ஒரு கோப்பு அனுப்புதலை உருவாக்க, நீங்கள் நீட்டிப்பை ஒரு புதிய சாளரத்திற்கு வெளியேற்ற வேண்டும்.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendLinuxChromiumFileWarning": { + "message": "ஒரு கோப்பைத் தேர்வு செய்ய, நீட்டிப்பை பக்கவாட்டில் (முடிந்தால்) திறக்கவும் அல்லது இந்த பதாகையைக் கிளிக் செய்வதன் மூலம் புதிய சாளரத்திற்கு வெளியேற்றவும்." + }, + "sendFirefoxFileWarning": { + "message": "Firefox ஐப் பயன்படுத்தி ஒரு கோப்பைத் தேர்வு செய்ய, நீட்டிப்பை பக்கவாட்டில் திறக்கவும் அல்லது இந்த பதாகையைக் கிளிக் செய்வதன் மூலம் புதிய சாளரத்திற்கு வெளியேற்றவும்." + }, + "sendSafariFileWarning": { + "message": "Safari ஐப் பயன்படுத்தி ஒரு கோப்பைத் தேர்வு செய்ய, இந்த பதாகையைக் கிளிக் செய்வதன் மூலம் புதிய சாளரத்திற்கு வெளியேற்றவும்." + }, + "popOut": { + "message": "வெளியேற்றவும்" + }, + "sendFileCalloutHeader": { + "message": "நீங்கள் தொடங்குவதற்கு முன்" + }, + "expirationDateIsInvalid": { + "message": "வழங்கப்பட்ட காலாவதி தேதி செல்லாது." + }, + "deletionDateIsInvalid": { + "message": "வழங்கப்பட்ட நீக்கப்பட்ட தேதி செல்லாது." + }, + "expirationDateAndTimeRequired": { + "message": "ஒரு காலாவதி தேதி மற்றும் நேரம் தேவை." + }, + "deletionDateAndTimeRequired": { + "message": "ஒரு நீக்கப்பட்ட தேதி மற்றும் நேரம் தேவை." + }, + "dateParsingError": { + "message": "உங்கள் நீக்கப்பட்ட மற்றும் காலாவதி தேதிகளைச் சேமிப்பதில் ஒரு பிழை இருந்தது." + }, + "hideYourEmail": { + "message": "பார்வையாளர்களிடமிருந்து உங்கள் மின்னஞ்சல் முகவரியை மறைக்கவும்." + }, + "passwordPrompt": { + "message": "முதன்மை கடவுச்சொல் மீண்டும் கேட்கவும்" + }, + "passwordConfirmation": { + "message": "முதன்மை கடவுச்சொல் உறுதிப்படுத்தல்" + }, + "passwordConfirmationDesc": { + "message": "இந்த நடவடிக்கை பாதுகாக்கப்பட்டது. தொடர, உங்கள் அடையாளத்தைச் சரிபார்க்க உங்கள் முதன்மை கடவுச்சொல்லை மீண்டும் உள்ளிடவும்." + }, + "emailVerificationRequired": { + "message": "மின்னஞ்சல் சரிபார்ப்பு தேவை" + }, + "emailVerifiedV2": { + "message": "மின்னஞ்சல் சரிபார்க்கப்பட்டது" + }, + "emailVerificationRequiredDesc": { + "message": "இந்த அம்சத்தைப் பயன்படுத்த நீங்கள் உங்கள் மின்னஞ்சலைச் சரிபார்க்க வேண்டும். நீங்கள் வலை பெட்டகத்தில் உங்கள் மின்னஞ்சலைச் சரிபார்க்கலாம்." + }, + "masterPasswordSuccessfullySet": { + "message": "முதன்மை கடவுச்சொல் வெற்றிகரமாக அமைக்கப்பட்டது" + }, + "updatedMasterPassword": { + "message": "புதுப்பிக்கப்பட்ட முதன்மை கடவுச்சொல்" + }, + "updateMasterPassword": { + "message": "முதன்மை கடவுச்சொல்லைப் புதுப்பி" + }, + "updateMasterPasswordWarning": { + "message": "உங்கள் முதன்மை கடவுச்சொல் சமீபத்தில் உங்கள் நிறுவனத்தில் ஒரு நிர்வாகியால் மாற்றப்பட்டது. பெட்டகத்தை அணுக, நீங்கள் அதை இப்போது புதுப்பிக்க வேண்டும். தொடர்வது உங்கள் தற்போதைய அமர்விலிருந்து உங்களை வெளியேற்றும், மீண்டும் உள்நுழைய வேண்டும். மற்ற சாதனங்களில் உள்ள செயலில் உள்ள அமர்வுகள் ஒரு மணிநேரம் வரை செயலில் இருக்கலாம்." + }, + "updateWeakMasterPasswordWarning": { + "message": "உங்கள் முதன்மை கடவுச்சொல் உங்கள் நிறுவன கொள்கைகளில் ஒன்று அல்லது அதற்கு மேற்பட்டவற்றை பூர்த்தி செய்யவில்லை. பெட்டகத்தை அணுக, நீங்கள் உங்கள் முதன்மை கடவுச்சொல்லை இப்போது புதுப்பிக்க வேண்டும். தொடர்வது உங்கள் தற்போதைய அமர்விலிருந்து உங்களை வெளியேற்றும், மீண்டும் உள்நுழைய வேண்டும். மற்ற சாதனங்களில் உள்ள செயலில் உள்ள அமர்வுகள் ஒரு மணிநேரம் வரை செயலில் இருக்கலாம்." + }, + "tdeDisabledMasterPasswordRequired": { + "message": "உங்கள் நிறுவனம் நம்பகமான சாதன குறியாக்கத்தை முடக்கியுள்ளது. உங்கள் பெட்டகத்தை அணுக ஒரு முதன்மை கடவுச்சொல்லை அமைக்கவும்." + }, + "resetPasswordPolicyAutoEnroll": { + "message": "தானியங்கி பதிவு" + }, + "resetPasswordAutoEnrollInviteWarning": { + "message": "இந்த நிறுவனத்தில் ஒரு நிறுவன கொள்கை உள்ளது, அது கடவுச்சொல் மீட்டமைப்பில் உங்களை தானாகவே பதிவு செய்யும். பதிவு செய்வது நிறுவன நிர்வாகிகளை உங்கள் முதன்மை கடவுச்சொல்லை மாற்ற அனுமதிக்கும்." + }, + "selectFolder": { + "message": "கோப்புறையைத் தேர்ந்தெடு..." + }, + "noFoldersFound": { + "message": "கோப்புறைகள் எதுவும் இல்லை", + "description": "Used as a message within the notification bar when no folders are found" + }, + "orgPermissionsUpdatedMustSetPassword": { + "message": "உங்கள் நிறுவன அனுமதிகள் புதுப்பிக்கப்பட்டன, உங்கள் முதன்மை கடவுச்சொல்லை அமைக்க வேண்டும்.", + "description": "Used as a card title description on the set password page to explain why the user is there" + }, + "orgRequiresYouToSetPassword": { + "message": "உங்கள் நிறுவனம் ஒரு முதன்மை கடவுச்சொல்லை அமைக்க உங்களைக் கோருகிறது.", + "description": "Used as a card title description on the set password page to explain why the user is there" + }, + "cardMetrics": { + "message": "$TOTAL$ இல்", + "placeholders": { + "total": { + "content": "$1", + "example": "5" + } + } + }, + "verificationRequired": { + "message": "சரிபார்ப்பு தேவை", + "description": "Default title for the user verification dialog." + }, + "hours": { + "message": "மணிநேரம்" + }, + "minutes": { + "message": "நிமிடங்கள்" + }, + "vaultTimeoutPolicyAffectingOptions": { + "message": "நிறுவன கொள்கை தேவைகள் உங்கள் காலக்கெடு விருப்பங்களுக்குப் பயன்படுத்தப்பட்டுள்ளன" + }, + "vaultTimeoutPolicyInEffect": { + "message": "உங்கள் நிறுவன கொள்கைகள் உங்கள் அதிகபட்ச அனுமதிக்கப்பட்ட பெட்டக காலக்கெடுவை $HOURS$ மணிநேரம் மற்றும் $MINUTES$ நிமிடங்களாக அமைத்துள்ளன.", + "placeholders": { + "hours": { + "content": "$1", + "example": "5" + }, + "minutes": { + "content": "$2", + "example": "5" + } + } + }, + "vaultTimeoutPolicyInEffect1": { + "message": "$HOURS$ மணிநேரம் மற்றும் $MINUTES$ நிமிடங்கள் அதிகபட்சம்.", + "placeholders": { + "hours": { + "content": "$1", + "example": "5" + }, + "minutes": { + "content": "$2", + "example": "5" + } + } + }, + "vaultTimeoutPolicyMaximumError": { + "message": "காலக்கெடு உங்கள் நிறுவனத்தால் அமைக்கப்பட்ட கட்டுப்பாட்டை மீறுகிறது: $HOURS$ மணிநேரம் மற்றும் $MINUTES$ நிமிடங்கள் அதிகபட்சம்", + "placeholders": { + "hours": { + "content": "$1", + "example": "5" + }, + "minutes": { + "content": "$2", + "example": "5" + } + } + }, + "vaultTimeoutPolicyWithActionInEffect": { + "message": "உங்கள் நிறுவன கொள்கைகள் உங்கள் பெட்டக காலக்கெடுவைப் பாதிக்கின்றன. அதிகபட்ச அனுமதிக்கப்பட்ட பெட்டக காலக்கெடு $HOURS$ மணிநேரம் மற்றும் $MINUTES$ நிமிடங்கள். உங்கள் பெட்டக காலக்கெடு நடவடிக்கை $ACTION$ ஆக அமைக்கப்பட்டுள்ளது.", + "placeholders": { + "hours": { + "content": "$1", + "example": "5" + }, + "minutes": { + "content": "$2", + "example": "5" + }, + "action": { + "content": "$3", + "example": "Lock" + } + } + }, + "vaultTimeoutActionPolicyInEffect": { + "message": "உங்கள் நிறுவன கொள்கைகள் உங்கள் பெட்டக காலக்கெடு நடவடிக்கையை $ACTION$ ஆக அமைத்துள்ளன.", + "placeholders": { + "action": { + "content": "$1", + "example": "Lock" + } + } + }, + "vaultTimeoutTooLarge": { + "message": "உங்கள் பெட்டக காலக்கெடு உங்கள் நிறுவனத்தால் அமைக்கப்பட்ட கட்டுப்பாடுகளை மீறுகிறது." + }, + "vaultExportDisabled": { + "message": "பெட்டக ஏற்றுமதி கிடைக்கவில்லை" + }, + "personalVaultExportPolicyInEffect": { + "message": "ஒன்று அல்லது அதற்கு மேற்பட்ட நிறுவன கொள்கைகள் உங்கள் தனிப்பட்ட பெட்டகத்தை ஏற்றுமதி செய்வதிலிருந்து உங்களைத் தடுக்கின்றன." + }, + "copyCustomFieldNameInvalidElement": { + "message": "செல்லுபடியாகும் படிவ உறுப்பை அடையாளம் காண முடியவில்லை. அதற்கு பதிலாக HTML ஐ ஆய்வு செய்ய முயற்சிக்கவும்." + }, + "copyCustomFieldNameNotUnique": { + "message": "தனிப்பட்ட அடையாளங்காட்டி எதுவும் இல்லை." + }, + "removeMasterPasswordForOrganizationUserKeyConnector": { + "message": "பின்வரும் நிறுவனத்தின் உறுப்பினர்களுக்கு இனி ஒரு முதன்மை கடவுச்சொல் தேவையில்லை. உங்கள் நிறுவன நிர்வாகியுடன் கீழே உள்ள டொமைனை உறுதிப்படுத்தவும்." + }, + "organizationName": { + "message": "நிறுவன பெயர்" + }, + "keyConnectorDomain": { + "message": "விசை இணைப்பான் டொமைன்" + }, + "leaveOrganization": { + "message": "நிறுவனத்திலிருந்து விலகு" + }, + "removeMasterPassword": { + "message": "முதன்மை கடவுச்சொல்லை அகற்று" + }, + "removedMasterPassword": { + "message": "முதன்மை கடவுச்சொல் அகற்றப்பட்டது" + }, + "leaveOrganizationConfirmation": { + "message": "நீங்கள் இந்த நிறுவனத்திலிருந்து விலக விரும்புகிறீர்களா?" + }, + "leftOrganization": { + "message": "நீங்கள் நிறுவனத்திலிருந்து விலகிவிட்டீர்கள்." + }, + "toggleCharacterCount": { + "message": "எழுத்து எண்ணிக்கையை மாற்று" + }, + "sessionTimeout": { + "message": "உங்கள் அமர்வு காலாவதியாகிவிட்டது. தயவுசெய்து திரும்பிச் சென்று மீண்டும் உள்நுழைய முயற்சிக்கவும்." + }, + "exportingPersonalVaultTitle": { + "message": "தனிப்பட்ட பெட்டகத்தை ஏற்றுமதி செய்கிறது" + }, + "exportingIndividualVaultDescription": { + "message": "$EMAIL$ உடன் தொடர்புடைய தனிப்பட்ட பெட்டக பொருட்கள் மட்டுமே ஏற்றுமதி செய்யப்படும். நிறுவன பெட்டக பொருட்கள் சேர்க்கப்படாது. பெட்டக பொருள் தகவல்கள் மட்டுமே ஏற்றுமதி செய்யப்படும் மற்றும் அதனுடன் தொடர்புடைய இணைப்புகள் சேர்க்கப்படாது.", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, + "exportingIndividualVaultWithAttachmentsDescription": { + "message": "$EMAIL$ உடன் தொடர்புடைய இணைப்புகள் உட்பட தனிப்பட்ட பெட்டக பொருட்கள் மட்டுமே ஏற்றுமதி செய்யப்படும். நிறுவன பெட்டக பொருட்கள் சேர்க்கப்படாது", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, + "exportingOrganizationVaultTitle": { + "message": "நிறுவன பெட்டகத்தை ஏற்றுமதி செய்கிறது" + }, + "exportingOrganizationVaultDesc": { + "message": "$ORGANIZATION$ உடன் தொடர்புடைய நிறுவன பெட்டகம் மட்டுமே ஏற்றுமதி செய்யப்படும். தனிப்பட்ட பெட்டகங்கள் அல்லது பிற நிறுவனங்களில் உள்ள பொருட்கள் சேர்க்கப்படாது.", + "placeholders": { + "organization": { + "content": "$1", + "example": "ACME Moving Co." + } + } + }, + "error": { + "message": "பிழை" + }, + "decryptionError": { + "message": "குறியாக்கம் நீக்கப் பிழை" + }, + "couldNotDecryptVaultItemsBelow": { + "message": "Bitwarden கீழே பட்டியலிடப்பட்ட பெட்டக பொருளை குறியாக்கம் நீக்க முடியவில்லை." + }, + "contactCSToAvoidDataLossPart1": { + "message": "கூடுதல் தரவு இழப்பைத் தவிர்க்க", + "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'" + }, + "contactCSToAvoidDataLossPart2": { + "message": "வாடிக்கையாளர் ஆதரவைத் தொடர்பு கொள்ளவும்.", + "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'" + }, + "generateUsername": { + "message": "பயனர் பெயரை உருவாக்கு" + }, + "generateEmail": { + "message": "மின்னஞ்சலை உருவாக்கு" + }, + "spinboxBoundariesHint": { + "message": "மதிப்பு $MIN$ மற்றும் $MAX$ க்கு இடையில் இருக்க வேண்டும்.", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, + "passwordLengthRecommendationHint": { + "message": " ஒரு வலுவான கடவுச்சொல்லை உருவாக்க $RECOMMENDED$ எழுத்துகள் அல்லது அதற்கு மேற்பட்டவற்றைப் பயன்படுத்தவும்.", + "description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).", + "placeholders": { + "recommended": { + "content": "$1", + "example": "14" + } + } + }, + "passphraseNumWordsRecommendationHint": { + "message": " ஒரு வலுவான கடவுச்சொல் சொற்றொடரை உருவாக்க $RECOMMENDED$ சொற்கள் அல்லது அதற்கு மேற்பட்டவற்றைப் பயன்படுத்தவும்.", + "description": "Appended to `spinboxBoundariesHint` to recommend a number of words to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).", + "placeholders": { + "recommended": { + "content": "$1", + "example": "6" + } + } + }, + "plusAddressedEmail": { + "message": "பிளஸ் முகவரியிடப்பட்ட மின்னஞ்சல்", + "description": "Username generator option that appends a random sub-address to the username. For example: address+subaddress@email.com" + }, + "plusAddressedEmailDesc": { + "message": "உங்கள் மின்னஞ்சல் வழங்குநரின் துணை-முகவரி திறன்களைப் பயன்படுத்தவும்." + }, + "catchallEmail": { + "message": "அனைத்தையும் ஏற்றுக்கொள்ளும் மின்னஞ்சல்" + }, + "catchallEmailDesc": { + "message": "உங்கள் டொமைனின் கட்டமைக்கப்பட்ட அனைத்தையும் ஏற்றுக்கொள்ளும் இன்பாக்ஸைப் பயன்படுத்தவும்." + }, + "random": { + "message": "சீரற்ற" + }, + "randomWord": { + "message": "சீரற்ற சொல்" + }, + "websiteName": { + "message": "இணையதள பெயர்" + }, + "service": { + "message": "சேவை" + }, + "forwardedEmail": { + "message": "முன்னனுப்பப்பட்ட மின்னஞ்சல் புனைப்பெயர்" + }, + "forwardedEmailDesc": { + "message": "ஒரு வெளிப்புற அனுப்புதல் சேவையுடன் ஒரு மின்னஞ்சல் புனைப்பெயரை உருவாக்கு." + }, + "forwarderDomainName": { + "message": "மின்னஞ்சல் டொமைன்", + "description": "Labels the domain name email forwarder service option" + }, + "forwarderDomainNameHint": { + "message": "தேர்ந்தெடுக்கப்பட்ட சேவையால் ஆதரிக்கப்படும் ஒரு டொமைனைத் தேர்ந்தெடு", + "description": "Guidance provided for email forwarding services that support multiple email domains." + }, + "forwarderError": { + "message": "$SERVICENAME$ பிழை: $ERRORMESSAGE$", + "description": "Reports an error returned by a forwarding service to the user.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Invalid characters in domain name." + } + } + }, + "forwarderGeneratedBy": { + "message": "Bitwarden மூலம் உருவாக்கப்பட்டது.", + "description": "Displayed with the address on the forwarding service's configuration screen." + }, + "forwarderGeneratedByWithWebsite": { + "message": "இணையதளம்: $WEBSITE$. Bitwarden மூலம் உருவாக்கப்பட்டது.", + "description": "Displayed with the address on the forwarding service's configuration screen.", + "placeholders": { + "WEBSITE": { + "content": "$1", + "example": "www.example.com" + } + } + }, + "forwaderInvalidToken": { + "message": "செல்லாத $SERVICENAME$ API டோக்கன்", + "description": "Displayed when the user's API token is empty or rejected by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidTokenWithMessage": { + "message": "செல்லாத $SERVICENAME$ API டோக்கன்: $ERRORMESSAGE$", + "description": "Displayed when the user's API token is rejected by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ உங்கள் கோரிக்கையை நிராகரித்தது. உதவிக்கு உங்கள் சேவை வழங்குநரைத் தொடர்பு கொள்ளவும்.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ உங்கள் கோரிக்கையை நிராகரித்தது: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, + "forwarderNoAccountId": { + "message": "$SERVICENAME$ மறைக்கப்பட்ட மின்னஞ்சல் கணக்கு ID ஐப் பெற முடியவில்லை.", + "description": "Displayed when the forwarding service fails to return an account ID.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwarderNoDomain": { + "message": "செல்லாத $SERVICENAME$ டொமைன்.", + "description": "Displayed when the domain is empty or domain authorization failed at the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwarderNoUrl": { + "message": "செல்லாத $SERVICENAME$ URL.", + "description": "Displayed when the url of the forwarding service wasn't supplied.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwarderUnknownError": { + "message": "தெரியாத $SERVICENAME$ பிழை ஏற்பட்டது.", + "description": "Displayed when the forwarding service failed due to an unknown error.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwarderUnknownForwarder": { + "message": "தெரியாத ஃபார்வர்டர்: '$SERVICENAME$'.", + "description": "Displayed when the forwarding service is not supported.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "JustTrust.us" + } + } + }, + "hostname": { + "message": "ஹோஸ்ட் பெயர்", + "description": "Part of a URL." + }, + "apiAccessToken": { + "message": "API அணுகல் டோக்கன்" + }, + "apiKey": { + "message": "API சாவி" + }, + "ssoKeyConnectorError": { + "message": "சாவி இணைப்பி பிழை: சாவி இணைப்பி கிடைப்பதை மற்றும் சரியாக வேலை செய்வதை உறுதிப்படுத்தவும்." + }, + "premiumSubcriptionRequired": { + "message": "பிரீமியம் சந்தா தேவை" + }, + "organizationIsDisabled": { + "message": "நிறுவனம் இடைநிறுத்தப்பட்டது." + }, + "disabledOrganizationFilterError": { + "message": "இடைநிறுத்தப்பட்ட நிறுவனங்களில் உள்ள உருப்படிகளை அணுக முடியாது. உதவிக்கு உங்கள் நிறுவன உரிமையாளரைத் தொடர்பு கொள்ளுங்கள்." + }, + "loggingInTo": { + "message": "$DOMAIN$-க்குள் உள்நுழைகிறது", + "placeholders": { + "domain": { + "content": "$1", + "example": "example.com" + } + } + }, + "serverVersion": { + "message": "சர்வர் பதிப்பு" + }, + "selfHostedServer": { + "message": "சுயமாக ஹோஸ்ட் செய்யப்பட்டது" + }, + "thirdParty": { + "message": "மூன்றாம் தரப்பு" + }, + "thirdPartyServerMessage": { + "message": "மூன்றாம் தரப்பு சர்வர் செயல்படுத்தலுடன் இணைக்கப்பட்டுள்ளது, $SERVERNAME$. அதிகாரப்பூர்வ சேவையகத்தைப் பயன்படுத்தி பிழைகளைச் சரிபார்க்கவும், அல்லது மூன்றாம் தரப்பு சேவையகத்திற்கு புகாரளிக்கவும்.", + "placeholders": { + "servername": { + "content": "$1", + "example": "ThirdPartyServerName" + } + } + }, + "lastSeenOn": { + "message": "கடைசியாக பார்த்தது: $DATE$", + "placeholders": { + "date": { + "content": "$1", + "example": "Jun 15, 2015" + } + } + }, + "loginWithMasterPassword": { + "message": "மாஸ்டர் கடவுச்சொல்லுடன் உள்நுழைக" + }, + "newAroundHere": { + "message": "இங்கே புதியவரா?" + }, + "rememberEmail": { + "message": "மின்னஞ்சலை நினைவில் கொள்க" + }, + "loginWithDevice": { + "message": "சாதனத்துடன் உள்நுழைக" + }, + "fingerprintPhraseHeader": { + "message": "கைரேகை சொற்றொடர்" + }, + "fingerprintMatchInfo": { + "message": "உங்கள் வால்ட் திறக்கப்பட்டிருப்பதையும் கைரேகை சொற்றொடர் மற்ற சாதனத்தில் பொருந்துவதையும் உறுதிப்படுத்தவும்." + }, + "resendNotification": { + "message": "அறிவிப்பை மீண்டும் அனுப்பவும்" + }, + "viewAllLogInOptions": { + "message": "அனைத்து உள்நுழைவு விருப்பங்களையும் காண்க" + }, + "notificationSentDevice": { + "message": "உங்கள் சாதனத்திற்கு அறிவிப்பு அனுப்பப்பட்டுள்ளது." + }, + "notificationSentDevicePart1": { + "message": "உங்கள் சாதனத்தில் அல்லது" + }, + "notificationSentDeviceAnchor": { + "message": "வலை செயலியில்" + }, + "notificationSentDevicePart2": { + "message": "Bitwarden-ஐ திறக்கவும். ஒப்புதல் அளிப்பதற்கு முன், கைரேகை சொற்றொடர் கீழே உள்ளவற்றுடன் பொருந்துவதை உறுதிப்படுத்தவும்." + }, + "aNotificationWasSentToYourDevice": { + "message": "உங்கள் சாதனத்திற்கு ஒரு அறிவிப்பு அனுப்பப்பட்டது" + }, + "youWillBeNotifiedOnceTheRequestIsApproved": { + "message": "கோரிக்கை அங்கீகரிக்கப்பட்டதும் உங்களுக்கு அறிவிக்கப்படும்" + }, + "needAnotherOptionV1": { + "message": "வேறொரு விருப்பம் தேவையா?" + }, + "loginInitiated": { + "message": "உள்நுழைவு தொடங்கப்பட்டது" + }, + "logInRequestSent": { + "message": "கோரிக்கை அனுப்பப்பட்டது" + }, + "loginRequestApprovedForEmailOnDevice": { + "message": "$DEVICE$-இல் உள்ள $EMAIL$-க்கான உள்நுழைவு கோரிக்கை அங்கீகரிக்கப்பட்டது", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + }, + "device": { + "content": "$2", + "example": "Web app - Chrome" + } + } + }, + "youDeniedLoginAttemptFromAnotherDevice": { + "message": "மற்றொரு சாதனத்திலிருந்து உள்நுழைய நீங்கள் மேற்கொண்ட முயற்சியை மறுத்துவிட்டீர்கள். இது நீங்களாக இருந்தால், மீண்டும் அந்தச் சாதனத்துடன் உள்நுழைய முயற்சிக்கவும்." + }, + "device": { + "message": "சாதனம்" + }, + "loginStatus": { + "message": "உள்நுழைவு நிலை" + }, + "masterPasswordChanged": { + "message": "மாஸ்டர் கடவுச்சொல் சேமிக்கப்பட்டது" + }, + "exposedMasterPassword": { + "message": "வெளியான மாஸ்டர் கடவுச்சொல்" + }, + "exposedMasterPasswordDesc": { + "message": "தரவு மீறலில் கடவுச்சொல் கண்டறியப்பட்டது. உங்கள் கணக்கைப் பாதுகாக்க ஒரு தனிப்பட்ட கடவுச்சொல்லைப் பயன்படுத்தவும். வெளியான கடவுச்சொல்லைப் பயன்படுத்த நீங்கள் உறுதியாக இருக்கிறீர்களா?" + }, + "weakAndExposedMasterPassword": { + "message": "பலவீனமான மற்றும் வெளியான மாஸ்டர் கடவுச்சொல்" + }, + "weakAndBreachedMasterPasswordDesc": { + "message": "பலவீனமான கடவுச்சொல் அடையாளம் காணப்பட்டு, தரவு மீறலில் கண்டறியப்பட்டது. உங்கள் கணக்கைப் பாதுகாக்க வலுவான மற்றும் தனிப்பட்ட கடவுச்சொல்லைப் பயன்படுத்தவும். இந்தக் கடவுச்சொல்லைப் பயன்படுத்த நீங்கள் உறுதியாக இருக்கிறீர்களா?" + }, + "checkForBreaches": { + "message": "இந்தக் கடவுச்சொல்லுக்கான அறியப்பட்ட தரவு மீறல்களைச் சரிபார்க்கவும்" + }, + "important": { + "message": "முக்கியமானது:" + }, + "masterPasswordHint": { + "message": "உங்கள் மாஸ்டர் கடவுச்சொல்லை மறந்துவிட்டால் அதை மீண்டும் பெற முடியாது!" + }, + "characterMinimum": { + "message": "$LENGTH$ எழுத்துக்கள் குறைந்தது", + "placeholders": { + "length": { + "content": "$1", + "example": "14" + } + } + }, + "autofillPageLoadPolicyActivated": { + "message": "பக்கம் ஏற்றப்படும்போது தானியங்கு நிரப்புதலை உங்கள் நிறுவனக் கொள்கைகள் செயல்படுத்தியுள்ளன." + }, + "howToAutofill": { + "message": "தானியங்கு நிரப்புவது எப்படி" + }, + "autofillSelectInfoWithCommand": { + "message": "இந்தத் திரையில் இருந்து ஒரு உருப்படியைத் தேர்ந்தெடுக்கவும், $COMMAND$ என்ற குறுக்குவழியைப் பயன்படுத்தவும் அல்லது அமைப்புகளில் பிற விருப்பங்களை ஆராயவும்.", + "placeholders": { + "command": { + "content": "$1", + "example": "CTRL+Shift+L" + } + } + }, + "autofillSelectInfoWithoutCommand": { + "message": "இந்தத் திரையில் இருந்து ஒரு உருப்படியைத் தேர்ந்தெடுக்கவும், அல்லது அமைப்புகளில் பிற விருப்பங்களை ஆராயவும்." + }, + "gotIt": { + "message": "புரிந்துகொண்டேன்" + }, + "autofillSettings": { + "message": "தானியங்கு நிரப்புதல் அமைப்புகள்" + }, + "autofillKeyboardShortcutSectionTitle": { + "message": "தானியங்கு நிரப்புதல் குறுக்குவழி" + }, + "autofillKeyboardShortcutUpdateLabel": { + "message": "குறுக்குவழியை மாற்று" + }, + "autofillKeyboardManagerShortcutsLabel": { + "message": "குறுக்குவழிகளை நிர்வகி" + }, + "autofillShortcut": { + "message": "தானியங்கு நிரப்புதல் விசைப்பலகை குறுக்குவழி" + }, + "autofillLoginShortcutNotSet": { + "message": "தானியங்கு நிரப்புதல் உள்நுழைவு குறுக்குவழி அமைக்கப்படவில்லை. இதை உலாவியின் அமைப்புகளில் மாற்றவும்." + }, + "autofillLoginShortcutText": { + "message": "தானியங்கு நிரப்புதல் உள்நுழைவு குறுக்குவழி $COMMAND$ ஆகும். உலாவியின் அமைப்புகளில் அனைத்து குறுக்குவழிகளையும் நிர்வகிக்கவும்.", + "placeholders": { + "command": { + "content": "$1", + "example": "CTRL+Shift+L" + } + } + }, + "autofillShortcutTextSafari": { + "message": "இயல்புநிலை தானியங்கு நிரப்புதல் குறுக்குவழி: $COMMAND$.", + "placeholders": { + "command": { + "content": "$1", + "example": "CTRL+Shift+L" + } + } + }, + "opensInANewWindow": { + "message": "புதிய சாளரத்தில் திறக்கும்" + }, + "rememberThisDeviceToMakeFutureLoginsSeamless": { + "message": "எதிர்கால உள்நுழைவுகளை தடையற்றதாக மாற்ற இந்தச் சாதனத்தை நினைவில் கொள்க" + }, + "manageDevices": { + "message": "சாதனங்களை நிர்வகி" + }, + "currentSession": { + "message": "தற்போதைய அமர்வு" + }, + "mobile": { + "message": "மொபைல்", + "description": "Mobile app" + }, + "extension": { + "message": "விரிவாக்கம்", + "description": "Browser extension/addon" + }, + "desktop": { + "message": "டெஸ்க்டாப்", + "description": "Desktop app" + }, + "webVault": { + "message": "வலை வால்ட்" + }, + "webApp": { + "message": "வலை செயலி" + }, + "cli": { + "message": "CLI" + }, + "sdk": { + "message": "SDK", + "description": "Software Development Kit" + }, + "requestPending": { + "message": "கோரிக்கை நிலுவையில் உள்ளது" + }, + "firstLogin": { + "message": "முதல் உள்நுழைவு" + }, + "trusted": { + "message": "நம்பகமானது" + }, + "needsApproval": { + "message": "அங்கீகாரம் தேவை" + }, + "devices": { + "message": "சாதனங்கள்" + }, + "accessAttemptBy": { + "message": "$EMAIL$ மூலம் அணுகல் முயற்சி", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, + "confirmAccess": { + "message": "அணுகலை உறுதிப்படுத்து" + }, + "denyAccess": { + "message": "அணுகலை மறு" + }, + "time": { + "message": "நேரம்" + }, + "deviceType": { + "message": "சாதன வகை" + }, + "loginRequest": { + "message": "உள்நுழைவு கோரிக்கை" + }, + "thisRequestIsNoLongerValid": { + "message": "இந்தக் கோரிக்கை இனி செல்லாது." + }, + "loginRequestHasAlreadyExpired": { + "message": "உள்நுழைவு கோரிக்கை ஏற்கனவே காலாவதியாகிவிட்டது." + }, + "justNow": { + "message": "இப்போதுதான்" + }, + "requestedXMinutesAgo": { + "message": "$MINUTES$ நிமிடங்களுக்கு முன் கோரப்பட்டது", + "placeholders": { + "minutes": { + "content": "$1", + "example": "5" + } + } + }, + "deviceApprovalRequired": { + "message": "சாதன அங்கீகாரம் தேவை. கீழே உள்ள அங்கீகரிப்பு விருப்பங்களில் ஒன்றைத் தேர்ந்தெடுக்கவும்:" + }, + "deviceApprovalRequiredV2": { + "message": "சாதன அங்கீகாரம் தேவை" + }, + "selectAnApprovalOptionBelow": { + "message": "கீழே உள்ள அங்கீகரிப்பு விருப்பங்களில் ஒன்றைத் தேர்ந்தெடுக்கவும்" + }, + "rememberThisDevice": { + "message": "இந்தச் சாதனத்தை நினைவில் கொள்க" + }, + "uncheckIfPublicDevice": { + "message": "பொது சாதனத்தைப் பயன்படுத்தினால் தேர்வு செய்யாதே" + }, + "approveFromYourOtherDevice": { + "message": "உங்கள் மற்ற சாதனத்திலிருந்து அங்கீகரி" + }, + "requestAdminApproval": { + "message": "நிர்வாகி அங்கீகாரத்தைக் கோரு" + }, + "unableToCompleteLogin": { + "message": "உள்நுழைவை முடிக்க முடியவில்லை" + }, + "loginOnTrustedDeviceOrAskAdminToAssignPassword": { + "message": "நீங்கள் ஒரு நம்பகமான சாதனத்தில் உள்நுழைய வேண்டும் அல்லது உங்கள் நிர்வாகியிடம் கடவுச்சொல்லை ஒதுக்குமாறு கேட்க வேண்டும்." + }, + "ssoIdentifierRequired": { + "message": "நிறுவன SSO அடையாளங்காட்டி தேவை." + }, + "creatingAccountOn": { + "message": "கணக்கை உருவாக்குகிறது" + }, + "checkYourEmail": { + "message": "உங்கள் மின்னஞ்சலைச் சரிபார்க்கவும்" + }, + "followTheLinkInTheEmailSentTo": { + "message": "அனுப்பப்பட்ட மின்னஞ்சலில் உள்ள இணைப்பைப் பின்பற்றவும்" + }, + "andContinueCreatingYourAccount": { + "message": "மேலும் உங்கள் கணக்கை உருவாக்கத் தொடரவும்." + }, + "noEmail": { + "message": "மின்னஞ்சல் இல்லையா?" + }, + "goBack": { + "message": "திரும்பிச் செல்" + }, + "toEditYourEmailAddress": { + "message": "உங்கள் மின்னஞ்சல் முகவரியைத் திருத்த." + }, + "eu": { + "message": "EU", + "description": "European Union" + }, + "accessDenied": { + "message": "அணுகல் மறுக்கப்பட்டது. இந்த பக்கத்தை பார்க்க உங்களுக்கு அனுமதி இல்லை." + }, + "general": { + "message": "பொது" + }, + "display": { + "message": "காட்சி" + }, + "accountSuccessfullyCreated": { + "message": "கணக்கு வெற்றிகரமாக உருவாக்கப்பட்டது!" + }, + "adminApprovalRequested": { + "message": "நிர்வாகி அங்கீகாரம் கோரப்பட்டது" + }, + "adminApprovalRequestSentToAdmins": { + "message": "உங்கள் கோரிக்கை உங்கள் நிர்வாகிக்கு அனுப்பப்பட்டுள்ளது." + }, + "troubleLoggingIn": { + "message": "உள்நுழைவதில் சிக்கலா?" + }, + "loginApproved": { + "message": "உள்நுழைவு அங்கீகரிக்கப்பட்டது" + }, + "userEmailMissing": { + "message": "பயனர் மின்னஞ்சல் இல்லை" + }, + "activeUserEmailNotFoundLoggingYouOut": { + "message": "செயலில் உள்ள பயனர் மின்னஞ்சல் கண்டறியப்படவில்லை. நீங்கள் வெளியேற்றப்படுகிறீர்கள்." + }, + "deviceTrusted": { + "message": "சாதனம் நம்பகமானது" + }, + "trustOrganization": { + "message": "நிறுவனத்தை நம்பு" + }, + "trust": { + "message": "நம்பு" + }, + "doNotTrust": { + "message": "நம்பாதே" + }, + "organizationNotTrusted": { + "message": "நிறுவனம் நம்பகமானது அல்ல" + }, + "emergencyAccessTrustWarning": { + "message": "உங்கள் கணக்கின் பாதுகாப்பிற்காக, நீங்கள் இந்த பயனருக்கு அவசர அணுகலை வழங்கியிருந்தால் மட்டுமே உறுதிப்படுத்தவும், மேலும் அவர்களின் கைரேகை அவர்களின் கணக்கில் காட்டப்படும்வற்றுடன் பொருந்துவதை உறுதிப்படுத்தவும்" + }, + "orgTrustWarning": { + "message": "உங்கள் கணக்கின் பாதுகாப்பிற்காக, நீங்கள் இந்த நிறுவனத்தின் உறுப்பினராக இருந்தால், கணக்கு மீட்டெடுப்பு இயக்கப்பட்டு இருந்தால், மற்றும் கீழே காட்டப்படும் கைரேகை நிறுவனத்தின் கைரேகையுடன் பொருந்தினால் மட்டுமே தொடரவும்." + }, + "orgTrustWarning1": { + "message": "இந்த நிறுவனத்திற்கு ஒரு என்டர்பிரைஸ் கொள்கை உள்ளது, அது உங்களை கணக்கு மீட்டெடுப்பில் பதிவு செய்யும். பதிவு, நிறுவனத்தின் நிர்வாகிகளை உங்கள் கடவுச்சொல்லை மாற்ற அனுமதிக்கும். இந்த நிறுவனத்தை நீங்கள் அடையாளம் கண்டால், மற்றும் கீழே காட்டப்படும் கைரேகை சொற்றொடர் நிறுவனத்தின் கைரேகையுடன் பொருந்தினால் மட்டுமே தொடரவும்." + }, + "trustUser": { + "message": "பயனரை நம்பு" + }, + "sendsTitleNoItems": { + "message": "உணர்திறன் வாய்ந்த தகவல்களைப் பாதுகாப்பாக அனுப்பவும்", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendsBodyNoItems": { + "message": "கோப்புகள் மற்றும் தரவை யாருடனும், எந்த தளத்திலும் பாதுகாப்பாகப் பகிரவும். உங்கள் தகவல் எண்ட்-டு-எண்ட் என்க்ரிப்ட் செய்யப்பட்டிருக்கும், அதே நேரத்தில் வெளிப்பாட்டைக் கட்டுப்படுத்தும்.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "inputRequired": { + "message": "உள்ளீடு தேவை." + }, + "required": { + "message": "தேவை" + }, + "search": { + "message": "தேடல்" + }, + "inputMinLength": { + "message": "உள்ளீடு குறைந்தது $COUNT$ எழுத்து நீளம் இருக்க வேண்டும்.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "inputMaxLength": { + "message": "உள்ளீடு $COUNT$ எழுத்து நீளத்தை தாண்டக்கூடாது.", + "placeholders": { + "count": { + "content": "$1", + "example": "20" + } + } + }, + "inputForbiddenCharacters": { + "message": "பின்வரும் எழுத்துக்கள் அனுமதிக்கப்படவில்லை: $CHARACTERS$", + "placeholders": { + "characters": { + "content": "$1", + "example": "@, #, $, %" + } + } + }, + "inputMinValue": { + "message": "உள்ளீட்டு மதிப்பு குறைந்தது $MIN$ ஆக இருக்க வேண்டும்.", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + } + } + }, + "inputMaxValue": { + "message": "உள்ளீட்டு மதிப்பு $MAX$-ஐ தாண்டக்கூடாது.", + "placeholders": { + "max": { + "content": "$1", + "example": "100" + } + } + }, + "multipleInputEmails": { + "message": "1 அல்லது அதற்கு மேற்பட்ட மின்னஞ்சல்கள் தவறானவை" + }, + "inputTrimValidator": { + "message": "உள்ளீடு வெற்று இடங்களை மட்டுமே கொண்டிருக்கக்கூடாது.", + "description": "Notification to inform the user that a form's input can't contain only whitespace." + }, + "inputEmail": { + "message": "உள்ளீடு ஒரு மின்னஞ்சல் முகவரி அல்ல." + }, + "fieldsNeedAttention": { + "message": "மேலே உள்ள $COUNT$ புலங்களுக்கு உங்கள் கவனம் தேவை.", + "placeholders": { + "count": { + "content": "$1", + "example": "4" + } + } + }, + "singleFieldNeedsAttention": { + "message": "1 புலம் உங்கள் கவனத்தை கோருகிறது." + }, + "multipleFieldsNeedAttention": { + "message": "$COUNT$ புலங்களுக்கு உங்கள் கவனம் தேவை.", + "placeholders": { + "count": { + "content": "$1", + "example": "2" + } + } + }, + "selectPlaceholder": { + "message": "-- தேர்ந்தெடு --" + }, + "multiSelectPlaceholder": { + "message": "-- வடிகட்ட தட்டச்சு செய்க --" + }, + "multiSelectLoading": { + "message": "விருப்பங்கள் மீட்டெடுக்கப்படுகின்றன..." + }, + "multiSelectNotFound": { + "message": "உருப்படிகள் எதுவும் கண்டறியப்படவில்லை" + }, + "multiSelectClearAll": { + "message": "அனைத்தையும் அழி" + }, + "plusNMore": { + "message": "+ $QUANTITY$ மேலும்", + "placeholders": { + "quantity": { + "content": "$1", + "example": "5" + } + } + }, + "submenu": { + "message": "துணைமெனு" + }, + "toggleCollapse": { + "message": "சுருக்குவதைத் மாற்று", + "description": "Toggling an expand/collapse state." + }, + "aliasDomain": { + "message": "புனைப்பெயர் டொமைன்" + }, + "passwordRepromptDisabledAutofillOnPageLoad": { + "message": "மாஸ்டர் கடவுச்சொல் மீண்டும் கோரப்பட்ட உருப்படிகளைப் பக்க ஏற்றத்தில் தானாக நிரப்ப முடியாது. பக்க ஏற்றத்தில் தானியங்கு நிரப்புதல் அணைக்கப்பட்டது.", + "description": "Toast message for describing that master password re-prompt cannot be autofilled on page load." + }, + "autofillOnPageLoadSetToDefault": { + "message": "பக்க ஏற்றத்தில் தானியங்கு நிரப்புதல் இயல்புநிலை அமைப்பைப் பயன்படுத்த அமைக்கப்பட்டுள்ளது.", + "description": "Toast message for informing the user that autofill on page load has been set to the default setting." + }, + "turnOffMasterPasswordPromptToEditField": { + "message": "இந்தப் புலத்தைத் திருத்த மாஸ்டர் கடவுச்சொல் மீண்டும் கோருதலை அணைக்கவும்", + "description": "Message appearing below the autofill on load message when master password reprompt is set for a vault item." + }, + "toggleSideNavigation": { + "message": "பக்க வழிசெலுத்தலை மாற்று" + }, + "skipToContent": { + "message": "உள்ளடக்கத்திற்கு செல்க" + }, + "bitwardenOverlayButton": { + "message": "Bitwarden தானியங்கு நிரப்புதல் மெனு பொத்தான்", + "description": "Page title for the iframe containing the overlay button" + }, + "toggleBitwardenVaultOverlay": { + "message": "Bitwarden தானியங்கு நிரப்புதல் மெனுவைத் மாற்று", + "description": "Screen reader and tool tip label for the overlay button" + }, + "bitwardenVault": { + "message": "Bitwarden தானியங்கு நிரப்புதல் மெனு", + "description": "Page title in overlay" + }, + "unlockYourAccountToViewMatchingLogins": { + "message": "பொருந்தும் உள்நுழைவுகளைக் காண உங்கள் கணக்கைத் திறக்கவும்", + "description": "Text to display in overlay when the account is locked." + }, + "unlockYourAccountToViewAutofillSuggestions": { + "message": "தானியங்கு நிரப்புதல் பரிந்துரைகளைக் காண உங்கள் கணக்கைத் திறக்கவும்", + "description": "Text to display in overlay when the account is locked." + }, + "unlockAccount": { + "message": "கணக்கைத் திற", + "description": "Button text to display in overlay when the account is locked." + }, + "unlockAccountAria": { + "message": "உங்கள் கணக்கைத் திறக்கவும், புதிய சாளரத்தில் திறக்கும்", + "description": "Screen reader text (aria-label) for unlock account button in overlay" + }, + "totpCodeAria": { + "message": "நேர அடிப்படையிலான ஒரு முறை கடவுச்சொல் சரிபார்ப்புக் குறியீடு", + "description": "Aria label for the totp code displayed in the inline menu for autofill" + }, + "totpSecondsSpanAria": { + "message": "தற்போதைய TOTP காலாவதியாவதற்கு முன் மீதமுள்ள நேரம்", + "description": "Aria label for the totp seconds displayed in the inline menu for autofill" + }, + "fillCredentialsFor": { + "message": "இதற்கான அங்கீகார சான்றுகளை நிரப்பு", + "description": "Screen reader text for when overlay item is in focused" + }, + "partialUsername": { + "message": "பகுதி பயனர் பெயர்", + "description": "Screen reader text for when a login item is focused where a partial username is displayed. SR will announce this phrase before reading the text of the partial username" + }, + "noItemsToShow": { + "message": "காட்ட உருப்படிகள் இல்லை", + "description": "Text to show in overlay if there are no matching items" + }, + "newItem": { + "message": "புதிய உருப்படி", + "description": "Button text to display in overlay when there are no matching items" + }, + "addNewVaultItem": { + "message": "புதிய வால்ட் உருப்படியைச் சேர்", + "description": "Screen reader text (aria-label) for new item button in overlay" + }, + "newLogin": { + "message": "புதிய உள்நுழைவு", + "description": "Button text to display within inline menu when there are no matching items on a login field" + }, + "addNewLoginItemAria": { + "message": "புதிய வால்ட் உள்நுழைவு உருப்படியைச் சேர், புதிய சாளரத்தில் திறக்கும்", + "description": "Screen reader text (aria-label) for new login button within inline menu" + }, + "newCard": { + "message": "புதிய அட்டை", + "description": "Button text to display within inline menu when there are no matching items on a credit card field" + }, + "addNewCardItemAria": { + "message": "புதிய வால்ட் அட்டை உருப்படியைச் சேர், புதிய சாளரத்தில் திறக்கும்", + "description": "Screen reader text (aria-label) for new card button within inline menu" + }, + "newIdentity": { + "message": "புதிய அடையாளம்", + "description": "Button text to display within inline menu when there are no matching items on an identity field" + }, + "addNewIdentityItemAria": { + "message": "புதிய வால்ட் அடையாள உருப்படியைச் சேர், புதிய சாளரத்தில் திறக்கும்", + "description": "Screen reader text (aria-label) for new identity button within inline menu" + }, + "bitwardenOverlayMenuAvailable": { + "message": "Bitwarden தானியங்கு நிரப்புதல் மெனு கிடைக்கிறது. தேர்ந்தெடுக்க கீழ் அம்புக்குறி விசையை அழுத்தவும்.", + "description": "Screen reader text for announcing when the overlay opens on the page" + }, + "turnOn": { + "message": "இயக்கு" + }, + "ignore": { + "message": "புறக்கணி" + }, + "importData": { + "message": "தரவை இறக்குமதி செய்", + "description": "Used for the header of the import dialog, the import button and within the file-password-prompt" + }, + "importError": { + "message": "இறக்குமதி பிழை" + }, + "importErrorDesc": { + "message": "நீங்கள் இறக்குமதி செய்ய முயன்ற தரவில் சிக்கல் இருந்தது. உங்கள் மூலக் கோப்பில் கீழே பட்டியலிடப்பட்ட பிழைகளைத் தீர்த்துவிட்டு மீண்டும் முயற்சிக்கவும்." + }, + "resolveTheErrorsBelowAndTryAgain": { + "message": "கீழே உள்ள பிழைகளைத் தீர்த்துவிட்டு மீண்டும் முயற்சிக்கவும்." + }, + "description": { + "message": "விளக்கம்" + }, + "importSuccess": { + "message": "தரவு வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது" + }, + "importSuccessNumberOfItems": { + "message": "மொத்தம் $AMOUNT$ உருப்படிகள் இறக்குமதி செய்யப்பட்டன.", + "placeholders": { + "amount": { + "content": "$1", + "example": "2" + } + } + }, + "tryAgain": { + "message": "மீண்டும் முயற்சி செய்" + }, + "verificationRequiredForActionSetPinToContinue": { + "message": "இந்த செயலுக்கு சரிபார்ப்பு தேவை. தொடர ஒரு PIN-ஐ அமைக்கவும்." + }, + "setPin": { + "message": "PIN-ஐ அமை" + }, + "verifyWithBiometrics": { + "message": "பயோமெட்ரிக்ஸ் மூலம் சரிபார்" + }, + "awaitingConfirmation": { + "message": "உறுதிப்படுத்தலுக்காக காத்திருக்கிறது" + }, + "couldNotCompleteBiometrics": { + "message": "பயோமெட்ரிக்ஸை முடிக்க முடியவில்லை." + }, + "needADifferentMethod": { + "message": "வேறு முறை தேவையா?" + }, + "useMasterPassword": { + "message": "மாஸ்டர் கடவுச்சொல்லைப் பயன்படுத்து" + }, + "usePin": { + "message": "PIN-ஐப் பயன்படுத்து" + }, + "useBiometrics": { + "message": "பயோமெட்ரிக்ஸைப் பயன்படுத்து" + }, + "enterVerificationCodeSentToEmail": { + "message": "உங்கள் மின்னஞ்சலுக்கு அனுப்பப்பட்ட சரிபார்ப்புக் குறியீட்டை உள்ளிடவும்." + }, + "resendCode": { + "message": "குறியீட்டை மீண்டும் அனுப்பு" + }, + "total": { + "message": "மொத்தம்" + }, + "importWarning": { + "message": "நீங்கள் $ORGANIZATION$-க்கு தரவை இறக்குமதி செய்கிறீர்கள். உங்கள் தரவு இந்த நிறுவனத்தின் உறுப்பினர்களுடன் பகிரப்படலாம். தொடர விரும்புகிறீர்களா?", + "placeholders": { + "organization": { + "content": "$1", + "example": "My Org Name" + } + } + }, + "duoHealthCheckResultsInNullAuthUrlError": { + "message": "Duo சேவையுடன் இணைப்பதில் பிழை. வேறு இரு-படி உள்நுழைவு முறையைப் பயன்படுத்தவும் அல்லது உதவிக்கு Duo-வைத் தொடர்பு கொள்ளவும்." + }, + "duoRequiredForAccount": { + "message": "உங்கள் கணக்கிற்கு Duo இரு-படி உள்நுழைவு தேவை." + }, + "popoutExtension": { + "message": "விரிவாக்கத்தை வெளியே எடு" + }, + "launchDuo": { + "message": "Duo-வை தொடங்கு" + }, + "importFormatError": { + "message": "தரவு சரியாக வடிவமைக்கப்படவில்லை. உங்கள் இறக்குமதி கோப்பைச் சரிபார்த்து மீண்டும் முயற்சிக்கவும்." + }, + "importNothingError": { + "message": "எதுவும் இறக்குமதி செய்யப்படவில்லை." + }, + "importEncKeyError": { + "message": "ஏற்றுமதி செய்யப்பட்ட கோப்பை குறியாக்கம் நீக்குவதில் பிழை. உங்கள் என்க்ரிப்ஷன் சாவி, தரவை ஏற்றுமதி செய்யப் பயன்படுத்தப்பட்ட என்க்ரிப்ஷன் சாவுடன் பொருந்தவில்லை." + }, + "invalidFilePassword": { + "message": "தவறான கோப்பு கடவுச்சொல், ஏற்றுமதி கோப்பை உருவாக்கும்போது நீங்கள் உள்ளிட்ட கடவுச்சொல்லைப் பயன்படுத்தவும்." + }, + "destination": { + "message": "சேருமிடம்" + }, + "learnAboutImportOptions": { + "message": "உங்கள் இறக்குமதி விருப்பங்களைப் பற்றி அறிக" + }, + "selectImportFolder": { + "message": "ஒரு கோப்புறையைத் தேர்ந்தெடு" + }, + "selectImportCollection": { + "message": "ஒரு சேகரிப்பைத் தேர்ந்தெடு" + }, + "importTargetHintCollection": { + "message": "இறக்குமதி செய்யப்பட்ட கோப்பு உள்ளடக்கங்கள் ஒரு சேகரிப்புக்கு நகர்த்தப்பட விரும்பினால் இந்த விருப்பத்தைத் தேர்ந்தெடுக்கவும்" + }, + "importTargetHintFolder": { + "message": "இறக்குமதி செய்யப்பட்ட கோப்பு உள்ளடக்கங்கள் ஒரு கோப்புறைக்கு நகர்த்தப்பட விரும்பினால் இந்த விருப்பத்தைத் தேர்ந்தெடுக்கவும்" + }, + "importUnassignedItemsError": { + "message": "கோப்பில் ஒதுக்கப்படாத உருப்படிகள் உள்ளன." + }, + "selectFormat": { + "message": "இறக்குமதி கோப்பின் வடிவத்தைத் தேர்ந்தெடுக்கவும்" + }, + "selectImportFile": { + "message": "இறக்குமதி கோப்பைத் தேர்ந்தெடுக்கவும்" + }, + "chooseFile": { + "message": "கோப்பைத் தேர்ந்தெடு" + }, + "noFileChosen": { + "message": "கோப்பு எதுவும் தேர்ந்தெடுக்கப்படவில்லை" + }, + "orCopyPasteFileContents": { + "message": "அல்லது இறக்குமதி கோப்பின் உள்ளடக்கத்தை நகலெடுத்து ஒட்டவும்" + }, + "instructionsFor": { + "message": "$NAME$ வழிமுறைகள்", + "description": "The title for the import tool instructions.", + "placeholders": { + "name": { + "content": "$1", + "example": "LastPass (csv)" + } + } + }, + "confirmVaultImport": { + "message": "வால்ட் இறக்குமதியை உறுதிப்படுத்தவும்" + }, + "confirmVaultImportDesc": { + "message": "இந்தக் கோப்பு கடவுச்சொல் பாதுகாக்கப்பட்டது. தரவை இறக்குமதி செய்ய, கோப்பின் கடவுச்சொல்லை உள்ளிடவும்." + }, + "confirmFilePassword": { + "message": "கோப்பு கடவுச்சொல்லை உறுதிப்படுத்தவும்" + }, + "exportSuccess": { + "message": "வால்ட் தரவு ஏற்றுமதி செய்யப்பட்டது" + }, + "typePasskey": { + "message": "பாஸ்கி" + }, + "accessing": { + "message": "அணுகுகிறது" + }, + "loggedInExclamation": { + "message": "உள்நுழைந்துவிட்டது!" + }, + "passkeyNotCopied": { + "message": "பாஸ்கி நகலெடுக்கப்படாது" + }, + "passkeyNotCopiedAlert": { + "message": "பாஸ்கி குளோன் செய்யப்பட்ட உருப்படிக்கு நகலெடுக்கப்படாது. இந்த உருப்படியைக் குளோன் செய்வதைத் தொடர விரும்புகிறீர்களா?" + }, + "passkeyFeatureIsNotImplementedForAccountsWithoutMasterPassword": { + "message": "தொடங்கும் தளம் சரிபார்க்கக் கோருகிறது. மாஸ்டர் கடவுச்சொல் இல்லாத கணக்குகளுக்கு இந்த அம்சம் இன்னும் செயல்படுத்தப்படவில்லை." + }, + "logInWithPasskeyQuestion": { + "message": "பாஸ்கியுடன் உள்நுழைய வேண்டுமா?" + }, + "passkeyAlreadyExists": { + "message": "இந்த அப்ளிகேஷனுக்கு ஒரு பாஸ்கி ஏற்கனவே உள்ளது." + }, + "noPasskeysFoundForThisApplication": { + "message": "இந்த அப்ளிகேஷனுக்கு பாஸ்கிகள் எதுவும் கண்டறியப்படவில்லை." + }, + "noMatchingPasskeyLogin": { + "message": "இந்த தளத்திற்கான பொருத்தமான உள்நுழைவு உங்களிடம் இல்லை." + }, + "noMatchingLoginsForSite": { + "message": "இந்த தளத்திற்குப் பொருத்தமான உள்நுழைவுகள் எதுவும் இல்லை" + }, + "searchSavePasskeyNewLogin": { + "message": "தேடவும் அல்லது பாஸ்கியை புதிய உள்நுழைவாகச் சேமிக்கவும்" + }, + "confirm": { + "message": "உறுதிப்படுத்து" + }, + "savePasskey": { + "message": "பாஸ்கியைச் சேமி" + }, + "savePasskeyNewLogin": { + "message": "புதிய உள்நுழைவாகப் பாஸ்கியைச் சேமி" + }, + "chooseCipherForPasskeySave": { + "message": "இந்த பாஸ்கியைச் சேமிக்க ஒரு உள்நுழைவைத் தேர்ந்தெடுக்கவும்" + }, + "chooseCipherForPasskeyAuth": { + "message": "உள்நுழைய ஒரு பாஸ்கியைத் தேர்ந்தெடுக்கவும்" + }, + "passkeyItem": { + "message": "பாஸ்கி உருப்படி" + }, + "overwritePasskey": { + "message": "பாஸ்கியை மேலெழுத வேண்டுமா?" + }, + "overwritePasskeyAlert": { + "message": "இந்த உருப்படியில் ஏற்கனவே ஒரு பாஸ்கி உள்ளது. தற்போதைய பாஸ்கியை மேலெழுத விரும்புகிறீர்களா?" + }, + "featureNotSupported": { + "message": "இந்த அம்சம் இன்னும் ஆதரிக்கப்படவில்லை" + }, + "yourPasskeyIsLocked": { + "message": "பாஸ்கியைப் பயன்படுத்த அங்கீகாரம் தேவை. தொடர உங்கள் அடையாளத்தைச் சரிபார்க்கவும்." + }, + "multifactorAuthenticationCancelled": { + "message": "பல காரணி அங்கீகாரம் ரத்து செய்யப்பட்டது" + }, + "noLastPassDataFound": { + "message": "LastPass தரவு எதுவும் கண்டறியப்படவில்லை" + }, + "incorrectUsernameOrPassword": { + "message": "தவறான பயனர்பெயர் அல்லது கடவுச்சொல்" + }, + "incorrectPassword": { + "message": "தவறான கடவுச்சொல்" + }, + "incorrectCode": { + "message": "தவறான குறியீடு" + }, + "incorrectPin": { + "message": "தவறான PIN" + }, + "multifactorAuthenticationFailed": { + "message": "பல காரணி அங்கீகாரம் தோல்வியடைந்தது" + }, + "includeSharedFolders": { + "message": "பகிரப்பட்ட கோப்புறைகளைச் சேர்" + }, + "lastPassEmail": { + "message": "LastPass மின்னஞ்சல்" + }, + "importingYourAccount": { + "message": "உங்கள் கணக்கைப் புதுப்பிக்கிறது..." + }, + "lastPassMFARequired": { + "message": "LastPass பல காரணி அங்கீகாரம் தேவை" + }, + "lastPassMFADesc": { + "message": "உங்கள் அங்கீகரிப்பு அப்ளிகேஷனில் இருந்து ஒரு முறை கடவுச்சொல்லை உள்ளிடவும்" + }, + "lastPassOOBDesc": { + "message": "உங்கள் அங்கீகரிப்பு அப்ளிகேஷனில் உள்நுழைவு கோரிக்கையை அங்கீகரிக்கவும் அல்லது ஒரு முறை கடவுச்சொல்லை உள்ளிடவும்." + }, + "passcode": { + "message": "கடவுச்சொல்" + }, + "lastPassMasterPassword": { + "message": "LastPass மாஸ்டர் கடவுச்சொல்" + }, + "lastPassAuthRequired": { + "message": "LastPass அங்கீகாரம் தேவை" + }, + "awaitingSSO": { + "message": "SSO அங்கீகாரத்திற்காகக் காத்திருக்கிறது" + }, + "awaitingSSODesc": { + "message": "உங்கள் நிறுவனத்தின் சான்றுகளைப் பயன்படுத்தி உள்நுழைவைத் தொடரவும்." + }, + "seeDetailedInstructions": { + "message": "எங்கள் உதவி தளத்தில் விரிவான வழிமுறைகளைப் பார்க்கவும்", + "description": "This is followed a by a hyperlink to the help website." + }, + "importDirectlyFromLastPass": { + "message": "LastPass-லிருந்து நேரடியாக இறக்குமதி செய்" + }, + "importFromCSV": { + "message": "CSV-லிருந்து இறக்குமதி செய்" + }, + "lastPassTryAgainCheckEmail": { + "message": "மீண்டும் முயற்சிக்கவும் அல்லது அது நீங்கள் தானா என்பதைச் சரிபார்க்க LastPass-லிருந்து வந்த மின்னஞ்சலைத் தேடவும்." + }, + "collection": { + "message": "சேகரிப்பு" + }, + "lastPassYubikeyDesc": { + "message": "உங்கள் LastPass கணக்குடன் தொடர்புடைய YubiKey-யை உங்கள் கம்ப்யூட்டரின் USB போர்ட்டில் செருகவும், பின்னர் அதன் பட்டனைத் தொடவும்." + }, + "switchAccount": { + "message": "கணக்கை மாற்று" + }, + "switchAccounts": { + "message": "கணக்குகளை மாற்று" + }, + "switchToAccount": { + "message": "கணக்கிற்கு மாறு" + }, + "activeAccount": { + "message": "செயலில் உள்ள கணக்கு" + }, + "bitwardenAccount": { + "message": "Bitwarden கணக்கு" + }, + "availableAccounts": { + "message": "கிடைக்கும் கணக்குகள்" + }, + "accountLimitReached": { + "message": "கணக்கு வரம்பு எட்டப்பட்டது. மற்றொரு கணக்கைச் சேர்க்க, ஒரு கணக்கிலிருந்து வெளியேறவும்." + }, + "active": { + "message": "செயலில் உள்ளது" + }, + "locked": { + "message": "பூட்டப்பட்டது" + }, + "unlocked": { + "message": "திறக்கப்பட்டது" + }, + "server": { + "message": "சர்வர்" + }, + "hostedAt": { + "message": "இதில் ஹோஸ்ட் செய்யப்பட்டுள்ளது" + }, + "useDeviceOrHardwareKey": { + "message": "உங்கள் சாதனம் அல்லது ஹார்டுவேர் கீயைப் பயன்படுத்தவும்" + }, + "justOnce": { + "message": "ஒரு முறை மட்டும்" + }, + "alwaysForThisSite": { + "message": "இந்தத் தளத்திற்கு எப்போதும்" + }, + "domainAddedToExcludedDomains": { + "message": "$DOMAIN$ விலக்கப்பட்ட டொமைன்களில் சேர்க்கப்பட்டது.", + "placeholders": { + "domain": { + "content": "$1", + "example": "duckduckgo.com" + } + } + }, + "commonImportFormats": { + "message": "பொதுவான வடிவங்கள்", + "description": "Label indicating the most common import formats" + }, + "uriMatchDefaultStrategyHint": { + "message": "URI மேட்ச் டிடெக்‌ஷன் என்பது Bitwarden தன்னியக்க நிரப்புதல் பரிந்துரைகளை எப்படி அடையாளம் காண்கிறது என்பதைக் குறிக்கிறது.", + "description": "Explains to the user that URI match detection determines how Bitwarden suggests autofill options, and clarifies that this default strategy applies when no specific match detection is set for a login item." + }, + "regExAdvancedOptionWarning": { + "message": "\"Regular expression\" என்பது ஒரு மேம்பட்ட விருப்பத்தேர்வு, இதில் சான்றுகள் அம்பலப்படுத்தப்படும் ஆபத்து அதிகம் உள்ளது.", + "description": "Content for dialog which warns a user when selecting 'regular expression' matching strategy as a cipher match strategy" + }, + "startsWithAdvancedOptionWarning": { + "message": "\"Starts with\" என்பது ஒரு மேம்பட்ட விருப்பத்தேர்வு, இதில் சான்றுகள் அம்பலப்படுத்தப்படும் ஆபத்து அதிகம் உள்ளது.", + "description": "Content for dialog which warns a user when selecting 'starts with' matching strategy as a cipher match strategy" + }, + "uriMatchWarningDialogLink": { + "message": "பொருத்தமான கண்டறிதல் பற்றி மேலும் அறிக", + "description": "Link to match detection docs on warning dialog for advance match strategy" + }, + "uriAdvancedOption": { + "message": "மேம்பட்ட விருப்பத்தேர்வுகள்", + "description": "Advanced option placeholder for uri option component" + }, + "confirmContinueToBrowserSettingsTitle": { + "message": "உலாவி அமைப்புகளுக்குத் தொடர வேண்டுமா?", + "description": "Title for dialog which asks if the user wants to proceed to a relevant browser settings page" + }, + "confirmContinueToHelpCenter": { + "message": "உதவி மையத்திற்குத் தொடர வேண்டுமா?", + "description": "Title for dialog which asks if the user wants to proceed to a relevant Help Center page" + }, + "confirmContinueToHelpCenterPasswordManagementContent": { + "message": "உங்கள் உலாவியின் தன்னியக்க நிரப்புதல் மற்றும் கடவுச்சொல் மேலாண்மை அமைப்புகளை மாற்றவும்.", + "description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser password management settings" + }, + "confirmContinueToHelpCenterKeyboardShortcutsContent": { + "message": "உங்கள் உலாவியின் அமைப்புகளில் நீட்டிப்பு ஷார்ட்கட்களைப் பார்க்கலாம் மற்றும் அமைக்கலாம்.", + "description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser keyboard shortcut settings" + }, + "confirmContinueToBrowserPasswordManagementSettingsContent": { + "message": "உங்கள் உலாவியின் தன்னியக்க நிரப்புதல் மற்றும் கடவுச்சொல் மேலாண்மை அமைப்புகளை மாற்றவும்.", + "description": "Body content for dialog which asks if the user wants to proceed to the browser's password management settings page" + }, + "confirmContinueToBrowserKeyboardShortcutSettingsContent": { + "message": "உங்கள் உலாவியின் அமைப்புகளில் நீட்டிப்பு ஷார்ட்கட்களைப் பார்க்கலாம் மற்றும் அமைக்கலாம்.", + "description": "Body content for dialog which asks if the user wants to proceed to the browser's keyboard shortcut settings page" + }, + "overrideDefaultBrowserAutofillTitle": { + "message": "Bitwarden-ஐ உங்கள் இயல்புநிலை கடவுச்சொல் நிர்வாகியாக மாற்ற வேண்டுமா?", + "description": "Dialog title facilitating the ability to override a chrome browser's default autofill behavior" + }, + "overrideDefaultBrowserAutofillDescription": { + "message": "இந்த விருப்பத்தேர்வைப் புறக்கணிப்பது, Bitwarden தன்னியக்க நிரப்புதல் பரிந்துரைகளுக்கும் உங்கள் உலாவியின் பரிந்துரைகளுக்கும் இடையில் முரண்பாடுகளை ஏற்படுத்தலாம்.", + "description": "Dialog message facilitating the ability to override a chrome browser's default autofill behavior" + }, + "overrideDefaultBrowserAutoFillSettings": { + "message": "Bitwarden-ஐ உங்கள் இயல்புநிலை கடவுச்சொல் நிர்வாகியாக மாற்று", + "description": "Label for the setting that allows overriding the default browser autofill settings" + }, + "privacyPermissionAdditionNotGrantedTitle": { + "message": "Bitwarden-ஐ இயல்புநிலை கடவுச்சொல் நிர்வாகியாக அமைக்க முடியவில்லை", + "description": "Title for the dialog that appears when the user has not granted the extension permission to set privacy settings" + }, + "privacyPermissionAdditionNotGrantedDescription": { + "message": "Bitwarden-ஐ இயல்புநிலை கடவுச்சொல் நிர்வாகியாக அமைக்க, நீங்கள் உலாவியின் தனியுரிமை அனுமதிகளை வழங்க வேண்டும்.", + "description": "Description for the dialog that appears when the user has not granted the extension permission to set privacy settings" + }, + "makeDefault": { + "message": "இயல்புநிலையாக அமை", + "description": "Button text for the setting that allows overriding the default browser autofill settings" + }, + "saveCipherAttemptSuccess": { + "message": "சான்றுகள் வெற்றிகரமாகச் சேமிக்கப்பட்டன!", + "description": "Notification message for when saving credentials has succeeded." + }, + "passwordSaved": { + "message": "கடவுச்சொல் சேமிக்கப்பட்டது!", + "description": "Notification message for when saving credentials has succeeded." + }, + "updateCipherAttemptSuccess": { + "message": "சான்றுகள் வெற்றிகரமாகப் புதுப்பிக்கப்பட்டன!", + "description": "Notification message for when updating credentials has succeeded." + }, + "passwordUpdated": { + "message": "கடவுச்சொல் புதுப்பிக்கப்பட்டது!", + "description": "Notification message for when updating credentials has succeeded." + }, + "saveCipherAttemptFailed": { + "message": "சான்றுகளைச் சேமிப்பதில் பிழை ஏற்பட்டது. விவரங்களுக்குக் கன்சோலைச் சரிபார்க்கவும்.", + "description": "Notification message for when saving credentials has failed." + }, + "success": { + "message": "வெற்றி" + }, + "removePasskey": { + "message": "பாஸ்கியை அகற்று" + }, + "passkeyRemoved": { + "message": "பாஸ்கி அகற்றப்பட்டது" + }, + "autofillSuggestions": { + "message": "தன்னியக்க நிரப்புதல் பரிந்துரைகள்" + }, + "itemSuggestions": { + "message": "பரிந்துரைக்கப்பட்ட உருப்படிகள்" + }, + "autofillSuggestionsTip": { + "message": "தன்னியக்கமாக நிரப்புவதற்கு இந்தத் தளத்திற்கான உள்நுழைவு உருப்படியைச் சேமிக்கவும்" + }, + "yourVaultIsEmpty": { + "message": "உங்கள் வால்ட் காலியாக உள்ளது" + }, + "noItemsMatchSearch": { + "message": "உங்கள் தேடலுடன் பொருந்தக்கூடிய உருப்படிகள் எதுவும் இல்லை" + }, + "clearFiltersOrTryAnother": { + "message": "ஃபில்ட்டர்களை அகற்றுங்கள் அல்லது வேறு தேடல் சொல்லை முயற்சிக்கவும்" + }, + "copyInfoTitle": { + "message": "தகவலை நகலெடு - $ITEMNAME$", + "description": "Title for a button that opens a menu with options to copy information from an item.", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret Item" + } + } + }, + "copyNoteTitle": { + "message": "குறிப்பை நகலெடு - $ITEMNAME$", + "description": "Title for a button copies a note to the clipboard.", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret Note Item" + } + } + }, + "moreOptionsLabel": { + "message": "மேலும் விருப்பத்தேர்வுகள், $ITEMNAME$", + "description": "Aria label for a button that opens a menu with more options for an item.", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret Item" + } + } + }, + "moreOptionsTitle": { + "message": "மேலும் விருப்பத்தேர்வுகள் - $ITEMNAME$", + "description": "Title for a button that opens a menu with more options for an item.", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret Item" + } + } + }, + "viewItemTitle": { + "message": "உருப்படியைப் பார் - $ITEMNAME$", + "description": "Title for a link that opens a view for an item.", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret Item" + } + } + }, + "viewItemTitleWithField": { + "message": "உருப்படியைப் பார் - $ITEMNAME$ - $FIELD$", + "description": "Title for a link that opens a view for an item.", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret Item" + }, + "field": { + "content": "$2", + "example": "Username" + } + } + }, + "autofillTitle": { + "message": "தன்னியக்கமாக நிரப்பு - $ITEMNAME$", + "description": "Title for a button that autofills a login item.", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret Item" + } + } + }, + "autofillTitleWithField": { + "message": "தன்னியக்கமாக நிரப்பு - $ITEMNAME$ - $FIELD$", + "description": "Title for a button that autofills a login item.", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Secret Item" + }, + "field": { + "content": "$2", + "example": "Username" + } + } + }, + "copyFieldCipherName": { + "message": "நகலெடு $FIELD$, $CIPHERNAME$", + "description": "Title for a button that copies a field value to the clipboard.", + "placeholders": { + "field": { + "content": "$1", + "example": "Username" + }, + "ciphername": { + "content": "$2", + "example": "Login Item" + } + } + }, + "noValuesToCopy": { + "message": "நகலெடுக்க மதிப்புகள் எதுவும் இல்லை" + }, + "assignToCollections": { + "message": "சேகரிப்புகளுக்கு ஒதுக்கு" + }, + "copyEmail": { + "message": "மின்னஞ்சலை நகலெடு" + }, + "copyPhone": { + "message": "ஃபோனை நகலெடு" + }, + "copyAddress": { + "message": "முகவரியை நகலெடு" + }, + "adminConsole": { + "message": "நிர்வாகக் கன்சோல்" + }, + "accountSecurity": { + "message": "கணக்கு பாதுகாப்பு" + }, + "notifications": { + "message": "அறிவிப்புகள்" + }, + "appearance": { + "message": "தோற்றம்" + }, + "errorAssigningTargetCollection": { + "message": "இலக்கு சேகரிப்பை ஒதுக்குவதில் பிழை." + }, + "errorAssigningTargetFolder": { + "message": "இலக்கு கோப்புறையை ஒதுக்குவதில் பிழை." + }, + "viewItemsIn": { + "message": "$NAME$-இல் உள்ள உருப்படிகளைப் பார்", + "description": "Button to view the contents of a folder or collection", + "placeholders": { + "name": { + "content": "$1", + "example": "Work" + } + } + }, + "backTo": { + "message": "$NAME$-க்குத் திரும்பு", + "description": "Navigate back to a previous folder or collection", + "placeholders": { + "name": { + "content": "$1", + "example": "Work" + } + } + }, + "new": { + "message": "புதியது" + }, + "removeItem": { + "message": "$NAME$-ஐ அகற்று", + "description": "Remove a selected option, such as a folder or collection", + "placeholders": { + "name": { + "content": "$1", + "example": "Work" + } + } + }, + "itemsWithNoFolder": { + "message": "கோப்புறை இல்லாத உருப்படிகள்" + }, + "itemDetails": { + "message": "உருப்படி விவரங்கள்" + }, + "itemName": { + "message": "உருப்படி பெயர்" + }, + "organizationIsDeactivated": { + "message": "நிறுவனம் செயலிழக்கச் செய்யப்பட்டது" + }, + "owner": { + "message": "உரிமையாளர்" + }, + "selfOwnershipLabel": { + "message": "நீங்கள்", + "description": "Used as a label to indicate that the user is the owner of an item." + }, + "contactYourOrgAdmin": { + "message": "செயலிழக்கச் செய்யப்பட்ட நிறுவனங்களில் உள்ள உருப்படிகளை அணுக முடியாது. உதவிக்கு உங்கள் நிறுவன நிர்வாகியைத் தொடர்பு கொள்ளவும்." + }, + "additionalInformation": { + "message": "கூடுதல் தகவல்" + }, + "itemHistory": { + "message": "உருப்படி வரலாறு" + }, + "lastEdited": { + "message": "கடைசியாகத் திருத்தப்பட்டது" + }, + "ownerYou": { + "message": "உரிமையாளர்: நீங்கள்" + }, + "linked": { + "message": "இணைக்கப்பட்டது" + }, + "copySuccessful": { + "message": "வெற்றிகரமாக நகலெடுக்கப்பட்டது" + }, + "upload": { + "message": "பதிவேற்று" + }, + "addAttachment": { + "message": "இணைப்பைச் சேர்" + }, + "maxFileSizeSansPunctuation": { + "message": "அதிகபட்ச கோப்பு அளவு 500 MB ஆகும்" + }, + "deleteAttachmentName": { + "message": "இணைப்பு $NAME$-ஐ நீக்கு", + "placeholders": { + "name": { + "content": "$1", + "example": "Attachment Name" + } + } + }, + "downloadAttachmentName": { + "message": "பதிவிறக்கு $NAME$", + "placeholders": { + "name": { + "content": "$1", + "example": "Attachment Name" + } + } + }, + "downloadBitwarden": { + "message": "Bitwarden-ஐப் பதிவிறக்கு" + }, + "downloadBitwardenOnAllDevices": { + "message": "அனைத்துச் சாதனங்களிலும் Bitwarden-ஐப் பதிவிறக்கு" + }, + "getTheMobileApp": { + "message": "மொபைல் அப்ளிகேஷனைப் பெறு" + }, + "getTheMobileAppDesc": { + "message": "Bitwarden மொபைல் அப்ளிகேஷன் மூலம் எங்கு சென்றாலும் உங்கள் கடவுச்சொற்களை அணுகவும்." + }, + "getTheDesktopApp": { + "message": "டெஸ்க்டாப் அப்ளிகேஷனைப் பெறு" + }, + "getTheDesktopAppDesc": { + "message": "உலாவி இல்லாமலே உங்கள் வால்ட்டை அணுகவும், பின்னர் பயோமெட்ரிக்ஸுடன் திறப்பதைப் பதிவு செய்து, டெஸ்க்டாப் அப்ளிகேஷன் மற்றும் உலாவி நீட்டிப்பு இரண்டிலும் விரைவாகத் திறக்கலாம்." + }, + "downloadFromBitwardenNow": { + "message": "இப்போது bitwarden.com-லிருந்து பதிவிறக்கு" + }, + "getItOnGooglePlay": { + "message": "Google Play-இல் பெறு" + }, + "downloadOnTheAppStore": { + "message": "App Store-இல் பதிவிறக்கு" + }, + "permanentlyDeleteAttachmentConfirmation": { + "message": "இந்த இணைப்பை நிரந்தரமாக நீக்க விரும்புகிறீர்களா?" + }, + "premium": { + "message": "பிரீமியம்" + }, + "freeOrgsCannotUseAttachments": { + "message": "இலவச நிறுவனங்கள் இணைப்புகளைப் பயன்படுத்த முடியாது" + }, + "filters": { + "message": "ஃபில்ட்டர்கள்" + }, + "filterVault": { + "message": "வால்ட்டை ஃபில்ட்டர் செய்" + }, + "filterApplied": { + "message": "ஒரு ஃபில்ட்டர் பயன்படுத்தப்பட்டது" + }, + "filterAppliedPlural": { + "message": "$COUNT$ ஃபில்ட்டர்கள் பயன்படுத்தப்பட்டன", + "placeholders": { + "count": { + "content": "$1", + "example": "3" + } + } + }, + "personalDetails": { + "message": "தனிப்பட்ட விவரங்கள்" + }, + "identification": { + "message": "அடையாளம்" + }, + "contactInfo": { + "message": "தொடர்பு தகவல்" + }, + "downloadAttachment": { + "message": "பதிவிறக்கு - $ITEMNAME$", + "placeholders": { + "itemname": { + "content": "$1", + "example": "Your File" + } + } + }, + "cardNumberEndsWith": { + "message": "அட்டை எண் முடிவது", + "description": "Used within the inline menu to provide an aria description when users are attempting to fill a card cipher." + }, + "loginCredentials": { + "message": "உள்நுழைவுச் சான்றுகள்" + }, + "authenticatorKey": { + "message": "அங்கீகரிப்பு விசை" + }, + "autofillOptions": { + "message": "தன்னியக்க நிரப்புதல் விருப்பத்தேர்வுகள்" + }, + "websiteUri": { + "message": "வலைத்தளம் (URI)" + }, + "websiteUriCount": { + "message": "வலைத்தளம் (URI) $COUNT$", + "description": "Label for an input field that contains a website URI. The input field is part of a list of fields, and the count indicates the position of the field in the list.", + "placeholders": { + "count": { + "content": "$1", + "example": "3" + } + } + }, + "websiteAdded": { + "message": "வலைத்தளம் சேர்க்கப்பட்டது" + }, + "addWebsite": { + "message": "வலைத்தளத்தைச் சேர்" + }, + "deleteWebsite": { + "message": "வலைத்தளத்தை நீக்கு" + }, + "defaultLabel": { + "message": "இயல்புநிலை ($VALUE$)", + "description": "A label that indicates the default value for a field with the current default value in parentheses.", + "placeholders": { + "value": { + "content": "$1", + "example": "Base domain" + } + } + }, + "showMatchDetection": { + "message": "பொருத்தமான கண்டறிதலைக் காட்டு $WEBSITE$", + "placeholders": { + "website": { + "content": "$1", + "example": "https://example.com" + } + } + }, + "hideMatchDetection": { + "message": "பொருத்தமான கண்டறிதலை மறை $WEBSITE$", + "placeholders": { + "website": { + "content": "$1", + "example": "https://example.com" + } + } + }, + "autoFillOnPageLoad": { + "message": "பக்கத்தை ஏற்றும்போது தானாக நிரப்ப வேண்டுமா?" + }, + "cardExpiredTitle": { + "message": "காலாவதியான அட்டை" + }, + "cardExpiredMessage": { + "message": "புதுப்பித்திருந்தால், அட்டையின் தகவலைப் புதுப்பிக்கவும்" + }, + "cardDetails": { + "message": "அட்டை விவரங்கள்" + }, + "cardBrandDetails": { + "message": "$BRAND$ விவரங்கள்", + "placeholders": { + "brand": { + "content": "$1", + "example": "Visa" + } + } + }, + "enableAnimations": { + "message": "அசைவூட்டங்களை இயக்கு" + }, + "showAnimations": { + "message": "அசைவூட்டங்களைக் காட்டு" + }, + "addAccount": { + "message": "கணக்கைச் சேர்" + }, + "loading": { + "message": "ஏற்றுகிறது" + }, + "data": { + "message": "தரவு" + }, + "passkeys": { + "message": "பாஸ்கிகள்", + "description": "A section header for a list of passkeys." + }, + "passwords": { + "message": "கடவுச்சொற்கள்", + "description": "A section header for a list of passwords." + }, + "logInWithPasskeyAriaLabel": { + "message": "பாஸ்கியுடன் உள்நுழை", + "description": "ARIA label for the inline menu button that logs in with a passkey." + }, + "assign": { + "message": "ஒதுக்கு" + }, + "bulkCollectionAssignmentDialogDescriptionSingular": { + "message": "இந்தச் சேகரிப்புகளை அணுகும் நிறுவன உறுப்பினர்கள் மட்டுமே இந்த உருப்படியைப் பார்க்க முடியும்." + }, + "bulkCollectionAssignmentDialogDescriptionPlural": { + "message": "இந்தச் சேகரிப்புகளை அணுகும் நிறுவன உறுப்பினர்கள் மட்டுமே இந்த உருப்படிகளைப் பார்க்க முடியும்." + }, + "bulkCollectionAssignmentWarning": { + "message": "நீங்கள் $TOTAL_COUNT$ உருப்படிகளைத் தேர்ந்தெடுத்துள்ளீர்கள். உங்களால் $READONLY_COUNT$ உருப்படிகளைப் புதுப்பிக்க முடியாது, ஏனெனில் உங்களிடம் திருத்துவதற்கான அனுமதிகள் இல்லை.", + "placeholders": { + "total_count": { + "content": "$1", + "example": "10" + }, + "readonly_count": { + "content": "$2" + } + } + }, + "addField": { + "message": "ஃபீல்டைச் சேர்" + }, + "add": { + "message": "சேர்" + }, + "fieldType": { + "message": "ஃபீல்டு வகை" + }, + "fieldLabel": { + "message": "ஃபீல்டு லேபிள்" + }, + "textHelpText": { + "message": "பாதுகாப்பு கேள்விகள் போன்ற தரவுகளுக்கு உரை புலங்களைப் பயன்படுத்தவும்" + }, + "hiddenHelpText": { + "message": "கடவுச்சொல் போன்ற முக்கியமான தரவுகளுக்கு மறைக்கப்பட்ட புலங்களைப் பயன்படுத்தவும்" + }, + "checkBoxHelpText": { + "message": "மின்னஞ்சலை நினைவில் வைப்பது போன்ற படிவத்தின் செக்பாக்ஸை தானாக நிரப்ப விரும்பினால் செக்பாக்ஸ்களைப் பயன்படுத்தவும்" + }, + "linkedHelpText": { + "message": "ஒரு குறிப்பிட்ட இணையதளத்திற்கு தானாக நிரப்புவதில் சிக்கல்கள் இருந்தால் ஒரு இணைக்கப்பட்ட புலத்தைப் பயன்படுத்தவும்." + }, + "linkedLabelHelpText": { + "message": "புலத்தின் html id, name, aria-label, அல்லது placeholder ஐ உள்ளிடவும்." + }, + "editField": { + "message": "புலத்தை திருத்தவும்" + }, + "editFieldLabel": { + "message": "$LABEL$ ஐ திருத்தவும்", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "deleteCustomField": { + "message": "$LABEL$ ஐ நீக்கவும்", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "fieldAdded": { + "message": "$LABEL$ சேர்க்கப்பட்டது", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "$LABEL$ ஐ மறுவரிசைப்படுத்தவும். பொருளை மேலும் கீழும் நகர்த்த அம்புக்குறி விசையைப் பயன்படுத்தவும்.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderWebsiteUriButton": { + "message": "இணையதள URI ஐ மறுவரிசைப்படுத்தவும். பொருளை மேலும் கீழும் நகர்த்த அம்புக்குறி விசையைப் பயன்படுத்தவும்." + }, + "reorderFieldUp": { + "message": "$LABEL$ மேல்நோக்கி நகர்த்தப்பட்டது, நிலை $INDEX$ of $LENGTH$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + }, + "index": { + "content": "$2", + "example": "1" + }, + "length": { + "content": "$3", + "example": "3" + } + } + }, + "selectCollectionsToAssign": { + "message": "ஒதுக்கப்பட வேண்டிய சேகரிப்புகளைத் தேர்ந்தெடுக்கவும்" + }, + "personalItemTransferWarningSingular": { + "message": "1 பொருள் தேர்ந்தெடுக்கப்பட்ட நிறுவனத்திற்கு நிரந்தரமாக மாற்றப்படும். இந்தப் பொருள் இனி உங்களிடம் இருக்காது." + }, + "personalItemsTransferWarningPlural": { + "message": "$PERSONAL_ITEMS_COUNT$ பொருள்கள் தேர்ந்தெடுக்கப்பட்ட நிறுவனத்திற்கு நிரந்தரமாக மாற்றப்படும். இந்தப் பொருள்கள் இனி உங்களிடம் இருக்காது.", + "placeholders": { + "personal_items_count": { + "content": "$1", + "example": "2" + } + } + }, + "personalItemWithOrgTransferWarningSingular": { + "message": "1 பொருள் நிரந்தரமாக $ORG$க்கு மாற்றப்படும். இந்தப் பொருள் இனி உங்களிடம் இருக்காது.", + "placeholders": { + "org": { + "content": "$1", + "example": "Organization name" + } + } + }, + "personalItemsWithOrgTransferWarningPlural": { + "message": "$PERSONAL_ITEMS_COUNT$ பொருள்கள் நிரந்தரமாக $ORG$க்கு மாற்றப்படும். இந்தப் பொருள்கள் இனி உங்களிடம் இருக்காது.", + "placeholders": { + "personal_items_count": { + "content": "$1", + "example": "2" + }, + "org": { + "content": "$2", + "example": "Organization name" + } + } + }, + "successfullyAssignedCollections": { + "message": "சேகரிப்புகள் வெற்றிகரமாக ஒதுக்கப்பட்டன" + }, + "nothingSelected": { + "message": "நீங்கள் எதையும் தேர்ந்தெடுக்கவில்லை." + }, + "itemsMovedToOrg": { + "message": "பொருள்கள் $ORGNAME$ க்கு நகர்த்தப்பட்டன", + "placeholders": { + "orgname": { + "content": "$1", + "example": "Company Name" + } + } + }, + "itemMovedToOrg": { + "message": "பொருள் $ORGNAME$க்கு நகர்த்தப்பட்டது", + "placeholders": { + "orgname": { + "content": "$1", + "example": "Company Name" + } + } + }, + "reorderFieldDown": { + "message": "$LABEL$ கீழ்நோக்கி நகர்த்தப்பட்டது, நிலை $INDEX$ of $LENGTH$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + }, + "index": { + "content": "$2", + "example": "1" + }, + "length": { + "content": "$3", + "example": "3" + } + } + }, + "itemLocation": { + "message": "பொருளின் இருப்பிடம்" + }, + "fileSend": { + "message": "கோப்பு அனுப்பு" + }, + "fileSends": { + "message": "கோப்பு அனுப்புகள்" + }, + "textSend": { + "message": "உரை அனுப்பு" + }, + "textSends": { + "message": "உரை அனுப்புகள்" + }, + "accountActions": { + "message": "கணக்கு செயல்கள்" + }, + "showNumberOfAutofillSuggestions": { + "message": "நீட்டிப்பு ஐகானில் உள்நுழைவு தானாக நிரப்புவதற்கான பரிந்துரைகளின் எண்ணிக்கையைக் காட்டு" + }, + "accountAccessRequested": { + "message": "கணக்கு அணுகல் கோரப்பட்டது" + }, + "confirmAccessAttempt": { + "message": "$EMAIL$க்கான அணுகல் முயற்சியை உறுதிப்படுத்தவும்", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, + "showQuickCopyActions": { + "message": "சேமிப்பு பெட்டகத்தில் விரைவான நகல் செயல்களைக் காட்டு" + }, + "systemDefault": { + "message": "சிஸ்டம் இயல்புநிலை" + }, + "enterprisePolicyRequirementsApplied": { + "message": "பெருநிறுவன கொள்கை தேவைகள் இந்த அமைப்பிற்குப் பயன்படுத்தப்பட்டுள்ளன" + }, + "sshPrivateKey": { + "message": "தனிப்பட்ட விசை" + }, + "sshPublicKey": { + "message": "பொது விசை" + }, + "sshFingerprint": { + "message": "கைரேகை" + }, + "sshKeyAlgorithm": { + "message": "விசை வகை" + }, + "sshKeyAlgorithmED25519": { + "message": "ED25519" + }, + "sshKeyAlgorithmRSA2048": { + "message": "RSA 2048-பிட்" + }, + "sshKeyAlgorithmRSA3072": { + "message": "RSA 3072-பிட்" + }, + "sshKeyAlgorithmRSA4096": { + "message": "RSA 4096-பிட்" + }, + "retry": { + "message": "மீண்டும் முயற்சி செய்" + }, + "vaultCustomTimeoutMinimum": { + "message": "குறைந்தபட்ச தனிப்பயன் காலக்கெடு 1 நிமிடம் ஆகும்." + }, + "additionalContentAvailable": { + "message": "கூடுதல் உள்ளடக்கம் உள்ளது" + }, + "fileSavedToDevice": { + "message": "கோப்பு சாதனத்தில் சேமிக்கப்பட்டது. உங்கள் சாதன பதிவிறக்கங்களிலிருந்து நிர்வகிக்கவும்." + }, + "showCharacterCount": { + "message": "எழுத்து எண்ணிக்கையைக் காட்டு" + }, + "hideCharacterCount": { + "message": "எழுத்து எண்ணிக்கையை மறை" + }, + "itemsInTrash": { + "message": "குப்பையில் உள்ள பொருள்கள்" + }, + "noItemsInTrash": { + "message": "குப்பையில் பொருள்கள் இல்லை" + }, + "noItemsInTrashDesc": { + "message": "நீங்கள் நீக்கிய பொருள்கள் இங்கு தோன்றும் மற்றும் 30 நாட்களுக்குப் பிறகு நிரந்தரமாக நீக்கப்படும்" + }, + "trashWarning": { + "message": "30 நாட்களுக்கும் மேலாக குப்பையில் இருந்த பொருள்கள் தானாகவே நீக்கப்படும்" + }, + "restore": { + "message": "மீட்டெடு" + }, + "deleteForever": { + "message": "என்றென்றும் நீக்கு" + }, + "noEditPermissions": { + "message": "இந்த பொருளை திருத்த உங்களுக்கு அனுமதி இல்லை" + }, + "biometricsStatusHelptextUnlockNeeded": { + "message": "முதலில் PIN அல்லது கடவுச்சொல் திறத்தல் தேவைப்படுவதால் பயோமெட்ரிக் திறத்தல் கிடைக்கவில்லை." + }, + "biometricsStatusHelptextHardwareUnavailable": { + "message": "பயோமெட்ரிக் திறத்தல் தற்போது கிடைக்கவில்லை." + }, + "biometricsStatusHelptextAutoSetupNeeded": { + "message": "தவறாக அமைக்கப்பட்ட சிஸ்டம் கோப்புகள் காரணமாக பயோமெட்ரிக் திறத்தல் கிடைக்கவில்லை." + }, + "biometricsStatusHelptextManualSetupNeeded": { + "message": "தவறாக அமைக்கப்பட்ட சிஸ்டம் கோப்புகள் காரணமாக பயோமெட்ரிக் திறத்தல் கிடைக்கவில்லை." + }, + "biometricsStatusHelptextDesktopDisconnected": { + "message": "Bitwarden டெஸ்க்டாப் செயலி மூடப்பட்டதால் பயோமெட்ரிக் திறத்தல் கிடைக்கவில்லை." + }, + "biometricsStatusHelptextNotEnabledInDesktop": { + "message": "Bitwarden டெஸ்க்டாப் செயலியில் $EMAIL$க்கான பயோமெட்ரிக் திறத்தல் இயக்கப்படாததால் அது கிடைக்கவில்லை.", + "placeholders": { + "email": { + "content": "$1", + "example": "mail@example.com" + } + } + }, + "biometricsStatusHelptextUnavailableReasonUnknown": { + "message": "தெரியாத காரணங்களுக்காக பயோமெட்ரிக் திறத்தல் தற்போது கிடைக்கவில்லை." + }, + "unlockVault": { + "message": "உங்கள் சேமிப்பு பெட்டகத்தை நொடிகளில் திறக்கவும்" + }, + "unlockVaultDesc": { + "message": "உங்கள் சேமிப்பு பெட்டகத்தை விரைவாக அணுக உங்கள் திறத்தல் மற்றும் காலக்கெடு அமைப்புகளைத் தனிப்பயனாக்கலாம்." + }, + "unlockPinSet": { + "message": "பின் திறத்தல் அமைக்கப்பட்டது" + }, + "unlockWithBiometricSet": { + "message": "பயோமெட்ரிக்ஸுடன் திறத்தல் அமைக்கப்பட்டது" + }, + "authenticating": { + "message": "அங்கீகரிக்கிறது" + }, + "fillGeneratedPassword": { + "message": "உருவாக்கப்பட்ட கடவுச்சொல்லை நிரப்பு", + "description": "Heading for the password generator within the inline menu" + }, + "passwordRegenerated": { + "message": "கடவுச்சொல் மீண்டும் உருவாக்கப்பட்டது", + "description": "Notification message for when a password has been regenerated" + }, + "saveToBitwarden": { + "message": "Bitwarden இல் சேமி", + "description": "Confirmation message for saving a login to Bitwarden" + }, + "spaceCharacterDescriptor": { + "message": "இடைவெளி", + "description": "Represents the space key in screen reader content as a readable word" + }, + "tildeCharacterDescriptor": { + "message": "டில்ட்", + "description": "Represents the ~ key in screen reader content as a readable word" + }, + "backtickCharacterDescriptor": { + "message": "பேக்டிக்", + "description": "Represents the ` key in screen reader content as a readable word" + }, + "exclamationCharacterDescriptor": { + "message": "ஆச்சரியக்குறி", + "description": "Represents the ! key in screen reader content as a readable word" + }, + "atSignCharacterDescriptor": { + "message": "அட் சைன்", + "description": "Represents the @ key in screen reader content as a readable word" + }, + "hashSignCharacterDescriptor": { + "message": "ஹேஷ் சைன்", + "description": "Represents the # key in screen reader content as a readable word" + }, + "dollarSignCharacterDescriptor": { + "message": "டாலர் சைன்", + "description": "Represents the $ key in screen reader content as a readable word" + }, + "percentSignCharacterDescriptor": { + "message": "சதவீதக் குறி", + "description": "Represents the % key in screen reader content as a readable word" + }, + "caretCharacterDescriptor": { + "message": "கேரட்", + "description": "Represents the ^ key in screen reader content as a readable word" + }, + "ampersandCharacterDescriptor": { + "message": "ஆம்பசண்ட்", + "description": "Represents the & key in screen reader content as a readable word" + }, + "asteriskCharacterDescriptor": { + "message": "அஸ்டெரிஸ்க்", + "description": "Represents the * key in screen reader content as a readable word" + }, + "parenLeftCharacterDescriptor": { + "message": "இடது அடைப்புக்குறி", + "description": "Represents the ( key in screen reader content as a readable word" + }, + "parenRightCharacterDescriptor": { + "message": "வலது அடைப்புக்குறி", + "description": "Represents the ) key in screen reader content as a readable word" + }, + "hyphenCharacterDescriptor": { + "message": "கோடிட்ட கோடு", + "description": "Represents the _ key in screen reader content as a readable word" + }, + "underscoreCharacterDescriptor": { + "message": "ஹைபன்", + "description": "Represents the - key in screen reader content as a readable word" + }, + "plusCharacterDescriptor": { + "message": "கூட்டல்", + "description": "Represents the + key in screen reader content as a readable word" + }, + "equalsCharacterDescriptor": { + "message": "சமம்", + "description": "Represents the = key in screen reader content as a readable word" + }, + "braceLeftCharacterDescriptor": { + "message": "இடது பிரேஸ்", + "description": "Represents the { key in screen reader content as a readable word" + }, + "braceRightCharacterDescriptor": { + "message": "வலது பிரேஸ்", + "description": "Represents the } key in screen reader content as a readable word" + }, + "bracketLeftCharacterDescriptor": { + "message": "இடது பிராக்கெட்", + "description": "Represents the [ key in screen reader content as a readable word" + }, + "bracketRightCharacterDescriptor": { + "message": "வலது பிராக்கெட்", + "description": "Represents the ] key in screen reader content as a readable word" + }, + "pipeCharacterDescriptor": { + "message": "பைப்பு", + "description": "Represents the | key in screen reader content as a readable word" + }, + "backSlashCharacterDescriptor": { + "message": "பேக் ஸ்லாஷ்", + "description": "Represents the back slash key in screen reader content as a readable word" + }, + "colonCharacterDescriptor": { + "message": "கோலன்", + "description": "Represents the : key in screen reader content as a readable word" + }, + "semicolonCharacterDescriptor": { + "message": "அரைப்புள்ளி", + "description": "Represents the ; key in screen reader content as a readable word" + }, + "doubleQuoteCharacterDescriptor": { + "message": "இரட்டை மேற்கோள் குறி", + "description": "Represents the double quote key in screen reader content as a readable word" + }, + "singleQuoteCharacterDescriptor": { + "message": "ஒற்றை மேற்கோள் குறி", + "description": "Represents the ' key in screen reader content as a readable word" + }, + "lessThanCharacterDescriptor": { + "message": "குறைவான", + "description": "Represents the < key in screen reader content as a readable word" + }, + "greaterThanCharacterDescriptor": { + "message": "அதிகமான", + "description": "Represents the > key in screen reader content as a readable word" + }, + "commaCharacterDescriptor": { + "message": "கமா", + "description": "Represents the , key in screen reader content as a readable word" + }, + "periodCharacterDescriptor": { + "message": "புள்ளி", + "description": "Represents the . key in screen reader content as a readable word" + }, + "questionCharacterDescriptor": { + "message": "கேள்விக்குறி", + "description": "Represents the ? key in screen reader content as a readable word" + }, + "forwardSlashCharacterDescriptor": { + "message": "ஃபார்வர்ட் ஸ்லாஷ்", + "description": "Represents the / key in screen reader content as a readable word" + }, + "lowercaseAriaLabel": { + "message": "சிறிய எழுத்து" + }, + "uppercaseAriaLabel": { + "message": "பெரிய எழுத்து" + }, + "generatedPassword": { + "message": "உருவாக்கப்பட்ட கடவுச்சொல்" + }, + "compactMode": { + "message": "காம்பாக்ட் மோட்" + }, + "beta": { + "message": "பீட்டா" + }, + "extensionWidth": { + "message": "நீட்டிப்பு அகலம்" + }, + "wide": { + "message": "அகலமானது" + }, + "extraWide": { + "message": "அதிக அகலமானது" + }, + "sshKeyWrongPassword": { + "message": "நீங்கள் உள்ளிடப்பட்ட கடவுச்சொல் தவறானது." + }, + "importSshKey": { + "message": "இறக்குமதி" + }, + "confirmSshKeyPassword": { + "message": "கடவுச்சொல்லை உறுதிப்படுத்து" + }, + "enterSshKeyPasswordDesc": { + "message": "SSH விசையின் கடவுச்சொல்லை உள்ளிடவும்." + }, + "enterSshKeyPassword": { + "message": "கடவுச்சொல்லை உள்ளிடவும்" + }, + "invalidSshKey": { + "message": "SSH விசை செல்லாதது" + }, + "sshKeyTypeUnsupported": { + "message": "SSH விசை வகை ஆதரிக்கப்படவில்லை" + }, + "importSshKeyFromClipboard": { + "message": "கிளிப்போர்டிலிருந்து விசையை இறக்குமதி செய்" + }, + "sshKeyImported": { + "message": "SSH விசை வெற்றிகரமாக இறக்குமதி செய்யப்பட்டது" + }, + "cannotRemoveViewOnlyCollections": { + "message": "காட்சி மட்டுமே அனுமதியுடன் சேகரிப்புகளை நீங்கள் அகற்ற முடியாது: $COLLECTIONS$", + "placeholders": { + "collections": { + "content": "$1", + "example": "Work, Personal" + } + } + }, + "updateDesktopAppOrDisableFingerprintDialogTitle": { + "message": "உங்கள் டெஸ்க்டாப் செயலியைப் புதுப்பிக்கவும்" + }, + "updateDesktopAppOrDisableFingerprintDialogMessage": { + "message": "பயோமெட்ரிக் திறத்தலைப் பயன்படுத்த, உங்கள் டெஸ்க்டாப் செயலியைப் புதுப்பிக்கவும் அல்லது டெஸ்க்டாப் அமைப்புகளில் கைரேகை திறத்தலை முடக்கவும்." + }, + "changeAtRiskPassword": { + "message": "அபாயத்திலுள்ள கடவுச்சொல்லை மாற்றவும்" + }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "இந்த உள்நுழைவு ஆபத்தில் உள்ளது, மேலும் அதில் ஒரு வலைத்தளமும் இல்லை. வலுவான பாதுகாப்பிற்காக ஒரு வலைத்தளத்தைச் சேர்த்து கடவுச்சொல்லை மாற்றவும்." + }, + "missingWebsite": { + "message": "காணாமல் போன வலைத்தளம்" + }, + "settingsVaultOptions": { + "message": "சேமிப்பு பெட்டக விருப்பத்தேர்வுகள்" + }, + "emptyVaultDescription": { + "message": "சேமிப்பு பெட்டகம் உங்கள் கடவுச்சொற்களை மட்டுமல்லாமல், பாதுகாப்பான உள்நுழைவுகள், அடையாளங்கள், அட்டைகள் மற்றும் குறிப்புகளையும் இங்கு பாதுகாக்கிறது." + }, + "introCarouselLabel": { + "message": "Bitwarden க்கு நல்வரவு" + }, + "securityPrioritized": { + "message": "பாதுகாப்புக்கு முன்னுரிமை" + }, + "securityPrioritizedBody": { + "message": "உள்நுழைவுகள், அட்டைகள் மற்றும் அடையாளங்களை உங்கள் பாதுகாப்பான சேமிப்பு பெட்டகத்தில் சேமிக்கவும். Bitwarden உங்களுக்கு முக்கியமானதை பாதுகாக்க ஜீரோ-నాలெட்ஜ், எண்ட்-டு-எண்ட் என்கிரிப்ஷனைப் பயன்படுத்துகிறது." + }, + "quickLogin": { + "message": "விரைவான மற்றும் எளிதான உள்நுழைவு" + }, + "quickLoginBody": { + "message": "ஒற்றை எழுத்தைக் கூட தட்டச்சு செய்யாமல் உங்கள் கணக்குகளில் உள்நுழைய பயோமெட்ரிக் திறத்தல் மற்றும் தானாக நிரப்புதல் ஆகியவற்றை அமைக்கவும்." + }, + "secureUser": { + "message": "உங்கள் உள்நுழைவுகளை மேம்படுத்தவும்" + }, + "secureUserBody": { + "message": "உங்கள் கணக்குகள் அனைத்திற்கும் வலுவான, தனித்துவமான கடவுச்சொற்களை உருவாக்கி சேமிக்க ஜெனரேட்டரைப் பயன்படுத்தவும்." + }, + "secureDevices": { + "message": "உங்களுக்குத் தேவைப்படும்போது மற்றும் எங்கு தேவைப்படும்போது உங்கள் தரவு" + }, + "secureDevicesBody": { + "message": "Bitwarden மொபைல், உலாவி மற்றும் டெஸ்க்டாப் செயலிகளுடன் வரம்பற்ற சாதனங்களில் வரம்பற்ற கடவுச்சொற்களைச் சேமிக்கவும்." + }, + "nudgeBadgeAria": { + "message": "1 அறிவிப்பு" + }, + "emptyVaultNudgeTitle": { + "message": "ஏற்கனவே உள்ள கடவுச்சொற்களை இறக்குமதி செய்" + }, + "emptyVaultNudgeBody": { + "message": "உள்நுழைவுகளை கைமுறையாக சேர்க்காமல், அவற்றை Bitwarden க்கு விரைவாக மாற்ற இறக்குமதியாளரைப் பயன்படுத்தவும்." + }, + "emptyVaultNudgeButton": { + "message": "இப்போது இறக்குமதி செய்" + }, + "hasItemsVaultNudgeTitle": { + "message": "உங்கள் சேமிப்பு பெட்டகத்திற்கு நல்வரவு!" + }, + "hasItemsVaultNudgeBodyOne": { + "message": "தற்போதைய பக்கத்திற்கான தானாக நிரப்பு பொருள்கள்" + }, + "hasItemsVaultNudgeBodyTwo": { + "message": "எளிதாக அணுக பிடித்தமான பொருள்கள்" + }, + "hasItemsVaultNudgeBodyThree": { + "message": "வேறு ஏதாவது ஒன்றுக்காக உங்கள் சேமிப்பு பெட்டகத்தைத் தேடு" + }, + "newLoginNudgeTitle": { + "message": "தானாக நிரப்புவதன் மூலம் நேரத்தைச் சேமி" + }, + "newLoginNudgeBodyOne": { + "message": "ஒரு", + "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", + "example": "Include a Website so this login appears as an autofill suggestion." + }, + "newLoginNudgeBodyBold": { + "message": "இணையதளத்தை", + "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", + "example": "Include a Website so this login appears as an autofill suggestion." + }, + "newLoginNudgeBodyTwo": { + "message": "சேர், இதனால் இந்த உள்நுழைவு தானாக நிரப்பும் பரிந்துரையாகத் தோன்றும்.", + "description": "This is in multiple parts to allow for bold text in the middle of the sentence.", + "example": "Include a Website so this login appears as an autofill suggestion." + }, + "newCardNudgeTitle": { + "message": "தடையில்லா ஆன்லைன் செக்அவுட்" + }, + "newCardNudgeBody": { + "message": "அட்டைகளுடன், எளிதாக ஆன்லைன் பேமெண்ட் படிவங்களை பாதுகாப்பாகவும் துல்லியமாகவும் நிரப்பலாம்." + }, + "newIdentityNudgeTitle": { + "message": "கணக்குகளை உருவாக்குவதை எளிதாக்கு" + }, + "newIdentityNudgeBody": { + "message": "அடையாளங்களுடன், நீண்ட பதிவு அல்லது தொடர்பு படிவங்களை விரைவாக தானாக நிரப்பலாம்." + }, + "newNoteNudgeTitle": { + "message": "உங்கள் முக்கியமான தரவைப் பாதுகாப்பாக வைத்திரு" + }, + "newNoteNudgeBody": { + "message": "குறிப்புகளுடன், வங்கி அல்லது காப்பீடு விவரங்கள் போன்ற முக்கியமான தரவுகளைப் பாதுகாப்பாக சேமிக்கவும்." + }, + "newSshNudgeTitle": { + "message": "டெவெலப்பர்-நட்பு SSH அணுகல்" + }, + "newSshNudgeBodyOne": { + "message": "வேகமான, என்கிரிப்ட் செய்யப்பட்ட அங்கீகாரத்திற்கு உங்கள் விசைகளை சேமித்து SSH ஏஜென்டில் இணையுங்கள்.", + "description": "Two part message", + "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "newSshNudgeBodyTwo": { + "message": "SSH ஏஜென்ட் பற்றி மேலும் அறிக", + "description": "Two part message", + "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" + }, + "generatorNudgeTitle": { + "message": "விரைவாக கடவுச்சொற்களை உருவாக்கு" + }, + "generatorNudgeBodyOne": { + "message": "இந்த உருப்படியைக் கிளிக் செய்வதன் மூலம் வலுவான மற்றும் தனித்துவமான கடவுச்சொற்களை எளிதாக உருவாக்கவும்", + "description": "Two part message", + "example": "Easily create strong and unique passwords by clicking on {icon} to help you keep your logins secure." + }, + "generatorNudgeBodyTwo": { + "message": "உங்கள் உள்நுழைவுகளைப் பாதுகாப்பாக வைத்திருக்க உதவும்.", + "description": "Two part message", + "example": "Easily create strong and unique passwords by clicking on {icon} to help you keep your logins secure." + }, + "generatorNudgeBodyAria": { + "message": "உங்கள் உள்நுழைவுகளைப் பாதுகாப்பாக வைத்திருக்க கடவுச்சொல்லை உருவாக்கு பொத்தானை கிளிக் செய்வதன் மூலம் வலுவான மற்றும் தனித்துவமான கடவுச்சொற்களை எளிதாக உருவாக்கலாம்.", + "description": "Aria label for the body content of the generator nudge" + }, + "noPermissionsViewPage": { + "message": "இந்த பக்கத்தைக் காண உங்களுக்கு அனுமதிகள் இல்லை. வேறு கணக்குடன் உள்நுழைய முயற்சிக்கவும்." + }, + "wasmNotSupported": { + "message": "உங்கள் உலாவியில் WebAssembly ஆதரிக்கப்படவில்லை அல்லது இயக்கப்படவில்லை. Bitwarden செயலியைப் பயன்படுத்த WebAssembly தேவை.", + "description": "'WebAssembly' is a technical term and should not be translated." + }, + "showMore": { + "message": "மேலும் காட்டு" + }, + "showLess": { + "message": "குறைவாக காட்டு" + }, + "next": { + "message": "அடுத்து" + }, + "moreBreadcrumbs": { + "message": "மேலும் பிரெட்க்ரம்ப்கள்", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Key Connector டொமைனை உறுதிப்படுத்து" + } +} diff --git a/apps/browser/src/_locales/te/messages.json b/apps/browser/src/_locales/te/messages.json index d076ef01ef2..be0400906cc 100644 --- a/apps/browser/src/_locales/te/messages.json +++ b/apps/browser/src/_locales/te/messages.json @@ -556,6 +556,9 @@ "view": { "message": "View" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "There are no items to list." }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/th/messages.json b/apps/browser/src/_locales/th/messages.json index 2cea91a424e..d2351c8d943 100644 --- a/apps/browser/src/_locales/th/messages.json +++ b/apps/browser/src/_locales/th/messages.json @@ -556,6 +556,9 @@ "view": { "message": "แสดง" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "ไม่มีรายการ" }, @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Select a collection" }, - "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "File contains unassigned items." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Show number of login autofill suggestions on extension icon" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Show quick copy actions on Vault" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Vault options" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/tr/messages.json b/apps/browser/src/_locales/tr/messages.json index 22a083959a9..f8fd3f08945 100644 --- a/apps/browser/src/_locales/tr/messages.json +++ b/apps/browser/src/_locales/tr/messages.json @@ -398,7 +398,7 @@ "message": "Klasör adı" }, "folderHintText": { - "message": "Bir klasörü iç içe yerleştirmek için, üst klasörün adını yazdıktan sonra “/” ekleyin. Örnek: Sosyal/Forumlar" + "message": "Üst klasörün adının sonuna “/” ekleyerek klasörleri iç içe koyabilirsiniz. Örnek: Sosyal/Forumlar" }, "noFoldersAdded": { "message": "Hiç klasör eklenmedi" @@ -556,6 +556,9 @@ "view": { "message": "Görüntüle" }, + "viewLogin": { + "message": "Hesabı göster" + }, "noItemsInList": { "message": "Listelenecek kayıt yok." }, @@ -881,7 +884,7 @@ "message": "Kimlik doğrulama uygulamanızdaki kodu girin" }, "pressYourYubiKeyToAuthenticate": { - "message": "Kimlik doğrulamak için YubiKey’inize dokunun" + "message": "Kimliğinizi doğrulamak için YubiKey’inize dokunun" }, "duoTwoFactorRequiredPageSubtitle": { "message": "Hesabınız için Duo iki adımlı giriş gereklidir. Giriş işlemini tamamlamak için aşağıdaki adımları izleyin." @@ -1144,7 +1147,7 @@ "description": "Message displayed when login details are successfully updated." }, "loginUpdateTaskSuccess": { - "message": "Harika iş çıkardınız! Kendinizi ve $ORGANIZATION$’ı daha güvenli hale getirmek için gereken adımları attınız.", + "message": "Harika iş çıkardınız! Kendinizi ve $ORGANIZATION$ kuruluşunu daha güvenli hale getirmek için gereken adımları attınız.", "placeholders": { "organization": { "content": "$1" @@ -1153,7 +1156,7 @@ "description": "Shown to user after login is updated." }, "loginUpdateTaskSuccessAdditional": { - "message": "$ORGANIZATION$’ı daha güvenli hale getirdiğiniz için teşekkürler. Güncellemeniz gereken $TASK_COUNT$ adet parola daha var.", + "message": "$ORGANIZATION$ kuruluşunu daha güvenli hale getirdiğiniz için teşekkürler. Güncellemeniz gereken $TASK_COUNT$ parola daha var.", "placeholders": { "organization": { "content": "$1" @@ -2503,7 +2506,7 @@ "message": "Kart öge türleri içe aktarılamıyor" }, "restrictCardTypeImportDesc": { - "message": "A policy set by 1 or more organizations prevents you from importing cards to your vaults." + "message": "1 veya daha fazla kuruluş tarafından belirlenen bir ilke, kasalarınıza kart aktarmanızı engelliyor." }, "domainsTitle": { "message": "Alan adları", @@ -2556,7 +2559,7 @@ "message": "Riskli parolalar" }, "atRiskPasswordDescSingleOrg": { - "message": "$ORGANIZATION$, risk altında olduğu için bir parolanızı değiştirmenizi istiyor.", + "message": "$ORGANIZATION$, risk altındaki bir parolanızı değiştirmenizi istiyor.", "placeholders": { "organization": { "content": "$1", @@ -2565,7 +2568,7 @@ } }, "atRiskPasswordsDescSingleOrgPlural": { - "message": "$ORGANIZATION$, risk altında oldukları için $COUNT$ adet parolanızı değiştirmenizi istiyor.", + "message": "$ORGANIZATION$, risk altındaki $COUNT$ parolanızı değiştirmenizi istiyor.", "placeholders": { "organization": { "content": "$1", @@ -2578,7 +2581,7 @@ } }, "atRiskPasswordsDescMultiOrgPlural": { - "message": "Organizasyonlarınız, risk altında oldukları için $COUNT$ adet parolanızı değiştirmenizi istiyor.", + "message": "Kuruluşlarınız risk altındaki $COUNT$ parolanızı değiştirmenizi istiyor.", "placeholders": { "count": { "content": "$1", @@ -2587,7 +2590,7 @@ } }, "atRiskChangePrompt": { - "message": "Your password for this site is at-risk. $ORGANIZATION$ has requested that you change it.", + "message": "Bu sitedeki parolanız risk altında. $ORGANIZATION$, parolanızı değiştirmenizi talep etti.", "placeholders": { "organization": { "content": "$1", @@ -2597,7 +2600,7 @@ "description": "Notification body when a login triggers an at-risk password change request and the change password domain is known." }, "atRiskNavigatePrompt": { - "message": "$ORGANIZATION$ wants you to change this password because it is at-risk. Navigate to your account settings to change the password.", + "message": "$ORGANIZATION$, risk altındaki bu parolayı değiştirmenizi istiyor. Parolayı değiştirmek için hesap ayarlarınıza gidin.", "placeholders": { "organization": { "content": "$1", @@ -2607,10 +2610,10 @@ "description": "Notification body when a login triggers an at-risk password change request and no change password domain is provided." }, "reviewAndChangeAtRiskPassword": { - "message": "Risk altında olan bir parolayı inceleyin ve değiştirin" + "message": "Risk altındaki parolayı inceleyip değiştirin" }, "reviewAndChangeAtRiskPasswordsPlural": { - "message": "Risk altında olan $COUNT$ adet parolayı inceleyin ve değiştirin", + "message": "Risk altındaki $COUNT$ parolayı inceleyip değiştirin", "placeholders": { "count": { "content": "$1", @@ -2622,7 +2625,7 @@ "message": "Risk altındaki parolaları daha hızlı değiştirin" }, "changeAtRiskPasswordsFasterDesc": { - "message": "Ayarlarınızı güncelleyin, böylece parolalarınızı hızlıca otomatik doldurabilir ve yeni parolalar oluşturabilirsiniz" + "message": "Parolalarınızı hızlıca otomatik doldurabilmek ve yeni parolalar üretebilmek için ayarlarınızı güncelleyin" }, "reviewAtRiskLogins": { "message": "Risk altındaki hesapları inceleyin" @@ -2635,7 +2638,7 @@ "description": "Description of the review at-risk login slide on the at-risk password page carousel" }, "reviewAtRiskLoginSlideImgAltPeriod": { - "message": "Risk altında olan girişlerin bir listesinin görseli." + "message": "Risk altındaki hesap listesinin illüstrasyonu." }, "generatePasswordSlideDesc": { "message": "Risk altındaki sitede Bitwarden otomatik doldurma menüsü ile hızlıca güçlü ve benzersiz bir parola oluşturun.", @@ -3142,14 +3145,14 @@ "message": "Şifre çözme sorunu" }, "couldNotDecryptVaultItemsBelow": { - "message": "Bitwarden, aşağıda listelenen kasa öğelerinin şifresini çözemedi." + "message": "Bitwarden aşağıdaki kasa öğelerini deşifre edemedi." }, "contactCSToAvoidDataLossPart1": { - "message": "Müşteri ekibi ile başarıyla iletişime geçtin", + "message": "Müşteri hizmetleriyle iletişime geçerek", "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'" }, "contactCSToAvoidDataLossPart2": { - "message": "Ek veri kaybını önlemek için.", + "message": "daha fazla veri kaybının önüne geçebilirsiniz.", "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'" }, "generateUsername": { @@ -3173,7 +3176,7 @@ } }, "passwordLengthRecommendationHint": { - "message": "Güçlü bir parola oluşturmak için $RECOMMENDED$ veya daha fazla karakter kullanın.", + "message": " Güçlü bir parola cümlesi üretmek için en az $RECOMMENDED$ karakter kullanın.", "description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).", "placeholders": { "recommended": { @@ -3761,7 +3764,7 @@ "message": "Cihaza güvenildi" }, "trustOrganization": { - "message": "Organizasyona güven" + "message": "Kuruluşa güven" }, "trust": { "message": "Güven" @@ -3789,7 +3792,7 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendsBodyNoItems": { - "message": "Share files and data securely with anyone, on any platform. Your information will remain end-to-end encrypted while limiting exposure.", + "message": "Dosyaları ve verileri istediğiniz kişilerle, istediğiniz platformda paylaşın. Bilgileriniz başkalarının eline geçmemesi için uçtan şifrelenecektir.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "inputRequired": { @@ -3954,7 +3957,7 @@ "description": "Button text to display in overlay when the account is locked." }, "unlockAccountAria": { - "message": "Unlock your account, opens in a new window", + "message": "Hesabınızın kilidini açın, yeni bir pencerede açılır", "description": "Screen reader text (aria-label) for unlock account button in overlay" }, "totpCodeAria": { @@ -4006,7 +4009,7 @@ "description": "Button text to display within inline menu when there are no matching items on an identity field" }, "addNewIdentityItemAria": { - "message": "Add new vault identity item, opens in a new window", + "message": "Yeni kasa kimliği kayıtı ekle, yeni bir pencerede açılır", "description": "Screen reader text (aria-label) for new identity button within inline menu" }, "bitwardenOverlayMenuAvailable": { @@ -4096,7 +4099,7 @@ } }, "duoHealthCheckResultsInNullAuthUrlError": { - "message": "Error connecting with the Duo service. Use a different two-step login method or contact Duo for assistance." + "message": "Duo hizmetine bağlanırken hata oluştu. Başka bir iki aşamalı giriş yöntemi kullanın veya destek almak Duo ile iletişime geçin." }, "duoRequiredForAccount": { "message": "Hesabınız için Duo iki adımlı giriş gereklidir." @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Bir koleksiyon seçin" }, - "importTargetHint": { - "message": "İçe aktarılan dosya içeriklerinin $DESTINATION$ konumuna taşınmasını istiyorsanız bu seçeneği seçin", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "İçe aktarılan dosya içeriklerinin bir koleksiyona taşınmasını istiyorsanız bu seçeneği seçin" + }, + "importTargetHintFolder": { + "message": "İçe aktarılan dosya içeriklerinin bir klasöre taşınmasını istiyorsanız bu seçeneği seçin" }, "importUnassignedItemsError": { "message": "Dosya atanmamış öğeler içeriyor." @@ -4407,19 +4406,19 @@ "description": "Title for dialog which asks if the user wants to proceed to a relevant Help Center page" }, "confirmContinueToHelpCenterPasswordManagementContent": { - "message": "Change your browser's autofill and password management settings.", + "message": "Tarayıcınızın otomatik doldurma ve parola yönetimi ayarlarını değiştirin.", "description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser password management settings" }, "confirmContinueToHelpCenterKeyboardShortcutsContent": { - "message": "You can view and set extension shortcuts in your browser's settings.", + "message": "Tarayıcınızın ayarlarında uzantı kısayollarını görüntüleyebilir ve ayarlayabilirsiniz.", "description": "Body content for dialog which asks if the user wants to proceed to the Help Center's page about browser keyboard shortcut settings" }, "confirmContinueToBrowserPasswordManagementSettingsContent": { - "message": "Change your browser's autofill and password management settings.", + "message": "Tarayıcınızın otomatik doldurma ve parola yönetimi ayarlarını değiştirin.", "description": "Body content for dialog which asks if the user wants to proceed to the browser's password management settings page" }, "confirmContinueToBrowserKeyboardShortcutSettingsContent": { - "message": "You can view and set extension shortcuts in your browser's settings.", + "message": "Tarayıcınızın ayarlarında uzantı kısayollarını görüntüleyebilir ve ayarlayabilirsiniz.", "description": "Body content for dialog which asks if the user wants to proceed to the browser's keyboard shortcut settings page" }, "overrideDefaultBrowserAutofillTitle": { @@ -4762,7 +4761,7 @@ "message": "Premium" }, "freeOrgsCannotUseAttachments": { - "message": "Free organizations cannot use attachments" + "message": "Ücretsiz kuruluşlar dosya eklerini kullanamaz" }, "filters": { "message": "Filtreler" @@ -4915,13 +4914,13 @@ "message": "Ata" }, "bulkCollectionAssignmentDialogDescriptionSingular": { - "message": "Only organization members with access to these collections will be able to see the item." + "message": "Yalnızca bu koleksiyonlara erişimi olan kuruluş üyeleri kayıtı görebilecektir." }, "bulkCollectionAssignmentDialogDescriptionPlural": { - "message": "Only organization members with access to these collections will be able to see the items." + "message": "Yalnızca bu koleksiyonlara erişimi olan kuruluş üyeleri kayıtları görebilecektir." }, "bulkCollectionAssignmentWarning": { - "message": "You have selected $TOTAL_COUNT$ items. You cannot update $READONLY_COUNT$ of the items because you do not have edit permissions.", + "message": "$TOTAL_COUNT$ kayıt seçtiniz. Düzenleme izniniz olmadığı için $READONLY_COUNT$ kayıtı güncelleyemezsiniz.", "placeholders": { "total_count": { "content": "$1", @@ -4954,10 +4953,10 @@ "message": "Formlardaki onay kutularını (örn. \"e-posta adresimi hatırla\") otomatik doldurmak isterseniz onay kutularını kullanın" }, "linkedHelpText": { - "message": "Use a linked field when you are experiencing autofill issues for a specific website." + "message": "Belirli bir web sitesi için otomatik doldurma sorunları yaşıyorsanız bağlantılı bir alan kullanın." }, "linkedLabelHelpText": { - "message": "Enter the the field's html id, name, aria-label, or placeholder." + "message": "Alanın html kimliğini (id), adını (name), aria-label etiketini veya yer tutucusunu (placeholder) girin." }, "editField": { "message": "Alanı düzenle" @@ -5019,13 +5018,13 @@ } }, "selectCollectionsToAssign": { - "message": "Select collections to assign" + "message": "Atanacak koleksiyonları seçin" }, "personalItemTransferWarningSingular": { - "message": "1 item will be permanently transferred to the selected organization. You will no longer own this item." + "message": "1 kayıt kalıcı olarak seçilen kuruluşa aktarılacaktır. Artık bu kayıta sahip olmayacaksınız." }, "personalItemsTransferWarningPlural": { - "message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to the selected organization. You will no longer own these items.", + "message": "$PERSONAL_ITEMS_COUNT$ kayıt kalıcı olarak seçilen kuruluşa aktarılacaktır. Artık bu kayıtlara sahip olmayacaksınız.", "placeholders": { "personal_items_count": { "content": "$1", @@ -5034,7 +5033,7 @@ } }, "personalItemWithOrgTransferWarningSingular": { - "message": "1 item will be permanently transferred to $ORG$. You will no longer own this item.", + "message": "1 kayıt kalıcı olarak $ORG$ kuruluşuna aktarılacaktır. Artık bu kayda sahip olmayacaksınız.", "placeholders": { "org": { "content": "$1", @@ -5043,7 +5042,7 @@ } }, "personalItemsWithOrgTransferWarningPlural": { - "message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to $ORG$. You will no longer own these items.", + "message": "$PERSONAL_ITEMS_COUNT$ kayıt kalıcı olarak $ORG$ kuruluşuna aktarılacaktır. Artık bu kayıtlara sahip olmayacaksınız.", "placeholders": { "personal_items_count": { "content": "$1", @@ -5056,7 +5055,7 @@ } }, "successfullyAssignedCollections": { - "message": "Successfully assigned collections" + "message": "Başarıyla atanan koleksiyonlar" }, "nothingSelected": { "message": "Hiçbir şey seçmediniz." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Otomatik öneri sayısını uzantı simgesinde göster" }, + "accountAccessRequested": { + "message": "Hesap erişimi istendi" + }, + "confirmAccessAttempt": { + "message": "$EMAIL$ erişimini onayla", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Kasada hızlı kopyalama komutlarını göster" }, @@ -5202,7 +5213,7 @@ "message": "Biyometrik kilit açma, yanlış yapılandırılmış sistem dosyaları nedeniyle kullanılamıyor." }, "biometricsStatusHelptextDesktopDisconnected": { - "message": "Bitwarden masaüstü uygulaması kapalı olduğu için biyometrik kilit açılamıyor." + "message": "Bitwarden masaüstü uygulaması kapalı olduğu için biyometrik kilit açma kullanılamıyor." }, "biometricsStatusHelptextNotEnabledInDesktop": { "message": "Biyometrik kilit açma, Bitwarden masaüstü uygulamasında $EMAIL$ etkin olmadığı için kullanılamıyor.", @@ -5223,10 +5234,10 @@ "message": "Kasanıza daha hızlı ulaşmak için kilit açma ve zaman aşımı ayarlarınızı özelleştirebilirsiniz." }, "unlockPinSet": { - "message": "Unlock PIN set" + "message": "Kilit açma PIN seti" }, "unlockWithBiometricSet": { - "message": "Unlock with biometrics set" + "message": "Biyometrik set ile kilidi aç" }, "authenticating": { "message": "Kimlik doğrulanıyor" @@ -5415,19 +5426,19 @@ "message": "Parolayı girin" }, "invalidSshKey": { - "message": "The SSH key is invalid" + "message": "SSH anahtarı geçersiz" }, "sshKeyTypeUnsupported": { - "message": "The SSH key type is not supported" + "message": "SSH anahtar türü desteklenmiyor" }, "importSshKeyFromClipboard": { - "message": "Import key from clipboard" + "message": "Anahtarı panodan içe aktar" }, "sshKeyImported": { - "message": "SSH key imported successfully" + "message": "SSH anahtarı başarıyla içe aktarıldı" }, "cannotRemoveViewOnlyCollections": { - "message": "You cannot remove collections with View only permissions: $COLLECTIONS$", + "message": "Yalnızca Görüntüleme izinlerine sahip koleksiyonları kaldıramazsınız: $COLLECTIONS$", "placeholders": { "collections": { "content": "$1", @@ -5439,10 +5450,16 @@ "message": "Lütfen masaüstü uygulamanızı güncelleyin" }, "updateDesktopAppOrDisableFingerprintDialogMessage": { - "message": "To use biometric unlock, please update your desktop application, or disable fingerprint unlock in the desktop settings." + "message": "Biyometri ile kilidi açmayı kullanmak için lütfen masaüstü uygulamanızı güncelleyin veya masaüstü ayarlarında parmak izi ile kilidi açmayı devre dışı bırakın." }, "changeAtRiskPassword": { - "message": "Change at-risk password" + "message": "Risk altındaki parolayı değiştirin" + }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "Bu hesap risk altında ve web sitesi eksik. Bir web sitesi ekleyin ve güvenliğinizi artırmak için parolayı değiştirin." + }, + "missingWebsite": { + "message": "Web sitesi eksik" }, "settingsVaultOptions": { "message": "Kasa seçenekleri" @@ -5484,7 +5501,7 @@ "message": "Mevcut parolaları içe aktar" }, "emptyVaultNudgeBody": { - "message": "Use the importer to quickly transfer logins to Bitwarden without manually adding them." + "message": "Hesapları manuel olarak eklemeden Bitwarden'a hızlı bir şekilde aktarmak için içe aktarıcıyı kullanın." }, "emptyVaultNudgeButton": { "message": "Şimdi içe aktar" @@ -5493,13 +5510,13 @@ "message": "Kasanıza hoş geldiniz!" }, "hasItemsVaultNudgeBodyOne": { - "message": "Autofill items for the current page" + "message": "Geçerli sayfada kayıtları otomatik doldurun" }, "hasItemsVaultNudgeBodyTwo": { - "message": "Favorite items for easy access" + "message": "Kolay erişim için hesapları favorilere ekleyin" }, "hasItemsVaultNudgeBodyThree": { - "message": "Search your vault for something else" + "message": "Kasanızda istediğiniz şeyi arayın" }, "newLoginNudgeTitle": { "message": "Otomatik doldurmayla zaman kazanın" @@ -5523,22 +5540,22 @@ "message": "Kesintisiz çevrimiçi alışveriş" }, "newCardNudgeBody": { - "message": "With cards, easily autofill payment forms securely and accurately." + "message": "Kartlarla, ödeme formlarını güvenli ve doğru bir şekilde kolayca otomatik doldurun." }, "newIdentityNudgeTitle": { "message": "Hesap oluşturmak artık daha basit" }, "newIdentityNudgeBody": { - "message": "With identities, quickly autofill long registration or contact forms." + "message": "Kimlikler ile uzun kayıt veya iletişim formlarını hızla otomatik doldurun." }, "newNoteNudgeTitle": { "message": "Hassas verilerinizi güvende tutun" }, "newNoteNudgeBody": { - "message": "With notes, securely store sensitive data like banking or insurance details." + "message": "Notlarla, bankacılık veya sigorta bilgileri gibi hassas verileri güvenli bir şekilde saklayın." }, "newSshNudgeTitle": { - "message": "Developer-friendly SSH access" + "message": "Geliştirici dostu SSH erişimi" }, "newSshNudgeBodyOne": { "message": "Anahtarlarınızı saklayın ve hızlı, şifreli kimlik doğrulama için SSH aracısıyla bağlantı kurun.", @@ -5551,7 +5568,7 @@ "example": "Store your keys and connect with the SSH agent for fast, encrypted authentication. Learn more about SSH agent" }, "generatorNudgeTitle": { - "message": "Hızlı bir şekilde parolalar oluşturun" + "message": "Hızlıca parola oluşturun" }, "generatorNudgeBodyOne": { "message": "Tıklayarak güçlü ve benzersiz parolaları kolayca oluşturun", @@ -5559,7 +5576,7 @@ "example": "Easily create strong and unique passwords by clicking on {icon} to help you keep your logins secure." }, "generatorNudgeBodyTwo": { - "message": "to help you keep your logins secure.", + "message": "hesaplarınızı güvende tutmanıza yardımcı olmak için.", "description": "Two part message", "example": "Easily create strong and unique passwords by clicking on {icon} to help you keep your logins secure." }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Daha az göster" + }, + "next": { + "message": "İleri" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Key Connector alan adını doğrulayın" } } diff --git a/apps/browser/src/_locales/uk/messages.json b/apps/browser/src/_locales/uk/messages.json index 537a9bfd5cf..7da89bc0f6a 100644 --- a/apps/browser/src/_locales/uk/messages.json +++ b/apps/browser/src/_locales/uk/messages.json @@ -556,6 +556,9 @@ "view": { "message": "Переглянути" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Немає записів." }, @@ -1761,13 +1764,13 @@ "message": "Цей браузер не може обробити U2F запити в цьому виринаючому вікні. Хочете відкрити його у новому вікні, щоб ви змогли увійти з використанням U2F?" }, "enableFavicon": { - "message": "Показувати піктограми вебсайтів" + "message": "Show website icons" }, "faviconDesc": { - "message": "Показувати зображення біля кожного запису." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Показувати зображення поруч з кожним записом. Застосовується для всіх облікових записів, до яких виконано вхід." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Показувати лічильник" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Вибрати збірку" }, - "importTargetHint": { - "message": "Оберіть цю опцію, якщо ви хочете, щоб вміст імпортованого файлу було збережено в $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Оберіть цю опцію, якщо ви хочете, щоб вміст імпортованого файлу було збережено до збірки" + }, + "importTargetHintFolder": { + "message": "Оберіть цю опцію, якщо ви хочете, щоб вміст імпортованого файлу було збережено до теки" }, "importUnassignedItemsError": { "message": "Файл містить непризначені записи." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Показувати кількість пропозицій автозаповнення на піктограмі розширення" }, + "accountAccessRequested": { + "message": "Запитано доступ до облікового запису" + }, + "confirmAccessAttempt": { + "message": "Підтвердити спробу доступу для $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Показати дії швидкого копіювання у сховищі" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Змінити ризикований пароль" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Параметри сховища" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Згорнути" + }, + "next": { + "message": "Далі" + }, + "moreBreadcrumbs": { + "message": "Інші елементи", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/_locales/vi/messages.json b/apps/browser/src/_locales/vi/messages.json index 7a596d7c23d..e5121753adc 100644 --- a/apps/browser/src/_locales/vi/messages.json +++ b/apps/browser/src/_locales/vi/messages.json @@ -216,7 +216,7 @@ "description": "Aria label for the heading displayed the inline menu for totp code autofill" }, "generatePasswordCopied": { - "message": "Tạo mật khẩu (đã sao chép)" + "message": "Tạo mật khẩu (cũng sao chép)" }, "copyElementIdentifier": { "message": "Sao chép tên trường tùy chỉnh" @@ -556,6 +556,9 @@ "view": { "message": "Xem" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "Không có mục nào để liệt kê." }, @@ -1761,13 +1764,13 @@ "message": "Trình duyệt này không thể xử lý các yêu cầu U2F trong cửa sổ popup này. Bạn có muốn mở popup này trong cửa sổ mới để bạn có thể đăng nhập thông qua U2F?" }, "enableFavicon": { - "message": "Hiển thị biểu tượng trang web" + "message": "Show website icons" }, "faviconDesc": { - "message": "Hiển thị một ảnh nhận dạng bên cạnh mỗi lần đăng nhập." + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "Hiển thị một biểu tượng dễ nhận dạng bên cạnh mỗi mục đăng nhập. Áp dụng với mọi tài khoản đăng nhập trên thiết bị." + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "Hiển thị biểu tượng bộ đếm" @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "Chọn bộ sưu tập" }, - "importTargetHint": { - "message": "Chọn tùy chọn này nếu bạn muốn nội dung của tệp đã nhập được di chuyển đến $DESTINATION$", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Chọn tùy chọn này nếu bạn muốn nội dung tệp đã nhập được chuyển vào một bộ sưu tập" + }, + "importTargetHintFolder": { + "message": "Chọn tùy chọn này nếu bạn muốn nội dung tệp đã nhập được chuyển vào một thư mục" }, "importUnassignedItemsError": { "message": "Tập tin chứa các mục không xác định." @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "Hiển thị số lượng đề xuất tự động điền đăng nhập trên biểu tượng tiện ích mở rộng" }, + "accountAccessRequested": { + "message": "Yêu cầu truy cập tài khoản" + }, + "confirmAccessAttempt": { + "message": "Phê duyệt yêu cầu truy cập cho $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "Hiển thị các hành động sao chép nhanh trên Kho" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "Thay đổi mật khẩu có rủi ro" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { "message": "Tùy chọn kho" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Thu gọn" + }, + "next": { + "message": "Tiếp theo" + }, + "moreBreadcrumbs": { + "message": "Thêm mục điều hướng", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Xác nhận tên miền Key Connector" } } diff --git a/apps/browser/src/_locales/zh_CN/messages.json b/apps/browser/src/_locales/zh_CN/messages.json index fff87a949ce..23d20abd4f9 100644 --- a/apps/browser/src/_locales/zh_CN/messages.json +++ b/apps/browser/src/_locales/zh_CN/messages.json @@ -341,10 +341,10 @@ "message": "Bitwarden 商业版" }, "bitwardenAuthenticator": { - "message": "Bitwarden 验证器" + "message": "Bitwarden Authenticator" }, "continueToAuthenticatorPageDesc": { - "message": "您可以使用 Bitwarden 验证器存储验证器密钥,并为两步验证流程生成 TOTP 代码。访问 bitwarden.com 网站了解更多信息。" + "message": "Bitwarden Authenticator 允许您存储验证器密钥以及为两步验证流程生成 TOTP 代码。访问 bitwarden.com 网站了解更多信息" }, "bitwardenSecretsManager": { "message": "Bitwarden 机密管理器" @@ -556,6 +556,9 @@ "view": { "message": "查看" }, + "viewLogin": { + "message": "查看登录" + }, "noItemsInList": { "message": "没有可列出的项目。" }, @@ -1532,7 +1535,7 @@ "message": "验证器 App" }, "authenticatorAppDescV2": { - "message": "输入验证器 App(例如 Bitwarden 验证器)生成的代码。", + "message": "输入验证器 App(例如 Bitwarden Authenticator)生成的代码。", "description": "'Bitwarden Authenticator' is a product name and should not be translated." }, "yubiKeyTitleV2": { @@ -1833,7 +1836,7 @@ "message": "安全码" }, "cardNumber": { - "message": "card number" + "message": "卡号" }, "ex": { "message": "例如" @@ -3019,7 +3022,7 @@ } }, "vaultTimeoutPolicyMaximumError": { - "message": "超时时间超出了您组织设置的此限制:最多 $HOURS$ 小时 $MINUTES$ 分钟", + "message": "超时时间超出了您组织设置的限制:最多 $HOURS$ 小时 $MINUTES$ 分钟", "placeholders": { "hours": { "content": "$1", @@ -3467,7 +3470,7 @@ "message": "请求已发送" }, "loginRequestApprovedForEmailOnDevice": { - "message": "Login request approved for $EMAIL$ on $DEVICE$", + "message": "已批准 $EMAIL$ 在 $DEVICE$ 上的登录请求", "placeholders": { "email": { "content": "$1", @@ -3558,7 +3561,7 @@ "message": "自动填充键盘快捷键" }, "autofillLoginShortcutNotSet": { - "message": "未设置自动填充登录快捷键。请在浏览器设置中更改它。" + "message": "自动填充登录快捷键未设置。请在浏览器设置中更改它。" }, "autofillLoginShortcutText": { "message": "自动填充登录快捷键是 $COMMAND$。请在浏览器设置中管理所有快捷键。", @@ -3585,13 +3588,13 @@ "message": "记住此设备以便将来无缝登录" }, "manageDevices": { - "message": "Manage devices" + "message": "管理设备" }, "currentSession": { "message": "当前会话" }, "mobile": { - "message": "移动端", + "message": "移动", "description": "Mobile app" }, "extension": { @@ -3599,7 +3602,7 @@ "description": "Browser extension/addon" }, "desktop": { - "message": "桌面端", + "message": "桌面", "description": "Desktop app" }, "webVault": { @@ -3619,19 +3622,19 @@ "message": "请求待处理" }, "firstLogin": { - "message": "First login" + "message": "首次登录" }, "trusted": { - "message": "Trusted" + "message": "已信任" }, "needsApproval": { - "message": "Needs approval" + "message": "需要批准" }, "devices": { - "message": "Devices" + "message": "设备" }, "accessAttemptBy": { - "message": "Access attempt by $EMAIL$", + "message": "$EMAIL$ 的访问尝试", "placeholders": { "email": { "content": "$1", @@ -3640,19 +3643,19 @@ } }, "confirmAccess": { - "message": "Confirm access" + "message": "确认访问" }, "denyAccess": { - "message": "Deny access" + "message": "拒绝访问" }, "time": { - "message": "Time" + "message": "时间" }, "deviceType": { - "message": "Device Type" + "message": "设备类型" }, "loginRequest": { - "message": "Login request" + "message": "登录请求" }, "thisRequestIsNoLongerValid": { "message": "此请求已失效。" @@ -3661,7 +3664,7 @@ "message": "登录请求已过期。" }, "justNow": { - "message": "Just now" + "message": "刚刚" }, "requestedXMinutesAgo": { "message": "请求于 $MINUTES$ 分钟前", @@ -3697,7 +3700,7 @@ "message": "无法完成登录" }, "loginOnTrustedDeviceOrAskAdminToAssignPassword": { - "message": "You need to log in on a trusted device or ask your administrator to assign you a password." + "message": "您需要在某个受信任的设备上登录,或要求管理员为您分配一个密码。" }, "ssoIdentifierRequired": { "message": "必须填写组织 SSO 标识符。" @@ -3802,7 +3805,7 @@ "message": "搜索" }, "inputMinLength": { - "message": "输入长度不能低于 $COUNT$ 个字符。", + "message": "输入长度必须至少为 $COUNT$ 个字符。", "placeholders": { "count": { "content": "$1", @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "选择一个集合" }, - "importTargetHint": { - "message": "如果您希望将导入的文件内容移动到某个 $DESTINATION$,请选择此选项", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "如果希望将导入的文件内容移动到集合中,请选择此选项" + }, + "importTargetHintFolder": { + "message": "如果希望将导入的文件内容移动到文件夹中,请选择此选项" }, "importUnassignedItemsError": { "message": "文件包含未分配项目。" @@ -4379,15 +4378,15 @@ "description": "Label indicating the most common import formats" }, "uriMatchDefaultStrategyHint": { - "message": "URI match detection is how Bitwarden identifies autofill suggestions.", + "message": "Bitwarden 根据 URI 匹配检测来识别自动填充建议。", "description": "Explains to the user that URI match detection determines how Bitwarden suggests autofill options, and clarifies that this default strategy applies when no specific match detection is set for a login item." }, "regExAdvancedOptionWarning": { - "message": "\"Regular expression\" is an advanced option with increased risk of exposing credentials.", + "message": "「正则表达方式」是一种高级选项,会增加暴露凭据的风险。", "description": "Content for dialog which warns a user when selecting 'regular expression' matching strategy as a cipher match strategy" }, "startsWithAdvancedOptionWarning": { - "message": "\"Starts with\" is an advanced option with increased risk of exposing credentials.", + "message": "「开始于」是一种高级选项,会增加暴露凭据的风险。", "description": "Content for dialog which warns a user when selecting 'starts with' matching strategy as a cipher match strategy" }, "uriMatchWarningDialogLink": { @@ -4582,7 +4581,7 @@ } }, "copyFieldCipherName": { - "message": "Copy $FIELD$, $CIPHERNAME$", + "message": "复制 $CIPHERNAME$ 的 $FIELD$", "description": "Title for a button that copies a field value to the clipboard.", "placeholders": { "field": { @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "在扩展图标上显示自动填充建议的登录数量" }, + "accountAccessRequested": { + "message": "已请求账户访问权限" + }, + "confirmAccessAttempt": { + "message": "确认 $EMAIL$ 的访问尝试", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "在密码库上显示快速复制操作" }, @@ -5444,6 +5455,12 @@ "changeAtRiskPassword": { "message": "更改有风险的密码" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "此登录存在风险且缺少网站。请添加一个网站并更改密码以增强安全性。" + }, + "missingWebsite": { + "message": "缺少网站" + }, "settingsVaultOptions": { "message": "密码库选项" }, @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "显示更少" + }, + "next": { + "message": "下一步" + }, + "moreBreadcrumbs": { + "message": "更多导航项", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "确认 Key Connector 域名" } } diff --git a/apps/browser/src/_locales/zh_TW/messages.json b/apps/browser/src/_locales/zh_TW/messages.json index e8873d74e92..dddc938b071 100644 --- a/apps/browser/src/_locales/zh_TW/messages.json +++ b/apps/browser/src/_locales/zh_TW/messages.json @@ -548,7 +548,7 @@ "message": "搜尋密碼庫" }, "resetSearch": { - "message": "Reset search" + "message": "重設搜尋" }, "edit": { "message": "編輯" @@ -556,6 +556,9 @@ "view": { "message": "檢視" }, + "viewLogin": { + "message": "View login" + }, "noItemsInList": { "message": "沒有可列出的項目。" }, @@ -659,7 +662,7 @@ "message": "您的瀏覽器不支援剪貼簿簡單複製,請手動複製。" }, "verifyYourIdentity": { - "message": "Verify your identity" + "message": "驗證您的身份" }, "weDontRecognizeThisDevice": { "message": "我們無法識別此裝置。請輸入已傳送到您電子郵件的驗證碼以驗證您的身分。" @@ -914,7 +917,7 @@ "message": "否" }, "location": { - "message": "Location" + "message": "位置" }, "unexpectedError": { "message": "發生了未預期的錯誤。" @@ -1096,11 +1099,11 @@ } }, "notificationLoginSaveConfirmation": { - "message": "saved to Bitwarden.", + "message": "已儲存至 Bitwarden。", "description": "Shown to user after item is saved." }, "notificationLoginUpdatedConfirmation": { - "message": "updated in Bitwarden.", + "message": "已更新至 Bitwarden。", "description": "Shown to user after item is updated." }, "selectItemAriaLabel": { @@ -1120,7 +1123,7 @@ "description": "Button text for saving login details as a new entry." }, "updateLoginAction": { - "message": "Update login", + "message": "更新登入資料", "description": "Button text for updating an existing login entry." }, "unlockToSave": { @@ -1128,7 +1131,7 @@ "description": "User prompt to take action in order to save the login they just entered." }, "saveLogin": { - "message": "Save login", + "message": "儲存登入資料", "description": "Prompt asking the user if they want to save their login details." }, "updateLogin": { @@ -1486,11 +1489,11 @@ "message": "Don't ask again on this device for 30 days" }, "selectAnotherMethod": { - "message": "Select another method", + "message": "選擇其他方式", "description": "Select another two-step login method" }, "useYourRecoveryCode": { - "message": "Use your recovery code" + "message": "使用您的復原碼" }, "insertU2f": { "message": "將您的安全鑰匙插入電腦的 USB 連接埠,然後觸摸其按鈕(如有的話)。" @@ -1624,7 +1627,7 @@ } }, "turnOffAutofill": { - "message": "Turn off autofill" + "message": "停用自動填入" }, "showInlineMenuLabel": { "message": "在表單欄位上顯示自動填入選單" @@ -1761,13 +1764,13 @@ "message": "此瀏覽器不能在彈出式視窗中處理 U2F 要求。是否在新視窗開啟此對話方塊,以便您能夠使用 U2F 登入?" }, "enableFavicon": { - "message": "顯示網站圖示" + "message": "Show website icons" }, "faviconDesc": { - "message": "在每個登入資料旁顯示一個可辨識的圖片。" + "message": "Show a recognizable image next to each login." }, "faviconDescAlt": { - "message": "在每次登入時旁邊顯示可識別的圖片。適用於所有已登入的帳號。" + "message": "Show a recognizable image next to each login. Applies to all logged in accounts." }, "enableBadgeCounter": { "message": "顯示圖示計數器" @@ -2237,7 +2240,7 @@ "description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'" }, "vaultCustomization": { - "message": "Vault customization" + "message": "密碼庫自訂" }, "vaultTimeoutAction": { "message": "密碼庫逾時動作" @@ -2534,7 +2537,7 @@ "message": "您可以於設定中進行更改" }, "change": { - "message": "Change" + "message": "變更" }, "changePassword": { "message": "Change password", @@ -4131,15 +4134,11 @@ "selectImportCollection": { "message": "選擇一個分類" }, - "importTargetHint": { - "message": "如果您要將匯入檔案的內容移動到 $DESTINATION$,請選擇此選項", - "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", - "placeholders": { - "destination": { - "content": "$1", - "example": "folder or collection" - } - } + "importTargetHintCollection": { + "message": "Select this option if you want the imported file contents moved to a collection" + }, + "importTargetHintFolder": { + "message": "Select this option if you want the imported file contents moved to a folder" }, "importUnassignedItemsError": { "message": "檔案包含未指派項目。" @@ -4236,7 +4235,7 @@ "message": "密碼金鑰項目" }, "overwritePasskey": { - "message": "覆寫密碼金鑰嗎?" + "message": "要覆寫密碼金鑰嗎?" }, "overwritePasskeyAlert": { "message": "該項目已包含密碼金鑰。您確定要覆寫目前的密碼金鑰嗎?" @@ -4729,10 +4728,10 @@ } }, "downloadBitwarden": { - "message": "Download Bitwarden" + "message": "下載 Bitwarden" }, "downloadBitwardenOnAllDevices": { - "message": "Download Bitwarden on all devices" + "message": "在所有裝置中下載 Bitwarden" }, "getTheMobileApp": { "message": "Get the mobile app" @@ -4747,13 +4746,13 @@ "message": "Access your vault without a browser, then set up unlock with biometrics to expedite unlocking in both the desktop app and browser extension." }, "downloadFromBitwardenNow": { - "message": "Download from bitwarden.com now" + "message": "立即從 bitwarden.com 下載" }, "getItOnGooglePlay": { "message": "Get it on Google Play" }, "downloadOnTheAppStore": { - "message": "Download on the App Store" + "message": "從 App Store 下載" }, "permanentlyDeleteAttachmentConfirmation": { "message": "您確定要永久刪除此附檔嗎?" @@ -5117,6 +5116,18 @@ "showNumberOfAutofillSuggestions": { "message": "在擴充套件圖示上顯示自動填入建議的數量" }, + "accountAccessRequested": { + "message": "Account access requested" + }, + "confirmAccessAttempt": { + "message": "Confirm access attempt for $EMAIL$", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + } + } + }, "showQuickCopyActions": { "message": "在密碼庫中顯示快速複製" }, @@ -5160,7 +5171,7 @@ "message": "以及更多內容" }, "fileSavedToDevice": { - "message": "檔案已儲存到裝置。在您的裝置上管理下載檔案。" + "message": "檔案已儲存至裝置。在您的裝置中管理下載的檔案。" }, "showCharacterCount": { "message": "顯示字元數" @@ -5444,8 +5455,14 @@ "changeAtRiskPassword": { "message": "Change at-risk password" }, + "changeAtRiskPasswordAndAddWebsite": { + "message": "This login is at-risk and missing a website. Add a website and change the password for stronger security." + }, + "missingWebsite": { + "message": "Missing website" + }, "settingsVaultOptions": { - "message": "Vault options" + "message": "密碼庫選項" }, "emptyVaultDescription": { "message": "The vault protects more than just your passwords. Store secure logins, IDs, cards and notes securely here." @@ -5579,5 +5596,15 @@ }, "showLess": { "message": "Show less" + }, + "next": { + "message": "Next" + }, + "moreBreadcrumbs": { + "message": "More breadcrumbs", + "description": "This is used in the context of a breadcrumb navigation, indicating that there are more items in the breadcrumb trail that are not currently displayed." + }, + "confirmKeyConnectorDomain": { + "message": "Confirm Key Connector domain" } } diff --git a/apps/browser/src/auth/popup/settings/account-security.component.spec.ts b/apps/browser/src/auth/popup/settings/account-security.component.spec.ts index 014f2a7638b..63666440a76 100644 --- a/apps/browser/src/auth/popup/settings/account-security.component.spec.ts +++ b/apps/browser/src/auth/popup/settings/account-security.component.spec.ts @@ -24,7 +24,6 @@ import { EnvironmentService } from "@bitwarden/common/platform/abstractions/envi import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; -import { StateService } from "@bitwarden/common/platform/abstractions/state.service"; import { ValidationService } from "@bitwarden/common/platform/abstractions/validation.service"; import { MessageSender } from "@bitwarden/common/platform/messaging"; import { Utils } from "@bitwarden/common/platform/misc/utils"; @@ -79,7 +78,6 @@ describe("AccountSecurityComponent", () => { { provide: PlatformUtilsService, useValue: platformUtilsService }, { provide: PolicyService, useValue: policyService }, { provide: PopupRouterCacheService, useValue: mock() }, - { provide: StateService, useValue: mock() }, { provide: ToastService, useValue: mock() }, { provide: UserVerificationService, useValue: mock() }, { provide: VaultTimeoutService, useValue: mock() }, diff --git a/apps/browser/src/auth/popup/settings/account-security.component.ts b/apps/browser/src/auth/popup/settings/account-security.component.ts index b41cfe14c4f..72a389ecf71 100644 --- a/apps/browser/src/auth/popup/settings/account-security.component.ts +++ b/apps/browser/src/auth/popup/settings/account-security.component.ts @@ -44,9 +44,9 @@ import { import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; +import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service"; import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; -import { StateService } from "@bitwarden/common/platform/abstractions/state.service"; import { ValidationService } from "@bitwarden/common/platform/abstractions/validation.service"; import { DialogRef, @@ -149,7 +149,6 @@ export class AccountSecurityComponent implements OnInit, OnDestroy { public messagingService: MessagingService, private environmentService: EnvironmentService, private keyService: KeyService, - private stateService: StateService, private userVerificationService: UserVerificationService, private dialogService: DialogService, private changeDetectorRef: ChangeDetectorRef, @@ -159,6 +158,7 @@ export class AccountSecurityComponent implements OnInit, OnDestroy { private vaultNudgesService: NudgesService, private validationService: ValidationService, private configService: ConfigService, + private logService: LogService, ) {} async ngOnInit() { @@ -683,10 +683,16 @@ export class AccountSecurityComponent implements OnInit, OnDestroy { } async openAcctFingerprintDialog() { - const activeUserId = await firstValueFrom( - this.accountService.activeAccount$.pipe(map((a) => a?.id)), - ); + const activeUserId = await firstValueFrom(getUserId(this.accountService.activeAccount$)); const publicKey = await firstValueFrom(this.keyService.userPublicKey$(activeUserId)); + if (publicKey == null) { + this.logService.error( + "[AccountSecurityComponent] No public key available for the user: " + + activeUserId + + " fingerprint can't be displayed.", + ); + return; + } const fingerprint = await this.keyService.getFingerprint(activeUserId, publicKey); const dialogRef = FingerprintDialogComponent.open(this.dialogService, { diff --git a/apps/browser/src/autofill/overlay/inline-menu/abstractions/autofill-inline-menu-content.service.ts b/apps/browser/src/autofill/overlay/inline-menu/abstractions/autofill-inline-menu-content.service.ts index dc5a756250b..31bb37c908e 100644 --- a/apps/browser/src/autofill/overlay/inline-menu/abstractions/autofill-inline-menu-content.service.ts +++ b/apps/browser/src/autofill/overlay/inline-menu/abstractions/autofill-inline-menu-content.service.ts @@ -9,5 +9,8 @@ export type InlineMenuExtensionMessageHandlers = { export interface AutofillInlineMenuContentService { messageHandlers: InlineMenuExtensionMessageHandlers; isElementInlineMenu(element: HTMLElement): boolean; + getOwnedTagNames: () => string[]; + getUnownedTopLayerItems: (includeCandidates?: boolean) => NodeListOf; + refreshTopLayerPosition: () => void; destroy(): void; } diff --git a/apps/browser/src/autofill/overlay/inline-menu/content/autofill-inline-menu-content.service.spec.ts b/apps/browser/src/autofill/overlay/inline-menu/content/autofill-inline-menu-content.service.spec.ts index 62f9dbec824..f1a74556b24 100644 --- a/apps/browser/src/autofill/overlay/inline-menu/content/autofill-inline-menu-content.service.spec.ts +++ b/apps/browser/src/autofill/overlay/inline-menu/content/autofill-inline-menu-content.service.spec.ts @@ -41,6 +41,7 @@ describe("AutofillInlineMenuContentService", () => { autofillInlineMenuContentService as any, "sendExtensionMessage", ); + jest.spyOn(autofillInlineMenuContentService as any, "getPageIsOpaque"); }); afterEach(() => { @@ -389,27 +390,28 @@ describe("AutofillInlineMenuContentService", () => { it("closes the inline menu if the page body is not sufficiently opaque", async () => { document.querySelector("html").style.opacity = "0.9"; document.body.style.opacity = "0"; - autofillInlineMenuContentService["handlePageMutations"]([mockBodyMutationRecord]); + await autofillInlineMenuContentService["handlePageMutations"]([mockBodyMutationRecord]); - expect(autofillInlineMenuContentService["pageIsOpaque"]).toBe(false); + expect(autofillInlineMenuContentService["getPageIsOpaque"]).toHaveReturnedWith(false); expect(autofillInlineMenuContentService["closeInlineMenu"]).toHaveBeenCalled(); }); it("closes the inline menu if the page html is not sufficiently opaque", async () => { document.querySelector("html").style.opacity = "0.3"; document.body.style.opacity = "0.7"; - autofillInlineMenuContentService["handlePageMutations"]([mockHTMLMutationRecord]); + await autofillInlineMenuContentService["handlePageMutations"]([mockHTMLMutationRecord]); - expect(autofillInlineMenuContentService["pageIsOpaque"]).toBe(false); + expect(autofillInlineMenuContentService["getPageIsOpaque"]).toHaveReturnedWith(false); expect(autofillInlineMenuContentService["closeInlineMenu"]).toHaveBeenCalled(); }); it("does not close the inline menu if the page html and body is sufficiently opaque", async () => { document.querySelector("html").style.opacity = "0.9"; document.body.style.opacity = "1"; - autofillInlineMenuContentService["handlePageMutations"]([mockBodyMutationRecord]); + await autofillInlineMenuContentService["handlePageMutations"]([mockBodyMutationRecord]); + await waitForIdleCallback(); - expect(autofillInlineMenuContentService["pageIsOpaque"]).toBe(true); + expect(autofillInlineMenuContentService["getPageIsOpaque"]).toHaveReturnedWith(true); expect(autofillInlineMenuContentService["closeInlineMenu"]).not.toHaveBeenCalled(); }); diff --git a/apps/browser/src/autofill/overlay/inline-menu/content/autofill-inline-menu-content.service.ts b/apps/browser/src/autofill/overlay/inline-menu/content/autofill-inline-menu-content.service.ts index de401bf7e28..247104e13a5 100644 --- a/apps/browser/src/autofill/overlay/inline-menu/content/autofill-inline-menu-content.service.ts +++ b/apps/browser/src/autofill/overlay/inline-menu/content/autofill-inline-menu-content.service.ts @@ -33,7 +33,6 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte private listElement?: HTMLElement; private htmlMutationObserver: MutationObserver; private bodyMutationObserver: MutationObserver; - private pageIsOpaque = true; private inlineMenuElementsMutationObserver: MutationObserver; private containerElementMutationObserver: MutationObserver; private mutationObserverIterations = 0; @@ -52,7 +51,6 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte }; constructor() { - this.checkPageOpacity(); this.setupMutationObserver(); } @@ -161,6 +159,7 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte if (!(await this.isInlineMenuButtonVisible())) { this.appendInlineMenuElementToDom(this.buttonElement); this.updateInlineMenuElementIsVisibleStatus(AutofillOverlayElement.Button, true); + this.buttonElement.showPopover(); } } @@ -176,6 +175,7 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte if (!(await this.isInlineMenuListVisible())) { this.appendInlineMenuElementToDom(this.listElement); this.updateInlineMenuElementIsVisibleStatus(AutofillOverlayElement.List, true); + this.listElement.showPopover(); } } @@ -221,6 +221,7 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte private createButtonElement() { if (this.isFirefoxBrowser) { this.buttonElement = globalThis.document.createElement("div"); + this.buttonElement.setAttribute("popover", "manual"); new AutofillInlineMenuButtonIframe(this.buttonElement); return; @@ -237,6 +238,7 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte }, ); this.buttonElement = globalThis.document.createElement(customElementName); + this.buttonElement.setAttribute("popover", "manual"); } /** @@ -246,6 +248,7 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte private createListElement() { if (this.isFirefoxBrowser) { this.listElement = globalThis.document.createElement("div"); + this.listElement.setAttribute("popover", "manual"); new AutofillInlineMenuListIframe(this.listElement); return; @@ -262,6 +265,7 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte }, ); this.listElement = globalThis.document.createElement(customElementName); + this.listElement.setAttribute("popover", "manual"); } /** @@ -295,6 +299,8 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte this.containerElementMutationObserver = new MutationObserver( this.handleContainerElementMutationObserverUpdate, ); + + this.observePageAttributes(); }; /** @@ -302,9 +308,6 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte * elements are not modified by the website. */ private observeCustomElements() { - this.htmlMutationObserver?.observe(document.querySelector("html"), { attributes: true }); - this.bodyMutationObserver?.observe(document.body, { attributes: true }); - if (this.buttonElement) { this.inlineMenuElementsMutationObserver?.observe(this.buttonElement, { attributes: true, @@ -316,6 +319,25 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte } } + /** + * Sets up mutation observers to verify that the page `html` and `body` attributes + * are not altered in a way that would impact safe display of the inline menu. + */ + private observePageAttributes() { + if (document.documentElement) { + this.htmlMutationObserver?.observe(document.documentElement, { attributes: true }); + } + + if (document.body) { + this.bodyMutationObserver?.observe(document.body, { attributes: true }); + } + } + + private unobservePageAttributes() { + this.htmlMutationObserver?.disconnect(); + this.bodyMutationObserver?.disconnect(); + } + /** * Disconnects the mutation observers that are used to verify that the inline menu * elements are not modified by the website. @@ -405,19 +427,82 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte }); }; - private checkPageOpacity = () => { - this.pageIsOpaque = this.getPageIsOpaque(); + private checkPageRisks = async () => { + const pageIsOpaque = await this.getPageIsOpaque(); - if (!this.pageIsOpaque) { + const risksFound = !pageIsOpaque; + + if (risksFound) { this.closeInlineMenu(); } + + return risksFound; + }; + + /* + * Checks for known risks at the page level + */ + private handlePageMutations = async (mutations: MutationRecord[]) => { + if (mutations.some(({ type }) => type === "attributes")) { + await this.checkPageRisks(); + } }; - private handlePageMutations = (mutations: MutationRecord[]) => { - for (const mutation of mutations) { - if (mutation.type === "attributes") { - this.checkPageOpacity(); - } + /** + * Returns the name of the generated container tags for usage internally to avoid + * unintentional targeting of the owned experience. + */ + getOwnedTagNames = (): string[] => { + return [ + ...(this.buttonElement?.tagName ? [this.buttonElement.tagName] : []), + ...(this.listElement?.tagName ? [this.listElement.tagName] : []), + ]; + }; + + /** + * Queries and return elements (excluding those of the inline menu) that exist in the + * top-layer via popover or dialog + * @param {boolean} [includeCandidates=false] indicate whether top-layer candidate (which + * may or may not be active) should be included in the query + */ + getUnownedTopLayerItems = (includeCandidates = false) => { + const inlineMenuTagExclusions = [ + ...(this.buttonElement?.tagName ? [`:not(${this.buttonElement.tagName})`] : []), + ...(this.listElement?.tagName ? [`:not(${this.listElement.tagName})`] : []), + ":popover-open", + ].join(""); + const selector = [ + ":modal", + inlineMenuTagExclusions, + ...(includeCandidates ? ["[popover], dialog"] : []), + ].join(","); + const otherTopLayeritems = globalThis.document.querySelectorAll(selector); + + return otherTopLayeritems; + }; + + refreshTopLayerPosition = () => { + const otherTopLayerItems = this.getUnownedTopLayerItems(); + + // No need to refresh if there are no other top-layer items + if (!otherTopLayerItems.length) { + return; + } + + const buttonInDocument = + this.buttonElement && + (globalThis.document.getElementsByTagName(this.buttonElement.tagName)[0] as HTMLElement); + const listInDocument = + this.listElement && + (globalThis.document.getElementsByTagName(this.listElement.tagName)[0] as HTMLElement); + if (buttonInDocument) { + buttonInDocument.hidePopover(); + buttonInDocument.showPopover(); + } + + if (listInDocument) { + listInDocument.hidePopover(); + listInDocument.showPopover(); } }; @@ -427,31 +512,35 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte * of parents below the body. Assumes the target element will be a direct child of the page * `body` (enforced elsewhere). */ - private getPageIsOpaque() { + private getPageIsOpaque = () => { // These are computed style values, so we don't need to worry about non-float values // for `opacity`, here - const htmlOpacity = globalThis.window.getComputedStyle( - globalThis.document.querySelector("html"), - ).opacity; - const bodyOpacity = globalThis.window.getComputedStyle( - globalThis.document.querySelector("body"), - ).opacity; + // @TODO for definitive checks, traverse up the node tree from the inline menu container; + // nodes can exist between `html` and `body` + const htmlElement = globalThis.document.querySelector("html"); + const bodyElement = globalThis.document.querySelector("body"); + + if (!htmlElement || !bodyElement) { + return false; + } + + const htmlOpacity = globalThis.window.getComputedStyle(htmlElement)?.opacity || "0"; + const bodyOpacity = globalThis.window.getComputedStyle(bodyElement)?.opacity || "0"; // Any value above this is considered "opaque" for our purposes const opacityThreshold = 0.6; return parseFloat(htmlOpacity) > opacityThreshold && parseFloat(bodyOpacity) > opacityThreshold; - } + }; /** * Processes the mutation of the element that contains the inline menu. Will trigger when an * idle moment in the execution of the main thread is detected. */ private processContainerElementMutation = async (containerElement: HTMLElement) => { - // If the computed opacity of the body and parent is not sufficiently opaque, tear - // down and prevent building the inline menu experience. - this.checkPageOpacity(); - if (!this.pageIsOpaque) { + // If the page contains risks, tear down and prevent building the inline menu experience. + const pageRisksFound = await this.checkPageRisks(); + if (pageRisksFound) { return; } @@ -595,5 +684,6 @@ export class AutofillInlineMenuContentService implements AutofillInlineMenuConte destroy() { this.closeInlineMenu(); this.clearPersistentLastChildOverrideTimeout(); + this.unobservePageAttributes(); } } diff --git a/apps/browser/src/autofill/overlay/notifications/content/__snapshots__/overlay-notifications-content.service.spec.ts.snap b/apps/browser/src/autofill/overlay/notifications/content/__snapshots__/overlay-notifications-content.service.spec.ts.snap index 18c3baa876c..7bdde2560d0 100644 --- a/apps/browser/src/autofill/overlay/notifications/content/__snapshots__/overlay-notifications-content.service.spec.ts.snap +++ b/apps/browser/src/autofill/overlay/notifications/content/__snapshots__/overlay-notifications-content.service.spec.ts.snap @@ -8,7 +8,7 @@ exports[`OverlayNotificationsContentService opening the notification bar creates