mirror of
https://github.com/bitwarden/browser.git
synced 2025-01-24 21:41:33 +01:00
Merge branch 'main' into auth/pm-8111/browser-refresh-login-component
This commit is contained in:
commit
fcf01fee74
2
.github/workflows/build-browser.yml
vendored
2
.github/workflows/build-browser.yml
vendored
@ -382,7 +382,7 @@ jobs:
|
||||
secrets: "crowdin-api-token"
|
||||
|
||||
- name: Upload Sources
|
||||
uses: crowdin/github-action@c953b17499daa6be3e5afbf7a63616fb02d8b18d # v1.19.0
|
||||
uses: crowdin/github-action@6ed209d411599a981ccb978df3be9dc9b8a81699 # v2.1.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }}
|
||||
|
26
.github/workflows/build-cli.yml
vendored
26
.github/workflows/build-cli.yml
vendored
@ -65,15 +65,15 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
[
|
||||
{ base: "linux", distro: "ubuntu-22.04" },
|
||||
{ base: "mac", distro: "macos-13" }
|
||||
]
|
||||
[
|
||||
{ base: "linux", distro: "ubuntu-22.04" },
|
||||
{ base: "mac", distro: "macos-13" }
|
||||
]
|
||||
license_type:
|
||||
[
|
||||
{ build_prefix: "oss", artifact_prefix: "-oss", readable: "open source license" },
|
||||
{ build_prefix: "bit", artifact_prefix: "", readable: "commercial license"}
|
||||
]
|
||||
[
|
||||
{ build_prefix: "oss", artifact_prefix: "-oss", readable: "open source license" },
|
||||
{ build_prefix: "bit", artifact_prefix: "", readable: "commercial license" }
|
||||
]
|
||||
runs-on: ${{ matrix.os.distro }}
|
||||
needs:
|
||||
- setup
|
||||
@ -148,10 +148,10 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
license_type:
|
||||
[
|
||||
{ build_prefix: "oss", artifact_prefix: "-oss", readable: "open source license" },
|
||||
{ build_prefix: "bit", artifact_prefix: "", readable: "commercial license"}
|
||||
]
|
||||
[
|
||||
{ build_prefix: "oss", artifact_prefix: "-oss", readable: "open source license" },
|
||||
{ build_prefix: "bit", artifact_prefix: "", readable: "commercial license" }
|
||||
]
|
||||
runs-on: windows-2022
|
||||
needs:
|
||||
- setup
|
||||
@ -241,7 +241,7 @@ jobs:
|
||||
|
||||
- name: Package Chocolatey
|
||||
shell: pwsh
|
||||
if: ${{ matrix.license_type.build_prefix }} == 'bit'
|
||||
if: ${{ matrix.license_type.build_prefix == 'bit' }}
|
||||
run: |
|
||||
Copy-Item -Path stores/chocolatey -Destination dist/chocolatey -Recurse
|
||||
Copy-Item dist/${{ matrix.license_type.build_prefix }}/windows/bw.exe -Destination dist/chocolatey/tools
|
||||
|
2
.github/workflows/build-desktop.yml
vendored
2
.github/workflows/build-desktop.yml
vendored
@ -1248,7 +1248,7 @@ jobs:
|
||||
secrets: "crowdin-api-token"
|
||||
|
||||
- name: Upload Sources
|
||||
uses: crowdin/github-action@c953b17499daa6be3e5afbf7a63616fb02d8b18d # v1.19.0
|
||||
uses: crowdin/github-action@6ed209d411599a981ccb978df3be9dc9b8a81699 # v2.1.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }}
|
||||
|
4
.github/workflows/build-web.yml
vendored
4
.github/workflows/build-web.yml
vendored
@ -234,7 +234,7 @@ jobs:
|
||||
run: echo "name=$_AZ_REGISTRY/${PROJECT_NAME}:${IMAGE_TAG}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build Docker image
|
||||
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0
|
||||
uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0
|
||||
with:
|
||||
context: apps/web
|
||||
file: apps/web/Dockerfile
|
||||
@ -270,7 +270,7 @@ jobs:
|
||||
secrets: "crowdin-api-token"
|
||||
|
||||
- name: Upload Sources
|
||||
uses: crowdin/github-action@c953b17499daa6be3e5afbf7a63616fb02d8b18d # v1.19.0
|
||||
uses: crowdin/github-action@6ed209d411599a981ccb978df3be9dc9b8a81699 # v2.1.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CROWDIN_API_TOKEN: ${{ steps.retrieve-secrets.outputs.crowdin-api-token }}
|
||||
|
5
.github/workflows/chromatic.yml
vendored
5
.github/workflows/chromatic.yml
vendored
@ -1,3 +1,4 @@
|
||||
---
|
||||
name: Chromatic
|
||||
|
||||
on:
|
||||
@ -13,7 +14,7 @@ jobs:
|
||||
check-run:
|
||||
name: Check PR run
|
||||
uses: bitwarden/gh-actions/.github/workflows/check-run.yml@main
|
||||
|
||||
|
||||
chromatic:
|
||||
name: Chromatic
|
||||
runs-on: ubuntu-22.04
|
||||
@ -56,7 +57,7 @@ jobs:
|
||||
run: npm run build-storybook:ci
|
||||
|
||||
- name: Publish to Chromatic
|
||||
uses: chromaui/action@c9067691aca4a28d6fbb40d9eea6e144369fbcae # v10.9.5
|
||||
uses: chromaui/action@b984808b772126a9f44b2b7737b131b68a2ede32 # v11.7.1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
||||
|
1
.github/workflows/crowdin-pull.yml
vendored
1
.github/workflows/crowdin-pull.yml
vendored
@ -59,4 +59,3 @@ jobs:
|
||||
working_directory: apps/${{ matrix.app_name }}
|
||||
gpg_private_key: ${{ steps.retrieve-secrets.outputs.github-gpg-private-key }}
|
||||
gpg_passphrase: ${{ steps.retrieve-secrets.outputs.github-gpg-private-key-passphrase }}
|
||||
|
||||
|
6
.github/workflows/deploy-web.yml
vendored
6
.github/workflows/deploy-web.yml
vendored
@ -7,7 +7,7 @@ on:
|
||||
inputs:
|
||||
environment:
|
||||
description: 'Environment'
|
||||
default: 'QA'
|
||||
default: 'USQA'
|
||||
type: choice
|
||||
options:
|
||||
- USQA
|
||||
@ -256,7 +256,7 @@ jobs:
|
||||
- setup
|
||||
- artifact-check
|
||||
runs-on: ubuntu-22.04
|
||||
if: ${{ always() && contains( inputs.environment , 'QA' ) }}
|
||||
if: ${{ always() && ( contains( inputs.environment , 'QA' ) || contains( inputs.environment , 'DEV' ) ) }}
|
||||
outputs:
|
||||
channel_id: ${{ steps.slack-message.outputs.channel_id }}
|
||||
ts: ${{ steps.slack-message.outputs.ts }}
|
||||
@ -407,7 +407,7 @@ jobs:
|
||||
notify:
|
||||
name: Notify Slack with result
|
||||
runs-on: ubuntu-22.04
|
||||
if: ${{ always() && contains( inputs.environment , 'QA' ) }}
|
||||
if: ${{ always() && ( contains( inputs.environment , 'QA' ) || contains( inputs.environment , 'DEV' ) ) }}
|
||||
needs:
|
||||
- setup
|
||||
- notify-start
|
||||
|
56
.github/workflows/publish-cli.yml
vendored
56
.github/workflows/publish-cli.yml
vendored
@ -35,7 +35,6 @@ on:
|
||||
default: true
|
||||
type: boolean
|
||||
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: apps/cli
|
||||
@ -46,29 +45,42 @@ jobs:
|
||||
runs-on: ubuntu-22.04
|
||||
outputs:
|
||||
release-version: ${{ steps.version-output.outputs.version }}
|
||||
deployment-id: ${{ steps.deployment.outputs.deployment-id }}
|
||||
deployment-id: ${{ steps.deployment.outputs.deployment_id }}
|
||||
defaults:
|
||||
run:
|
||||
working-directory: .
|
||||
steps:
|
||||
- name: Branch check
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
run: |
|
||||
if [[ "$GITHUB_REF" != "refs/heads/rc" ]] && [[ "$GITHUB_REF" != "refs/heads/hotfix-rc-cli" ]]; then
|
||||
echo "==================================="
|
||||
echo "[!] Can only publish from the 'rc' or 'hotfix-rc-cli' branches"
|
||||
echo "==================================="
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Version output
|
||||
id: version-output
|
||||
run: |
|
||||
if [[ "${{ github.event.inputs.version }}" == "latest" || "${{ github.event.inputs.version }}" == "" ]]; then
|
||||
if [[ "${{ inputs.version }}" == "latest" || "${{ inputs.version }}" == "" ]]; then
|
||||
VERSION=$(curl "https://api.github.com/repos/bitwarden/clients/releases" | jq -c '.[] | select(.tag_name | contains("cli")) | .tag_name' | head -1 | grep -ohE '20[0-9]{2}\.([1-9]|1[0-2])\.[0-9]+')
|
||||
echo "Latest Released Version: $VERSION"
|
||||
echo "::set-output name=version::$VERSION"
|
||||
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "Release Version: ${{ github.event.inputs.version }}"
|
||||
echo "::set-output name=version::${{ github.event.inputs.version }}"
|
||||
echo "Release Version: ${{ inputs.version }}"
|
||||
echo "version=${{ inputs.version }}" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Create GitHub deployment
|
||||
if: ${{ github.event.inputs.release_type != 'Dry Run' }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
uses: chrnorm/deployment-action@55729fcebec3d284f60f5bcabbd8376437d696b1 # v2.0.7
|
||||
id: deployment
|
||||
with:
|
||||
token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
initial-status: 'in_progress'
|
||||
environment: 'CLI - Production'
|
||||
description: 'Deployment ${{ steps.version.outputs.version }} from branch ${{ github.ref_name }}'
|
||||
description: 'Deployment ${{ steps.version-output.outputs.version }} from branch ${{ github.ref_name }}'
|
||||
task: release
|
||||
|
||||
snap:
|
||||
@ -98,10 +110,10 @@ jobs:
|
||||
uses: samuelmeuli/action-snapcraft@d33c176a9b784876d966f80fb1b461808edc0641 # v2.1.1
|
||||
|
||||
- name: Download artifacts
|
||||
run: wget https://github.com/bitwarden/clients/releases/cli-v${{ env._PKG_VERSION }}/download/bw_${{ env._PKG_VERSION }}_amd64.snap
|
||||
run: wget https://github.com/bitwarden/clients/releases/download/cli-v${{ env._PKG_VERSION }}/bw_${{ env._PKG_VERSION }}_amd64.snap
|
||||
|
||||
- name: Publish Snap & logout
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
env:
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ steps.retrieve-secrets.outputs.snapcraft-store-token }}
|
||||
run: |
|
||||
@ -137,18 +149,16 @@ jobs:
|
||||
CHOCO_API_KEY: ${{ steps.retrieve-secrets.outputs.cli-choco-api-key }}
|
||||
|
||||
- name: Make dist dir
|
||||
shell: pwsh
|
||||
run: New-Item -ItemType directory -Path ./dist
|
||||
|
||||
- name: Download artifacts
|
||||
run: wget https://github.com/bitwarden/clients/releases/cli-v${{ env._PKG_VERSION }}/download/bitwarden-cli.${{ env._PKG_VERSION }}.nupkg
|
||||
run: Invoke-WebRequest -Uri "https://github.com/bitwarden/clients/releases/download/cli-v${{ env._PKG_VERSION }}/bitwarden-cli.${{ env._PKG_VERSION }}.nupkg" -OutFile bitwarden-cli.${{ env._PKG_VERSION }}.nupkg
|
||||
working-directory: apps/cli/dist
|
||||
|
||||
- name: Push to Chocolatey
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' }}
|
||||
shell: pwsh
|
||||
run: |
|
||||
cd dist
|
||||
choco push --source=https://push.chocolatey.org/
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
run: choco push --source=https://push.chocolatey.org/
|
||||
working-directory: apps/cli/dist
|
||||
|
||||
npm:
|
||||
name: Publish NPM
|
||||
@ -174,7 +184,7 @@ jobs:
|
||||
secrets: "npm-api-key"
|
||||
|
||||
- name: Download artifacts
|
||||
run: wget https://github.com/bitwarden/clients/releases/cli-v${{ env._PKG_VERSION }}/download/bitwarden-cli-${{ env._PKG_VERSION }}-npm-build.zip
|
||||
run: wget https://github.com/bitwarden/clients/releases/download/cli-v${{ env._PKG_VERSION }}/bitwarden-cli-${{ env._PKG_VERSION }}-npm-build.zip
|
||||
|
||||
- name: Setup NPM
|
||||
run: |
|
||||
@ -187,7 +197,7 @@ jobs:
|
||||
run: npm install -g husky
|
||||
|
||||
- name: Publish NPM
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
run: npm publish --access public --regsitry=https://registry.npmjs.org/ --userconfig=./.npmrc
|
||||
|
||||
update-deployment:
|
||||
@ -198,14 +208,14 @@ jobs:
|
||||
- npm
|
||||
- snap
|
||||
- choco
|
||||
if: ${{ always() && github.event.inputs.publish_type != 'Dry Run' }}
|
||||
if: ${{ always() && inputs.publish_type != 'Dry Run' }}
|
||||
steps:
|
||||
- name: Check if any job failed
|
||||
if: contains(needs.*.result, 'failure')
|
||||
run: exit 1
|
||||
|
||||
- name: Update deployment status to Success
|
||||
if: ${{ github.event.inputs.release_type != 'Dry Run' && success() }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' && success() }}
|
||||
uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
|
||||
with:
|
||||
token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
@ -213,9 +223,9 @@ jobs:
|
||||
deployment-id: ${{ needs.setup.outputs.deployment-id }}
|
||||
|
||||
- name: Update deployment status to Failure
|
||||
if: ${{ github.event.inputs.release_type != 'Dry Run' && failure() }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' && failure() }}
|
||||
uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
|
||||
with:
|
||||
token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
state: 'failure'
|
||||
deployment-id: ${{ needs.setup.outputs.deployment-id }}
|
||||
deployment-id: ${{ needs.setup.outputs.deployment-id }}
|
||||
|
82
.github/workflows/publish-desktop.yml
vendored
82
.github/workflows/publish-desktop.yml
vendored
@ -15,7 +15,7 @@ on:
|
||||
- Republish
|
||||
- Dry Run
|
||||
version:
|
||||
description: 'Version to publish (default: latest cli release)'
|
||||
description: 'Version to publish (default: latest desktop release)'
|
||||
required: true
|
||||
type: string
|
||||
default: latest
|
||||
@ -35,10 +35,6 @@ on:
|
||||
default: true
|
||||
type: boolean
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
jobs:
|
||||
setup:
|
||||
name: Setup
|
||||
@ -49,25 +45,35 @@ jobs:
|
||||
tag-name: ${{ steps.version.outputs.tag_name }}
|
||||
deployment-id: ${{ steps.deployment.outputs.deployment_id }}
|
||||
steps:
|
||||
- name: Branch check
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
run: |
|
||||
if [[ "$GITHUB_REF" != "refs/heads/rc" ]] && [[ "$GITHUB_REF" != "refs/heads/hotfix-rc-desktop" ]]; then
|
||||
echo "==================================="
|
||||
echo "[!] Can only publish from the 'rc' or 'hotfix-rc-desktop' branches"
|
||||
echo "==================================="
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Check Publish Version
|
||||
id: version
|
||||
run: |
|
||||
if [[ "${{ github.event.inputs.version }}" == "latest" || "${{ github.event.inputs.version }}" == "" ]]; then
|
||||
if [[ "${{ inputs.version }}" == "latest" || "${{ inputs.version }}" == "" ]]; then
|
||||
TAG_NAME=$(curl "https://api.github.com/repos/bitwarden/clients/releases" | jq -c '.[] | select(.tag_name | contains("desktop")) | .tag_name' | head -1 | cut -d '"' -f 2)
|
||||
VERSION=$(echo $TAG_NAME | sed "s/desktop-v//")
|
||||
echo "Latest Released Version: $VERSION"
|
||||
echo "::set-output name=version::$VERSION"
|
||||
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
||||
|
||||
echo "Tag name: $TAG_NAME"
|
||||
echo "::set-output name=tag_name::$TAG_NAME"
|
||||
echo "tag_name=$TAG_NAME" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "Release Version: ${{ github.event.inputs.version }}"
|
||||
echo "::set-output name=version::${{ github.event.inputs.version }}"
|
||||
echo "Release Version: ${{ inputs.version }}"
|
||||
echo "version=${{ inputs.version }}"
|
||||
|
||||
$TAG_NAME="desktop-v${{ github.event.inputs.version }}"
|
||||
$TAG_NAME="desktop-v${{ inputs.version }}"
|
||||
|
||||
echo "Tag name: $TAG_NAME"
|
||||
echo "::set-output name=tag_name::$TAG_NAME"
|
||||
echo "tag_name=$TAG_NAME" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Get Version Channel
|
||||
@ -88,7 +94,7 @@ jobs:
|
||||
esac
|
||||
|
||||
- name: Create GitHub deployment
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
uses: chrnorm/deployment-action@55729fcebec3d284f60f5bcabbd8376437d696b1 # v2.0.7
|
||||
id: deployment
|
||||
with:
|
||||
@ -101,6 +107,7 @@ jobs:
|
||||
electron-blob:
|
||||
name: Electron blob publish
|
||||
runs-on: ubuntu-22.04
|
||||
needs: setup
|
||||
env:
|
||||
_PKG_VERSION: ${{ needs.setup.outputs.release-version }}
|
||||
_RELEASE_TAG: ${{ needs.setup.outputs.tag-name }}
|
||||
@ -118,23 +125,19 @@ jobs:
|
||||
secrets: "aws-electron-access-id,
|
||||
aws-electron-access-key,
|
||||
aws-electron-bucket-name"
|
||||
|
||||
- name: Download all artifacts
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' }}
|
||||
uses: bitwarden/gh-actions/download-artifacts@main
|
||||
with:
|
||||
workflow: build-desktop.yml
|
||||
workflow_conclusion: success
|
||||
branch: ${{ github.ref_name }}
|
||||
path: apps/desktop/artifacts
|
||||
|
||||
- name: Create artifacts directory
|
||||
run: mkdir -p apps/desktop/artifacts
|
||||
|
||||
- name: Download artifacts
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
working-directory: apps/desktop/artifacts
|
||||
run: gh release download ${{ env._RELEASE_TAG }} -R bitwarden/desktop
|
||||
run: gh release download ${{ env._RELEASE_TAG }} -R bitwarden/clients
|
||||
|
||||
- name: Set staged rollout percentage
|
||||
env:
|
||||
RELEASE_CHANNEL: ${{ steps.release-channel.outputs.channel }}
|
||||
RELEASE_CHANNEL: ${{ needs.setup.outputs.release-channel }}
|
||||
ROLLOUT_PCT: ${{ inputs.rollout_percentage }}
|
||||
run: |
|
||||
echo "stagingPercentage: ${ROLLOUT_PCT}" >> apps/desktop/artifacts/${RELEASE_CHANNEL}.yml
|
||||
@ -142,7 +145,7 @@ jobs:
|
||||
echo "stagingPercentage: ${ROLLOUT_PCT}" >> apps/desktop/artifacts/${RELEASE_CHANNEL}-mac.yml
|
||||
|
||||
- name: Publish artifacts to S3
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ steps.retrieve-secrets.outputs.aws-electron-access-id }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ steps.retrieve-secrets.outputs.aws-electron-access-key }}
|
||||
@ -156,26 +159,26 @@ jobs:
|
||||
--quiet
|
||||
|
||||
- name: Update deployment status to Success
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' && success() }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' && success() }}
|
||||
uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
|
||||
with:
|
||||
token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
state: 'success'
|
||||
deployment-id: ${{ steps.deployment.outputs.deployment_id }}
|
||||
deployment-id: ${{ needs.setup.outputs.deployment-id }}
|
||||
|
||||
- name: Update deployment status to Failure
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' && failure() }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' && failure() }}
|
||||
uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
|
||||
with:
|
||||
token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
state: 'failure'
|
||||
deployment-id: ${{ steps.deployment.outputs.deployment_id }}
|
||||
deployment-id: ${{ needs.setup.outputs.deployment-id }}
|
||||
|
||||
snap:
|
||||
name: Deploy Snap
|
||||
runs-on: ubuntu-22.04
|
||||
needs: setup
|
||||
if: ${{ github.event.inputs.snap_publish == 'true' }}
|
||||
if: inputs.snap_publish
|
||||
env:
|
||||
_PKG_VERSION: ${{ needs.setup.outputs.release-version }}
|
||||
_RELEASE_TAG: ${{ needs.setup.outputs.tag-name }}
|
||||
@ -204,10 +207,10 @@ jobs:
|
||||
|
||||
- name: Download artifacts
|
||||
working-directory: apps/desktop/dist
|
||||
run: wget https://github.com/bitwarden/clients/releases/${{ env._RELEASE_TAG }}/download/bitwarden_${{ env._PKG_VERSION }}_amd64.snap
|
||||
run: wget https://github.com/bitwarden/clients/releases/download/${{ env._RELEASE_TAG }}/bitwarden_${{ env._PKG_VERSION }}_amd64.snap
|
||||
|
||||
- name: Deploy to Snap Store
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
env:
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ steps.retrieve-secrets.outputs.snapcraft-store-token }}
|
||||
run: |
|
||||
@ -219,7 +222,7 @@ jobs:
|
||||
name: Deploy Choco
|
||||
runs-on: windows-2022
|
||||
needs: setup
|
||||
if: ${{ github.event.inputs.choco_publish == 'true' }}
|
||||
if: inputs.choco_publish
|
||||
env:
|
||||
_PKG_VERSION: ${{ needs.setup.outputs.release-version }}
|
||||
_RELEASE_TAG: ${{ needs.setup.outputs.tag-name }}
|
||||
@ -245,23 +248,20 @@ jobs:
|
||||
secrets: "cli-choco-api-key"
|
||||
|
||||
- name: Setup Chocolatey
|
||||
shell: pwsh
|
||||
run: choco apikey --key $env:CHOCO_API_KEY --source https://push.chocolatey.org/
|
||||
env:
|
||||
CHOCO_API_KEY: ${{ steps.retrieve-secrets.outputs.cli-choco-api-key }}
|
||||
|
||||
- name: Make dist dir
|
||||
shell: pwsh
|
||||
run: New-Item -ItemType directory -Path ./dist
|
||||
working-directory: apps/desktop
|
||||
|
||||
- name: Download artifacts
|
||||
working-directory: apps/desktop/dist
|
||||
run: wget https://github.com/bitwarden/clients/releases/${{ env._RELEASE_TAG }}/download/bitwarden.${{ env._PKG_VERSION }}.nupkg
|
||||
run: Invoke-WebRequest -Uri "https://github.com/bitwarden/clients/releases/download/${{ env._RELEASE_TAG }}/bitwarden.${{ env._PKG_VERSION }}.nupkg" -OutFile bitwarden.${{ env._PKG_VERSION }}.nupkg
|
||||
|
||||
- name: Push to Chocolatey
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' }}
|
||||
shell: pwsh
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
run: choco push --source=https://push.chocolatey.org/
|
||||
working-directory: apps/desktop/dist
|
||||
|
||||
@ -273,14 +273,14 @@ jobs:
|
||||
- electron-blob
|
||||
- snap
|
||||
- choco
|
||||
if: ${{ always() && github.event.inputs.publish_type != 'Dry Run' }}
|
||||
if: ${{ always() && inputs.publish_type != 'Dry Run' }}
|
||||
steps:
|
||||
- name: Check if any job failed
|
||||
if: contains(needs.*.result, 'failure')
|
||||
run: exit 1
|
||||
|
||||
- name: Update deployment status to Success
|
||||
if: ${{ github.event.inputs.release_type != 'Dry Run' && success() }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' && success() }}
|
||||
uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
|
||||
with:
|
||||
token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
@ -288,7 +288,7 @@ jobs:
|
||||
deployment-id: ${{ needs.setup.outputs.deployment-id }}
|
||||
|
||||
- name: Update deployment status to Failure
|
||||
if: ${{ github.event.inputs.release_type != 'Dry Run' && failure() }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' && failure() }}
|
||||
uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
|
||||
with:
|
||||
token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
|
24
.github/workflows/publish-web.yml
vendored
24
.github/workflows/publish-web.yml
vendored
@ -8,10 +8,10 @@ on:
|
||||
publish_type:
|
||||
description: 'Publish Options'
|
||||
required: true
|
||||
default: 'Initial Publish'
|
||||
default: 'Initial Release'
|
||||
type: choice
|
||||
options:
|
||||
- Initial Publish
|
||||
- Initial Release
|
||||
- Redeploy
|
||||
- Dry Run
|
||||
|
||||
@ -30,11 +30,11 @@ jobs:
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
|
||||
- name: Branch check
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
run: |
|
||||
if [[ "$GITHUB_REF" != "refs/heads/rc" ]] && [[ "$GITHUB_REF" != "refs/heads/hotfix-rc-web" ]]; then
|
||||
echo "==================================="
|
||||
echo "[!] Can only release from the 'rc' or 'hotfix-rc-web' branches"
|
||||
echo "[!] Can only publish from the 'rc' or 'hotfix-rc-web' branches"
|
||||
echo "==================================="
|
||||
exit 1
|
||||
fi
|
||||
@ -43,7 +43,7 @@ jobs:
|
||||
id: version
|
||||
uses: bitwarden/gh-actions/release-version-check@main
|
||||
with:
|
||||
release-type: ${{ github.event.inputs.publish_type }}
|
||||
release-type: ${{ inputs.publish_type }}
|
||||
project-type: ts
|
||||
file: apps/web/package.json
|
||||
monorepo: true
|
||||
@ -56,7 +56,7 @@ jobs:
|
||||
env:
|
||||
_BRANCH_NAME: ${{ github.ref_name }}
|
||||
_RELEASE_VERSION: ${{ needs.setup.outputs.release_version }}
|
||||
_RELEASE_OPTION: ${{ github.event.inputs.publish_type }}
|
||||
_RELEASE_OPTION: ${{ inputs.publish_type }}
|
||||
steps:
|
||||
- name: Print environment
|
||||
run: |
|
||||
@ -79,7 +79,7 @@ jobs:
|
||||
run: az acr login -n bitwardenprod
|
||||
|
||||
- name: Create GitHub deployment
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' }}
|
||||
uses: chrnorm/deployment-action@55729fcebec3d284f60f5bcabbd8376437d696b1 # v2.0.7
|
||||
id: deployment
|
||||
with:
|
||||
@ -92,7 +92,7 @@ jobs:
|
||||
|
||||
- name: Pull branch image
|
||||
run: |
|
||||
if [[ "${{ github.event.inputs.publish_type }}" == "Dry Run" ]]; then
|
||||
if [[ "${{ inputs.publish_type }}" == "Dry Run" ]]; then
|
||||
docker pull $_AZ_REGISTRY/web:latest
|
||||
else
|
||||
docker pull $_AZ_REGISTRY/web:$_BRANCH_NAME
|
||||
@ -100,7 +100,7 @@ jobs:
|
||||
|
||||
- name: Tag version
|
||||
run: |
|
||||
if [[ "${{ github.event.inputs.publish_type }}" == "Dry Run" ]]; then
|
||||
if [[ "${{ inputs.publish_type }}" == "Dry Run" ]]; then
|
||||
docker tag $_AZ_REGISTRY/web:latest $_AZ_REGISTRY/web:dryrun
|
||||
docker tag $_AZ_REGISTRY/web:latest $_AZ_REGISTRY/web-sh:dryrun
|
||||
else
|
||||
@ -112,7 +112,7 @@ jobs:
|
||||
|
||||
- name: Push version
|
||||
run: |
|
||||
if [[ "${{ github.event.inputs.publish_type }}" == "Dry Run" ]]; then
|
||||
if [[ "${{ inputs.publish_type }}" == "Dry Run" ]]; then
|
||||
docker push $_AZ_REGISTRY/web:dryrun
|
||||
docker push $_AZ_REGISTRY/web-sh:dryrun
|
||||
else
|
||||
@ -123,7 +123,7 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Update deployment status to Success
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' && success() }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' && success() }}
|
||||
uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
|
||||
with:
|
||||
token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
@ -132,7 +132,7 @@ jobs:
|
||||
deployment-id: ${{ steps.deployment.outputs.deployment_id }}
|
||||
|
||||
- name: Update deployment status to Failure
|
||||
if: ${{ github.event.inputs.publish_type != 'Dry Run' && failure() }}
|
||||
if: ${{ inputs.publish_type != 'Dry Run' && failure() }}
|
||||
uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3
|
||||
with:
|
||||
token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
|
15
.github/workflows/release-cli.yml
vendored
15
.github/workflows/release-cli.yml
vendored
@ -30,7 +30,7 @@ jobs:
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
|
||||
- name: Branch check
|
||||
if: ${{ github.event.inputs.release_type != 'Dry Run' }}
|
||||
if: ${{ inputs.release_type != 'Dry Run' }}
|
||||
run: |
|
||||
if [[ "$GITHUB_REF" != "refs/heads/rc" ]] && [[ "$GITHUB_REF" != "refs/heads/hotfix-rc-cli" ]]; then
|
||||
echo "==================================="
|
||||
@ -43,7 +43,7 @@ jobs:
|
||||
id: version
|
||||
uses: bitwarden/gh-actions/release-version-check@main
|
||||
with:
|
||||
release-type: ${{ github.event.inputs.release_type }}
|
||||
release-type: ${{ inputs.release_type }}
|
||||
project-type: ts
|
||||
file: apps/cli/package.json
|
||||
monorepo: true
|
||||
@ -55,7 +55,7 @@ jobs:
|
||||
needs: setup
|
||||
steps:
|
||||
- name: Download all Release artifacts
|
||||
if: ${{ github.event.inputs.release_type != 'Dry Run' }}
|
||||
if: ${{ inputs.release_type != 'Dry Run' }}
|
||||
uses: bitwarden/gh-actions/download-artifacts@main
|
||||
with:
|
||||
workflow: build-cli.yml
|
||||
@ -64,7 +64,7 @@ jobs:
|
||||
branch: ${{ github.ref_name }}
|
||||
|
||||
- name: Dry Run - Download all artifacts
|
||||
if: ${{ github.event.inputs.release_type == 'Dry Run' }}
|
||||
if: ${{ inputs.release_type == 'Dry Run' }}
|
||||
uses: bitwarden/gh-actions/download-artifacts@main
|
||||
with:
|
||||
workflow: build-cli.yml
|
||||
@ -73,10 +73,10 @@ jobs:
|
||||
branch: main
|
||||
|
||||
- name: Create release
|
||||
if: ${{ github.event.inputs.release_type != 'Dry Run' }}
|
||||
if: ${{ inputs.release_type != 'Dry Run' }}
|
||||
uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0
|
||||
env:
|
||||
PKG_VERSION: ${{ steps.version.outputs.version }}
|
||||
PKG_VERSION: ${{ needs.setup.outputs.release-version }}
|
||||
with:
|
||||
artifacts: "apps/cli/bw-oss-windows-${{ env.PKG_VERSION }}.zip,
|
||||
apps/cli/bw-oss-windows-sha256-${{ env.PKG_VERSION }}.txt,
|
||||
@ -92,7 +92,8 @@ jobs:
|
||||
apps/cli/bw-linux-sha256-${{ env.PKG_VERSION }}.txt,
|
||||
apps/cli/bitwarden-cli.${{ env.PKG_VERSION }}.nupkg,
|
||||
apps/cli/bw_${{ env.PKG_VERSION }}_amd64.snap,
|
||||
apps/cli/bw-snap-sha256-${{ env.PKG_VERSION }}.txt"
|
||||
apps/cli/bw-snap-sha256-${{ env.PKG_VERSION }}.txt,
|
||||
apps/cli/bitwarden-cli-${{ env.PKG_VERSION }}-npm-build.zip"
|
||||
commit: ${{ github.sha }}
|
||||
tag: cli-v${{ env.PKG_VERSION }}
|
||||
name: CLI v${{ env.PKG_VERSION }}
|
||||
|
2
.github/workflows/release-desktop.yml
vendored
2
.github/workflows/release-desktop.yml
vendored
@ -98,7 +98,7 @@ jobs:
|
||||
|
||||
- name: Create Release
|
||||
uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0
|
||||
if: ${{ steps.release-channel.outputs.channel == 'latest' && github.event.inputs.release_type != 'Dry Run' && github.event.inputs.github_release == 'true' }}
|
||||
if: ${{ steps.release-channel.outputs.channel == 'latest' && github.event.inputs.release_type != 'Dry Run' }}
|
||||
env:
|
||||
PKG_VERSION: ${{ steps.version.outputs.version }}
|
||||
RELEASE_CHANNEL: ${{ steps.release-channel.outputs.channel }}
|
||||
|
3
.github/workflows/scan.yml
vendored
3
.github/workflows/scan.yml
vendored
@ -1,3 +1,4 @@
|
||||
---
|
||||
name: Scan
|
||||
|
||||
on:
|
||||
@ -31,7 +32,7 @@ jobs:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
|
||||
- name: Scan with Checkmarx
|
||||
uses: checkmarx/ast-github-action@749fec53e0db0f6404a97e2e0807c3e80e3583a7 #2.0.23
|
||||
uses: checkmarx/ast-github-action@749fec53e0db0f6404a97e2e0807c3e80e3583a7 # v2.0.23
|
||||
env:
|
||||
INCREMENTAL: "${{ contains(github.event_name, 'pull_request') && '--sast-incremental' || '' }}"
|
||||
with:
|
||||
|
3
.github/workflows/test.yml
vendored
3
.github/workflows/test.yml
vendored
@ -1,3 +1,4 @@
|
||||
---
|
||||
name: Testing
|
||||
|
||||
on:
|
||||
@ -37,7 +38,7 @@ jobs:
|
||||
checks: write
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
|
||||
steps:
|
||||
- name: Check out repo
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "تسجيل الدخول"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "تسجيل الدخول الأُحادي للمؤسسات – SSO"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 جيغابايت وحدة تخزين مشفرة لمرفقات الملفات."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "خيارات تسجيل الدخول بخطوتين المملوكة لجهات اخرى مثل YubiKey و Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "شكرا لك على دعم Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "الكل فقط بـ $PRICE$ /سنة!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "اكتمل التحديث"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Bir parol təyin edərək hesabınızı yaratmağı başa çatdırın"
|
||||
},
|
||||
"login": {
|
||||
"message": "Giriş et"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Müəssisə üçün tək daxil olma"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "Fayl qoşmaları üçün 1 GB şifrələnmiş saxlama sahəsi"
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Fövqəladə hal müraciəti"
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "YubiKey və Duo kimi mülkiyyətçi iki addımlı giriş seçimləri."
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "Premium üzvlüyü bitwarden.com veb anbarında satın ala bilərsiniz. İndi saytı ziyarət etmək istəyirsiniz?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "Bitwarden veb tətbiqindəki hesab ayarlarınızda Premium satın ala bilərsiniz."
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "Premium üzvsünüz!"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Bitwarden-i dəstəklədiyiniz üçün təşəkkürlər!"
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Premium-a yüksəlt və bunları əldə et:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Hamısı sadəcə ildə $PRICE$!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Hamısı sadəcə ildə $PRICE$!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Təzələmə tamamlandı"
|
||||
},
|
||||
@ -2305,11 +2314,11 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Send created successfully!",
|
||||
"message": "Send uğurla yaradıldı!",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
"message": "The Send will be available to anyone with the link for the next $DAYS$ days.",
|
||||
"message": "Send, növbəti $DAYS$ ərzində keçidə sahib olan hər kəsə əlçatan olacaq.",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
|
||||
"placeholders": {
|
||||
"days": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Send link copied",
|
||||
"message": "Send keçidi kopyalandı",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Səhifə yüklənəndə avto-doldurulsun?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Vaxtı bitmiş kart"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Yeniləmisinizsə, kart məlumatlarınızı güncəlləyin"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Kart detalları"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Animasiyaları fəallaşdır"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Hesab əlavə et"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Увайсці"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Адзіны ўваход прадпрыемства (SSO)"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 ГБ зашыфраванага сховішча для далучаных файлаў."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Дзякуй за падтрымку Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Усяго за $PRICE$ у год!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Абнаўленне завершана"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Завършете регистрацията си като зададете парола"
|
||||
},
|
||||
"login": {
|
||||
"message": "Вписване"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Еднократна идентификация (SSO)"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB пространство за файлове, които се шифрират."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Авариен достъп"
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Частно двустепенно удостоверяване чрез YubiKey и Duo."
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "Може да платите абонамента си през сайта bitwarden.com. Искате ли да го посетите сега?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "Можете да закупите платената версия от настройките на регистрацията си, в приложението по уеб на Битуорден."
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "Честито, ползвате платен абонамент!"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Благодарим ви за подкрепата на Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Преминете към платената версия и ще получите:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "И това само за $PRICE$ на година!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "И това само за $PRICE$ на година!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Абонаментът е опреснен"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Автоматично попълване при зареждане на страницата?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Изтекла карта"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Ако сте я подновили, актуализирайте информацията за картата"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Данни за картата"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Включване на анимациите"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Добавяне на регистрация"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "প্রবেশ করুন"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "এন্টারপ্রাইজ একক সাইন-অন"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "ফাইল সংযুক্তির জন্য ১ জিবি এনক্রিপ্টেড স্থান।"
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Bitwarden কে সমর্থন করার জন্য আপনাকে ধন্যবাদ।"
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "সমস্ত মাত্র $PRICE$ / বছরের জন্য!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "পুনঃসতেজ সম্পূর্ণ"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Prijavite se"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage for file attachments."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Acabeu de crear el vostre compte establint una contrasenya"
|
||||
},
|
||||
"login": {
|
||||
"message": "Inicia sessió"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Inici de sessió únic d'empresa"
|
||||
},
|
||||
@ -305,16 +302,16 @@
|
||||
"message": "Edita la carpeta"
|
||||
},
|
||||
"newFolder": {
|
||||
"message": "New folder"
|
||||
"message": "Carpeta nova"
|
||||
},
|
||||
"folderName": {
|
||||
"message": "Folder name"
|
||||
"message": "Nom de la carpeta"
|
||||
},
|
||||
"folderHintText": {
|
||||
"message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums"
|
||||
"message": "Imbriqueu una carpeta afegint el nom de la carpeta principal seguit d'una \"/\". Exemple: Social/Fòrums"
|
||||
},
|
||||
"noFoldersAdded": {
|
||||
"message": "No folders added"
|
||||
"message": "No s'ha afegit cap carpeta"
|
||||
},
|
||||
"createFoldersToOrganize": {
|
||||
"message": "Create folders to organize your vault items"
|
||||
@ -451,7 +448,7 @@
|
||||
"message": "Preferit"
|
||||
},
|
||||
"unfavorite": {
|
||||
"message": "Suprimeix de Preferits"
|
||||
"message": "Trau dels preferits"
|
||||
},
|
||||
"itemAddedToFavorites": {
|
||||
"message": "Element afegit als preferits"
|
||||
@ -850,7 +847,7 @@
|
||||
"message": "Mostra les identitats a la pàgina de pestanya"
|
||||
},
|
||||
"showIdentitiesCurrentTabDesc": {
|
||||
"message": "Llista els elements d'identitat de la pàgina de pestanya per facilitar l'autoemplenat."
|
||||
"message": "Llista els elements d'identitat de la pestanya de la pàgina per facilitar l'autoemplenat."
|
||||
},
|
||||
"clearClipboard": {
|
||||
"message": "Buida el porta-retalls",
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB d'emmagatzematge xifrat per als fitxers adjunts."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Opcions propietàries de doble factor com ara YubiKey i Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Gràcies per donar suport a Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Tot per només $PRICE$ / any!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Actualització completa"
|
||||
},
|
||||
@ -3132,11 +3141,11 @@
|
||||
"message": "Alies de domini"
|
||||
},
|
||||
"passwordRepromptDisabledAutofillOnPageLoad": {
|
||||
"message": "Els elements amb una nova sol·licitud de contrasenya mestra no es poden omplir automàticament en carregar la pàgina. L'emplenament automàtic en carregar de la pàgina està desactivat.",
|
||||
"message": "Els elements amb una nova sol·licitud de contrasenya mestra no es poden omplir automàticament en carregar la pàgina. L'emplenament automàtic en carregar la pàgina està desactivat.",
|
||||
"description": "Toast message for describing that master password re-prompt cannot be autofilled on page load."
|
||||
},
|
||||
"autofillOnPageLoadSetToDefault": {
|
||||
"message": "S'ha configurat l'emplenament automàtic en carregar la pàgina per que utilitze la configuració predeterminada.",
|
||||
"message": "S'ha configurat l'emplenament automàtic en carregar la pàgina perquè utilitze la configuració predeterminada.",
|
||||
"description": "Toast message for informing the user that autofill on page load has been set to the default setting."
|
||||
},
|
||||
"turnOffMasterPasswordPromptToEditField": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Afig compte"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Dokončete vytváření účtu nastavením hesla"
|
||||
},
|
||||
"login": {
|
||||
"message": "Přihlásit se"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Jednotné podnikové přihlášení"
|
||||
},
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Děkujeme za podporu Bitwardenu."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Přejděte na Premium a získáte:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Vše jen za $PRICE$ ročně!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Vše jen za $PRICE$ ročně!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Obnova je dokončena"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Automaticky vyplnit při načtení stránky?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Prošlá karta"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Pokud jste ji obnovili, aktualizujte informace o kartě"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Podrobnosti karty"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Povolit animace"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Přidat účet"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Mewngofnodi"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "Storfa 1GB wedi'i hamgryptio ar gyfer atodiadau ffeiliau."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Dewisiadau mewngofnodi dau gam perchenogol megis YubiKey a Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Diolch am gefnogi Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Hyn oll am $PRICE$ y flwyddyn!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Ychwanegu cyfrif"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Afslut kontooprettelsen med at indstille en adgangskode"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log ind"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Virksomheds Single-Sign-On"
|
||||
},
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Tak fordi du støtter Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Opgradér til Premium og modtag:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Alt dette for kun $PRICE$ /år!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Alt dette for kun $PRICE$ pr. år!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Opdatering færdig"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Udløbet kort"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Er det blevet fornyet, opdatér venligst kortoplysningerne"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Kortoplysninger"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Aktivér animationer"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Tilføj konto"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Schließe die Erstellung deines Kontos ab, indem du ein Passwort festlegst"
|
||||
},
|
||||
"login": {
|
||||
"message": "Anmelden"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise Single-Sign-On"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB verschlüsselter Speicherplatz für Dateianhänge."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Notfallzugriff."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietäre Optionen für die Zwei-Faktor Authentifizierung wie YubiKey und Duo."
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "Du kannst deine Premium-Mitgliedschaft im Bitwarden.com Web-Tresor kaufen. Möchtest du die Website jetzt besuchen?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "Du kannst Premium über deine Kontoeinstellungen in der Bitwarden Web-App kaufen."
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "Du bist jetzt Premium-Mitglied!"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Vielen Dank, dass du Bitwarden unterstützt."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade auf Premium und erhalte:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Das alles für %price% pro Jahr!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Alles für nur $PRICE$ pro Jahr!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Aktualisierung abgeschlossen"
|
||||
},
|
||||
@ -2305,11 +2314,11 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Send created successfully!",
|
||||
"message": "Send erfolgreich erstellt!",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
"message": "The Send will be available to anyone with the link for the next $DAYS$ days.",
|
||||
"message": "Das Send wird jedem mit dem Link für die nächsten $DAYS$ Tage zur Verfügung stehen.",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
|
||||
"placeholders": {
|
||||
"days": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Send link copied",
|
||||
"message": "Send-Link kopiert",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Auto-Ausfüllen beim Laden einer Seite?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Abgelaufene Karte"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Wenn du die Karte erneuert hast, aktualisiere die Angaben zur Karte"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Kartendetails"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Konto hinzufügen"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Ολοκληρώστε τη δημιουργία του λογαριασμού σας ορίζοντας έναν κωδικό πρόσβασης"
|
||||
},
|
||||
"login": {
|
||||
"message": "Σύνδεση"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Ενιαία είσοδος για επιχειρήσεις"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB κρυπτογραφημένο αποθηκευτικό χώρο για συνημμένα αρχεία."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Πρόσβαση έκτακτης ανάγκης"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Πρόσθετες επιλογές σύνδεσης δύο βημάτων, όπως το YubiKey και το Duo."
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "Μπορείτε να αγοράσετε συνδρομή Premium στο διαδικτυακό θησαυ/κιο του bitwarden.com. Θέλετε να επισκεφθείτε την ιστοσελίδα τώρα;"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "Μπορείτε να αγοράσετε το Premium από τις ρυθμίσεις λογαριασμού σας στην διαδικτυακή εφαρμογή Bitwarden."
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "Είστε Premium μέλος!"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Ευχαριστούμε που υποστηρίζετε το Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Όλα για μόνο $PRICE$ /έτος!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Επιτυχής ανανέωση"
|
||||
},
|
||||
@ -2305,7 +2314,7 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Το Send δημιουργήθηκε επιτυχώς!",
|
||||
"message": "Send created successfully!",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Ο σύνδεσμος Send αντιγράφηκε",
|
||||
"message": "Send link copied",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Αυτόματη συμπλήρωση κατά τη φόρτωση της σελίδας;"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Στοιχεία κάρτας"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Προσθήκη λογαριασμού"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log in"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -3990,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log in"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log in"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Termina de crear tu cuenta estableciendo una contraseña"
|
||||
},
|
||||
"login": {
|
||||
"message": "Iniciar sesión"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Inicio de sesión único empresarial"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB de espacio cifrado en disco para adjuntos."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Opciones de inicio de sesión con autenticación de dos pasos propietarios como YubiKey y Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Gracias por apoyar el desarrollo de Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "¡Todo por solo %price% /año!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Actualización completada"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Datos de la tarjeta"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Añadir cuenta"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Lõpeta konto loomine parooli luues"
|
||||
},
|
||||
"login": {
|
||||
"message": "Logi sisse"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Ettevõtte ühekordne sisselogimine"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB ulatuses krüpteeritud salvestusruum."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Täname, et toetad Bitwardenit."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Kõik see ainult $PRICE$ / aastas!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Uuendamine lõpetatud"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Hasi saioa"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enpresentzako saio hasiera bakarra"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "Eranskinentzako 1GB-eko zifratutako biltegia."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Eskerrik asko Bitwarden babesteagatik."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Dena, urtean $PRICE$gatik!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Eguneratzea eginda"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "ایجاد حساب خود را با تنظیم رمز عبور تکمیل کنید"
|
||||
},
|
||||
"login": {
|
||||
"message": "ورود"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "ورود به سیستم پروژه"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "۱ گیگابایت فضای ذخیره سازی رمزگذاری شده برای پیوست های پرونده."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "گزینه های ورود اضافی دو مرحله ای مانند YubiKey و Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "برای حمایتتان از Bitwarden سپاسگزاریم."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "تمامش فقط $PRICE$ در سال!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "نوسازی کامل شد"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -7,7 +7,7 @@
|
||||
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
|
||||
},
|
||||
"extDesc": {
|
||||
"message": "Kotona, töissä tai reissussa, Bitwarden suojaa salasanasi, suojausavaimesi ja arkaluonteiset tietosi helposti.",
|
||||
"message": "Kotona, töissä tai reissussa, Bitwarden suojaa salasanasi, pääsyavaimesi ja arkaluonteiset tietosi helposti.",
|
||||
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
|
||||
},
|
||||
"loginOrCreateNewAccount": {
|
||||
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Viimeistele tilin luonti asettamalla salasana"
|
||||
},
|
||||
"login": {
|
||||
"message": "Kirjaudu"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Yrityksen kertakirjautuminen (SSO)"
|
||||
},
|
||||
@ -311,13 +308,13 @@
|
||||
"message": "Kansion nimi"
|
||||
},
|
||||
"folderHintText": {
|
||||
"message": "Luo alikansioita lisäämällä olemassa olevan kansion nimi merkin “/” jälkeen. Esim: Some/Foorumit"
|
||||
"message": "Luo alikansio lisäämällä olemassa olevan kansion nimi \"/\"-merkin jälkeen. Esim: Some/Foorumit."
|
||||
},
|
||||
"noFoldersAdded": {
|
||||
"message": "Kansioita ei ole lisätty"
|
||||
},
|
||||
"createFoldersToOrganize": {
|
||||
"message": "Luo kansioita järjestääksesi holvisi kohteita"
|
||||
"message": "Lajittele holvisi kohteita luomalla kansioita"
|
||||
},
|
||||
"deleteFolderPermanently": {
|
||||
"message": "Haluatko varmasti poistaa kansion pysyvästi?"
|
||||
@ -718,7 +715,7 @@
|
||||
"message": "Aloita rekisteröityminen alusta tai yritä kirjautua sisään uudelleen."
|
||||
},
|
||||
"youMayAlreadyHaveAnAccount": {
|
||||
"message": "Sinulla saattaa olla jo tili"
|
||||
"message": "Sinulla saattaa jo olla tili"
|
||||
},
|
||||
"logOutConfirmation": {
|
||||
"message": "Haluatko varmasti kirjautua ulos?"
|
||||
@ -739,7 +736,7 @@
|
||||
"message": "Kansio lisätty"
|
||||
},
|
||||
"twoStepLoginConfirmation": {
|
||||
"message": "Kaksivaiheinen kirjautuminen parantaa tilisi suojausta vaatimalla kirjautumisen vahvistuksen salasanan lisäksi todennuslaitteen, ‑sovelluksen, tekstiviestin, puhelun tai sähköpostin avulla. Voit ottaa kaksivaiheisen kirjautumisen käyttöön bitwarden.com‑verkkoholvissa. Haluatko avata sen nyt?"
|
||||
"message": "Kaksivaiheinen kirjautuminen parantaa tilisi suojausta vaatimalla kirjautumisen vahvistuksen salasanan lisäksi suojausavaimen, ‑sovelluksen, tekstiviestin, puhelun tai sähköpostin avulla. Voit ottaa kaksivaiheisen kirjautumisen käyttöön bitwarden.com‑verkkoholvissa. Haluatko avata sen nyt?"
|
||||
},
|
||||
"editedFolder": {
|
||||
"message": "Kansio tallennettiin"
|
||||
@ -876,10 +873,10 @@
|
||||
"message": "Tarjoa kirjautumistiedon salasanan päivitystä, kun verkkosivustolla havaitaan uusi salasana. Koskee kaikkia kirjautuneita tilejä."
|
||||
},
|
||||
"enableUsePasskeys": {
|
||||
"message": "Tarjoa suojausvainten tallennusta ja käyttöä"
|
||||
"message": "Tarjoa pääsyavainten tallennusta ja käyttöä"
|
||||
},
|
||||
"usePasskeysDesc": {
|
||||
"message": "Tarjoa tallennusta uusille suojausavaimille tai kirjautumista holvissasi olevilla salausavaimilla. Koskee kaikkia kirjautuneita tilejä."
|
||||
"message": "Tarjoa uusien pääsyavainten tallennusta sekä kirjautumista holvissasi olevilla pääsyavaimilla. Koskee kaikkia kirjautuneita tilejä."
|
||||
},
|
||||
"notificationChangeDesc": {
|
||||
"message": "Haluatko päivittää salasanan Bitwardeniin?"
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 Gt salattua tallennustilaa tiedostoliitteille."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Varmuuskäyttö"
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Omisteiset kaksivaiheisen kirjautumisen vaihtoehdot, kuten YubiKey ja Duo."
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "Voit ostaa Premium-jäsenyyden bitwarden.com-verkkoholvista. Haluatko avata sivuston nyt?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "Voit ostaa Premiumin tiliasetuksistasi Bitwardenin verkkosovelluksen kautta."
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "Olet Premium-jäsen!"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Kiitos kun tuet Bitwardenia."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Päivitä premium-tilaukseen ja saat:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Kaikki tämä vain $PRICE$/vuosi!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Kaikki tämä vain $PRICE$/vuosi!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Päivitys valmistui"
|
||||
},
|
||||
@ -1143,10 +1152,10 @@
|
||||
"message": "Tämä ominaisuus edellyttää Premium-jäsenyyttä."
|
||||
},
|
||||
"enterVerificationCodeApp": {
|
||||
"message": "Syötä 6-numeroinen todennuskoodi todennussovelluksestasi."
|
||||
"message": "Syötä todennussovelluksesi näyttämä kuusinumeroinen todennuskoodi."
|
||||
},
|
||||
"enterVerificationCodeEmail": {
|
||||
"message": "Syötä 6-numeroinen todennuskoodi, joka lähetettiin sähköpostitse osoitteeseen $EMAIL$.",
|
||||
"message": "Syötä osoitteeseen $EMAIL$ lähetetty kuusinumeroinen todennuskoodi.",
|
||||
"placeholders": {
|
||||
"email": {
|
||||
"content": "$1",
|
||||
@ -1176,7 +1185,7 @@
|
||||
"message": "Kytke YubiKey-todennuslaitteesi tietokoneen USB-porttiin ja paina sen painiketta."
|
||||
},
|
||||
"insertU2f": {
|
||||
"message": "Kytke todennuslaitteesi tietokoneen USB-porttiin. Jos laitteessa on painike, paina sitä."
|
||||
"message": "Kytke suojausavaimesi tietokoneen USB-porttiin. Jos laitteessa on painike, paina sitä."
|
||||
},
|
||||
"webAuthnNewTab": {
|
||||
"message": "Aloittaaksesi kaksivaiheisen WebAuthn-tunnistautumisen, seuraa alla olevasta painikkeesta uuteen välilehteen avautuvia ohjeita."
|
||||
@ -1213,7 +1222,7 @@
|
||||
"description": "'Bitwarden Authenticator' is a product name and should not be translated."
|
||||
},
|
||||
"yubiKeyTitleV2": {
|
||||
"message": "Yubico OTP -todennuslaite"
|
||||
"message": "Yubico OTP -suojausavain"
|
||||
},
|
||||
"yubiKeyDesc": {
|
||||
"message": "Käytä YubiKey-todennuslaitetta tilisi avaukseen. Toimii YubiKey 4, 4 Nano, 4C sekä NEO -laitteiden kanssa."
|
||||
@ -1223,14 +1232,14 @@
|
||||
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
|
||||
},
|
||||
"duoOrganizationDesc": {
|
||||
"message": "Vahvista organisaatiollesi Duo Securityn avulla käyttäen Duo Mobile ‑sovellusta, tekstiviestiä, puhelua tai U2F-todennuslaitetta.",
|
||||
"message": "Vahvista organisaatiollesi Duo Securityn avulla käyttäen Duo Mobile ‑sovellusta, tekstiviestiä, puhelua tai U2F-suojausavainta.",
|
||||
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
|
||||
},
|
||||
"webAuthnTitle": {
|
||||
"message": "FIDO2 WebAuthn"
|
||||
},
|
||||
"webAuthnDesc": {
|
||||
"message": "Käytä mitä tahansa WebAuthn‑yhteensopivaa todennuslaitetta päästäksesi käsiksi tiliisi."
|
||||
"message": "Käytä mitä tahansa WebAuthn‑yhteensopivaa suojausavainta päästäksesi tilillesi."
|
||||
},
|
||||
"emailTitle": {
|
||||
"message": "Sähköposti"
|
||||
@ -1843,7 +1852,7 @@
|
||||
"message": "Käytä tätä käyttäjätunnusta"
|
||||
},
|
||||
"securePasswordGenerated": {
|
||||
"message": "Turvallinen salasana luotu! Muista myös päivittää salasana verkkosivustolla."
|
||||
"message": "Turvallinen salasana luotiin! Muista päivittää salasana myös verkkosivustolla."
|
||||
},
|
||||
"useGeneratorHelpTextPartOne": {
|
||||
"message": "Käytä generaattoria",
|
||||
@ -2305,11 +2314,11 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Send created successfully!",
|
||||
"message": "Sendin luonti onnistui!",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
"message": "The Send will be available to anyone with the link for the next $DAYS$ days.",
|
||||
"message": "Tämän linkin välityksellä Send on kenen tahansa avattavissa seuraavien $DAYS$ päivän ajan.",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
|
||||
"placeholders": {
|
||||
"days": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Send link copied",
|
||||
"message": "Send-linkki kopioitiin",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -3054,7 +3063,7 @@
|
||||
}
|
||||
},
|
||||
"singleFieldNeedsAttention": {
|
||||
"message": "1 kenttä vaatii huomiotasi."
|
||||
"message": "Yksi kenttä vaatii huomiotasi."
|
||||
},
|
||||
"multipleFieldsNeedAttention": {
|
||||
"message": "$COUNT$ kenttää vaatii huomiotasi.",
|
||||
@ -3400,25 +3409,25 @@
|
||||
"message": "Holvin tiedot on viety"
|
||||
},
|
||||
"typePasskey": {
|
||||
"message": "Suojausavain"
|
||||
"message": "Pääsyavain"
|
||||
},
|
||||
"passkeyNotCopied": {
|
||||
"message": "Suojausavainta ei kopioida"
|
||||
"message": "Pääsyavainta ei kopioida"
|
||||
},
|
||||
"passkeyNotCopiedAlert": {
|
||||
"message": "Suojausavain ei kopioidu kloonattuun kohteeseen. Haluatko jatkaa kloonausta?"
|
||||
"message": "Pääsyavain ei kopioidu kloonattuun kohteeseen. Haluatko jatkaa kloonausta?"
|
||||
},
|
||||
"passkeyFeatureIsNotImplementedForAccountsWithoutMasterPassword": {
|
||||
"message": "Käynnistävä sivusto edellyttää todennusta. Ominaisuutta ei ole vielä toteutettu tileille, joilla ei ole pääsalasanaa."
|
||||
"message": "Käynnistänyt sivusto edellyttää vahvistusta. Ominaisuutta ei ole vielä toteutettu tileille, joilla ei ole pääsalasanaa."
|
||||
},
|
||||
"logInWithPasskey": {
|
||||
"message": "Kirjaudutaanko suojausavaimella?"
|
||||
"message": "Kirjaudutaanko pääsyavaimella?"
|
||||
},
|
||||
"passkeyAlreadyExists": {
|
||||
"message": "Tälle sovellukselle on jo tallennettu suojausavain."
|
||||
"message": "Tälle sovellukselle on jo tallennettu pääsyavain."
|
||||
},
|
||||
"noPasskeysFoundForThisApplication": {
|
||||
"message": "Tälle sovellukselle ei löytynyt suojausavaimia."
|
||||
"message": "Tälle sovellukselle ei löytynyt pääsyavaimia."
|
||||
},
|
||||
"noMatchingPasskeyLogin": {
|
||||
"message": "Holvissasi ei ole tälle sivustolle sopivaa kirjautumistietoa."
|
||||
@ -3427,28 +3436,28 @@
|
||||
"message": "Vahvista"
|
||||
},
|
||||
"savePasskey": {
|
||||
"message": "Tallenna suojausavain"
|
||||
"message": "Tallenna pääsyavain"
|
||||
},
|
||||
"savePasskeyNewLogin": {
|
||||
"message": "Tallenna suojausavain uuteen kirjautumistietoon"
|
||||
"message": "Tallenna pääsyavain uuteen kirjautumistietoon"
|
||||
},
|
||||
"choosePasskey": {
|
||||
"message": "Valitse kirjautumistieto, johon suojausavain tallennetaan"
|
||||
"message": "Valitse kirjautumistieto, johon pääsyavain tallennetaan"
|
||||
},
|
||||
"passkeyItem": {
|
||||
"message": "Suojausavainkohde"
|
||||
"message": "Pääsyavainkohde"
|
||||
},
|
||||
"overwritePasskey": {
|
||||
"message": "Korvataanko suojausavain?"
|
||||
"message": "Korvataanko pääsyavain?"
|
||||
},
|
||||
"overwritePasskeyAlert": {
|
||||
"message": "Kohde sisältää jo suojausavaimen. Haluatko varmasti korvata nykyisen suojausavaimen?"
|
||||
"message": "Kohde sisältää jo pääsyavaimen. Haluatko varmasti korvata nykyisen avaimen?"
|
||||
},
|
||||
"featureNotSupported": {
|
||||
"message": "Ominaisuutta ei vielä tueta"
|
||||
},
|
||||
"yourPasskeyIsLocked": {
|
||||
"message": "Salausavaimen käyttö edellyttää todennusta. Jatka vahvistamalla henkilöllisyytesi."
|
||||
"message": "Pääsyavaimen käyttö edellyttää tunnistautumista. Jatka vahvistamalla henkilöllisyytesi."
|
||||
},
|
||||
"multifactorAuthenticationCancelled": {
|
||||
"message": "Monivaiheinen todennus peruttiin"
|
||||
@ -3642,10 +3651,10 @@
|
||||
"message": "Onnistui"
|
||||
},
|
||||
"removePasskey": {
|
||||
"message": "Poista suojausavain"
|
||||
"message": "Poista pääsyavain"
|
||||
},
|
||||
"passkeyRemoved": {
|
||||
"message": "Suojausavain poistettiin"
|
||||
"message": "Pääsyavain poistettiin"
|
||||
},
|
||||
"autofillSuggestions": {
|
||||
"message": "Automaattitäytä ehdotukset"
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Automaattitäytetäänkö sivun avautuessa?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Kortti on vanhentunut"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Jos olet uusinut sen, päivitä kortin tiedot"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Kortin tiedot"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Käytä animaatioita"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Lisää tili"
|
||||
},
|
||||
@ -3982,7 +4000,7 @@
|
||||
"message": "Tiedot"
|
||||
},
|
||||
"passkeys": {
|
||||
"message": "Avainkoodit",
|
||||
"message": "Pääsyavaimet",
|
||||
"description": "A section header for a list of passkeys."
|
||||
},
|
||||
"passwords": {
|
||||
@ -3990,7 +4008,7 @@
|
||||
"description": "A section header for a list of passwords."
|
||||
},
|
||||
"logInWithPasskeyAriaLabel": {
|
||||
"message": "Kirjaudu avainkoodilla",
|
||||
"message": "Kirjaudu pääsyavaimella",
|
||||
"description": "ARIA label for the inline menu button that logs in with a passkey."
|
||||
},
|
||||
"assign": {
|
||||
@ -4150,7 +4168,7 @@
|
||||
}
|
||||
},
|
||||
"itemsMovedToOrg": {
|
||||
"message": "Kohteet siirrettiin organisaatioon $ORGNAME$",
|
||||
"message": "Kohteet siirrettiin organisaatiolle $ORGNAME$",
|
||||
"placeholders": {
|
||||
"orgname": {
|
||||
"content": "$1",
|
||||
@ -4159,7 +4177,7 @@
|
||||
}
|
||||
},
|
||||
"itemMovedToOrg": {
|
||||
"message": "Kohde siirrettiin organisaatioon $ORGNAME$",
|
||||
"message": "Kohde siirrettiin organisaatiolle $ORGNAME$",
|
||||
"placeholders": {
|
||||
"orgname": {
|
||||
"content": "$1",
|
||||
@ -4203,7 +4221,7 @@
|
||||
"message": "Tilitoiminnot"
|
||||
},
|
||||
"showNumberOfAutofillSuggestions": {
|
||||
"message": "Näytä kirjautumisen automaattitäytön ehtotusten määrä laajennuksen kuvakkeessa"
|
||||
"message": "Näytä automaattitäytön kirjautumistietoehdotusten määrä laajennuksen kuvakkeessa"
|
||||
},
|
||||
"systemDefault": {
|
||||
"message": "Järjestelmän oletus"
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Mag-login"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise Single Sign-On sa Filipino ay Isang Sign-On na Enterprise"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage para sa mga file attachment."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Pagmamay-ari na dalawang hakbang na opsyon sa pag-log in gaya ng YubiKey at Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Salamat sa pagsuporta sa Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Lahat para lamang sa $PRICE$ /taon!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "I-refresh ang lahat"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -14,7 +14,7 @@
|
||||
"message": "Identifiez-vous ou créez un nouveau compte pour accéder à votre coffre sécurisé."
|
||||
},
|
||||
"inviteAccepted": {
|
||||
"message": "Invitation accepted"
|
||||
"message": "Invitation acceptée"
|
||||
},
|
||||
"createAccount": {
|
||||
"message": "Créer un compte"
|
||||
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Terminer la création de votre compte en définissant un mot de passe"
|
||||
},
|
||||
"login": {
|
||||
"message": "Se connecter"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Portail de connexion unique d'entreprise"
|
||||
},
|
||||
@ -72,10 +69,10 @@
|
||||
"message": "Indice du mot de passe principal (facultatif)"
|
||||
},
|
||||
"joinOrganization": {
|
||||
"message": "Join organization"
|
||||
"message": "Rejoindre l'organisation"
|
||||
},
|
||||
"finishJoiningThisOrganizationBySettingAMasterPassword": {
|
||||
"message": "Finish joining this organization by setting a master password."
|
||||
"message": "Terminer de rejoindre cette organisation en configurant un mot de passe principal."
|
||||
},
|
||||
"tab": {
|
||||
"message": "Onglet"
|
||||
@ -117,19 +114,19 @@
|
||||
"message": "Copier le code de sécurité"
|
||||
},
|
||||
"copyName": {
|
||||
"message": "Copy name"
|
||||
"message": "Copier le nom"
|
||||
},
|
||||
"copyCompany": {
|
||||
"message": "Copy company"
|
||||
"message": "Copier l'entreprise"
|
||||
},
|
||||
"copySSN": {
|
||||
"message": "Copy Social Security number"
|
||||
"message": "Copier le numéro de sécurité sociale"
|
||||
},
|
||||
"copyPassportNumber": {
|
||||
"message": "Copy passport number"
|
||||
"message": "Copier le numéro de passeport"
|
||||
},
|
||||
"copyLicenseNumber": {
|
||||
"message": "Copy license number"
|
||||
"message": "Copier la plaque d'immatriculation"
|
||||
},
|
||||
"autoFill": {
|
||||
"message": "Saisie automatique"
|
||||
@ -305,22 +302,22 @@
|
||||
"message": "Modifier le dossier"
|
||||
},
|
||||
"newFolder": {
|
||||
"message": "New folder"
|
||||
"message": "Nouveau dossier"
|
||||
},
|
||||
"folderName": {
|
||||
"message": "Folder name"
|
||||
"message": "Nom de dossier"
|
||||
},
|
||||
"folderHintText": {
|
||||
"message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums"
|
||||
"message": "Imbriquer un dossier en ajoutant le nom du dossier parent suivi d'un \"/\". Par exemple : Social/Forums"
|
||||
},
|
||||
"noFoldersAdded": {
|
||||
"message": "No folders added"
|
||||
"message": "Pas de dossier ajouté"
|
||||
},
|
||||
"createFoldersToOrganize": {
|
||||
"message": "Create folders to organize your vault items"
|
||||
"message": "Créer des dossiers pour organiser les éléments de votre coffre"
|
||||
},
|
||||
"deleteFolderPermanently": {
|
||||
"message": "Are you sure you want to permanently delete this folder?"
|
||||
"message": "Êtes-vous sûr de vouloir supprimer définitivement ce dossier ?"
|
||||
},
|
||||
"deleteFolder": {
|
||||
"message": "Supprimer le dossier"
|
||||
@ -691,7 +688,7 @@
|
||||
"message": "Bitwarden peut stocker et remplir des codes de vérification en 2 étapes. Sélectionnez l'icône caméra pour prendre une capture d'écran du code QR de l'authentificateur de ce site Web, ou copiez et collez la clé dans ce champ."
|
||||
},
|
||||
"learnMoreAboutAuthenticators": {
|
||||
"message": "Learn more about authenticators"
|
||||
"message": "En savoir plus sur les authentificateurs"
|
||||
},
|
||||
"copyTOTP": {
|
||||
"message": "Copier la clé Authenticator (TOTP)"
|
||||
@ -826,7 +823,7 @@
|
||||
"message": "Demander d'ajouter un identifiant"
|
||||
},
|
||||
"vaultSaveOptionsTitle": {
|
||||
"message": "Save to vault options"
|
||||
"message": "Enregistrer dans les options de coffre"
|
||||
},
|
||||
"addLoginNotificationDesc": {
|
||||
"message": "Demander d'ajouter un élément si aucun n'est trouvé dans votre coffre."
|
||||
@ -835,7 +832,7 @@
|
||||
"message": "Demande l'ajout d'un élément si celui-ci n'est pas trouvé dans votre coffre. S'applique à tous les comptes connectés."
|
||||
},
|
||||
"showCardsInVaultView": {
|
||||
"message": "Show cards as Autofill suggestions on Vault view"
|
||||
"message": "Afficher les cartes de paiement en tant que suggestions de saisie automatique dans la vue du coffre"
|
||||
},
|
||||
"showCardsCurrentTab": {
|
||||
"message": "Afficher les cartes de paiement sur la Page d'onglet"
|
||||
@ -844,7 +841,7 @@
|
||||
"message": "Liste les éléments des cartes de paiement sur la Page d'onglet pour faciliter la saisie automatique."
|
||||
},
|
||||
"showIdentitiesInVaultView": {
|
||||
"message": "Show identifies as Autofill suggestions on Vault view"
|
||||
"message": "Afficher les identités en tant que suggestions de saisie automatique dans la vue du coffre"
|
||||
},
|
||||
"showIdentitiesCurrentTab": {
|
||||
"message": "Afficher les identités sur la Page d'onglet"
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 Go de stockage chiffré pour les fichiers joints."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Accès d'urgence."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Options de connexion propriétaires à deux facteurs telles que YubiKey et Duo."
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "Vous pouvez acheter une adhésion Premium sur le coffre web de bitwarden.com. Voulez-vous visiter le site web maintenant ?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "Vous pouvez acheter la version Premium depuis les paramètres de votre compte dans l'application web Bitwarden."
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "Vous êtes un membre Premium !"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Merci de soutenir Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Mettre à niveau à la version Premium et recevez :"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Tout pour seulement $PRICE$/an !",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Tout pour seulement $PRICE$ /an !",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Actualisation terminée"
|
||||
},
|
||||
@ -1209,17 +1218,17 @@
|
||||
"message": "Application d'authentification"
|
||||
},
|
||||
"authenticatorAppDescV2": {
|
||||
"message": "Enter a code generated by an authenticator app like Bitwarden Authenticator.",
|
||||
"message": "Entrez un code généré par une application d'authentification comme Bitwarden Authenticator.",
|
||||
"description": "'Bitwarden Authenticator' is a product name and should not be translated."
|
||||
},
|
||||
"yubiKeyTitleV2": {
|
||||
"message": "Yubico OTP Security Key"
|
||||
"message": "Clé de sécurité OTP de Yubico"
|
||||
},
|
||||
"yubiKeyDesc": {
|
||||
"message": "Utiliser une YubiKey pour accéder à votre compte. Fonctionne avec les appareils YubiKey 4, 4 Nano, 4C et NEO."
|
||||
},
|
||||
"duoDescV2": {
|
||||
"message": "Enter a code generated by Duo Security.",
|
||||
"message": "Entrez un code généré par Duo Security.",
|
||||
"description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated."
|
||||
},
|
||||
"duoOrganizationDesc": {
|
||||
@ -1236,7 +1245,7 @@
|
||||
"message": "Courriel"
|
||||
},
|
||||
"emailDescV2": {
|
||||
"message": "Enter a code sent to your email."
|
||||
"message": "Entrez le code envoyé à votre adresse courriel."
|
||||
},
|
||||
"selfHostedEnvironment": {
|
||||
"message": "Environnement auto-hébergé"
|
||||
@ -1285,16 +1294,16 @@
|
||||
"description": "Represents the message for allowing the user to enable the autofill overlay"
|
||||
},
|
||||
"autofillSuggestionsSectionTitle": {
|
||||
"message": "Autofill suggestions"
|
||||
"message": "Suggestions de saisie automatique"
|
||||
},
|
||||
"showInlineMenuLabel": {
|
||||
"message": "Show autofill suggestions on form fields"
|
||||
"message": "Afficher les suggestions de saisie automatique dans les champs d'un formulaire"
|
||||
},
|
||||
"showInlineMenuOnIconSelectionLabel": {
|
||||
"message": "Display suggestions when icon is selected"
|
||||
"message": "Afficher les suggestions lorsque l'icône est sélectionnée"
|
||||
},
|
||||
"showInlineMenuOnFormFieldsDescAlt": {
|
||||
"message": "Applies to all logged in accounts."
|
||||
"message": "S'applique à tous les comptes connectés."
|
||||
},
|
||||
"turnOffBrowserBuiltInPasswordManagerSettings": {
|
||||
"message": "Désactivez les paramètres du gestionnaire de mots de passe intégré à votre navigateur pour éviter les conflits."
|
||||
@ -1315,7 +1324,7 @@
|
||||
"description": "Overlay appearance select option for showing the field on click of the overlay icon"
|
||||
},
|
||||
"enableAutoFillOnPageLoadSectionTitle": {
|
||||
"message": "Autofill on page load"
|
||||
"message": "Saisie automatique lors du chargement de la page"
|
||||
},
|
||||
"enableAutoFillOnPageLoad": {
|
||||
"message": "Saisir automatiquement au chargement de la page"
|
||||
@ -1324,7 +1333,7 @@
|
||||
"message": "Si un formulaire de connexion est détecté, il sera saisi automatiquement lors du chargement de la page web."
|
||||
},
|
||||
"autofillOnPageLoadWarning": {
|
||||
"message": "$OPENTAG$Warning:$CLOSETAG$ Compromised or untrusted websites can exploit autofill on page load.",
|
||||
"message": "$OPENTAG$Attention :$CLOSETAG$ Les sites web compromis ou non fiables peuvent exploiter la saisie automatique lors du chargement de la page.",
|
||||
"placeholders": {
|
||||
"openTag": {
|
||||
"content": "$1",
|
||||
@ -1340,7 +1349,7 @@
|
||||
"message": "les sites web compromis ou non fiables peuvent exploiter la saisie automatique au chargement de la page."
|
||||
},
|
||||
"learnMoreAboutAutofillOnPageLoadLinkText": {
|
||||
"message": "Learn more about risks"
|
||||
"message": "En savoir plus sur les risques"
|
||||
},
|
||||
"learnMoreAboutAutofill": {
|
||||
"message": "En savoir plus sur la saisie automatique"
|
||||
@ -1370,13 +1379,13 @@
|
||||
"message": "Ouvrir le coffre dans la barre latérale"
|
||||
},
|
||||
"commandAutofillLoginDesc": {
|
||||
"message": "Autofill the last used login for the current website"
|
||||
"message": "Saisir automatiquement le dernier identifiant utilisé pour le site web actuel"
|
||||
},
|
||||
"commandAutofillCardDesc": {
|
||||
"message": "Autofill the last used card for the current website"
|
||||
"message": "Saisir automatiquement la dernière carte utilisée pour le site web actuel"
|
||||
},
|
||||
"commandAutofillIdentityDesc": {
|
||||
"message": "Autofill the last used identity for the current website"
|
||||
"message": "Saisir automatiquement la dernière identité utilisée pour le site web actuel"
|
||||
},
|
||||
"commandGeneratePasswordDesc": {
|
||||
"message": "Générer et copier un nouveau mot de passe aléatoire dans le presse-papiers."
|
||||
@ -1409,7 +1418,7 @@
|
||||
"message": "Booléen"
|
||||
},
|
||||
"cfTypeCheckbox": {
|
||||
"message": "Checkbox"
|
||||
"message": "Case à cocher"
|
||||
},
|
||||
"cfTypeLinked": {
|
||||
"message": "Lié",
|
||||
@ -1612,7 +1621,7 @@
|
||||
}
|
||||
},
|
||||
"viewItemHeader": {
|
||||
"message": "View $TYPE$",
|
||||
"message": "Voir les $TYPE$",
|
||||
"placeholders": {
|
||||
"type": {
|
||||
"content": "$1",
|
||||
@ -1683,7 +1692,7 @@
|
||||
"description": "Domain name. Ex. website.com"
|
||||
},
|
||||
"baseDomainOptionRecommended": {
|
||||
"message": "Base domain (recommended)",
|
||||
"message": "Domaine de base (recommandé)",
|
||||
"description": "Domain name. Ex. website.com"
|
||||
},
|
||||
"domainName": {
|
||||
@ -1831,26 +1840,26 @@
|
||||
"message": "Une ou plusieurs politiques de sécurité de l'organisation affectent les paramètres de votre générateur."
|
||||
},
|
||||
"passwordGenerator": {
|
||||
"message": "Password generator"
|
||||
"message": "Générateur de mot de passe"
|
||||
},
|
||||
"usernameGenerator": {
|
||||
"message": "Username generator"
|
||||
"message": "Générateur de nom d'utilisateur"
|
||||
},
|
||||
"useThisPassword": {
|
||||
"message": "Use this password"
|
||||
"message": "Utiliser ce mot de passe"
|
||||
},
|
||||
"useThisUsername": {
|
||||
"message": "Use this username"
|
||||
"message": "Utiliser ce nom d'utilisateur"
|
||||
},
|
||||
"securePasswordGenerated": {
|
||||
"message": "Secure password generated! Don't forget to also update your password on the website."
|
||||
"message": "Mot de passe sécurisé généré ! N'oubliez pas aussi de mettre à jour votre mot de passe sur le site Web."
|
||||
},
|
||||
"useGeneratorHelpTextPartOne": {
|
||||
"message": "Use the generator",
|
||||
"message": "Utiliser le générateur",
|
||||
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
|
||||
},
|
||||
"useGeneratorHelpTextPartTwo": {
|
||||
"message": "to create a strong unique password",
|
||||
"message": "pour créer un mot de passe fort unique",
|
||||
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
|
||||
},
|
||||
"vaultTimeoutAction": {
|
||||
@ -1976,7 +1985,7 @@
|
||||
"message": "Votre nouveau mot de passe principal ne répond pas aux exigences de politique de sécurité."
|
||||
},
|
||||
"receiveMarketingEmailsV2": {
|
||||
"message": "Get advice, announcements, and research opportunities from Bitwarden in your inbox."
|
||||
"message": "Obtenez des conseils, des annonces et des opportunités de recherche de la part de Bitwarden dans votre boîte de réception."
|
||||
},
|
||||
"unsubscribe": {
|
||||
"message": "Se désabonner"
|
||||
@ -2051,7 +2060,7 @@
|
||||
"message": "Erreur de correspondance entre les comptes"
|
||||
},
|
||||
"nativeMessagingWrongUserKeyDesc": {
|
||||
"message": "Biometric unlock failed. The biometric secret key failed to unlock the vault. Please try to set up biometrics again."
|
||||
"message": "Le déverrouillage biométrique a échoué. La clé secrète biométrique n'a pas réussi à déverrouiller le coffre. Veuillez essayer de configurer à nouveau la biométrie."
|
||||
},
|
||||
"nativeMessagingWrongUserKeyTitle": {
|
||||
"message": "Biometric key missmatch"
|
||||
@ -2102,7 +2111,7 @@
|
||||
"message": "Une politique d'organisation a bloqué l'import d'éléments dans votre coffre personel."
|
||||
},
|
||||
"domainsTitle": {
|
||||
"message": "Domains",
|
||||
"message": "Domaines",
|
||||
"description": "A category title describing the concept of web domains"
|
||||
},
|
||||
"excludedDomains": {
|
||||
@ -2115,7 +2124,7 @@
|
||||
"message": "Bitwarden ne demandera pas d'enregistrer les détails de connexion pour ces domaines pour tous les comptes connectés. Vous devez actualiser la page pour que les modifications prennent effet."
|
||||
},
|
||||
"websiteItemLabel": {
|
||||
"message": "Website $number$ (URI)",
|
||||
"message": "Site web $number$ (URI)",
|
||||
"placeholders": {
|
||||
"number": {
|
||||
"content": "$1",
|
||||
@ -2133,7 +2142,7 @@
|
||||
}
|
||||
},
|
||||
"excludedDomainsSavedSuccess": {
|
||||
"message": "Excluded domain changes saved"
|
||||
"message": "Changements de domaines exclus enregistrés"
|
||||
},
|
||||
"send": {
|
||||
"message": "Send",
|
||||
@ -2171,7 +2180,7 @@
|
||||
"message": "Protégé par un mot de passe"
|
||||
},
|
||||
"copyLink": {
|
||||
"message": "Copy link"
|
||||
"message": "Copier le lien"
|
||||
},
|
||||
"copySendLink": {
|
||||
"message": "Copier le lien du Send",
|
||||
@ -2305,11 +2314,11 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Send created successfully!",
|
||||
"message": "Send créé avec succès !",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
"message": "The Send will be available to anyone with the link for the next $DAYS$ days.",
|
||||
"message": "Le Send est disponible à toute personne ayant le lien durant les $DAYS$ prochains jours.",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
|
||||
"placeholders": {
|
||||
"days": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Send link copied",
|
||||
"message": "Lien Send copié",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -2384,7 +2393,7 @@
|
||||
"message": "Vérification de courriel requise"
|
||||
},
|
||||
"emailVerifiedV2": {
|
||||
"message": "Email verified"
|
||||
"message": "Courriel vérifié"
|
||||
},
|
||||
"emailVerificationRequiredDesc": {
|
||||
"message": "Vous devez vérifier votre courriel pour utiliser cette fonctionnalité. Vous pouvez vérifier votre courriel dans le coffre web."
|
||||
@ -2402,7 +2411,7 @@
|
||||
"message": "Votre mot de passe principal ne répond pas aux exigences de politique de sécurité de cette organisation. Pour accéder au coffre, vous devez mettre à jour votre mot de passe principal dès maintenant. En poursuivant, vous serez déconnecté de votre session actuelle et vous devrez vous reconnecter. Les sessions actives sur d'autres appareils peuver rester actives pendant encore une heure."
|
||||
},
|
||||
"tdeDisabledMasterPasswordRequired": {
|
||||
"message": "Your organization has disabled trusted device encryption. Please set a master password to access your vault."
|
||||
"message": "Votre organisation a désactivé le déchiffrement de votre appareil de confiance. Veuillez configurer un mot de passe principal pour accéder à votre coffre."
|
||||
},
|
||||
"resetPasswordPolicyAutoEnroll": {
|
||||
"message": "Inscription automatique"
|
||||
@ -2855,22 +2864,22 @@
|
||||
"message": "Paramètres de saisie automatique"
|
||||
},
|
||||
"autofillKeyboardShortcutSectionTitle": {
|
||||
"message": "Autofill shortcut"
|
||||
"message": "Raccourci de saisie automatique"
|
||||
},
|
||||
"autofillKeyboardShortcutUpdateLabel": {
|
||||
"message": "Change shortcut"
|
||||
"message": "Modifier le raccourci"
|
||||
},
|
||||
"autofillKeyboardManagerShortcutsLabel": {
|
||||
"message": "Manage shortcuts"
|
||||
"message": "Gérer les raccourcis"
|
||||
},
|
||||
"autofillShortcut": {
|
||||
"message": "Raccourci clavier de saisie automatique"
|
||||
},
|
||||
"autofillLoginShortcutNotSet": {
|
||||
"message": "The autofill login shortcut is not set. Change this in the browser's settings."
|
||||
"message": "Le raccourci de saisie automatique de l'identifiant n'est pas configuré. Changez-le dans les paramètres du navigateur."
|
||||
},
|
||||
"autofillLoginShortcutText": {
|
||||
"message": "The autofill login shortcut is $COMMAND$. Manage all shortcuts in the browser's settings.",
|
||||
"message": "Le raccourci de saisie automatique de l'identifiant est $COMMAND$. Gérez tous les raccourcis dans les paramètres du navigateur.",
|
||||
"placeholders": {
|
||||
"command": {
|
||||
"content": "$1",
|
||||
@ -2973,11 +2982,11 @@
|
||||
"message": "Appareil de confiance"
|
||||
},
|
||||
"sendsNoItemsTitle": {
|
||||
"message": "No active Sends",
|
||||
"message": "Pas de Send actif",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendsNoItemsMessage": {
|
||||
"message": "Use Send to securely share encrypted information with anyone.",
|
||||
"message": "Utilisez Send pour partager en toute sécurité des informations chiffrées avec tout le monde.",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"inputRequired": {
|
||||
@ -3054,10 +3063,10 @@
|
||||
}
|
||||
},
|
||||
"singleFieldNeedsAttention": {
|
||||
"message": "1 field needs your attention."
|
||||
"message": "1 champ nécessite votre attention."
|
||||
},
|
||||
"multipleFieldsNeedAttention": {
|
||||
"message": "$COUNT$ fields need your attention.",
|
||||
"message": "$COUNT$ champs nécessitent votre attention.",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"content": "$1",
|
||||
@ -3144,7 +3153,7 @@
|
||||
"description": "Message appearing below the autofill on load message when master password reprompt is set for a vault item."
|
||||
},
|
||||
"toggleSideNavigation": {
|
||||
"message": "Toggle side navigation"
|
||||
"message": "Basculer la navigation latérale"
|
||||
},
|
||||
"skipToContent": {
|
||||
"message": "Accéder directement au contenu"
|
||||
@ -3166,7 +3175,7 @@
|
||||
"description": "Text to display in overlay when the account is locked."
|
||||
},
|
||||
"unlockYourAccountToViewAutofillSuggestions": {
|
||||
"message": "Unlock your account to view autofill suggestions",
|
||||
"message": "Déverrouillez votre compte pour afficher les suggestions de saisie automatique",
|
||||
"description": "Text to display in overlay when the account is locked."
|
||||
},
|
||||
"unlockAccount": {
|
||||
@ -3174,7 +3183,7 @@
|
||||
"description": "Button text to display in overlay when the account is locked."
|
||||
},
|
||||
"unlockAccountAria": {
|
||||
"message": "Unlock your account, opens in a new window",
|
||||
"message": "Déverrouiller votre compte, s'ouvre dans une nouvelle fenêtre",
|
||||
"description": "Screen reader text (aria-label) for unlock account button in overlay"
|
||||
},
|
||||
"fillCredentialsFor": {
|
||||
@ -3198,7 +3207,7 @@
|
||||
"description": "Screen reader text (aria-label) for new item button in overlay"
|
||||
},
|
||||
"newLogin": {
|
||||
"message": "New login",
|
||||
"message": "Nouvel identifiant",
|
||||
"description": "Button text to display within inline menu when there are no matching items on a login field"
|
||||
},
|
||||
"addNewLoginItemAria": {
|
||||
@ -3206,7 +3215,7 @@
|
||||
"description": "Screen reader text (aria-label) for new login button within inline menu"
|
||||
},
|
||||
"newCard": {
|
||||
"message": "New card",
|
||||
"message": "Nouvelle carte de paiement",
|
||||
"description": "Button text to display within inline menu when there are no matching items on a credit card field"
|
||||
},
|
||||
"addNewCardItemAria": {
|
||||
@ -3214,7 +3223,7 @@
|
||||
"description": "Screen reader text (aria-label) for new card button within inline menu"
|
||||
},
|
||||
"newIdentity": {
|
||||
"message": "New identity",
|
||||
"message": "Nouvelle identité",
|
||||
"description": "Button text to display within inline menu when there are no matching items on an identity field"
|
||||
},
|
||||
"addNewIdentityItemAria": {
|
||||
@ -3397,7 +3406,7 @@
|
||||
"message": "Confirmez le mot de passe du fichier"
|
||||
},
|
||||
"exportSuccess": {
|
||||
"message": "Vault data exported"
|
||||
"message": "Données du coffre exportées"
|
||||
},
|
||||
"typePasskey": {
|
||||
"message": "Clé d'identification (passkey)"
|
||||
@ -3579,27 +3588,27 @@
|
||||
"description": "Label indicating the most common import formats"
|
||||
},
|
||||
"confirmContinueToBrowserSettingsTitle": {
|
||||
"message": "Continue to browser settings?",
|
||||
"message": "Continuer vers les paramètres du navigateur ?",
|
||||
"description": "Title for dialog which asks if the user wants to proceed to a relevant browser settings page"
|
||||
},
|
||||
"confirmContinueToHelpCenter": {
|
||||
"message": "Continue to Help Center?",
|
||||
"message": "Continuer vers le centre d'aide ?",
|
||||
"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": "Modifiez les paramètres de saisie automatique et de gestion des mots de passe de votre navigateur.",
|
||||
"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": "Vous pouvez afficher et définir les raccourcis d'extension dans les paramètres de votre navigateur.",
|
||||
"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": "Modifiez les paramètres de saisie automatique et de gestion des mots de passe de votre navigateur.",
|
||||
"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": "Vous pouvez afficher et définir les raccourcis d'extension dans les paramètres de votre navigateur.",
|
||||
"description": "Body content for dialog which asks if the user wants to proceed to the browser's keyboard shortcut settings page"
|
||||
},
|
||||
"overrideDefaultBrowserAutofillTitle": {
|
||||
@ -3713,7 +3722,7 @@
|
||||
}
|
||||
},
|
||||
"autofillTitle": {
|
||||
"message": "Autofill - $ITEMNAME$",
|
||||
"message": "Saisie automatique - $ITEMNAME$",
|
||||
"description": "Title for a button that autofills a login item.",
|
||||
"placeholders": {
|
||||
"itemname": {
|
||||
@ -3726,7 +3735,7 @@
|
||||
"message": "Aucune valeur à copier"
|
||||
},
|
||||
"assignToCollections": {
|
||||
"message": "Assign to collections"
|
||||
"message": "Assigner aux collections"
|
||||
},
|
||||
"copyEmail": {
|
||||
"message": "Copier l'email"
|
||||
@ -3792,13 +3801,13 @@
|
||||
"message": "Eléments sans dossier"
|
||||
},
|
||||
"itemDetails": {
|
||||
"message": "Item details"
|
||||
"message": "Détails de l'élément"
|
||||
},
|
||||
"itemName": {
|
||||
"message": "Item name"
|
||||
"message": "Nom de l’élément"
|
||||
},
|
||||
"cannotRemoveViewOnlyCollections": {
|
||||
"message": "You cannot remove collections with View only permissions: $COLLECTIONS$",
|
||||
"message": "Vous ne pouvez pas supprimer des collections avec les autorisations d'affichage uniquement : $COLLECTIONS$",
|
||||
"placeholders": {
|
||||
"collections": {
|
||||
"content": "$1",
|
||||
@ -3810,44 +3819,44 @@
|
||||
"message": "L'organisation est désactivée"
|
||||
},
|
||||
"owner": {
|
||||
"message": "Owner"
|
||||
"message": "Propriétaire"
|
||||
},
|
||||
"selfOwnershipLabel": {
|
||||
"message": "You",
|
||||
"message": "Vous",
|
||||
"description": "Used as a label to indicate that the user is the owner of an item."
|
||||
},
|
||||
"contactYourOrgAdmin": {
|
||||
"message": "Les éléments des Organisations désactivées ne sont pas accessibles. Contactez le propriétaire de votre Organisation pour obtenir de l'aide."
|
||||
},
|
||||
"additionalInformation": {
|
||||
"message": "Additional information"
|
||||
"message": "Informations supplémentaires"
|
||||
},
|
||||
"itemHistory": {
|
||||
"message": "Item history"
|
||||
"message": "Historique de l'élément"
|
||||
},
|
||||
"lastEdited": {
|
||||
"message": "Last edited"
|
||||
"message": "Dernière modification"
|
||||
},
|
||||
"ownerYou": {
|
||||
"message": "Owner: You"
|
||||
"message": "Propriétaire : Vous"
|
||||
},
|
||||
"linked": {
|
||||
"message": "Linked"
|
||||
"message": "Lié"
|
||||
},
|
||||
"copySuccessful": {
|
||||
"message": "Copy Successful"
|
||||
"message": "Copié avec succès"
|
||||
},
|
||||
"upload": {
|
||||
"message": "Upload"
|
||||
"message": "Téléverser"
|
||||
},
|
||||
"addAttachment": {
|
||||
"message": "Add attachment"
|
||||
"message": "Ajouter une pièce jointe"
|
||||
},
|
||||
"maxFileSizeSansPunctuation": {
|
||||
"message": "Maximum file size is 500 MB"
|
||||
"message": "La taille maximale du fichier est de 500 Mo"
|
||||
},
|
||||
"deleteAttachmentName": {
|
||||
"message": "Delete attachment $NAME$",
|
||||
"message": "Supprimer la pièce jointe $NAME$",
|
||||
"placeholders": {
|
||||
"name": {
|
||||
"content": "$1",
|
||||
@ -3856,7 +3865,7 @@
|
||||
}
|
||||
},
|
||||
"downloadAttachmentName": {
|
||||
"message": "Download $NAME$",
|
||||
"message": "Télécharger $NAME$",
|
||||
"placeholders": {
|
||||
"name": {
|
||||
"content": "$1",
|
||||
@ -3871,22 +3880,22 @@
|
||||
"message": "Premium"
|
||||
},
|
||||
"freeOrgsCannotUseAttachments": {
|
||||
"message": "Free organizations cannot use attachments"
|
||||
"message": "Les organisations gratuites ne peuvent pas utiliser de pièces jointes"
|
||||
},
|
||||
"filters": {
|
||||
"message": "Filtres"
|
||||
},
|
||||
"personalDetails": {
|
||||
"message": "Personal details"
|
||||
"message": "Données personnelles"
|
||||
},
|
||||
"identification": {
|
||||
"message": "Identification"
|
||||
},
|
||||
"contactInfo": {
|
||||
"message": "Contact info"
|
||||
"message": "Informations de contact"
|
||||
},
|
||||
"downloadAttachment": {
|
||||
"message": "Download - $ITEMNAME$",
|
||||
"message": "Télécharger - $ITEMNAME$",
|
||||
"placeholders": {
|
||||
"itemname": {
|
||||
"content": "$1",
|
||||
@ -3895,23 +3904,23 @@
|
||||
}
|
||||
},
|
||||
"cardNumberEndsWith": {
|
||||
"message": "card number ends with",
|
||||
"message": "numéro de la carte se termine par",
|
||||
"description": "Used within the inline menu to provide an aria description when users are attempting to fill a card cipher."
|
||||
},
|
||||
"loginCredentials": {
|
||||
"message": "Login credentials"
|
||||
"message": "Identifiants de connexion"
|
||||
},
|
||||
"authenticatorKey": {
|
||||
"message": "Authenticator key"
|
||||
"message": "Clé d'authentification"
|
||||
},
|
||||
"autofillOptions": {
|
||||
"message": "Autofill options"
|
||||
"message": "Options de saisie automatique"
|
||||
},
|
||||
"websiteUri": {
|
||||
"message": "Website (URI)"
|
||||
"message": "Site web (URI)"
|
||||
},
|
||||
"websiteUriCount": {
|
||||
"message": "Website (URI) $COUNT$",
|
||||
"message": "Site web (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": {
|
||||
@ -3921,16 +3930,16 @@
|
||||
}
|
||||
},
|
||||
"websiteAdded": {
|
||||
"message": "Website added"
|
||||
"message": "Site web ajouté"
|
||||
},
|
||||
"addWebsite": {
|
||||
"message": "Add website"
|
||||
"message": "Ajouter le site web"
|
||||
},
|
||||
"deleteWebsite": {
|
||||
"message": "Delete website"
|
||||
"message": "Supprimer le site web"
|
||||
},
|
||||
"defaultLabel": {
|
||||
"message": "Default ($VALUE$)",
|
||||
"message": "Par défaut ($VALUE$)",
|
||||
"description": "A label that indicates the default value for a field with the current default value in parentheses.",
|
||||
"placeholders": {
|
||||
"value": {
|
||||
@ -3958,10 +3967,16 @@
|
||||
}
|
||||
},
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
"message": "Saisir automatiquement lors du chargement de la page ?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Carte de paiement expirée"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Si vous l'avez renouvelée, mettez à jour les informations de la carte de paiement"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
"message": "Détails de la carte de paiement"
|
||||
},
|
||||
"cardBrandDetails": {
|
||||
"message": "$BRAND$ details",
|
||||
@ -3972,38 +3987,41 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Activer les animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
"message": "Ajouter un compte"
|
||||
},
|
||||
"loading": {
|
||||
"message": "Loading"
|
||||
"message": "Chargement"
|
||||
},
|
||||
"data": {
|
||||
"message": "Data"
|
||||
"message": "Données"
|
||||
},
|
||||
"passkeys": {
|
||||
"message": "Passkeys",
|
||||
"message": "Clés d'accès",
|
||||
"description": "A section header for a list of passkeys."
|
||||
},
|
||||
"passwords": {
|
||||
"message": "Passwords",
|
||||
"message": "Mots de passe",
|
||||
"description": "A section header for a list of passwords."
|
||||
},
|
||||
"logInWithPasskeyAriaLabel": {
|
||||
"message": "Log in with passkey",
|
||||
"message": "Se connecter avec une clé d'accès",
|
||||
"description": "ARIA label for the inline menu button that logs in with a passkey."
|
||||
},
|
||||
"assign": {
|
||||
"message": "Assign"
|
||||
"message": "Assigner"
|
||||
},
|
||||
"bulkCollectionAssignmentDialogDescriptionSingular": {
|
||||
"message": "Only organization members with access to these collections will be able to see the item."
|
||||
"message": "Seuls les membres de l'organisation ayant accès à ces collections pourront voir l'élément."
|
||||
},
|
||||
"bulkCollectionAssignmentDialogDescriptionPlural": {
|
||||
"message": "Only organization members with access to these collections will be able to see the items."
|
||||
"message": "Seuls les membres de l'organisation ayant accès à ces collections pourront voir les éléments."
|
||||
},
|
||||
"bulkCollectionAssignmentWarning": {
|
||||
"message": "You have selected $TOTAL_COUNT$ items. You cannot update $READONLY_COUNT$ of the items because you do not have edit permissions.",
|
||||
"message": "Vous avez sélectionné $TOTAL_COUNT$ éléments. Vous ne pouvez pas mettre à jour $READONLY_COUNT$ de ces éléments parce que vous n'avez pas les autorisations pour les éditer.",
|
||||
"placeholders": {
|
||||
"total_count": {
|
||||
"content": "$1",
|
||||
@ -4015,37 +4033,37 @@
|
||||
}
|
||||
},
|
||||
"addField": {
|
||||
"message": "Add field"
|
||||
"message": "Ajouter un champ"
|
||||
},
|
||||
"add": {
|
||||
"message": "Add"
|
||||
"message": "Ajouter"
|
||||
},
|
||||
"fieldType": {
|
||||
"message": "Field type"
|
||||
"message": "Type du champ"
|
||||
},
|
||||
"fieldLabel": {
|
||||
"message": "Field label"
|
||||
"message": "Intitulé du champ"
|
||||
},
|
||||
"textHelpText": {
|
||||
"message": "Use text fields for data like security questions"
|
||||
"message": "Utiliser des champs de texte pour les données telles que les questions de sécurité"
|
||||
},
|
||||
"hiddenHelpText": {
|
||||
"message": "Use hidden fields for sensitive data like a password"
|
||||
"message": "Utiliser des champs cachés pour des données sensibles telles qu'un mot de passe"
|
||||
},
|
||||
"checkBoxHelpText": {
|
||||
"message": "Use checkboxes if you'd like to autofill a form's checkbox, like a remember email"
|
||||
"message": "Utilisez les cases à cocher si vous souhaitez saisir automatiquement la case à cocher d'un formulaire, tel qu'un courriel de rappel"
|
||||
},
|
||||
"linkedHelpText": {
|
||||
"message": "Use a linked field when you are experiencing autofill issues for a specific website."
|
||||
"message": "Utilisez un champ lié lorsque vous rencontrez des problèmes de saisie automatique pour un site Web spécifique."
|
||||
},
|
||||
"linkedLabelHelpText": {
|
||||
"message": "Enter the the field's html id, name, aria-label, or placeholder."
|
||||
},
|
||||
"editField": {
|
||||
"message": "Edit field"
|
||||
"message": "Éditer le champ"
|
||||
},
|
||||
"editFieldLabel": {
|
||||
"message": "Edit $LABEL$",
|
||||
"message": "Éditer $LABEL$",
|
||||
"placeholders": {
|
||||
"label": {
|
||||
"content": "$1",
|
||||
@ -4054,7 +4072,7 @@
|
||||
}
|
||||
},
|
||||
"deleteCustomField": {
|
||||
"message": "Delete $LABEL$",
|
||||
"message": "Supprimer $LABEL$",
|
||||
"placeholders": {
|
||||
"label": {
|
||||
"content": "$1",
|
||||
@ -4063,7 +4081,7 @@
|
||||
}
|
||||
},
|
||||
"fieldAdded": {
|
||||
"message": "$LABEL$ added",
|
||||
"message": "$LABEL$ ajouté",
|
||||
"placeholders": {
|
||||
"label": {
|
||||
"content": "$1",
|
||||
@ -4072,7 +4090,7 @@
|
||||
}
|
||||
},
|
||||
"reorderToggleButton": {
|
||||
"message": "Reorder $LABEL$. Use arrow key to move item up or down.",
|
||||
"message": "Réorganiser $LABEL$. Utilisez les flèches de votre clavier pour déplacer l'élément vers le haut ou vers le bas.",
|
||||
"placeholders": {
|
||||
"label": {
|
||||
"content": "$1",
|
||||
@ -4098,13 +4116,13 @@
|
||||
}
|
||||
},
|
||||
"selectCollectionsToAssign": {
|
||||
"message": "Select collections to assign"
|
||||
"message": "Sélectionnez les collections à assigner"
|
||||
},
|
||||
"personalItemTransferWarningSingular": {
|
||||
"message": "1 item will be permanently transferred to the selected organization. You will no longer own this item."
|
||||
"message": "1 élément sera transféré définitivement à l'organisation sélectionnée. Vous ne serez plus le propriétaire de cet élément."
|
||||
},
|
||||
"personalItemsTransferWarningPlural": {
|
||||
"message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to the selected organization. You will no longer own these items.",
|
||||
"message": "Les éléments $PERSONAL_ITEMS_COUNT$ seront transférés de façon permanente à l'organisation sélectionnée. Vous ne serez plus le propriétaire de ces éléments.",
|
||||
"placeholders": {
|
||||
"personal_items_count": {
|
||||
"content": "$1",
|
||||
@ -4113,7 +4131,7 @@
|
||||
}
|
||||
},
|
||||
"personalItemWithOrgTransferWarningSingular": {
|
||||
"message": "1 item will be permanently transferred to $ORG$. You will no longer own this item.",
|
||||
"message": "1 élément sera transféré définitivement à $ORG$. Vous ne serez plus le propriétaire de cet élément.",
|
||||
"placeholders": {
|
||||
"org": {
|
||||
"content": "$1",
|
||||
@ -4122,7 +4140,7 @@
|
||||
}
|
||||
},
|
||||
"personalItemsWithOrgTransferWarningPlural": {
|
||||
"message": "$PERSONAL_ITEMS_COUNT$ items will be permanently transferred to $ORG$. You will no longer own these items.",
|
||||
"message": "Les éléments $PERSONAL_ITEMS_COUNT$ seront transférés à $ORG$ de façon permanente. Vous ne serez plus propriétaire de ces éléments.",
|
||||
"placeholders": {
|
||||
"personal_items_count": {
|
||||
"content": "$1",
|
||||
@ -4135,13 +4153,13 @@
|
||||
}
|
||||
},
|
||||
"successfullyAssignedCollections": {
|
||||
"message": "Successfully assigned collections"
|
||||
"message": "Collections assignées avec succès"
|
||||
},
|
||||
"nothingSelected": {
|
||||
"message": "You have not selected anything."
|
||||
"message": "Vous n'avez rien sélectionné."
|
||||
},
|
||||
"movedItemsToOrg": {
|
||||
"message": "Selected items moved to $ORGNAME$",
|
||||
"message": "Les éléments sélectionnés ont été déplacés vers $ORGNAME$",
|
||||
"placeholders": {
|
||||
"orgname": {
|
||||
"content": "$1",
|
||||
@ -4150,7 +4168,7 @@
|
||||
}
|
||||
},
|
||||
"itemsMovedToOrg": {
|
||||
"message": "Items moved to $ORGNAME$",
|
||||
"message": "Éléments déplacés vers $ORGNAME$",
|
||||
"placeholders": {
|
||||
"orgname": {
|
||||
"content": "$1",
|
||||
@ -4159,7 +4177,7 @@
|
||||
}
|
||||
},
|
||||
"itemMovedToOrg": {
|
||||
"message": "Item moved to $ORGNAME$",
|
||||
"message": "Élément déplacé vers $ORGNAME$",
|
||||
"placeholders": {
|
||||
"orgname": {
|
||||
"content": "$1",
|
||||
@ -4185,7 +4203,7 @@
|
||||
}
|
||||
},
|
||||
"itemLocation": {
|
||||
"message": "Item Location"
|
||||
"message": "Emplacement de l'élément"
|
||||
},
|
||||
"fileSends": {
|
||||
"message": "File Sends"
|
||||
@ -4194,7 +4212,7 @@
|
||||
"message": "Text Sends"
|
||||
},
|
||||
"bitwardenNewLook": {
|
||||
"message": "Bitwarden has a new look!"
|
||||
"message": "Bitwarden a un nouveau look !"
|
||||
},
|
||||
"bitwardenNewLookDesc": {
|
||||
"message": "It's easier and more intuitive than ever to autofill and search from the Vault tab. Take a look around!"
|
||||
@ -4203,7 +4221,7 @@
|
||||
"message": "Account actions"
|
||||
},
|
||||
"showNumberOfAutofillSuggestions": {
|
||||
"message": "Show number of login autofill suggestions on extension icon"
|
||||
"message": "Afficher le nombre de suggestions de saisie automatique d'identifiant sur l'icône d'extension"
|
||||
},
|
||||
"systemDefault": {
|
||||
"message": "System default"
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Iniciar sesión"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Inicio de sesión único empresarial"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage for file attachments."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "התחבר"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "כניסה ארגונית אחידה"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 ג'יגה של מקום אחסון עבור קבצים מצורפים."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "תודה על תמיכתך בBitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "הכל רק ב$PRICE$ לשנה!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "הרענון הושלם"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "पासवर्ड सेट करके अपना खाता निर्माण पूरा करें"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log In"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "उद्यम एकल साइन-ऑन"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB of encrypted file storage."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "ताज़ा पूरा"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Dovrši stvaranje svog računa postavljanjem lozinke"
|
||||
},
|
||||
"login": {
|
||||
"message": "Prijava"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Jedinstvena prijava na razini tvrtke (SSO)"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB šifriranog prostora za pohranu podataka."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Mogućnosti za prijavu u dva koraka kao što su YubiKey i Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Hvala ti što podupireš Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Sve za samo $PRICE$ /godišnje!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Osvježavanje završeno"
|
||||
},
|
||||
@ -2305,11 +2314,11 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Send je uspješno stvoren!",
|
||||
"message": "Send created successfully!",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
"message": "Send će biti dostupan svakome s poveznicom ovoliko dana: $DAYS$.",
|
||||
"message": "The Send will be available to anyone with the link for the next $DAYS$ days.",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
|
||||
"placeholders": {
|
||||
"days": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Kopirana poveznica Senda",
|
||||
"message": "Send link copied",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Auto-ispuna kod učitavanja?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Detalji kartice"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Dodaj račun"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "A fiók létrehozásának befejezése jelszó beállításával"
|
||||
},
|
||||
"login": {
|
||||
"message": "Bejelentkezés"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Vállalati önálló bejelentkezés"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB titkosított tárhely a fájlmellékleteknek."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Sürgősségi hozzáférés"
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Saját kétlépcsős bejelentkezési lehetőségek mint a YubiKey és a Duo."
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "A prémium tagság megvásárolható a bitwarden.com webes széfben. Szeretnénk felkeresni a webhelyet most?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "Prémium szolgáltatást vásárolhatunk a Bitwarden webalkalmazás fiókbeállításai között."
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "Prémium tag vagyunk!"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Köszönjük a Bitwarden támogatását."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Áttérés prémium verzióra és fogadás:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Mindez csak $PRICE$ /év.",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Mindez csak $PRICE$ /év!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Frissítés megtörtént"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Automatikus kitöltés oldalbetöltésnél?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Lejárt kártya"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Ha megújítottuk, frissítsük a kártya adatait."
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Kártyaadatok"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Animációk engedélyezése"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Fiók hozzáadása"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Masuk"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "SSO Perusahaan"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB penyimpanan berkas yang dienkripsi."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Terima kasih telah mendukung Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Semua itu hanya $PRICE$ /tahun!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Penyegaran selesai"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Accedi"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Single Sign-On aziendale"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB di spazio di archiviazione crittografato per gli allegati."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Opzioni di verifica in due passaggi proprietarie come YubiKey e Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Grazie per il tuo supporto a Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Il tutto per soli $PRICE$ all'anno!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Aggiornamento completato"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "パスワードを設定してアカウントの作成を完了してください"
|
||||
},
|
||||
"login": {
|
||||
"message": "ログイン"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "組織のシングルサインオン"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1GB の暗号化されたファイルストレージ"
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "緊急アクセス"
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "YubiKey、Duo などのプロプライエタリな2段階認証オプション。"
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "プレミアム会員権は bitwarden.com ウェブ保管庫で購入できます。ウェブサイトを開きますか?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "Bitwarden ウェブアプリでアカウント設定からプレミアムを購入できます。"
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "あなたはプレミアム会員です!"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Bitwarden を支援いただき、ありがとうございます。"
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "プレミアムにアップグレードして受け取る:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "全部でなんと$PRICE$/年だけ!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "すべて込みで年間たったの$PRICE$!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "更新完了"
|
||||
},
|
||||
@ -2305,11 +2314,11 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Send created successfully!",
|
||||
"message": "Send を作成しました!",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
"message": "The Send will be available to anyone with the link for the next $DAYS$ days.",
|
||||
"message": "Send は、次の $DAYS$ 日間はリンクを知っている人全員が利用できます。",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
|
||||
"placeholders": {
|
||||
"days": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Send link copied",
|
||||
"message": "Send リンクをコピーしました",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "ページ読み込み時に自動入力する"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "期限切れのカード"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "カードの更新があった場合、カード情報を更新してください"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "カード情報"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "アニメーションを有効化"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "アカウントを追加"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "ავტორიზაცია"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage for file attachments."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log in"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage for file attachments."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "ಲಾಗಿನ್"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "ಎಂಟರ್ಪ್ರೈಸ್ ಏಕ ಸೈನ್-ಆನ್"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "ಫೈಲ್ ಲಗತ್ತುಗಳಿಗಾಗಿ 1 ಜಿಬಿ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಸಂಗ್ರಹ."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "ಬಿಟ್ವಾರ್ಡೆನ್ ಅವರನ್ನು ಬೆಂಬಲಿಸಿದ್ದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "ಎಲ್ಲವೂ ಕೇವಲ $PRICE$ / ವರ್ಷಕ್ಕೆ!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "ರಿಫ್ರೆಶ್ ಪೂರ್ಣಗೊಂಡಿದೆ"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "로그인"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "엔터프라이즈 통합 인증 (SSO)"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1GB의 암호화된 파일 저장소."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Bitwarden을 지원해 주셔서 감사합니다."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "이 모든 기능을 연 $PRICE$에 이용하실 수 있습니다!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "새로 고침 완료"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Baigkite kurti paskyrą nustatydami slaptažodį"
|
||||
},
|
||||
"login": {
|
||||
"message": "Prisijungti"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Vienkartinis įmonės prisijungimas"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB užšifruotos vietos diske bylų prisegimams."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Patentuotos dviejų žingsnių prisijungimo parinktys, tokios kaip YubiKey ir Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Dėkojame, kad palaikote „Bitwarden“."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Visa tai tik už $PRICE$ / metus!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Atnaujinimas įvykdytas"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Kortelės duomenys"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Pridėti paskyrą"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Sava konta izveidošana jāpabeidz ar paroles iestatīšanu"
|
||||
},
|
||||
"login": {
|
||||
"message": "Pieteikties"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Uzņēmuma vienotā pieteikšanās"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB šifrētas krātuves datņu pielikumiem."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Ārkārtas piekļuve"
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Tādas slēgtā pirmavota divpakāpju pieteikšanās iespējas kā YubiKey un Duo."
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "Premium dalību ir iespējams iegādāties bitwarden.com tīmekļa glabātavā. Vai tagad apmeklēt tīmekļvietni?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "Premium var iegādāties Bitwarden tīmekļa lietotnē sava konta iestatījumos."
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "Tu esi Premium dalībnieks!"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Paldies, ka atbalsti Bitwarden!"
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Uzlabo uz \"Premium\" un saņem:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Viss par tikai $PRICE$ gadā!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Viss par tikai $PRICE$ gadā.",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Atsvaidzināšana pabeigta"
|
||||
},
|
||||
@ -1370,13 +1379,13 @@
|
||||
"message": "Atvērt glabātavu sānu joslā"
|
||||
},
|
||||
"commandAutofillLoginDesc": {
|
||||
"message": "Autofill the last used login for the current website"
|
||||
"message": "Automātiski aizpildīt ar iepriekš izmantoto pieteikšanās vienumu pašreizējā tīmekļvietnē"
|
||||
},
|
||||
"commandAutofillCardDesc": {
|
||||
"message": "Autofill the last used card for the current website"
|
||||
"message": "Automātiski aizpildīt ar iepriekš izmantoto karti pašreizējā tīmekļvietnē"
|
||||
},
|
||||
"commandAutofillIdentityDesc": {
|
||||
"message": "Autofill the last used identity for the current website"
|
||||
"message": "Automātiski aizpildīt ar iepriekš izmantoto identitāti pašreizējā tīmekļvietnē"
|
||||
},
|
||||
"commandGeneratePasswordDesc": {
|
||||
"message": "Izveidot jaunu nejaušu paroli un ievietot to starpliktuvē"
|
||||
@ -1683,7 +1692,7 @@
|
||||
"description": "Domain name. Ex. website.com"
|
||||
},
|
||||
"baseDomainOptionRecommended": {
|
||||
"message": "Base domain (recommended)",
|
||||
"message": "Pamata domēns (ieteicams)",
|
||||
"description": "Domain name. Ex. website.com"
|
||||
},
|
||||
"domainName": {
|
||||
@ -2305,11 +2314,11 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Send created successfully!",
|
||||
"message": "Send tika veiksmīgi izveidots.",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
"message": "The Send will be available to anyone with the link for the next $DAYS$ days.",
|
||||
"message": "Send būs pieejams nākamās $DAYS$ dienas ikvienam, kuram ir saite.",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
|
||||
"placeholders": {
|
||||
"days": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Send link copied",
|
||||
"message": "Send saite ievietota starpliktuvē",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -2861,16 +2870,16 @@
|
||||
"message": "Mainīt īsinājumtaustiņus"
|
||||
},
|
||||
"autofillKeyboardManagerShortcutsLabel": {
|
||||
"message": "Manage shortcuts"
|
||||
"message": "Pārvaldīt saīsnes"
|
||||
},
|
||||
"autofillShortcut": {
|
||||
"message": "Automātiskās aizpildes īsinājumtaustiņi"
|
||||
},
|
||||
"autofillLoginShortcutNotSet": {
|
||||
"message": "The autofill login shortcut is not set. Change this in the browser's settings."
|
||||
"message": "Automātiskās aizpildes īsceļš pieteikšanās vienumiem nav uzstādīts. To var izdarīt pārlūka iestatījumos."
|
||||
},
|
||||
"autofillLoginShortcutText": {
|
||||
"message": "The autofill login shortcut is $COMMAND$. Manage all shortcuts in the browser's settings.",
|
||||
"message": "Automātiskās aizpildes īsceļš pieteikšanās vienumiem ir: $COMMAND$. Visus īsinājumtaustiņus var pārvaldīt pārlūka iestatījumos.",
|
||||
"placeholders": {
|
||||
"command": {
|
||||
"content": "$1",
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Automātiski aizpildīt lapas ielādes brīdī?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Beidzies kartes derīgums"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Ja atjaunoji to, jāatjaunina kartes informācija"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Kartes dati"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Iespējot animācijas"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Pievienot kontu"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "ലോഗിൻ"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "എന്റർപ്രൈസ് സിംഗിൾ സൈൻ-ഓൺ"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "ഫയൽ അറ്റാച്ചുമെന്റുകൾക്കായി 1 ജിബി എൻക്രിപ്റ്റുചെയ്ത സംഭരണം."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Bitwardenനെ പിന്തുണച്ചതിന് നന്ദി."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "എല്ലാം വെറും $PRICE$/ വർഷത്തേക്ക്!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "റിഫ്രഷ് പൂർത്തിയായി"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "प्रवेश करा"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage for file attachments."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log in"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage for file attachments."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Logg inn"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Bedriftsinnlogging (SSO)"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB med kryptert fillagring for filvedlegg."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Takk for at du støtter Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Og alt det for %price%/år!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Oppfriskning fullført"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log in"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage for file attachments."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Rond het aanmaken van je account af met het instellen van een wachtwoord"
|
||||
},
|
||||
"login": {
|
||||
"message": "Inloggen"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Single sign-on voor bedrijven"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB versleutelde opslag voor bijlagen."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Noodtoegang"
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Eigen opties voor tweestapsaanmelding zoals YubiKey en Duo."
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "Je kunt een Premium-abonnement aanschaffen in de webkluis op bitwarden.com. Wil je de website nu bezoeken?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "Je kunt Premium via je accountinstellingen in de Bitwarden-webapp kopen."
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "Je bent Premium-lid!"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Bedankt voor het ondersteunen van Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade naar premium en ontvang:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Dit alles voor slechts $PRICE$ per jaar!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Dit alles voor slechts $PRICE$ per jaar!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Bijwerken voltooid"
|
||||
},
|
||||
@ -2305,11 +2314,11 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Send created successfully!",
|
||||
"message": "Send succesvol aangemaakt!",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
"message": "The Send will be available to anyone with the link for the next $DAYS$ days.",
|
||||
"message": "De Send is de komende $DAYS$ dagen beschikbaar voor iedereen met de link.",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
|
||||
"placeholders": {
|
||||
"days": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Send link copied",
|
||||
"message": "Send-link gekopieerd",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Automatisch invullen bij laden van pagina?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Verlopen kaart"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Als je het hebt vernieuwd, werk dan de informatie van de kaart bij"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Kaartgegevens"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Animaties inschakelen"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Account toevoegen"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log in"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage for file attachments."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log in"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage for file attachments."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Ukończ tworzenie konta poprzez ustawienie hasła"
|
||||
},
|
||||
"login": {
|
||||
"message": "Zaloguj się"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Logowanie jednokrotne"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB miejsca na zaszyfrowane załączniki."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Własnościowe opcje logowania dwuetapowego, takie jak YubiKey i Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Dziękujemy za wspieranie Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Wszystko to jedynie za $PRICE$ /rok!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Odświeżanie zostało zakończone"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Włącz autouzupełnianie po załadowaniu strony?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Szczegóły karty"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Dodaj konto"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Termine de criar a sua conta definindo uma senha"
|
||||
},
|
||||
"login": {
|
||||
"message": "Iniciar Sessão"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Iniciar Sessão Empresarial Única"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB de armazenamento de arquivos encriptados."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Opções de login em duas etapas como YubiKey e Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Obrigado por apoiar o Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Tudo por apenas %price% /ano!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Atualização completa"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Preenchimento automático ao carregar a página?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Detalhes do cartão"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Adicionar conta"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Termine a criação da sua conta definindo uma palavra-passe"
|
||||
},
|
||||
"login": {
|
||||
"message": "Iniciar sessão"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Início de sessão único para empresas"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB de armazenamento encriptado para anexos de ficheiros."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Acesso de emergência"
|
||||
"message": "Acesso de emergência."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Opções proprietárias de verificação de dois passos, como YubiKey e Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Obrigado por apoiar o Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Atualize para o Premium e receba:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Tudo por apenas $PRICE$ /ano!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Tudo por apenas $PRICE$ por ano!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Atualização concluída"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Preencher automaticamente ao carregar a página?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Cartão expirado"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Se o renovou, atualize as informações do cartão"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Detalhes do cartão"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Ativar animações"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Adicionar conta"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finalizați crearea contului prin setarea unei parole"
|
||||
},
|
||||
"login": {
|
||||
"message": "Conectare"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Conectare unică organizație"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB spațiu de stocare criptat pentru atașamente de fișiere."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Opțiuni brevetate de conectare cu doi factori, cum ar fi YubiKey și Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Vă mulțumim pentru susținerea Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Totul pentru doar %price% /an!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Actualizare completă"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Завершите создание аккаунта, задав пароль"
|
||||
},
|
||||
"login": {
|
||||
"message": "Войти"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Единая корпоративная авторизация"
|
||||
},
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Благодарим вас за поддержку Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Перейдите на Премиум и получите:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Всего лишь $PRICE$ в год!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Всего лишь $PRICE$ в год!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Обновление завершено"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Автозаполнение при загрузке страницы?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Истек срок действия карты"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Если вы заменили карту, обновите информацию о ней"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Реквизиты карты"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Включить анимацию"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Добавить аккаунт"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "පිවිසෙන්න"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "ව්යවසාය තනි සංඥා මත"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "ගොනු ඇමුණුම් සඳහා 1 GB සංකේතාත්මක ගබඩා."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "බිට්වර්ඩන්ට සහාය වීම ගැන ස්තූතියි."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "සියල්ල $PRICE$ /අවුරුද්ද සඳහා!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "සම්පූර්ණ නැවුම් කරන්න"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Zdajte heslo na vytvorenie účtu"
|
||||
},
|
||||
"login": {
|
||||
"message": "Prihlásiť sa"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Jednotné prihlásenie pre podniky (SSO)"
|
||||
},
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Ďakujeme, že podporujete Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Povýšte na premium a získajte:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Všetko len za %price% /rok!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Všetko len za $PRICE$ ročne!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Obnova kompletná"
|
||||
},
|
||||
@ -2309,7 +2318,7 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
"message": "Send bude k dispozícii každemu s odkazom po dobu $DAYS$ dní.",
|
||||
"message": "Send bude k dispozícii každému s odkazom po dobu $DAYS$ dní.",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
|
||||
"placeholders": {
|
||||
"days": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Automaticky vyplniť pri načítaní stránky?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Exspirovaná karta"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Ak ste kartu obnovili, aktualizujte jej údaje"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Podrobnosti o karte"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Povoliť animácie"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Pridať účet"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Prijavi se"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enkratna podjetniška prijava."
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB šifriranega prostora za shrambo podatkov."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Hvala, ker podpirate Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Vse za samo $PRICE$ /leto!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Osveževanje zaključeno"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Завршите креирање налога постављањем лозинке"
|
||||
},
|
||||
"login": {
|
||||
"message": "Пријавите се"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise Једна Пријава"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1ГБ шифровано складиште за прилоге."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Хитан приступ."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Приоритарне опције пријаве у два корака као што су YubiKey и Duo."
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "Можете купити премијум претплату на bitwarden.com. Да ли желите да посетите веб сајт сада?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "Можете да купите Премиум у подешавањима налога у веб апликацији Bitwarden."
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "Ви сте премијум члан!"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Хвала Вам за подршку Bitwarden-а."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Надоградите на премиум и добијте:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Све за само $PRICE$ годишње!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Све то за само $PRICE$ годишње!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Освежавање је завршено"
|
||||
},
|
||||
@ -2305,7 +2314,7 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Send created successfully!",
|
||||
"message": "Send је успешно направљен!",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Send link copied",
|
||||
"message": "Send линк је копиран",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Ауто-попуњавање при учитавању странице?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Картица је истекла"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Ако сте је обновили, ажурирајте податке о картици"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Детаљи картице"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Омогући анимације"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Додај налог"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Logga in"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Single Sign-On för företag"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB lagring av krypterade filer."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Nödåtkomst"
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Premium-alternativ för tvåstegsverifiering, såsom YubiKey och Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Tack för att du stödjer Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Uppgradera till Premium och få:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Allt för endast $PRICE$/år!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Allt för endast $PRICE$ per år!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Uppdatering färdig"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Aktivera animationer"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Lägg till konto"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "Log in"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise single sign-on"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB encrypted storage for file attachments."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "เข้าสู่ระบบ"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Enterprise Single Sign-On"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB of encrypted file storage."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Proprietary two-step login options such as YubiKey and Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Thank you for supporting bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "All for just $PRICE$ /year!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Refresh complete"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Parolanızı belirleyerek hesabınızı oluşturmayı tamamlayın"
|
||||
},
|
||||
"login": {
|
||||
"message": "Giriş yap"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Kurumsal tek oturum açma (SSO)"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "Dosya ekleri için 1 GB şifrelenmiş depolama."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Acil durum erişimi"
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "YubiKey ve Duo gibi marka bazlı iki aşamalı giriş seçenekleri."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Bitwarden'ı desteklediğiniz için teşekkür ederiz."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Bunların hepsi sadece yılda $PRICE$!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Bunların hepsi yılda sadece $PRICE$!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Yenileme tamamlandı"
|
||||
},
|
||||
@ -1843,14 +1852,14 @@
|
||||
"message": "Bu kullanıcı adını kullan"
|
||||
},
|
||||
"securePasswordGenerated": {
|
||||
"message": "Secure password generated! Don't forget to also update your password on the website."
|
||||
"message": "Güvenli parola üretildi. Web sitesindeki parolanızı da güncellemeyi unutmayın."
|
||||
},
|
||||
"useGeneratorHelpTextPartOne": {
|
||||
"message": "Use the generator",
|
||||
"message": "Güçlü ve benzersiz bir parola üretmek için",
|
||||
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
|
||||
},
|
||||
"useGeneratorHelpTextPartTwo": {
|
||||
"message": "to create a strong unique password",
|
||||
"message": "üreteci kullanabilirsiniz",
|
||||
"description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'"
|
||||
},
|
||||
"vaultTimeoutAction": {
|
||||
@ -3311,7 +3320,7 @@
|
||||
"message": "Error connecting with the Duo service. Use a different two-step login method or contact Duo for assistance."
|
||||
},
|
||||
"launchDuoAndFollowStepsToFinishLoggingIn": {
|
||||
"message": "Duo'yu başlatın ve oturum açmayı tamamlamak için adımları izleyin."
|
||||
"message": "Duo'yu açın ve girişi tamamlamak için adımları izleyin."
|
||||
},
|
||||
"duoRequiredForAccount": {
|
||||
"message": "Hesabınız için Duo iki adımlı giriş gereklidir."
|
||||
@ -3323,7 +3332,7 @@
|
||||
"message": "Uzantıyı dışarı al"
|
||||
},
|
||||
"launchDuo": {
|
||||
"message": "Duo'yu başlat"
|
||||
"message": "Duo'yu aç"
|
||||
},
|
||||
"importFormatError": {
|
||||
"message": "Veriler doğru biçimlendirilmemiş. Lütfen içe aktarma dosyanızı kontrol edin ve tekrar deneyin."
|
||||
@ -3557,7 +3566,7 @@
|
||||
"message": "konum"
|
||||
},
|
||||
"useDeviceOrHardwareKey": {
|
||||
"message": "Cihazınızı veya donanımsal anahtarınızı kullanın"
|
||||
"message": "Cihazımı veya anahtar donanımımı kullanacağım"
|
||||
},
|
||||
"justOnce": {
|
||||
"message": "Yalnızca bir defa"
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Sayfa yüklendiğinde otomatik doldur"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Kartın süresi dolmuş"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Kartı yenilediyseniz kart bilgilerini güncelleyin"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Kart bilgileri"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Animasyonları etkinleştir"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Hesap ekle"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Завершіть створення облікового запису, встановивши пароль"
|
||||
},
|
||||
"login": {
|
||||
"message": "Увійти"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Єдиний корпоративний вхід (SSO)"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 ГБ зашифрованого сховища для файлів."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Екстрений доступ"
|
||||
"message": "Екстрений доступ."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Додаткові можливості двоетапної авторизації, як-от YubiKey та Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Дякуємо за підтримку Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Передплатіть преміум та отримайте:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Всього лише $PRICE$ / за рік!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "Усе лише за $PRICE$ на рік!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Оновлення завершено"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Автоматично заповнювати під час завантаження сторінки?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Протермінована картка"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "Якщо ви її поновили, оновіть інформацію"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Подробиці картки"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Увімкнути анімацію"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Додати обліковий запис"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Hoàn thành việc tạo tài khoản của bạn bằng cách đặt mật khẩu"
|
||||
},
|
||||
"login": {
|
||||
"message": "Đăng nhập"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "Đăng nhập bằng tài khoản tổ chức"
|
||||
},
|
||||
@ -234,11 +231,11 @@
|
||||
"message": "Bạn có thể thay đổi mật khẩu chính của mình trên Bitwarden bản web."
|
||||
},
|
||||
"fingerprintPhrase": {
|
||||
"message": "Fingerprint Phrase",
|
||||
"message": "Cụm vân tay",
|
||||
"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": "Cụm từ mật khẩu của tài khoản của bạn",
|
||||
"message": "Cụm vân tay của tài khoản của bạn",
|
||||
"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": {
|
||||
@ -545,7 +542,7 @@
|
||||
"message": "Mật khẩu chính không hợp lệ"
|
||||
},
|
||||
"vaultTimeout": {
|
||||
"message": "Thời gian chờ của kho lưu trữ"
|
||||
"message": "Thời gian chờ của kho"
|
||||
},
|
||||
"lockNow": {
|
||||
"message": "Khóa ngay"
|
||||
@ -937,7 +934,7 @@
|
||||
"message": "Xuất từ"
|
||||
},
|
||||
"exportVault": {
|
||||
"message": "Xuất kho lưu trữ"
|
||||
"message": "Xuất kho"
|
||||
},
|
||||
"fileFormat": {
|
||||
"message": "Định dạng tập tin"
|
||||
@ -971,7 +968,7 @@
|
||||
"description": "WARNING (should stay in capitalized letters if the language permits)"
|
||||
},
|
||||
"confirmVaultExport": {
|
||||
"message": "Xác nhận xuất kho lưu trữ"
|
||||
"message": "Xác nhận xuất kho"
|
||||
},
|
||||
"exportWarningDesc": {
|
||||
"message": "Bản xuất này chứa dữ liệu kho bạn và không được mã hóa. Bạn không nên lưu trữ hay gửi tập tin đã xuất thông qua phương thức rủi ro (như email). Vui lòng xóa nó ngay lập tức khi bạn đã sử dụng xong."
|
||||
@ -983,7 +980,7 @@
|
||||
"message": "Khóa mã hóa tài khoản là duy nhất cho mỗi tài khoản Bitwarden, vì vậy bạn không thể nhập tệp xuất được mã hóa vào một tài khoản khác."
|
||||
},
|
||||
"exportMasterPassword": {
|
||||
"message": "Nhập mật khẩu chính để xuất kho lưu trữ của bạn."
|
||||
"message": "Nhập mật khẩu chính để xuất kho của bạn."
|
||||
},
|
||||
"shared": {
|
||||
"message": "Đã chia sẻ"
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1GB bộ nhớ lưu trữ được mã hóa cho các tệp đính kèm."
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "Các tùy chọn xác minh hai bước như YubiKey và Duo."
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "Cảm ơn bạn vì đã hỗ trợ Bitwarden."
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "Tất cả chỉ với $PRICE$/năm!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "Làm mới hoàn tất"
|
||||
},
|
||||
@ -1382,7 +1391,7 @@
|
||||
"message": "Tạo và sao chép một mật khẩu ngẫu nhiên mới vào khay nhớ tạm"
|
||||
},
|
||||
"commandLockVaultDesc": {
|
||||
"message": "Khoá kho lưu trữ"
|
||||
"message": "Khoá kho"
|
||||
},
|
||||
"customFields": {
|
||||
"message": "Trường tùy chỉnh"
|
||||
@ -1438,7 +1447,7 @@
|
||||
"message": "Hiển thị biểu tượng bộ đếm"
|
||||
},
|
||||
"badgeCounterDesc": {
|
||||
"message": "Cho biết bạn có bao nhiêu lần đăng nhập cho trang web hiện tại."
|
||||
"message": "Cho biết bạn có bao nhiêu thông tin đăng nhập cho trang web hiện tại."
|
||||
},
|
||||
"cardholderName": {
|
||||
"message": "Tên chủ thẻ"
|
||||
@ -1450,7 +1459,7 @@
|
||||
"message": "Thương hiệu"
|
||||
},
|
||||
"expirationMonth": {
|
||||
"message": "Tháng Hết Hạn"
|
||||
"message": "Tháng hết hạn"
|
||||
},
|
||||
"expirationYear": {
|
||||
"message": "Năm hết hạn"
|
||||
@ -1886,7 +1895,7 @@
|
||||
"message": "Bạn đã có tài khoản?"
|
||||
},
|
||||
"vaultTimeoutLogOutConfirmation": {
|
||||
"message": "Việc đăng xuất sẽ loại bỏ tất cả truy cập vào kho lưu trữ của bạn và yêu cầu xác minh trực tuyến sau khi hết giai đoạn thời gian chờ. Bạn có chắc chắn muốn dùng cài đặt này không?"
|
||||
"message": "Đăng xuất sẽ xóa tất cả quyền truy cập vào kho của bạn và yêu cầu xác minh trực tuyến sau khi hết thời gian chờ. Bạn có chắc chắn muốn sử dụng cài đặt này không?"
|
||||
},
|
||||
"vaultTimeoutLogOutConfirmationTitle": {
|
||||
"message": "Xác nhận hành động khi hết thời gian chờ"
|
||||
@ -1976,16 +1985,16 @@
|
||||
"message": "Mật khẩu chính bạn chọn không đáp ứng yêu cầu."
|
||||
},
|
||||
"receiveMarketingEmailsV2": {
|
||||
"message": "Nhận lời khuyên, thông báo và cơ hội nghiên cứu từ Bitwarden trong hộp thư đến của bạn."
|
||||
"message": "Nhận đề xuất, thông báo và cơ hội nghiên cứu từ Bitwarden trong hộp thư đến của bạn."
|
||||
},
|
||||
"unsubscribe": {
|
||||
"message": "Huỷ đăng ký"
|
||||
"message": "Hủy đăng ký"
|
||||
},
|
||||
"atAnyTime": {
|
||||
"message": "bất cứ lúc nào."
|
||||
},
|
||||
"byContinuingYouAgreeToThe": {
|
||||
"message": "Bằng cách tiếp tục, bạn đồng ý"
|
||||
"message": "Nếu tiếp tục, bạn đồng ý"
|
||||
},
|
||||
"and": {
|
||||
"message": "và"
|
||||
@ -2018,7 +2027,7 @@
|
||||
"message": "Xác minh đồng bộ máy tính"
|
||||
},
|
||||
"desktopIntegrationVerificationText": {
|
||||
"message": "Vui lòng xác minh rằng ứng dụng trên máy tính thấy vân tay này:"
|
||||
"message": "Vui lòng xác minh ứng dụng trên máy tính hiển thị cụm vân tay này: "
|
||||
},
|
||||
"desktopIntegrationDisabledTitle": {
|
||||
"message": "Tích hợp trình duyệt chưa được kích hoạt"
|
||||
@ -2478,7 +2487,7 @@
|
||||
"message": "Thời gian mở kho vượt quá giới hạn do tổ chức của bạn đặt ra."
|
||||
},
|
||||
"vaultExportDisabled": {
|
||||
"message": "Xuất kho lưu trữ không có sẵn"
|
||||
"message": "Xuất kho không có sẵn"
|
||||
},
|
||||
"personalVaultExportPolicyInEffect": {
|
||||
"message": "Các chính sách của tổ chức ngăn cản bạn xuất kho lưu trữ cá nhân của mình."
|
||||
@ -2490,7 +2499,7 @@
|
||||
"message": "Không tìm thấy danh tính duy nhất."
|
||||
},
|
||||
"convertOrganizationEncryptionDesc": {
|
||||
"message": "$ORGANIZATION$ hiện đang dùng SSO với khoá máy chủ tự lưu trữ. Từ giờ không cần mật khẩu chính để đăng nhập vào tổ chức này nữa.",
|
||||
"message": "$ORGANIZATION$ đang sử dụng SSO với khóa máy chủ tự lưu trữ. Mật khẩu chính không còn cần để đăng nhập cho các thành viên của tổ chức này.",
|
||||
"placeholders": {
|
||||
"organization": {
|
||||
"content": "$1",
|
||||
@ -2768,7 +2777,7 @@
|
||||
"message": "Đang đăng nhập với tên"
|
||||
},
|
||||
"notYou": {
|
||||
"message": "Không phải bạn sao?"
|
||||
"message": "Không phải bạn?"
|
||||
},
|
||||
"newAroundHere": {
|
||||
"message": "Bạn mới tới đây sao?"
|
||||
@ -2783,10 +2792,10 @@
|
||||
"message": "Đăng nhập bằng thiết bị phải được thiết lập trong cài đặt của ứng dụng Bitwarden. Dùng cách khác?"
|
||||
},
|
||||
"fingerprintPhraseHeader": {
|
||||
"message": "Cụm từ dấu vân tay"
|
||||
"message": "Cụm vân tay"
|
||||
},
|
||||
"fingerprintMatchInfo": {
|
||||
"message": "Vui lòng đảm bảo rằng bạn đã mở khoá kho và cụm từ mật khẩu khớp trên thiết bị khác."
|
||||
"message": "Vui lòng đảm bảo rằng bạn đã mở khoá kho và cụm vân tay khớp trên thiết bị khác."
|
||||
},
|
||||
"resendNotification": {
|
||||
"message": "Gửi lại thông báo"
|
||||
@ -3611,7 +3620,7 @@
|
||||
"description": "Dialog message facilitating the ability to override a chrome browser's default autofill behavior"
|
||||
},
|
||||
"overrideDefaultBrowserAutoFillSettings": {
|
||||
"message": "Đặt Bitwarden làm trình quản lý mật khẩu mặc định của bạn",
|
||||
"message": "Bitwarden làm trình quản lý mật khẩu mặc định",
|
||||
"description": "Label for the setting that allows overriding the default browser autofill settings"
|
||||
},
|
||||
"privacyPermissionAdditionNotGrantedTitle": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Thông tin thẻ"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Thêm tài khoản"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "设置密码以完成账户的创建"
|
||||
},
|
||||
"login": {
|
||||
"message": "登录"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "企业单点登录"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "1 GB 文件附件加密存储。"
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "紧急访问。"
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "专有的两步登录选项,如 YubiKey 和 Duo。"
|
||||
@ -1098,7 +1095,7 @@
|
||||
"message": "优先客户支持。"
|
||||
},
|
||||
"ppremiumSignUpFuture": {
|
||||
"message": "未来会增加更多高级功能。敬请期待!"
|
||||
"message": "未来的更多高级功能。敬请期待!"
|
||||
},
|
||||
"premiumPurchase": {
|
||||
"message": "购买高级版"
|
||||
@ -1107,7 +1104,7 @@
|
||||
"message": "您可以在 bitwarden.com 网页版密码库购买高级会员。现在要访问吗?"
|
||||
},
|
||||
"premiumPurchaseAlertV2": {
|
||||
"message": "You can purchase Premium from your account settings on the Bitwarden web app."
|
||||
"message": "您可以在 Bitwarden 网页 App 的账户设置中购买高级版。"
|
||||
},
|
||||
"premiumCurrentMember": {
|
||||
"message": "您目前是高级会员!"
|
||||
@ -1115,8 +1112,20 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "感谢您支持 Bitwarden。"
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "升级到高级版并接收:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "只需 $PRICE$ /年!",
|
||||
"message": "全部仅需 $PRICE$ /年!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "全部仅需 $PRICE$ 每年!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
@ -2305,11 +2314,11 @@
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"createdSendSuccessfully": {
|
||||
"message": "Send created successfully!",
|
||||
"message": "Send 创建成功!",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"sendAvailability": {
|
||||
"message": "The Send will be available to anyone with the link for the next $DAYS$ days.",
|
||||
"message": "在接下来的 $DAYS$ 天内,任何拥有链接的人都可以访问此 Send。",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.",
|
||||
"placeholders": {
|
||||
"days": {
|
||||
@ -2319,7 +2328,7 @@
|
||||
}
|
||||
},
|
||||
"sendLinkCopied": {
|
||||
"message": "Send link copied",
|
||||
"message": "Send 链接已复制",
|
||||
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
|
||||
},
|
||||
"editedSend": {
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "页面加载时自动填充吗?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "过期的支付卡"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "如果您的支付卡已续期,请更新该卡的信息。"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "支付卡详情"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "启用动画"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "添加账户"
|
||||
},
|
||||
|
@ -25,9 +25,6 @@
|
||||
"finishCreatingYourAccountBySettingAPassword": {
|
||||
"message": "Finish creating your account by setting a password"
|
||||
},
|
||||
"login": {
|
||||
"message": "登入"
|
||||
},
|
||||
"enterpriseSingleSignOn": {
|
||||
"message": "企業單一登入"
|
||||
},
|
||||
@ -1083,7 +1080,7 @@
|
||||
"message": "用於檔案附件的 1 GB 加密儲存空間。"
|
||||
},
|
||||
"premiumSignUpEmergency": {
|
||||
"message": "Emergency access"
|
||||
"message": "Emergency access."
|
||||
},
|
||||
"premiumSignUpTwoStepOptions": {
|
||||
"message": "專有的兩步驟登入選項,例如 YubiKey 和 Duo。"
|
||||
@ -1115,6 +1112,9 @@
|
||||
"premiumCurrentMemberThanks": {
|
||||
"message": "感謝您支持 Bitwarden 。"
|
||||
},
|
||||
"premiumFeatures": {
|
||||
"message": "Upgrade to premium and receive:"
|
||||
},
|
||||
"premiumPrice": {
|
||||
"message": "每年只需 $PRICE$!",
|
||||
"placeholders": {
|
||||
@ -1124,6 +1124,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"premiumPriceV2": {
|
||||
"message": "All for just $PRICE$ per year!",
|
||||
"placeholders": {
|
||||
"price": {
|
||||
"content": "$1",
|
||||
"example": "$10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"refreshComplete": {
|
||||
"message": "狀態更新完成"
|
||||
},
|
||||
@ -3960,6 +3969,12 @@
|
||||
"autoFillOnPageLoad": {
|
||||
"message": "Autofill on page load?"
|
||||
},
|
||||
"cardExpiredTitle": {
|
||||
"message": "Expired card"
|
||||
},
|
||||
"cardExpiredMessage": {
|
||||
"message": "If you've renewed it, update the card's information"
|
||||
},
|
||||
"cardDetails": {
|
||||
"message": "Card details"
|
||||
},
|
||||
@ -3972,6 +3987,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"enableAnimations": {
|
||||
"message": "Enable animations"
|
||||
},
|
||||
"addAccount": {
|
||||
"message": "Add account"
|
||||
},
|
||||
|
@ -40,6 +40,7 @@ export type FocusedFieldData = {
|
||||
frameId?: number;
|
||||
accountCreationFieldType?: string;
|
||||
showInlineMenuAccountCreation?: boolean;
|
||||
showPasskeys?: boolean;
|
||||
};
|
||||
|
||||
export type InlineMenuElementPosition = {
|
||||
@ -211,6 +212,7 @@ export type OverlayBackgroundExtensionMessageHandlers = {
|
||||
}: BackgroundOnMessageHandlerParams) => void;
|
||||
collectPageDetailsResponse: ({ message, sender }: BackgroundOnMessageHandlerParams) => void;
|
||||
unlockCompleted: ({ message }: BackgroundMessageParam) => void;
|
||||
doFullSync: () => void;
|
||||
addedCipher: () => void;
|
||||
addEditCipherSubmitted: () => void;
|
||||
editedCipher: () => void;
|
||||
|
@ -717,7 +717,7 @@ describe("OverlayBackground", () => {
|
||||
localData: { lastUsedDate: 222 },
|
||||
name: "name-1",
|
||||
type: CipherType.Login,
|
||||
login: { username: "username-1", uri: url },
|
||||
login: { username: "username-1", password: "password", uri: url },
|
||||
});
|
||||
const cardCipher = mock<CipherView>({
|
||||
id: "id-2",
|
||||
@ -752,6 +752,7 @@ describe("OverlayBackground", () => {
|
||||
type: CipherType.Login,
|
||||
login: {
|
||||
username: "username-5",
|
||||
password: "password",
|
||||
uri: url,
|
||||
fido2Credentials: [
|
||||
mock<Fido2CredentialView>({
|
||||
@ -1116,6 +1117,7 @@ describe("OverlayBackground", () => {
|
||||
overlayBackground["focusedFieldData"] = createFocusedFieldDataMock({
|
||||
tabId: tab.id,
|
||||
filledByCipherType: CipherType.Login,
|
||||
showPasskeys: true,
|
||||
});
|
||||
cipherService.getAllDecryptedForUrl.mockResolvedValue([loginCipher1, passkeyCipher]);
|
||||
cipherService.sortCiphersByLastUsedThenName.mockReturnValue(-1);
|
||||
@ -2517,6 +2519,7 @@ describe("OverlayBackground", () => {
|
||||
|
||||
describe("extension messages that trigger an update of the inline menu ciphers", () => {
|
||||
const extensionMessages = [
|
||||
"doFullSync",
|
||||
"addedCipher",
|
||||
"addEditCipherSubmitted",
|
||||
"editedCipher",
|
||||
|
@ -139,6 +139,7 @@ export class OverlayBackground implements OverlayBackgroundInterface {
|
||||
this.triggerDestroyInlineMenuListeners(sender.tab, message.subFrameData.frameId),
|
||||
collectPageDetailsResponse: ({ message, sender }) => this.storePageDetails(message, sender),
|
||||
unlockCompleted: ({ message }) => this.unlockCompleted(message),
|
||||
doFullSync: () => this.updateOverlayCiphers(true),
|
||||
addedCipher: () => this.updateOverlayCiphers(),
|
||||
addEditCipherSubmitted: () => this.updateOverlayCiphers(),
|
||||
editedCipher: () => this.updateOverlayCiphers(),
|
||||
@ -455,18 +456,27 @@ export class OverlayBackground implements OverlayBackgroundInterface {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (this.showCipherAsPasskey(cipher, domainExclusionsSet)) {
|
||||
passkeyCipherData.push(
|
||||
this.buildCipherData({
|
||||
inlineMenuCipherId,
|
||||
cipher,
|
||||
showFavicons,
|
||||
hasPasskey: true,
|
||||
}),
|
||||
if (!this.showCipherAsPasskey(cipher, domainExclusionsSet)) {
|
||||
inlineMenuCipherData.push(
|
||||
this.buildCipherData({ inlineMenuCipherId, cipher, showFavicons }),
|
||||
);
|
||||
continue;
|
||||
}
|
||||
|
||||
inlineMenuCipherData.push(this.buildCipherData({ inlineMenuCipherId, cipher, showFavicons }));
|
||||
passkeyCipherData.push(
|
||||
this.buildCipherData({
|
||||
inlineMenuCipherId,
|
||||
cipher,
|
||||
showFavicons,
|
||||
hasPasskey: true,
|
||||
}),
|
||||
);
|
||||
|
||||
if (cipher.login?.password && cipher.login.username) {
|
||||
inlineMenuCipherData.push(
|
||||
this.buildCipherData({ inlineMenuCipherId, cipher, showFavicons }),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (passkeyCipherData.length) {
|
||||
@ -485,7 +495,7 @@ export class OverlayBackground implements OverlayBackgroundInterface {
|
||||
* @param domainExclusions - The domain exclusions to check against
|
||||
*/
|
||||
private showCipherAsPasskey(cipher: CipherView, domainExclusions: Set<string> | null): boolean {
|
||||
if (cipher.type !== CipherType.Login) {
|
||||
if (cipher.type !== CipherType.Login || !this.focusedFieldData?.showPasskeys) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -241,7 +241,16 @@ export class BrowserFido2UserInterfaceSession implements Fido2UserInterfaceSessi
|
||||
async pickCredential({
|
||||
cipherIds,
|
||||
userVerification,
|
||||
assumeUserPresence,
|
||||
}: PickCredentialParams): Promise<{ cipherId: string; userVerified: boolean }> {
|
||||
// NOTE: For now, we are defaulting to a userVerified status of `true` when the request
|
||||
// is for a conditionally mediated authentication. This will allow for mediated conditional
|
||||
// authentication to function without requiring user interaction. This is a product
|
||||
// decision, rather than a decision based on the expected technical specifications.
|
||||
if (assumeUserPresence && cipherIds.length === 1) {
|
||||
return { cipherId: cipherIds[0], userVerified: userVerification };
|
||||
}
|
||||
|
||||
const data: BrowserFido2Message = {
|
||||
type: BrowserFido2MessageTypes.PickCredentialRequest,
|
||||
cipherIds,
|
||||
|
@ -115,5 +115,7 @@ export default class AutofillField {
|
||||
|
||||
showInlineMenuAccountCreation?: boolean;
|
||||
|
||||
showPasskeys?: boolean;
|
||||
|
||||
fieldQualifier?: AutofillFieldQualifierType;
|
||||
}
|
||||
|
@ -78,8 +78,8 @@ export class AutofillComponent implements OnInit {
|
||||
* Default values set here are used in component state operations
|
||||
* until corresponding stored settings have loaded on init.
|
||||
*/
|
||||
protected canOverrideBrowserAutofillSetting = false;
|
||||
protected defaultBrowserAutofillDisabled = false;
|
||||
protected canOverrideBrowserAutofillSetting: boolean = false;
|
||||
protected defaultBrowserAutofillDisabled: boolean = false;
|
||||
protected inlineMenuVisibility: InlineMenuVisibilitySetting =
|
||||
AutofillOverlayVisibility.OnFieldFocus;
|
||||
protected browserClientVendor: BrowserClientVendor = BrowserClientVendors.Unknown;
|
||||
@ -90,21 +90,21 @@ export class AutofillComponent implements OnInit {
|
||||
protected autofillOnPageLoadFromPolicy$ =
|
||||
this.autofillSettingsService.activateAutofillOnPageLoadFromPolicy$;
|
||||
|
||||
enableAutofillOnPageLoad = false;
|
||||
enableInlineMenu = false;
|
||||
enableInlineMenuOnIconSelect = false;
|
||||
autofillOnPageLoadDefault = false;
|
||||
enableAutofillOnPageLoad: boolean = false;
|
||||
enableInlineMenu: boolean = false;
|
||||
enableInlineMenuOnIconSelect: boolean = false;
|
||||
autofillOnPageLoadDefault: boolean = false;
|
||||
autofillOnPageLoadOptions: { name: string; value: boolean }[];
|
||||
enableContextMenuItem = false;
|
||||
enableAutoTotpCopy = false;
|
||||
enableContextMenuItem: boolean = false;
|
||||
enableAutoTotpCopy: boolean = false;
|
||||
clearClipboard: ClearClipboardDelaySetting;
|
||||
clearClipboardOptions: { name: string; value: ClearClipboardDelaySetting }[];
|
||||
defaultUriMatch: UriMatchStrategySetting = UriMatchStrategy.Domain;
|
||||
uriMatchOptions: { name: string; value: UriMatchStrategySetting }[];
|
||||
showCardsCurrentTab = true;
|
||||
showIdentitiesCurrentTab = true;
|
||||
showCardsCurrentTab: boolean = true;
|
||||
showIdentitiesCurrentTab: boolean = true;
|
||||
autofillKeyboardHelperText: string;
|
||||
accountSwitcherEnabled = false;
|
||||
accountSwitcherEnabled: boolean = false;
|
||||
|
||||
constructor(
|
||||
private i18nService: I18nService,
|
||||
|
@ -27,6 +27,7 @@
|
||||
}}</bit-label>
|
||||
<input
|
||||
*ngIf="i >= fieldsEditThreshold"
|
||||
#uriInput
|
||||
appInputVerbatim
|
||||
bitInput
|
||||
id="excludedDomain{{ i }}"
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { CommonModule } from "@angular/common";
|
||||
import { Component, OnDestroy, OnInit } from "@angular/core";
|
||||
import { QueryList, Component, ElementRef, OnDestroy, OnInit, ViewChildren } from "@angular/core";
|
||||
import { FormsModule } from "@angular/forms";
|
||||
import { Router, RouterModule } from "@angular/router";
|
||||
import { firstValueFrom } from "rxjs";
|
||||
import { firstValueFrom, Subject, takeUntil } from "rxjs";
|
||||
|
||||
import { JslibModule } from "@bitwarden/angular/jslib.module";
|
||||
import { DomainSettingsService } from "@bitwarden/common/autofill/services/domain-settings.service";
|
||||
@ -56,6 +56,8 @@ const BroadcasterSubscriptionId = "excludedDomainsState";
|
||||
],
|
||||
})
|
||||
export class ExcludedDomainsComponent implements OnInit, OnDestroy {
|
||||
@ViewChildren("uriInput") uriInputElements: QueryList<ElementRef<HTMLInputElement>>;
|
||||
|
||||
accountSwitcherEnabled = false;
|
||||
dataIsPristine = true;
|
||||
excludedDomainsState: string[] = [];
|
||||
@ -63,6 +65,8 @@ export class ExcludedDomainsComponent implements OnInit, OnDestroy {
|
||||
// How many fields should be non-editable before editable fields
|
||||
fieldsEditThreshold: number = 0;
|
||||
|
||||
private destroy$ = new Subject<void>();
|
||||
|
||||
constructor(
|
||||
private domainSettingsService: DomainSettingsService,
|
||||
private i18nService: I18nService,
|
||||
@ -84,10 +88,22 @@ export class ExcludedDomainsComponent implements OnInit, OnDestroy {
|
||||
|
||||
// Do not allow the first x (pre-existing) fields to be edited
|
||||
this.fieldsEditThreshold = this.storedExcludedDomains.length;
|
||||
|
||||
this.uriInputElements.changes.pipe(takeUntil(this.destroy$)).subscribe(({ last }) => {
|
||||
this.focusNewUriInput(last);
|
||||
});
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);
|
||||
this.destroy$.next();
|
||||
this.destroy$.complete();
|
||||
}
|
||||
|
||||
focusNewUriInput(elementRef: ElementRef) {
|
||||
if (elementRef?.nativeElement) {
|
||||
elementRef.nativeElement.focus();
|
||||
}
|
||||
}
|
||||
|
||||
async addNewDomain() {
|
||||
|
@ -792,6 +792,7 @@ export class AutofillOverlayContentService implements AutofillOverlayContentServ
|
||||
focusedFieldRects: { width, height, top, left },
|
||||
filledByCipherType: autofillFieldData?.filledByCipherType,
|
||||
showInlineMenuAccountCreation: autofillFieldData?.showInlineMenuAccountCreation,
|
||||
showPasskeys: !!autofillFieldData?.showPasskeys,
|
||||
accountCreationFieldType,
|
||||
};
|
||||
|
||||
@ -874,6 +875,7 @@ export class AutofillOverlayContentService implements AutofillOverlayContentServ
|
||||
this.inlineMenuFieldQualificationService.isFieldForLoginForm(autofillFieldData, pageDetails)
|
||||
) {
|
||||
autofillFieldData.filledByCipherType = CipherType.Login;
|
||||
autofillFieldData.showPasskeys = autofillFieldData.autoCompleteType.includes("webauthn");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,8 @@
|
||||
[ngClass]="{ 'tw-invisible': loading }"
|
||||
>
|
||||
<div
|
||||
class="tw-max-w-screen-sm tw-mx-auto tw-p-3 tw-flex-1 tw-flex tw-flex-col tw-h-full tw-w-full"
|
||||
class="tw-max-w-screen-sm tw-mx-auto tw-flex-1 tw-flex tw-flex-col tw-h-full tw-w-full"
|
||||
[ngClass]="{ 'tw-p-3': !disablePadding }"
|
||||
>
|
||||
<ng-content></ng-content>
|
||||
</div>
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { CommonModule } from "@angular/common";
|
||||
import { Component, Input, inject, signal } from "@angular/core";
|
||||
import { booleanAttribute, Component, inject, Input, signal } from "@angular/core";
|
||||
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
|
||||
@ -17,6 +17,9 @@ export class PopupPageComponent {
|
||||
|
||||
@Input() loading = false;
|
||||
|
||||
@Input({ transform: booleanAttribute })
|
||||
disablePadding = false;
|
||||
|
||||
protected scrolled = signal(false);
|
||||
isScrolled = this.scrolled.asReadonly();
|
||||
|
||||
|
@ -6,6 +6,7 @@ import { LogoutReason } from "@bitwarden/auth/common";
|
||||
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
|
||||
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
|
||||
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
|
||||
import { AnimationControlService } from "@bitwarden/common/platform/abstractions/animation-control.service";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
|
||||
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
|
||||
@ -39,6 +40,7 @@ export class AppComponent implements OnInit, OnDestroy {
|
||||
private lastActivity: Date;
|
||||
private activeUserId: UserId;
|
||||
private recordActivitySubject = new Subject<void>();
|
||||
private routerAnimations = false;
|
||||
|
||||
private destroy$ = new Subject<void>();
|
||||
|
||||
@ -57,6 +59,7 @@ export class AppComponent implements OnInit, OnDestroy {
|
||||
private messageListener: MessageListener,
|
||||
private toastService: ToastService,
|
||||
private accountService: AccountService,
|
||||
private animationControlService: AnimationControlService,
|
||||
) {}
|
||||
|
||||
async ngOnInit() {
|
||||
@ -173,6 +176,12 @@ export class AppComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
this.animationControlService.enableRoutingAnimation$
|
||||
.pipe(takeUntil(this.destroy$))
|
||||
.subscribe((state) => {
|
||||
this.routerAnimations = state;
|
||||
});
|
||||
}
|
||||
|
||||
ngOnDestroy(): void {
|
||||
@ -181,7 +190,9 @@ export class AppComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
getState(outlet: RouterOutlet) {
|
||||
if (outlet.activatedRouteData.state === "ciphers") {
|
||||
if (!this.routerAnimations) {
|
||||
return;
|
||||
} else if (outlet.activatedRouteData.state === "ciphers") {
|
||||
const routeDirection =
|
||||
(window as any).routeDirection != null ? (window as any).routeDirection : "";
|
||||
return (
|
||||
|
@ -41,6 +41,10 @@ import {
|
||||
} from "@bitwarden/common/autofill/services/user-notification-settings.service";
|
||||
import { BillingAccountProfileStateService } from "@bitwarden/common/billing/abstractions/account/billing-account-profile-state.service";
|
||||
import { ClientType } from "@bitwarden/common/enums";
|
||||
import {
|
||||
AnimationControlService,
|
||||
DefaultAnimationControlService,
|
||||
} from "@bitwarden/common/platform/abstractions/animation-control.service";
|
||||
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
|
||||
import { CryptoFunctionService } from "@bitwarden/common/platform/abstractions/crypto-function.service";
|
||||
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
|
||||
@ -527,6 +531,11 @@ const safeProviders: SafeProvider[] = [
|
||||
useClass: Fido2UserVerificationService,
|
||||
deps: [PasswordRepromptService, UserVerificationService, DialogService],
|
||||
}),
|
||||
safeProvider({
|
||||
provide: AnimationControlService,
|
||||
useClass: DefaultAnimationControlService,
|
||||
deps: [GlobalStateProvider],
|
||||
}),
|
||||
safeProvider({
|
||||
provide: TaskSchedulerService,
|
||||
useExisting: ForegroundTaskSchedulerService,
|
||||
|
@ -79,7 +79,7 @@ export class ItemMoreOptionsComponent {
|
||||
}
|
||||
|
||||
async doAutofillAndSave() {
|
||||
await this.vaultPopupAutofillService.doAutofillAndSave(this.cipher);
|
||||
await this.vaultPopupAutofillService.doAutofillAndSave(this.cipher, false);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -17,47 +17,50 @@
|
||||
{{ description }}
|
||||
</div>
|
||||
<bit-item-group>
|
||||
<bit-item *ngFor="let cipher of ciphers">
|
||||
<a
|
||||
bit-item-content
|
||||
(click)="onViewCipher(cipher)"
|
||||
[appA11yTitle]="'viewItemTitle' | i18n: cipher.name"
|
||||
>
|
||||
<app-vault-icon slot="start" [cipher]="cipher"></app-vault-icon>
|
||||
<span data-testid="item-name">{{ cipher.name }}</span>
|
||||
<i
|
||||
*ngIf="cipher.organizationId"
|
||||
appOrgIcon
|
||||
[tierType]="cipher.organization.productTierType"
|
||||
[size]="'small'"
|
||||
[appA11yTitle]="orgIconTooltip(cipher)"
|
||||
></i>
|
||||
<i
|
||||
*ngIf="cipher.hasAttachments"
|
||||
class="bwi bwi-paperclip bwi-sm"
|
||||
[appA11yTitle]="'attachments' | i18n"
|
||||
></i>
|
||||
<span slot="secondary">{{ cipher.subTitle }}</span>
|
||||
</a>
|
||||
<ng-container slot="end">
|
||||
<bit-item-action *ngIf="showAutofillButton">
|
||||
<button
|
||||
type="button"
|
||||
bitBadge
|
||||
variant="primary"
|
||||
(click)="doAutofill(cipher)"
|
||||
[title]="'autofillTitle' | i18n: cipher.name"
|
||||
[attr.aria-label]="'autofillTitle' | i18n: cipher.name"
|
||||
>
|
||||
{{ "autoFill" | i18n }}
|
||||
</button>
|
||||
</bit-item-action>
|
||||
<app-item-copy-actions [cipher]="cipher"></app-item-copy-actions>
|
||||
<app-item-more-options
|
||||
[cipher]="cipher"
|
||||
[hideAutofillOptions]="showAutofillButton"
|
||||
></app-item-more-options>
|
||||
</ng-container>
|
||||
</bit-item>
|
||||
<cdk-virtual-scroll-viewport [itemSize]="ItemHeight">
|
||||
<bit-item *cdkVirtualFor="let cipher of ciphers">
|
||||
<a
|
||||
bit-item-content
|
||||
(click)="onViewCipher(cipher)"
|
||||
[appA11yTitle]="'viewItemTitle' | i18n: cipher.name"
|
||||
class="{{ ItemHeightClass }}"
|
||||
>
|
||||
<app-vault-icon slot="start" [cipher]="cipher"></app-vault-icon>
|
||||
<span data-testid="item-name">{{ cipher.name }}</span>
|
||||
<i
|
||||
*ngIf="cipher.organizationId"
|
||||
appOrgIcon
|
||||
[tierType]="cipher.organization.productTierType"
|
||||
[size]="'small'"
|
||||
[appA11yTitle]="orgIconTooltip(cipher)"
|
||||
></i>
|
||||
<i
|
||||
*ngIf="cipher.hasAttachments"
|
||||
class="bwi bwi-paperclip bwi-sm"
|
||||
[appA11yTitle]="'attachments' | i18n"
|
||||
></i>
|
||||
<span slot="secondary">{{ cipher.subTitle }}</span>
|
||||
</a>
|
||||
<ng-container slot="end">
|
||||
<bit-item-action *ngIf="showAutofillButton">
|
||||
<button
|
||||
type="button"
|
||||
bitBadge
|
||||
variant="primary"
|
||||
(click)="doAutofill(cipher)"
|
||||
[title]="'autofillTitle' | i18n: cipher.name"
|
||||
[attr.aria-label]="'autofillTitle' | i18n: cipher.name"
|
||||
>
|
||||
{{ "autoFill" | i18n }}
|
||||
</button>
|
||||
</bit-item-action>
|
||||
<app-item-copy-actions [cipher]="cipher"></app-item-copy-actions>
|
||||
<app-item-more-options
|
||||
[cipher]="cipher"
|
||||
[hideAutofillOptions]="showAutofillButton"
|
||||
></app-item-more-options>
|
||||
</ng-container>
|
||||
</bit-item>
|
||||
</cdk-virtual-scroll-viewport>
|
||||
</bit-item-group>
|
||||
</bit-section>
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { ScrollingModule } from "@angular/cdk/scrolling";
|
||||
import { CommonModule } from "@angular/common";
|
||||
import { booleanAttribute, Component, EventEmitter, Input, Output } from "@angular/core";
|
||||
import { Router, RouterLink } from "@angular/router";
|
||||
@ -6,6 +7,8 @@ import { JslibModule } from "@bitwarden/angular/jslib.module";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import {
|
||||
BadgeModule,
|
||||
BitItemHeight,
|
||||
BitItemHeightClass,
|
||||
ButtonModule,
|
||||
IconButtonModule,
|
||||
ItemModule,
|
||||
@ -35,12 +38,16 @@ import { ItemMoreOptionsComponent } from "../item-more-options/item-more-options
|
||||
ItemCopyActionsComponent,
|
||||
ItemMoreOptionsComponent,
|
||||
OrgIconDirective,
|
||||
ScrollingModule,
|
||||
],
|
||||
selector: "app-vault-list-items-container",
|
||||
templateUrl: "vault-list-items-container.component.html",
|
||||
standalone: true,
|
||||
})
|
||||
export class VaultListItemsContainerComponent {
|
||||
protected ItemHeightClass = BitItemHeightClass;
|
||||
protected ItemHeight = BitItemHeight;
|
||||
|
||||
/**
|
||||
* The list of ciphers to display.
|
||||
*/
|
||||
|
@ -16,6 +16,7 @@ import { CipherType } from "@bitwarden/common/vault/enums";
|
||||
|
||||
import { PopupRouterCacheService } from "../../../../../platform/popup/view-cache/popup-router-cache.service";
|
||||
|
||||
import { VaultPopupAutofillService } from "./../../../services/vault-popup-autofill.service";
|
||||
import { ViewV2Component } from "./view-v2.component";
|
||||
|
||||
// 'qrcode-parser' is used by `BrowserTotpCaptureService` but is an es6 module that jest can't compile.
|
||||
@ -34,6 +35,9 @@ describe("ViewV2Component", () => {
|
||||
type: CipherType.Login,
|
||||
};
|
||||
|
||||
const mockVaultPopupAutofillService = {
|
||||
doAutofill: jest.fn(),
|
||||
};
|
||||
const mockUserId = Utils.newGuid() as UserId;
|
||||
const accountService: FakeAccountService = mockAccountServiceWith(mockUserId);
|
||||
|
||||
@ -66,6 +70,7 @@ describe("ViewV2Component", () => {
|
||||
},
|
||||
},
|
||||
},
|
||||
{ provide: VaultPopupAutofillService, useValue: mockVaultPopupAutofillService },
|
||||
{
|
||||
provide: AccountService,
|
||||
useValue: accountService,
|
||||
|
@ -8,6 +8,7 @@ import { firstValueFrom, map, Observable, switchMap } from "rxjs";
|
||||
import { JslibModule } from "@bitwarden/angular/jslib.module";
|
||||
import { Organization } from "@bitwarden/common/admin-console/models/domain/organization";
|
||||
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
|
||||
import { AUTOFILL_ID, SHOW_AUTOFILL_BUTTON } from "@bitwarden/common/autofill/constants";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
|
||||
@ -32,6 +33,7 @@ import { BrowserTotpCaptureService } from "../../../services/browser-totp-captur
|
||||
import { PopupFooterComponent } from "./../../../../../platform/popup/layout/popup-footer.component";
|
||||
import { PopupHeaderComponent } from "./../../../../../platform/popup/layout/popup-header.component";
|
||||
import { PopupPageComponent } from "./../../../../../platform/popup/layout/popup-page.component";
|
||||
import { VaultPopupAutofillService } from "./../../../services/vault-popup-autofill.service";
|
||||
|
||||
@Component({
|
||||
selector: "app-view-v2",
|
||||
@ -59,6 +61,7 @@ export class ViewV2Component {
|
||||
organization$: Observable<Organization>;
|
||||
folder$: Observable<FolderView>;
|
||||
collections$: Observable<CollectionView[]>;
|
||||
loadAction: typeof AUTOFILL_ID | typeof SHOW_AUTOFILL_BUTTON;
|
||||
|
||||
constructor(
|
||||
private route: ActivatedRoute,
|
||||
@ -68,6 +71,7 @@ export class ViewV2Component {
|
||||
private dialogService: DialogService,
|
||||
private logService: LogService,
|
||||
private toastService: ToastService,
|
||||
private vaultPopupAutofillService: VaultPopupAutofillService,
|
||||
private accountService: AccountService,
|
||||
) {
|
||||
this.subscribeToParams();
|
||||
@ -77,14 +81,19 @@ export class ViewV2Component {
|
||||
this.route.queryParams
|
||||
.pipe(
|
||||
switchMap(async (params): Promise<CipherView> => {
|
||||
this.loadAction = params.action;
|
||||
return await this.getCipherData(params.cipherId);
|
||||
}),
|
||||
switchMap(async (cipher) => {
|
||||
this.cipher = cipher;
|
||||
this.headerText = this.setHeader(cipher.type);
|
||||
if (this.loadAction === AUTOFILL_ID || this.loadAction === SHOW_AUTOFILL_BUTTON) {
|
||||
await this.vaultPopupAutofillService.doAutofill(this.cipher);
|
||||
}
|
||||
}),
|
||||
takeUntilDestroyed(),
|
||||
)
|
||||
.subscribe((cipher) => {
|
||||
this.cipher = cipher;
|
||||
this.headerText = this.setHeader(cipher.type);
|
||||
});
|
||||
.subscribe();
|
||||
}
|
||||
|
||||
setHeader(type: CipherType) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
<popup-page [loading]="loading$ | async">
|
||||
<popup-page [loading]="loading$ | async" disablePadding>
|
||||
<popup-header slot="header" [pageTitle]="'vault' | i18n">
|
||||
<ng-container slot="end">
|
||||
<app-new-item-dropdown [initialValues]="newItemItemValues$ | async"></app-new-item-dropdown>
|
||||
@ -54,7 +54,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ng-container *ngIf="vaultState === null">
|
||||
<div *ngIf="vaultState === null" cdkVirtualScrollingElement class="tw-h-full tw-p-3">
|
||||
<app-autofill-vault-list-items></app-autofill-vault-list-items>
|
||||
<app-vault-list-items-container
|
||||
[title]="'favorites' | i18n"
|
||||
@ -67,6 +67,6 @@
|
||||
id="allItems"
|
||||
disableSectionMargin
|
||||
></app-vault-list-items-container>
|
||||
</ng-container>
|
||||
</div>
|
||||
</ng-container>
|
||||
</popup-page>
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { ScrollingModule } from "@angular/cdk/scrolling";
|
||||
import { CommonModule } from "@angular/common";
|
||||
import { Component, OnDestroy, OnInit } from "@angular/core";
|
||||
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
|
||||
@ -51,6 +52,7 @@ enum VaultState {
|
||||
RouterLink,
|
||||
VaultV2SearchComponent,
|
||||
NewItemDropdownV2Component,
|
||||
ScrollingModule,
|
||||
],
|
||||
providers: [VaultUiOnboardingService],
|
||||
})
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { TestBed } from "@angular/core/testing";
|
||||
import { ActivatedRoute } from "@angular/router";
|
||||
import { mock } from "jest-mock-extended";
|
||||
import { BehaviorSubject } from "rxjs";
|
||||
import { BehaviorSubject, of } from "rxjs";
|
||||
|
||||
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
@ -33,6 +34,9 @@ describe("VaultPopupAutofillService", () => {
|
||||
let service: VaultPopupAutofillService;
|
||||
|
||||
const mockCurrentTab = { url: "https://example.com" } as chrome.tabs.Tab;
|
||||
const mockActivatedRoute = {
|
||||
queryParams: of({}),
|
||||
} as any;
|
||||
|
||||
// Create mocks for VaultPopupAutofillService
|
||||
const mockAutofillService = mock<AutofillService>();
|
||||
@ -61,6 +65,7 @@ describe("VaultPopupAutofillService", () => {
|
||||
{ provide: PasswordRepromptService, useValue: mockPasswordRepromptService },
|
||||
{ provide: CipherService, useValue: mockCipherService },
|
||||
{ provide: MessagingService, useValue: mockMessagingService },
|
||||
{ provide: ActivatedRoute, useValue: mockActivatedRoute },
|
||||
{
|
||||
provide: AccountService,
|
||||
useValue: accountService,
|
||||
@ -258,6 +263,17 @@ describe("VaultPopupAutofillService", () => {
|
||||
expect(setTimeout).toHaveBeenCalledTimes(1);
|
||||
expect(BrowserApi.closePopup).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("should show a successful toast message if login form is populated", async () => {
|
||||
jest.spyOn(BrowserPopupUtils, "inSingleActionPopout").mockReturnValue(true);
|
||||
(service as any).currentAutofillTab$ = of({ id: 1234 });
|
||||
await service.doAutofill(mockCipher);
|
||||
expect(mockToastService.showToast).toHaveBeenCalledWith({
|
||||
variant: "success",
|
||||
title: null,
|
||||
message: mockI18nService.t("autoFillSuccess"),
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
import { Injectable } from "@angular/core";
|
||||
import { ActivatedRoute } from "@angular/router";
|
||||
import {
|
||||
combineLatest,
|
||||
firstValueFrom,
|
||||
map,
|
||||
Observable,
|
||||
@ -27,20 +29,30 @@ import {
|
||||
} from "../../../autofill/services/abstractions/autofill.service";
|
||||
import { BrowserApi } from "../../../platform/browser/browser-api";
|
||||
import BrowserPopupUtils from "../../../platform/popup/browser-popup-utils";
|
||||
import { closeViewVaultItemPopout, VaultPopoutType } from "../utils/vault-popout-window";
|
||||
|
||||
@Injectable({
|
||||
providedIn: "root",
|
||||
})
|
||||
export class VaultPopupAutofillService {
|
||||
private _refreshCurrentTab$ = new Subject<void>();
|
||||
|
||||
private senderTabId$: Observable<number | undefined> = this.route.queryParams.pipe(
|
||||
map((params) => (params?.senderTabId ? parseInt(params.senderTabId, 10) : undefined)),
|
||||
);
|
||||
/**
|
||||
* Observable that contains the current tab to be considered for autofill. If there is no current tab
|
||||
* or the popup is in a popout window, this will be null.
|
||||
* Observable that contains the current tab to be considered for autofill.
|
||||
* This can be the tab from the current window if opened in a Popup OR
|
||||
* the sending tab when opened the single action Popout (specified by the senderTabId route query parameter)
|
||||
*/
|
||||
currentAutofillTab$: Observable<chrome.tabs.Tab | null> = this._refreshCurrentTab$.pipe(
|
||||
startWith(null),
|
||||
switchMap(async () => {
|
||||
currentAutofillTab$: Observable<chrome.tabs.Tab | null> = combineLatest([
|
||||
this.senderTabId$,
|
||||
this._refreshCurrentTab$.pipe(startWith(null)),
|
||||
]).pipe(
|
||||
switchMap(async ([senderTabId]) => {
|
||||
if (senderTabId) {
|
||||
return await BrowserApi.getTab(senderTabId);
|
||||
}
|
||||
|
||||
if (BrowserPopupUtils.inPopout(window)) {
|
||||
return null;
|
||||
}
|
||||
@ -73,6 +85,7 @@ export class VaultPopupAutofillService {
|
||||
private passwordRepromptService: PasswordRepromptService,
|
||||
private cipherService: CipherService,
|
||||
private messagingService: MessagingService,
|
||||
private route: ActivatedRoute,
|
||||
private accountService: AccountService,
|
||||
) {
|
||||
this._currentPageDetails$.subscribe();
|
||||
@ -124,7 +137,21 @@ export class VaultPopupAutofillService {
|
||||
return true;
|
||||
}
|
||||
|
||||
private _closePopup() {
|
||||
private async _closePopup(cipher: CipherView, tab: chrome.tabs.Tab | null) {
|
||||
if (BrowserPopupUtils.inSingleActionPopout(window, VaultPopoutType.viewVaultItem) && tab.id) {
|
||||
this.toastService.showToast({
|
||||
variant: "success",
|
||||
title: null,
|
||||
message: this.i18nService.t("autoFillSuccess"),
|
||||
});
|
||||
setTimeout(async () => {
|
||||
await BrowserApi.focusTab(tab.id);
|
||||
await closeViewVaultItemPopout(`${VaultPopoutType.viewVaultItem}_${cipher.id}`);
|
||||
}, 1000);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!BrowserPopupUtils.inPopup(window)) {
|
||||
return;
|
||||
}
|
||||
@ -158,7 +185,7 @@ export class VaultPopupAutofillService {
|
||||
const didAutofill = await this._internalDoAutofill(cipher, tab, pageDetails);
|
||||
|
||||
if (didAutofill && closePopup) {
|
||||
this._closePopup();
|
||||
await this._closePopup(cipher, tab);
|
||||
}
|
||||
|
||||
return didAutofill;
|
||||
@ -193,7 +220,7 @@ export class VaultPopupAutofillService {
|
||||
}
|
||||
|
||||
if (closePopup) {
|
||||
this._closePopup();
|
||||
await this._closePopup(cipher, tab);
|
||||
} else {
|
||||
this.toastService.showToast({
|
||||
variant: "success",
|
||||
|
@ -30,6 +30,7 @@ describe("VaultPopupItemsService", () => {
|
||||
|
||||
let mockOrg: Organization;
|
||||
let mockCollections: CollectionView[];
|
||||
let activeUserLastSync$: BehaviorSubject<Date>;
|
||||
|
||||
const cipherServiceMock = mock<CipherService>();
|
||||
const vaultSettingsServiceMock = mock<VaultSettingsService>();
|
||||
@ -92,7 +93,8 @@ describe("VaultPopupItemsService", () => {
|
||||
organizationServiceMock.organizations$ = new BehaviorSubject([mockOrg]);
|
||||
collectionService.decryptedCollections$ = new BehaviorSubject(mockCollections);
|
||||
|
||||
syncServiceMock.getLastSync.mockResolvedValue(new Date());
|
||||
activeUserLastSync$ = new BehaviorSubject(new Date());
|
||||
syncServiceMock.activeUserLastSync$.mockReturnValue(activeUserLastSync$);
|
||||
|
||||
testBed = TestBed.configureTestingModule({
|
||||
providers: [
|
||||
@ -161,7 +163,7 @@ describe("VaultPopupItemsService", () => {
|
||||
});
|
||||
|
||||
it("should not emit cipher list if syncService.getLastSync returns null", async () => {
|
||||
syncServiceMock.getLastSync.mockResolvedValue(null);
|
||||
activeUserLastSync$.next(null);
|
||||
|
||||
const obs$ = service.autoFillCiphers$.pipe(timeout(50));
|
||||
|
||||
|
@ -9,6 +9,7 @@ import {
|
||||
from,
|
||||
map,
|
||||
merge,
|
||||
MonoTypeOperatorFunction,
|
||||
Observable,
|
||||
of,
|
||||
shareReplay,
|
||||
@ -31,6 +32,7 @@ import { CipherType } from "@bitwarden/common/vault/enums";
|
||||
import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
|
||||
|
||||
import { runInsideAngular } from "../../../platform/browser/run-inside-angular.operator";
|
||||
import { waitUntil } from "../../util";
|
||||
import { PopupCipherView } from "../views/popup-cipher.view";
|
||||
|
||||
import { VaultPopupAutofillService } from "./vault-popup-autofill.service";
|
||||
@ -80,8 +82,7 @@ export class VaultPopupItemsService {
|
||||
).pipe(
|
||||
runInsideAngular(inject(NgZone)), // Workaround to ensure cipher$ state provider emissions are run inside Angular
|
||||
tap(() => this._ciphersLoading$.next()),
|
||||
switchMap(() => Utils.asyncToObservable(() => this.syncService.getLastSync())),
|
||||
filter((lastSync) => lastSync !== null), // Only attempt to load ciphers if we performed a sync
|
||||
waitUntilSync(this.syncService),
|
||||
switchMap(() => Utils.asyncToObservable(() => this.cipherService.getAllDecrypted())),
|
||||
switchMap((ciphers) =>
|
||||
combineLatest([
|
||||
@ -270,3 +271,11 @@ export class VaultPopupItemsService {
|
||||
return this.cipherService.sortCiphersByLastUsedThenName(a, b);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Operator that waits until the active account has synced at least once before allowing the source to continue emission.
|
||||
* @param syncService
|
||||
*/
|
||||
const waitUntilSync = <T>(syncService: SyncService): MonoTypeOperatorFunction<T> => {
|
||||
return waitUntil(syncService.activeUserLastSync$().pipe(filter((lastSync) => lastSync != null)));
|
||||
};
|
||||
|
@ -64,4 +64,17 @@
|
||||
{{ accountSwitcherEnabled ? ("faviconDescAlt" | i18n) : ("faviconDesc" | i18n) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box-content">
|
||||
<div class="box-content-row box-content-row-checkbox" appBoxRow>
|
||||
<label for="routing">{{ "enableAnimations" | i18n }}</label>
|
||||
<input
|
||||
id="routing"
|
||||
type="checkbox"
|
||||
(change)="updateRoutingAnimation()"
|
||||
[(ngModel)]="enableRoutingAnimation"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user