Merge branch 'main' into sm/sm-910

This commit is contained in:
Thomas Avery 2024-04-24 12:55:54 -05:00 committed by GitHub
commit 6fb74bfe59
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
623 changed files with 25728 additions and 8367 deletions

View File

@ -246,6 +246,22 @@
}
]
}
},
{
"files": ["**/*.ts"],
"excludedFiles": ["**/platform/**/*.ts"],
"rules": {
"no-restricted-imports": [
"error",
{
"patterns": [
"**/platform/**/internal", // General internal pattern
// All features that have been converted to barrel files
"**/platform/messaging/**"
]
}
]
}
}
]
}

View File

@ -160,9 +160,9 @@ jobs:
run: npm run dist
working-directory: browser-source/apps/browser
# - name: Build Manifest v3
# run: npm run dist:mv3
# working-directory: browser-source/apps/browser
- name: Build Manifest v3
run: npm run dist:mv3
working-directory: browser-source/apps/browser
- name: Gulp
run: gulp ci
@ -189,12 +189,12 @@ jobs:
path: browser-source/apps/browser/dist/dist-chrome.zip
if-no-files-found: error
# - name: Upload Chrome MV3 artifact
# uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
# with:
# name: dist-chrome-MV3-${{ env._BUILD_NUMBER }}.zip
# path: browser-source/apps/browser/dist/dist-chrome-mv3.zip
# if-no-files-found: error
- name: Upload Chrome MV3 artifact (DO NOT USE FOR PROD)
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
with:
name: DO-NOT-USE-FOR-PROD-dist-chrome-MV3-${{ env._BUILD_NUMBER }}.zip
path: browser-source/apps/browser/dist/dist-chrome-mv3.zip
if-no-files-found: error
- name: Upload Firefox artifact
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1

View File

@ -128,29 +128,90 @@ jobs:
- name: Success Code
run: exit 0
get-branch-or-tag-sha:
name: Get Branch or Tag SHA
artifact-check:
name: Check if Web artifact is present
runs-on: ubuntu-22.04
needs: setup
env:
_ENVIRONMENT_ARTIFACT: ${{ needs.setup.outputs.environment-artifact }}
outputs:
branch-or-tag-sha: ${{ steps.get-branch-or-tag-sha.outputs.sha }}
artifact-build-commit: ${{ steps.set-artifact-commit.outputs.commit }}
steps:
- name: Checkout Branch
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: 'Download latest cloud asset using GitHub Run ID: ${{ inputs.build-web-run-id }}'
if: ${{ inputs.build-web-run-id }}
uses: bitwarden/gh-actions/download-artifacts@main
id: download-latest-artifacts-run-id
continue-on-error: true
with:
ref: ${{ inputs.branch-or-tag }}
fetch-depth: 0
workflow: build-web.yml
path: apps/web
workflow_conclusion: success
run_id: ${{ inputs.build-web-run-id }}
artifacts: ${{ env._ENVIRONMENT_ARTIFACT }}
- name: Get Branch or Tag SHA
id: get-branch-or-tag-sha
- name: 'Download latest cloud asset from branch/tag: ${{ inputs.branch-or-tag }}'
if: ${{ !inputs.build-web-run-id }}
uses: bitwarden/gh-actions/download-artifacts@main
id: download-latest-artifacts
continue-on-error: true
with:
workflow: build-web.yml
path: apps/web
workflow_conclusion: success
branch: ${{ inputs.branch-or-tag }}
artifacts: ${{ env._ENVIRONMENT_ARTIFACT }}
- name: Login to Azure
if: ${{ steps.download-latest-artifacts.outcome == 'failure' }}
uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0
with:
creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
- name: Retrieve secrets for Build trigger
if: ${{ steps.download-latest-artifacts.outcome == 'failure' }}
id: retrieve-secret
uses: bitwarden/gh-actions/get-keyvault-secrets@main
with:
keyvault: "bitwarden-ci"
secrets: "github-pat-bitwarden-devops-bot-repo-scope"
- name: 'Trigger build web for missing branch/tag ${{ inputs.branch-or-tag }}'
if: ${{ steps.download-latest-artifacts.outcome == 'failure' }}
uses: convictional/trigger-workflow-and-wait@f69fa9eedd3c62a599220f4d5745230e237904be # v1.6.5
id: trigger-build-web
with:
owner: bitwarden
repo: clients
github_token: ${{ steps.retrieve-secret.outputs.github-pat-bitwarden-devops-bot-repo-scope }}
workflow_file_name: build-web.yml
ref: ${{ inputs.branch-or-tag }}
wait_interval: 100
- name: Set artifact build commit
id: set-artifact-commit
env:
GH_TOKEN: ${{ github.token }}
run: |
echo "sha=$(git rev-parse origin/${{ inputs.branch-or-tag }})" >> $GITHUB_OUTPUT
# If run-id was used, get the commit from the download-latest-artifacts-run-id step
if [ "${{ inputs.build-web-run-id }}" ]; then
echo "commit=${{ steps.download-latest-artifacts-run-id.outputs.artifact-build-commit }}" >> $GITHUB_OUTPUT
elif [ "${{ steps.download-latest-artifacts.outcome }}" == "failure" ]; then
# If the download-latest-artifacts step failed, query the GH API to get the commit SHA of the artifact that was just built with trigger-build-web.
commit=$(gh api /repos/bitwarden/clients/actions/runs/${{ steps.trigger-build-web.outputs.workflow_id }}/artifacts --jq '.artifacts[0].workflow_run.head_sha')
echo "commit=$commit" >> $GITHUB_OUTPUT
else
# Set the commit to the output of step download-latest-artifacts.
echo "commit=${{ steps.download-latest-artifacts.outputs.artifact-build-commit }}" >> $GITHUB_OUTPUT
fi
notify-start:
name: Notify Slack with start message
needs:
- approval
- setup
- get-branch-or-tag-sha
- artifact-check
runs-on: ubuntu-22.04
if: ${{ always() && contains( inputs.environment , 'QA' ) }}
outputs:
@ -165,66 +226,10 @@ jobs:
tag: ${{ inputs.branch-or-tag }}
slack-channel: team-eng-qa-devops
event: 'start'
commit-sha: ${{ needs.get-branch-or-tag-sha.outputs.branch-or-tag-sha }}
commit-sha: ${{ needs.artifact-check.outputs.artifact-build-commit }}
url: https://github.com/bitwarden/clients/actions/runs/${{ github.run_id }}
AZURE_KV_CI_SERVICE_PRINCIPAL: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
artifact-check:
name: Check if Web artifact is present
runs-on: ubuntu-22.04
needs: setup
env:
_ENVIRONMENT_ARTIFACT: ${{ needs.setup.outputs.environment-artifact }}
steps:
- name: 'Download latest cloud asset using GitHub Run ID: ${{ inputs.build-web-run-id }}'
if: ${{ inputs.build-web-run-id }}
uses: bitwarden/gh-actions/download-artifacts@main
id: download-latest-artifacts
continue-on-error: true
with:
workflow: build-web.yml
path: apps/web
workflow_conclusion: success
run_id: ${{ inputs.build-web-run-id }}
artifacts: ${{ env._ENVIRONMENT_ARTIFACT }}
- name: 'Download latest cloud asset from branch/tag: ${{ inputs.branch-or-tag }}'
if: ${{ !inputs.build-web-run-id }}
uses: bitwarden/gh-actions/download-artifacts@main
id: download-artifacts
continue-on-error: true
with:
workflow: build-web.yml
path: apps/web
workflow_conclusion: success
branch: ${{ inputs.branch-or-tag }}
artifacts: ${{ env._ENVIRONMENT_ARTIFACT }}
- name: Login to Azure
if: ${{ steps.download-artifacts.outcome == 'failure' }}
uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0
with:
creds: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}
- name: Retrieve secrets for Build trigger
if: ${{ steps.download-artifacts.outcome == 'failure' }}
id: retrieve-secret
uses: bitwarden/gh-actions/get-keyvault-secrets@main
with:
keyvault: "bitwarden-ci"
secrets: "github-pat-bitwarden-devops-bot-repo-scope"
- name: 'Trigger build web for missing branch/tag ${{ inputs.branch-or-tag }}'
if: ${{ steps.download-artifacts.outcome == 'failure' }}
uses: convictional/trigger-workflow-and-wait@f69fa9eedd3c62a599220f4d5745230e237904be # v1.6.5
with:
owner: bitwarden
repo: clients
github_token: ${{ steps.retrieve-secret.outputs.github-pat-bitwarden-devops-bot-repo-scope }}
workflow_file_name: build-web.yml
ref: ${{ inputs.branch-or-tag }}
wait_interval: 100
azure-deploy:
name: Deploy Web Vault to ${{ inputs.environment }} Storage Account
needs:
@ -248,6 +253,7 @@ jobs:
environment: ${{ env._ENVIRONMENT_NAME }}
task: 'deploy'
description: 'Deployment from branch/tag: ${{ inputs.branch-or-tag }}'
ref: ${{ needs.artifact-check.outputs.artifact-build-commit }}
- name: Login to Azure
uses: Azure/login@e15b166166a8746d1a47596803bd8c1b595455cf # v1.6.0
@ -349,10 +355,10 @@ jobs:
runs-on: ubuntu-22.04
if: ${{ always() && contains( inputs.environment , 'QA' ) }}
needs:
- setup
- notify-start
- azure-deploy
- setup
- get-branch-or-tag-sha
- artifact-check
steps:
- uses: bitwarden/gh-actions/report-deployment-status-to-slack@main
with:
@ -362,6 +368,6 @@ jobs:
slack-channel: ${{ needs.notify-start.outputs.channel_id }}
event: ${{ needs.azure-deploy.result }}
url: https://github.com/bitwarden/clients/actions/runs/${{ github.run_id }}
commit-sha: ${{ needs.get-branch-or-tag-sha.outputs.branch-or-tag-sha }}
commit-sha: ${{ needs.artifact-check.outputs.artifact-build-commit }}
update-ts: ${{ needs.notify-start.outputs.ts }}
AZURE_KV_CI_SERVICE_PRINCIPAL: ${{ secrets.AZURE_KV_CI_SERVICE_PRINCIPAL }}

View File

@ -955,11 +955,7 @@ jobs:
keyvault: "bitwarden-ci"
secrets: "aws-electron-access-id,
aws-electron-access-key,
aws-electron-bucket-name,
r2-electron-access-id,
r2-electron-access-key,
r2-electron-bucket-name,
cf-prod-account"
aws-electron-bucket-name"
- name: Download all artifacts
uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
@ -985,20 +981,6 @@ jobs:
--recursive \
--quiet
- name: Publish artifacts to R2
env:
AWS_ACCESS_KEY_ID: ${{ steps.retrieve-secrets.outputs.r2-electron-access-id }}
AWS_SECRET_ACCESS_KEY: ${{ steps.retrieve-secrets.outputs.r2-electron-access-key }}
AWS_DEFAULT_REGION: 'us-east-1'
AWS_S3_BUCKET_NAME: ${{ steps.retrieve-secrets.outputs.r2-electron-bucket-name }}
CF_ACCOUNT: ${{ steps.retrieve-secrets.outputs.cf-prod-account }}
working-directory: apps/desktop/artifacts
run: |
aws s3 cp ./ $AWS_S3_BUCKET_NAME/desktop/ \
--recursive \
--quiet \
--endpoint-url https://${CF_ACCOUNT}.r2.cloudflarestorage.com
- name: Update deployment status to Success
if: ${{ success() }}
uses: chrnorm/deployment-status@9a72af4586197112e0491ea843682b5dc280d806 # v2.0.3

View File

@ -115,11 +115,7 @@ jobs:
keyvault: "bitwarden-ci"
secrets: "aws-electron-access-id,
aws-electron-access-key,
aws-electron-bucket-name,
r2-electron-access-id,
r2-electron-access-key,
r2-electron-bucket-name,
cf-prod-account"
aws-electron-bucket-name"
- name: Download all artifacts
if: ${{ github.event.inputs.release_type != 'Dry Run' }}
@ -169,21 +165,6 @@ jobs:
--recursive \
--quiet
- name: Publish artifacts to R2
if: ${{ github.event.inputs.release_type != 'Dry Run' && github.event.inputs.electron_publish == 'true' }}
env:
AWS_ACCESS_KEY_ID: ${{ steps.retrieve-secrets.outputs.r2-electron-access-id }}
AWS_SECRET_ACCESS_KEY: ${{ steps.retrieve-secrets.outputs.r2-electron-access-key }}
AWS_DEFAULT_REGION: 'us-east-1'
AWS_S3_BUCKET_NAME: ${{ steps.retrieve-secrets.outputs.r2-electron-bucket-name }}
CF_ACCOUNT: ${{ steps.retrieve-secrets.outputs.cf-prod-account }}
working-directory: apps/desktop/artifacts
run: |
aws s3 cp ./ $AWS_S3_BUCKET_NAME/desktop/ \
--recursive \
--quiet \
--endpoint-url https://${CF_ACCOUNT}.r2.cloudflarestorage.com
- name: Get checksum files
uses: bitwarden/gh-actions/get-checksum@main
with:

View File

@ -31,29 +31,21 @@ jobs:
keyvault: "bitwarden-ci"
secrets: "aws-electron-access-id,
aws-electron-access-key,
aws-electron-bucket-name,
r2-electron-access-id,
r2-electron-access-key,
r2-electron-bucket-name,
cf-prod-account"
aws-electron-bucket-name"
- name: Download channel update info files from R2
- name: Download channel update info files from S3
env:
AWS_ACCESS_KEY_ID: ${{ steps.retrieve-secrets.outputs.r2-electron-access-id }}
AWS_SECRET_ACCESS_KEY: ${{ steps.retrieve-secrets.outputs.r2-electron-access-key }}
AWS_DEFAULT_REGION: 'us-east-1'
AWS_S3_BUCKET_NAME: ${{ steps.retrieve-secrets.outputs.r2-electron-bucket-name }}
CF_ACCOUNT: ${{ steps.retrieve-secrets.outputs.cf-prod-account }}
AWS_ACCESS_KEY_ID: ${{ steps.retrieve-secrets.outputs.aws-electron-access-id }}
AWS_SECRET_ACCESS_KEY: ${{ steps.retrieve-secrets.outputs.aws-electron-access-key }}
AWS_DEFAULT_REGION: 'us-west-2'
AWS_S3_BUCKET_NAME: ${{ steps.retrieve-secrets.outputs.aws-electron-bucket-name }}
run: |
aws s3 cp $AWS_S3_BUCKET_NAME/desktop/latest.yml . \
--quiet \
--endpoint-url https://${CF_ACCOUNT}.r2.cloudflarestorage.com
aws s3 cp $AWS_S3_BUCKET_NAME/desktop/latest-linux.yml . \
--quiet \
--endpoint-url https://${CF_ACCOUNT}.r2.cloudflarestorage.com
aws s3 cp $AWS_S3_BUCKET_NAME/desktop/latest-mac.yml . \
--quiet \
--endpoint-url https://${CF_ACCOUNT}.r2.cloudflarestorage.com
- name: Check new rollout percentage
env:
@ -95,20 +87,3 @@ jobs:
aws s3 cp latest-mac.yml $AWS_S3_BUCKET_NAME/desktop/ \
--acl "public-read"
- name: Publish channel update info files to R2
env:
AWS_ACCESS_KEY_ID: ${{ steps.retrieve-secrets.outputs.r2-electron-access-id }}
AWS_SECRET_ACCESS_KEY: ${{ steps.retrieve-secrets.outputs.r2-electron-access-key }}
AWS_DEFAULT_REGION: 'us-east-1'
AWS_S3_BUCKET_NAME: ${{ steps.retrieve-secrets.outputs.r2-electron-bucket-name }}
CF_ACCOUNT: ${{ steps.retrieve-secrets.outputs.cf-prod-account }}
run: |
aws s3 cp latest.yml $AWS_S3_BUCKET_NAME/desktop/ \
--endpoint-url https://${CF_ACCOUNT}.r2.cloudflarestorage.com
aws s3 cp latest-linux.yml $AWS_S3_BUCKET_NAME/desktop/ \
--endpoint-url https://${CF_ACCOUNT}.r2.cloudflarestorage.com
aws s3 cp latest-mac.yml $AWS_S3_BUCKET_NAME/desktop/ \
--endpoint-url https://${CF_ACCOUNT}.r2.cloudflarestorage.com

View File

@ -5,5 +5,6 @@
"**/locales/*[^n]/messages.json": true,
"**/_locales/[^e]*/messages.json": true,
"**/_locales/*[^n]/messages.json": true
}
},
"rust-analyzer.linkedProjects": ["apps/desktop/desktop_native/Cargo.toml"]
}

View File

@ -1,6 +1,5 @@
{
"devFlags": {
"storeSessionDecrypted": false,
"managedEnvironment": {
"base": "https://localhost:8080"
}

View File

@ -1,6 +1,6 @@
{
"name": "@bitwarden/browser",
"version": "2024.4.1",
"version": "2024.4.2",
"scripts": {
"build": "webpack",
"build:mv3": "cross-env MANIFEST_VERSION=3 webpack",

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - مدير كلمات مرور مجاني",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "مدير كلمات مرور مجاني وآمن لجميع أجهزتك.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "قم بالتسجيل أو إنشاء حساب جديد للوصول إلى خزنتك الآمنة."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "تغيير كلمة المرور الرئيسية"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "عبارة بصمة الإصبع",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "أُضيف المجلد"
},
"changeMasterPass": {
"message": "تغيير كلمة المرور الرئيسية"
},
"changeMasterPasswordConfirmation": {
"message": "يمكنك تغيير كلمة المرور الرئيسية من خزنة الويب في bitwarden.com. هل تريد زيارة الموقع الآن؟"
},
"twoStepLoginConfirmation": {
"message": "تسجيل الدخول بخطوتين يجعل حسابك أكثر أمنا من خلال مطالبتك بالتحقق من تسجيل الدخول باستخدام جهاز آخر مثل مفتاح الأمان، تطبيق المصادقة، الرسائل القصيرة، المكالمة الهاتفية، أو البريد الإلكتروني. يمكن تمكين تسجيل الدخول بخطوتين على خزنة الويب bitwarden.com. هل تريد زيارة الموقع الآن؟"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Ödənişsiz Parol Meneceri",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bütün cihazlarınız üçün güvənli və ödənişsiz bir parol meneceri.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Güvənli anbarınıza müraciət etmək üçün giriş edin və ya yeni bir hesab yaradın."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Ana parolu dəyişdir"
},
"continueToWebApp": {
"message": "Veb tətbiqlə davam edilsin?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Ana parolunuzu Bitwarden veb tətbiqində dəyişdirə bilərsiniz."
},
"fingerprintPhrase": {
"message": "Barmaq izi ifadəsi",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Qovluq əlavə edildi"
},
"changeMasterPass": {
"message": "Ana parolu dəyişdir"
},
"changeMasterPasswordConfirmation": {
"message": "Ana parolunuzu bitwarden.com veb anbarında dəyişdirə bilərsiniz. İndi saytı ziyarət etmək istəyirsiniz?"
},
"twoStepLoginConfirmation": {
"message": "İki addımlı giriş, güvənlik açarı, kimlik doğrulayıcı tətbiq, SMS, telefon zəngi və ya e-poçt kimi digər cihazlarla girişinizi doğrulamanızı tələb edərək hesabınızı daha da güvənli edir. İki addımlı giriş, bitwarden.com veb anbarında qurula bilər. Veb saytı indi ziyarət etmək istəyirsiniz?"
},
@ -1045,7 +1045,7 @@
"message": "Bildiriş server URL-si"
},
"iconsUrl": {
"message": "Nişan server URL-si"
"message": "İkon server URL-si"
},
"environmentSaved": {
"message": "Mühit URL-ləri saxlanıldı."
@ -1072,7 +1072,7 @@
"description": "Overlay appearance select option for showing the field on focus of the input element"
},
"autofillOverlayVisibilityOnButtonClick": {
"message": "Avto-doldurma nişanı seçiləndə",
"message": "Avto-doldurma ikonu seçiləndə",
"description": "Overlay appearance select option for showing the field on click of the overlay icon"
},
"enableAutoFillOnPageLoad": {
@ -1109,7 +1109,7 @@
"message": "Anbarıılan pəncərədə aç"
},
"commandOpenSidebar": {
"message": "Anbar yan sətirdə aç"
"message": "Anbarı yan çubuqda aç"
},
"commandAutofillDesc": {
"message": "Hazırkı veb sayt üçün son istifadə edilən giriş məlumatlarını avto-doldur"
@ -1162,7 +1162,7 @@
"message": "Bu brauzer bu açılan pəncərədə U2F tələblərini emal edə bilmir. U2F istifadə edərək giriş etmək üçün bu açılan pəncərəni yeni bir pəncərədə açmaq istəyirsiniz?"
},
"enableFavicon": {
"message": "Veb sayt nişanlarını göstər"
"message": "Veb sayt ikonlarını göstər"
},
"faviconDesc": {
"message": "Hər girişin yanında tanına bilən təsvir göstər."
@ -1724,7 +1724,7 @@
"message": "İcazə tələb xətası"
},
"nativeMessaginPermissionSidebarDesc": {
"message": "Bu əməliyyatı kənar çubuqda icra edilə bilməz. Lütfən açılan pəncərədə yenidən sınayın."
"message": "Bu əməliyyat yan çubuqda icra edilə bilməz. Lütfən açılan pəncərədə yenidən sınayın."
},
"personalOwnershipSubmitError": {
"message": "Müəssisə Siyasətinə görə, elementləri şəxsi anbarınızda saxlamağınız məhdudlaşdırılıb. Sahiblik seçimini təşkilat olaraq dəyişdirin və mövcud kolleksiyalar arasından seçim edin."
@ -1924,10 +1924,10 @@
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"sendLinuxChromiumFileWarning": {
"message": "Bir fayl seçmək üçün (mümkünsə) kənar çubuqdakı uzantınıın və ya bu bannerə klikləyərək yeni bir pəncərədə açın."
"message": "Bir fayl seçmək üçün (mümkünsə) yan çubuqdakı uzantınıın və ya bu bannerə klikləyərək yeni bir pəncərədə açın."
},
"sendFirefoxFileWarning": {
"message": "Firefox istifadə edərək bir fayl seçmək üçün kənar çubuqdakı uzantınıın və ya bu bannerə klikləyərək yeni bir pəncərədə açın."
"message": "Firefox istifadə edərək bir fayl seçmək üçün yan çubuqdakı uzantınıın və ya bu bannerə klikləyərək yeni bir pəncərədə açın."
},
"sendSafariFileWarning": {
"message": "Safari istifadə edərək bir fayl seçmək üçün bu bannerə klikləyərək yeni bir pəncərədə açın."
@ -3000,16 +3000,36 @@
"message": "Kimlik məlumatlarını saxlama xətası. Detallar üçün konsolu yoxlayın.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Uğurlu"
},
"removePasskey": {
"message": "Parolu sil"
},
"passkeyRemoved": {
"message": "Parol silindi"
},
"unassignedItemsBanner": {
"message": "Bildiriş: Təyin edilməmiş təşkilat elementləri artıq Bütün Anbarlar görünüşündə görünməyəndir və yalnız Admin Konsolu vasitəsilə əlçatandır. Bu elementləri görünən etmək üçün Admin Konsolundan bir kolleksiyaya təyin edin."
"unassignedItemsBannerNotice": {
"message": "Bildiriş: Təyin edilməyən təşkilat elementləri artıq Bütün Anbarlar görünüşündə görünən olmayacaq və yalnız Admin Konsolu vasitəsilə əlçatan olacaq."
},
"unassignedItemsBannerSelfHost": {
"message": "Bildiriş: 2 May 2024-cü ildən etibarən təyin edilməmiş təşkilat elementləri artıq Bütün Anbarlar görünüşündə görünməyən və yalnız Admin Konsolu vasitəsilə əlçatan olacaq. Bu elementləri görünən etmək üçün Admin Konsolundan bir kolleksiyaya təyin edin."
"unassignedItemsBannerSelfHostNotice": {
"message": "Bildiriş: 16 May 2024-cü il tarixindən etibarən, təyin edilməyən təşkilat elementləri Bütün Anbarlar görünüşündə görünən olmayacaq və yalnız Admin Konsolu vasitəsilə əlçatan olacaq."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Bu elementləri görünən etmək üçün",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "bir kolleksiyaya təyin edin.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Konsolu"
},
"errorAssigningTargetCollection": {
"message": "Hədəf kolleksiyaya təyin etmə xətası."
},
"errorAssigningTargetFolder": {
"message": "Hədəf qovluğa təyin etmə xətası."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden бясплатны менеджар пароляў",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Бяспечны і бясплатны менеджар пароляў для ўсіх вашых прылад.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Увайдзіце або стварыце новы ўліковы запіс для доступу да бяспечнага сховішча."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Змяніць асноўны пароль"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Фраза адбітка пальца",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Папка дададзена"
},
"changeMasterPass": {
"message": "Змяніць асноўны пароль"
},
"changeMasterPasswordConfirmation": {
"message": "Вы можаце змяніць свой асноўны пароль у вэб-сховішчы на bitwarden.com. Перайсці на вэб-сайт зараз?"
},
"twoStepLoginConfirmation": {
"message": "Двухэтапны ўваход робіць ваш уліковы запіс больш бяспечным, патрабуючы пацвярджэнне ўваходу на іншай прыладзе з выкарыстаннем ключа бяспекі, праграмы аўтэнтыфікацыі, SMS, тэлефоннага званка або электроннай пошты. Двухэтапны ўваход уключаецца на bitwarden.com. Перайсці на вэб-сайт, каб зрабіць гэта?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Битуорден (Bitwarden)"
},
"extName": {
"message": "Bitwarden",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Безопасно и безплатно управление за всичките ви устройства.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Впишете се или създайте нов абонамент, за да достъпите защитен трезор."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Промяна на главната парола"
},
"continueToWebApp": {
"message": "Продължаване към уеб приложението?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Може да промените главната си парола в уеб приложението на Битуорден."
},
"fingerprintPhrase": {
"message": "Уникална фраза",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Добавена папка"
},
"changeMasterPass": {
"message": "Промяна на главната парола"
},
"changeMasterPasswordConfirmation": {
"message": "Главната парола на трезор може да се промени чрез сайта bitwarden.com. Искате ли да го посетите?"
},
"twoStepLoginConfirmation": {
"message": "Двустепенното вписване защитава регистрацията ви, като ви кара да потвърдите влизането си чрез устройство-ключ, приложение за удостоверение, мобилно съобщение, телефонно обаждане или електронна поща. Двустепенното вписване може да се включи чрез сайта bitwarden.com. Искате ли да го посетите?"
},
@ -3000,16 +3000,36 @@
"message": "Грешка при запазването на идентификационните данни. Вижте конзолата за подробности.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Успех"
},
"removePasskey": {
"message": "Премахване на секретния ключ"
},
"passkeyRemoved": {
"message": "Секретният ключ е премахнат"
},
"unassignedItemsBanner": {
"message": "Известие: неразпределените елементи на организацията вече не се виждат в изгледа с „Всички трезори“, а са достъпни само през Административната конзола. Добавете тези елементи към някоя колекция в Административната конзола, за да станат видими."
"unassignedItemsBannerNotice": {
"message": "Известие: неразпределените елементи в организацията вече няма да се виждат в изгледа с всички трезори, а са достъпни само през Административната конзола."
},
"unassignedItemsBannerSelfHost": {
"message": "Известие: от 2 май 2024г. неразпределените елементи на организациите вече няма се виждат в изгледа с „Всички трезори“, а ще бъдат достъпни само през Административната конзола. Добавете тези елементи към някоя колекция в Административната конзола, за да станат видими."
"unassignedItemsBannerSelfHostNotice": {
"message": "Известие: след 16 май 2024, неразпределените елементи в организацията вече няма да се виждат в изгледа с всички трезори, а ще бъдат достъпни само през Административната конзола."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Добавете тези елементи към колекция в",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "за да ги направите видими.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Административна конзола"
},
"errorAssigningTargetCollection": {
"message": "Грешка при задаването на целева колекция."
},
"errorAssigningTargetFolder": {
"message": "Грешка при задаването на целева папка."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "আপনার সমস্ত ডিভাইসের জন্য একটি সুরক্ষিত এবং বিনামূল্যের পাসওয়ার্ড ব্যবস্থাপক।",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "আপনার সুরক্ষিত ভল্টে প্রবেশ করতে লগ ইন করুন অথবা একটি নতুন অ্যাকাউন্ট তৈরি করুন।"
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "মূল পাসওয়ার্ড পরিবর্তন"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "ফিঙ্গারপ্রিন্ট ফ্রেজ",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "ফোল্ডার জোড়া হয়েছে"
},
"changeMasterPass": {
"message": "মূল পাসওয়ার্ড পরিবর্তন"
},
"changeMasterPasswordConfirmation": {
"message": "আপনি bitwarden.com ওয়েব ভল্ট থেকে মূল পাসওয়ার্ডটি পরিবর্তন করতে পারেন। আপনি কি এখনই ওয়েবসাইটটি দেখতে চান?"
},
"twoStepLoginConfirmation": {
"message": "দ্বি-পদক্ষেপ লগইন অন্য ডিভাইসে আপনার লগইনটি যাচাই করার জন্য সিকিউরিটি কী, প্রমাণীকরণকারী অ্যাপ্লিকেশন, এসএমএস, ফোন কল বা ই-মেইল ব্যাবহারের মাধ্যমে আপনার অ্যাকাউন্টকে আরও সুরক্ষিত করে। bitwarden.com ওয়েব ভল্টে দ্বি-পদক্ষেপের লগইন সক্ষম করা যাবে। আপনি কি এখনই ওয়েবসাইটটি দেখতে চান?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Prijavite se ili napravite novi račun da biste pristupili svom sigurnom trezoru."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Administrador de contrasenyes segur i gratuït per a tots els vostres dispositius.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Inicieu sessió o creeu un compte nou per accedir a la caixa forta."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Canvia la contrasenya mestra"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Frase d'empremta digital",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Carpeta afegida"
},
"changeMasterPass": {
"message": "Canvia la contrasenya mestra"
},
"changeMasterPasswordConfirmation": {
"message": "Podeu canviar la contrasenya mestra a la caixa forta web de bitwarden.com. Voleu visitar el lloc web ara?"
},
"twoStepLoginConfirmation": {
"message": "L'inici de sessió en dues passes fa que el vostre compte siga més segur, ja que obliga a verificar el vostre inici de sessió amb un altre dispositiu, com ara una clau de seguretat, una aplicació autenticadora, un SMS, una trucada telefònica o un correu electrònic. Es pot habilitar l'inici de sessió en dues passes a la caixa forta web de bitwarden.com. Voleu visitar el lloc web ara?"
},
@ -3000,16 +3000,36 @@
"message": "S'ha produït un error en guardar les credencials. Consulteu la consola per obtenir més informació.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Suprimeix la clau de pas"
},
"passkeyRemoved": {
"message": "Clau de pas suprimida"
},
"unassignedItemsBanner": {
"message": "Nota: els elements de l'organització sense assignar ja no es veuran a la vista \"Totes les caixes fortes\" i només es veuran des de la consola d'administració. Assigneu-los-hi una col·lecció des de la consola per fer-los visibles."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden Bezplatný správce hesel",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bezpečný a bezplatný správce hesel pro všechna Vaše zařízení.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Pro přístup do Vašeho bezpečného trezoru se přihlaste nebo si vytvořte nový účet."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Změnit hlavní heslo"
},
"continueToWebApp": {
"message": "Pokračovat do webové aplikace?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Hlavní heslo můžete změnit ve webové aplikaci Bitwardenu."
},
"fingerprintPhrase": {
"message": "Fráze otisku prstu",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Složka byla přidána"
},
"changeMasterPass": {
"message": "Změnit hlavní heslo"
},
"changeMasterPasswordConfirmation": {
"message": "Hlavní heslo si můžete změnit na webové stránce bitwarden.com. Chcete tuto stránku nyní otevřít?"
},
"twoStepLoginConfirmation": {
"message": "Dvoufázové přihlášení činí Váš účet mnohem bezpečnějším díky nutnosti po každém úspěšném přihlášení zadat ověřovací kód získaný z bezpečnostního klíče, aplikace, SMS, telefonního hovoru nebo e-mailu. Dvoufázové přihlášení lze aktivovat na webové stránce bitwarden.com. Chcete tuto stránku nyní otevřít?"
},
@ -3000,16 +3000,36 @@
"message": "Chyba při ukládání přihlašovacích údajů. Podrobnosti naleznete v konzoli.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Úspěch"
},
"removePasskey": {
"message": "Odebrat přístupový klíč"
},
"passkeyRemoved": {
"message": "Přístupový klíč byl odebrán"
},
"unassignedItemsBanner": {
"message": "Upozornění: Nepřiřazené položky organizace již nejsou viditelné ve Vašem zobrazení všech trezorů a jsou nyní přístupné jen v konzoli správce. Přiřaďte tyto položky do kolekce z konzole pro správce, aby byly viditelné."
"unassignedItemsBannerNotice": {
"message": "Upozornění: Nepřiřazené položky organizace již nejsou viditelné ve vašem zobrazení všech trezorů a jsou nyní přístupné pouze v konzoli správce."
},
"unassignedItemsBannerSelfHost": {
"message": "Upozornění: Dne 2. května 2024 již nebudou nepřiřazené položky organizace viditelné v zobrazení Všechny trezory a budou přístupné jen prostřednictvím konzoly správce. Přiřaďte tyto položky do kolekce z konzoly pro správce, aby byly viditelné."
"unassignedItemsBannerSelfHostNotice": {
"message": "Upozornění: 16. květba 2024 již nebudou nepřiřazené položky organizace viditelné ve vašem zobrazení všech trezorů a budou přístupné pouze v konzoli správce."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Přiřadit tyto položky ke kolekci z",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "aby byly viditelné.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Konzole správce"
},
"errorAssigningTargetCollection": {
"message": "Chyba při přiřazování cílové kolekce."
},
"errorAssigningTargetFolder": {
"message": "Chyba při přiřazování cílové složky."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Rheolydd cyfineiriau am ddim",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Rheolydd cyfrineiriau diogel a rhad ac am ddim ar gyfer eich holl ddyfeisiau.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Mewngofnodwch neu crëwch gyfrif newydd i gael mynediad i'ch cell ddiogel."
@ -23,7 +23,7 @@
"message": "Enterprise single sign-on"
},
"cancel": {
"message": "Cancel"
"message": "Canslo"
},
"close": {
"message": "Cau"
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Newid y prif gyfrinair"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Ymadrodd unigryw",
"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."
@ -312,7 +318,7 @@
"message": "Golygu"
},
"view": {
"message": "View"
"message": "Gweld"
},
"noItemsInList": {
"message": "Does dim eitemau i'w rhestru."
@ -543,10 +549,10 @@
"message": "Ydych chi'n siŵr eich bod am allgofnodi?"
},
"yes": {
"message": "Yes"
"message": "Ydw"
},
"no": {
"message": "No"
"message": "Na"
},
"unexpectedError": {
"message": "An unexpected error has occurred."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Ffolder wedi'i hychwanegu"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Gratis adgangskodemanager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "En sikker og gratis adgangskodemanager til alle dine enheder.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log ind eller opret en ny konto for at få adgang til din sikre boks."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Skift hovedadgangskode"
},
"continueToWebApp": {
"message": "Fortsæt til web-app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Hovedadgangskoden kan ændres via Bitwarden web-appen."
},
"fingerprintPhrase": {
"message": "Fingeraftrykssætning",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Mappe tilføjet"
},
"changeMasterPass": {
"message": "Skift hovedadgangskode"
},
"changeMasterPasswordConfirmation": {
"message": "Du kan ændre din hovedadgangskode i bitwarden.com web-boksen. Vil du besøge hjemmesiden nu?"
},
"twoStepLoginConfirmation": {
"message": "To-trins login gør din konto mere sikker ved at kræve, at du verificerer dit login med en anden enhed, såsom en sikkerhedsnøgle, autentificeringsapp, SMS, telefonopkald eller e-mail. To-trins login kan aktiveres i bitwarden.com web-boksen. Vil du besøge hjemmesiden nu?"
},
@ -3000,16 +3000,36 @@
"message": "Fejl under import. Tjek konsollen for detaljer.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Gennemført"
},
"removePasskey": {
"message": "Fjern adgangsnøgle"
},
"passkeyRemoved": {
"message": "Adgangsnøgle fjernet"
},
"unassignedItemsBanner": {
"message": "Bemærk: Utildelte organisationsemner er ikke længere synlige i Alle Bokse-visningen og er kun tilgængelige via Adminkonsollen. Føj disse emner til en samling fra Adminkonsollen for at gøre dem synlige."
"unassignedItemsBannerNotice": {
"message": "Bemærk: Utildelte organisationsemner er ikke længere synlige i Alle Bokse-visningen, men er kun tilgængelige via Admin-konsol."
},
"unassignedItemsBannerSelfHost": {
"message": "Bemærk: Pr. 2. maj 2024 vil utildelte organisationsemner ikke længere være synlige i Alle Bokse-visningen og vil kun være tilgængelige via Admin-konsollen. Tildel disse emner til en samling via Admin-konsollen for at gøre dem synlige."
"unassignedItemsBannerSelfHostNotice": {
"message": "Bemærk: Pr. 16. maj 2024 er utildelte organisationsemner er ikke længere synlige i Alle Bokse-visningen, men er kun tilgængelige via Admin-konsol."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Tildel disse emner til en samling via",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "for at gøre dem synlige.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin-konsol"
},
"errorAssigningTargetCollection": {
"message": "Fejl ved tildeling af målsamling."
},
"errorAssigningTargetFolder": {
"message": "Fejl ved tildeling af målmappe."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Kostenloser Passwortmanager",
"message": "Bitwarden Passwortmanager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Ein sicherer und kostenloser Passwortmanager für all deine Geräte.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Melde dich an oder erstelle ein neues Konto, um auf deinen Tresor zuzugreifen."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Master-Passwort ändern"
},
"continueToWebApp": {
"message": "Weiter zur Web-App?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Du kannst dein Master-Passwort in der Bitwarden Web-App ändern."
},
"fingerprintPhrase": {
"message": "Fingerabdruck-Phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Ordner hinzugefügt"
},
"changeMasterPass": {
"message": "Master-Passwort ändern"
},
"changeMasterPasswordConfirmation": {
"message": "Du kannst dein Master-Passwort im Bitwarden.com Web-Tresor ändern. Möchtest du die Seite jetzt öffnen?"
},
"twoStepLoginConfirmation": {
"message": "Mit der Zwei-Faktor-Authentifizierung wird dein Konto zusätzlich abgesichert, da jede Anmeldung mit einem anderen Gerät wie einem Sicherheitsschlüssel, einer Authentifizierungs-App, einer SMS, einem Anruf oder einer E-Mail verifiziert werden muss. Die Zwei-Faktor-Authentifizierung kann im bitwarden.com Web-Tresor aktiviert werden. Möchtest du die Website jetzt öffnen?"
},
@ -3000,16 +3000,36 @@
"message": "Fehler beim Speichern der Zugangsdaten. Details in der Konsole.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Erfolg"
},
"removePasskey": {
"message": "Passkey entfernen"
},
"passkeyRemoved": {
"message": "Passkey entfernt"
},
"unassignedItemsBanner": {
"message": "Hinweis: Nicht zugeordnete Organisationseinträge sind nicht mehr in der Ansicht aller Tresore sichtbar und nur über die Administrator-Konsole zugänglich. Weise diese Einträge einer Sammlung aus der Administrator-Konsole zu, um sie sichtbar zu machen."
"unassignedItemsBannerNotice": {
"message": "Hinweis: Nicht zugeordnete Organisationseinträge sind nicht mehr in der Ansicht aller Tresore sichtbar und nur über die Administrator-Konsole zugänglich."
},
"unassignedItemsBannerSelfHost": {
"message": "Hinweis: Ab dem 2. Mai 2024 werden nicht zugewiesene Organisationseinträge nicht mehr in der Ansicht aller Tresore sichtbar sein und sind nur über die Administrator-Konsole zugänglich. Weise diese Elemente einer Sammlung aus der Administrator-Konsole zu, um sie sichtbar zu machen."
"unassignedItemsBannerSelfHostNotice": {
"message": "Hinweis: Ab dem 16. Mai 2024 sind nicht zugewiesene Organisationselemente nicht mehr in der Ansicht aller Tresore sichtbar und nur über die Administrator-Konsole zugänglich."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Weise diese Einträge einer Sammlung aus der",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "zu, um sie sichtbar zu machen.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Administrator-Konsole"
},
"errorAssigningTargetCollection": {
"message": "Fehler beim Zuweisen der Ziel-Sammlung."
},
"errorAssigningTargetFolder": {
"message": "Fehler beim Zuweisen des Ziel-Ordners."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Δωρεάν Διαχειριστής Κωδικών",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Ένας ασφαλής και δωρεάν διαχειριστής κωδικών, για όλες σας τις συσκευές.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Συνδεθείτε ή δημιουργήστε ένα νέο λογαριασμό για να αποκτήσετε πρόσβαση στο ασφαλές vault σας."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Αλλαγή Κύριου Κωδικού"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Φράση Δακτυλικών Αποτυπωμάτων",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Προστέθηκε φάκελος"
},
"changeMasterPass": {
"message": "Αλλαγή Κύριου Κωδικού"
},
"changeMasterPasswordConfirmation": {
"message": "Μπορείτε να αλλάξετε τον κύριο κωδικό στο bitwarden.com. Θέλετε να επισκεφθείτε την ιστοσελίδα τώρα;"
},
"twoStepLoginConfirmation": {
"message": "Η σύνδεση σε δύο βήματα καθιστά πιο ασφαλή τον λογαριασμό σας, απαιτώντας να επαληθεύσετε τα στοιχεία σας με μια άλλη συσκευή, όπως κλειδί ασφαλείας, εφαρμογή επαλήθευσης, μήνυμα SMS, τηλεφωνική κλήση ή email. Μπορείτε να ενεργοποιήσετε τη σύνδεση σε δύο βήματα στο bitwarden.com. Θέλετε να επισκεφθείτε την ιστοσελίδα τώρα;"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organisation items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organisation items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organisation items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organisation items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Added folder"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be enabled on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bitwarden es un gestor de contraseñas seguro y gratuito para todos tus dispositivos.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Identifícate o crea una nueva cuenta para acceder a tu caja fuerte."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Cambiar contraseña maestra"
},
"continueToWebApp": {
"message": "¿Continuar a la aplicación web?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Puedes cambiar la contraseña maestra en la aplicación web de Bitwarden."
},
"fingerprintPhrase": {
"message": "Frase de huella digital",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Carpeta añadida"
},
"changeMasterPass": {
"message": "Cambiar contraseña maestra"
},
"changeMasterPasswordConfirmation": {
"message": "Puedes cambiar tu contraseña maestra en la caja fuerte web de bitwarden.com. ¿Quieres visitar ahora el sitio web?"
},
"twoStepLoginConfirmation": {
"message": "La autenticación en dos pasos hace que tu cuenta sea mucho más segura, requiriendo que introduzcas un código de seguridad de una aplicación de autenticación cada vez que accedes. La autenticación en dos pasos puede ser habilitada en la caja fuerte web de bitwarden.com. ¿Quieres visitar ahora el sitio web?"
},
@ -3000,16 +3000,36 @@
"message": "Se produjo un error al guardar las credenciales. Revise la consola para obtener detalles.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
"message": "Eliminar passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
"message": "Passkey eliminada"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Tasuta paroolihaldur",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Turvaline ja tasuta paroolihaldur kõikidele sinu seadmetele.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Logi oma olemasolevasse kontosse sisse või loo uus konto."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Muuda ülemparooli"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Sõrmejälje fraas",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Kaust on lisatud"
},
"changeMasterPass": {
"message": "Muuda ülemparooli"
},
"changeMasterPasswordConfirmation": {
"message": "Saad oma ülemparooli muuta bitwarden.com veebihoidlas. Soovid seda kohe teha?"
},
"twoStepLoginConfirmation": {
"message": "Kaheastmeline kinnitamine aitab konto turvalisust tõsta. Lisaks paroolile pead kontole ligipääsemiseks kinnitama sisselogimise päringu SMS-ga, telefonikõnega, autentimise rakendusega või e-postiga. Kaheastmelist kinnitust saab sisse lülitada bitwarden.com veebihoidlas. Soovid seda kohe avada?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Eemalda pääsuvõti"
},
"passkeyRemoved": {
"message": "Pääsuvõti on eemaldatud"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Pasahitz kudeatzailea",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bitwarden, zure gailu guztietarako pasahitzen kudeatzaile seguru eta doakoa da.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Saioa hasi edo sortu kontu berri bat zure kutxa gotorrera sartzeko."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Aldatu pasahitz nagusia"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Hatz-marka digitalaren esaldia",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Karpeta gehituta"
},
"changeMasterPass": {
"message": "Aldatu pasahitz nagusia"
},
"changeMasterPasswordConfirmation": {
"message": "Zure pasahitz nagusia alda dezakezu bitwarden.com webgunean. Orain joan nahi duzu webgunera?"
},
"twoStepLoginConfirmation": {
"message": "Bi urratseko saio hasiera dela eta, zure kontua seguruagoa da, beste aplikazio/gailu batekin saioa hastea eskatzen baitizu; adibidez, segurtasun-gako, autentifikazio-aplikazio, SMS, telefono dei edo email bidez. Bi urratseko saio hasiera bitwarden.com webgunean aktibatu daiteke. Orain joan nahi duzu webgunera?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - مدیریت کلمه عبور رایگان",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "یک مدیریت کننده کلمه عبور رایگان برای تمامی دستگاه‌هایتان.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "وارد شوید یا یک حساب کاربری بسازید تا به گاوصندوق امن‌تان دسترسی یابید."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "تغییر کلمه عبور اصلی"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "عبارت اثر انگشت",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "پوشه اضافه شد"
},
"changeMasterPass": {
"message": "تغییر کلمه عبور اصلی"
},
"changeMasterPasswordConfirmation": {
"message": "شما می‌توانید کلمه عبور اصلی خود را در bitwarden.com تغییر دهید. آیا می‌خواهید از سایت بازدید کنید؟"
},
"twoStepLoginConfirmation": {
"message": "ورود دو مرحله ای باعث می‌شود که حساب کاربری شما با استفاده از یک دستگاه دیگر مانند کلید امنیتی، برنامه احراز هویت، پیامک، تماس تلفنی و یا ایمیل، اعتبار خود را با ایمنی بیشتر اثبات کند. ورود دو مرحله ای می تواند در bitwarden.com فعال شود. آیا می‌خواهید از سایت بازدید کنید؟"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden Ilmainen salasanahallinta",
"message": "Bitwarden Salasanahallinta",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Turvallinen ja ilmainen salasanahallinta kaikille laitteillesi.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Käytä salattua holviasi kirjautumalla sisään tai luo uusi tili."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Vaihda pääsalasana"
},
"continueToWebApp": {
"message": "Avataanko verkkosovellus?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Voit vaihtaa pääsalasanasi Bitwardenin verkkosovelluksessa."
},
"fingerprintPhrase": {
"message": "Tunnistelauseke",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Kansio lisätty"
},
"changeMasterPass": {
"message": "Vaihda pääsalasana"
},
"changeMasterPasswordConfirmation": {
"message": "Voit vaihtaa pääsalasanasi bitwarden.com-verkkoholvissa. Haluatko käydä sivustolla nyt?"
},
"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.comverkkoholvissa. Haluatko avata sen nyt?"
},
@ -3000,16 +3000,36 @@
"message": "Virhe tallennettaessa käyttäjätietoja. Näet isätietoja hallinnasta.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Onnistui"
},
"removePasskey": {
"message": "Poista suojausavain"
},
"passkeyRemoved": {
"message": "Suojausavain poistettiin"
},
"unassignedItemsBanner": {
"message": "Huomautus: Organisaatioiden kokoelmiin määrittämättömät kohteet eivät enää näy laitteiden \"Kaikki holvit\" -näkymissä, vaan ne ovat nähtävissä vain Hallintapaneelista. Määritä kohteet kokoelmiin Hallintapaneelista, jotta ne ovat jatkossakin käytettävissä kaikilta laitteilta."
"unassignedItemsBannerNotice": {
"message": "Huomioi: Määrittämättömät organisaatiokohteet eivät enää näy \"Kaikki holvit\" -näkymässä, vaan ne ovat käytettävissä vain Hallintapaneelista."
},
"unassignedItemsBannerSelfHost": {
"message": "Huomautus: 2.5.2024 alkaen kokoelmiin määrittämättömät organisaatioiden kohteet eivät enää näy laitteiden \"Kaikki holvit\" -näkymissä, vaan ne ovat nähtävissä vain Hallintapaneelista. Määritä kohteet kokoelmiin Hallintapaneelista, jotta ne ovat jatkossakin käytettävissä kaikilta laitteilta."
"unassignedItemsBannerSelfHostNotice": {
"message": "Huomioi: Alkaen 16. toukokuuta 2024, määrittämättömät organisaatiokohteet eivät enää näy \"Kaikki holvit\" -näkymässä, vaan ne ovat käytettävissä vain Hallintapaneelista."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Määritä nämä kohteet kokoelmaan",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": ", jotta ne näkyvät.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Hallintapaneelista"
},
"errorAssigningTargetCollection": {
"message": "Virhe määritettäessä kohdekokoelmaa."
},
"errorAssigningTargetFolder": {
"message": "Virhe määritettäessä kohdekansiota."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Libreng Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Isang ligtas at libreng password manager para sa lahat ng iyong mga aparato.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Maglog-in o gumawa ng bagong account para ma-access ang iyong ligtas na kahadeyero."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Baguhin ang Master Password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Hulmabig ng Hilik ng Dako",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Idinagdag na folder"
},
"changeMasterPass": {
"message": "Palitan ang master password"
},
"changeMasterPasswordConfirmation": {
"message": "Maaari mong palitan ang iyong master password sa bitwarden.com web vault. Gusto mo bang bisitahin ang website ngayon?"
},
"twoStepLoginConfirmation": {
"message": "Ang two-step login ay nagpapagaan sa iyong account sa pamamagitan ng pag-verify sa iyong login sa isa pang device tulad ng security key, authenticator app, SMS, tawag sa telepono o email. Ang two-step login ay maaaring magawa sa bitwarden.com web vault. Gusto mo bang bisitahin ang website ngayon?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Gestion des mots de passe",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Un gestionnaire de mots de passe sécurisé et gratuit pour tous vos appareils.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Identifiez-vous ou créez un nouveau compte pour accéder à votre coffre sécurisé."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Changer le mot de passe principal"
},
"continueToWebApp": {
"message": "Poursuivre vers l'application web ?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Vous pouvez modifier votre mot de passe principal sur l'application web de Bitwarden."
},
"fingerprintPhrase": {
"message": "Phrase d'empreinte",
"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."
@ -525,13 +531,13 @@
"message": "Impossible de scanner le QR code à partir de la page web actuelle"
},
"totpCaptureSuccess": {
"message": "Clé de l'Authentificateur ajoutée"
"message": "Clé Authenticator ajoutée"
},
"totpCapture": {
"message": "Scanner le QR code de l'authentificateur à partir de la page web actuelle"
},
"copyTOTP": {
"message": "Copier la clé de l'Authentificateur (TOTP)"
"message": "Copier la clé Authenticator (TOTP)"
},
"loggedOut": {
"message": "Déconnecté"
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Dossier ajouté"
},
"changeMasterPass": {
"message": "Changer le mot de passe principal"
},
"changeMasterPasswordConfirmation": {
"message": "Vous pouvez changer votre mot de passe principal depuis le coffre web de bitwarden.com. Voulez-vous visiter le site web maintenant ?"
},
"twoStepLoginConfirmation": {
"message": "L'authentification à deux facteurs rend votre compte plus sûr en vous demandant de vérifier votre connexion avec un autre dispositif tel qu'une clé de sécurité, une application d'authentification, un SMS, un appel téléphonique ou un courriel. L'authentification à deux facteurs peut être configurée dans le coffre web de bitwarden.com. Voulez-vous visiter le site web maintenant ?"
},
@ -659,7 +659,7 @@
"message": "Liste les éléments des cartes de paiement sur la Page d'onglet pour faciliter la saisie automatique."
},
"showIdentitiesCurrentTab": {
"message": "Afficher les identités sur la page d'onglet"
"message": "Afficher les identités sur la Page d'onglet"
},
"showIdentitiesCurrentTabDesc": {
"message": "Liste les éléments d'identité sur la Page d'onglet pour faciliter la saisie automatique."
@ -802,7 +802,7 @@
"message": "En savoir plus"
},
"authenticatorKeyTotp": {
"message": "Clé de l'Authentificateur (TOTP)"
"message": "Clé Authenticator (TOTP)"
},
"verificationCodeTotp": {
"message": "Code de vérification (TOTP)"
@ -3000,16 +3000,36 @@
"message": "Erreur lors de l'enregistrement des identifiants. Consultez la console pour plus de détails.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Retirer la clé d'identification (passkey)"
},
"passkeyRemoved": {
"message": "Clé d'identification (passkey) retirée"
},
"unassignedItemsBanner": {
"message": "Notice : les éléments d'organisation non assignés ne sont plus visibles dans la vue Tous les coffres et sont uniquement accessibles via la console d'administration. Assignez ces éléments à une collection à partir de la console d'administration pour les rendre visibles."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Remarque : au 2 mai 2024, les éléments d'organisation non assignés ne sont plus visibles dans votre vue Tous les coffres sur tous les appareils et sont uniquement accessibles via la Console d'administration. Assignez ces éléments à une collection à partir de la Console d'administration pour les rendre visibles."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,39 +3,39 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
},
"createAccount": {
"message": "Create account"
"message": "Crea unha conta"
},
"login": {
"message": "Log in"
"message": "Iniciar sesión"
},
"enterpriseSingleSignOn": {
"message": "Enterprise single sign-on"
},
"cancel": {
"message": "Cancel"
"message": "Cancelar"
},
"close": {
"message": "Close"
"message": "Pechar"
},
"submit": {
"message": "Submit"
},
"emailAddress": {
"message": "Email address"
"message": "Enderezo de correo electrónico"
},
"masterPass": {
"message": "Master password"
"message": "Contrasinal mestre"
},
"masterPassDesc": {
"message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - מנהל סיסמאות חינמי",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "מנהל סיסמאות חינמי ומאובטח עבור כל המכשירים שלך.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "צור חשבון חדש או התחבר כדי לגשת לכספת המאובטחת שלך."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "החלף סיסמה ראשית"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "סיסמת טביעת אצבע",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "נוספה תיקייה"
},
"changeMasterPass": {
"message": "החלף סיסמה ראשית"
},
"changeMasterPasswordConfirmation": {
"message": "באפשרותך לשנות את הסיסמה הראשית שלך דרך הכספת באתר bitwarden.com. האם ברצונך לפתוח את האתר כעת?"
},
"twoStepLoginConfirmation": {
"message": "התחברות בשני-שלבים הופכת את החשבון שלך למאובטח יותר בכך שאתה נדרש לוודא בכל כניסה בעזרת מכשיר אחר כדוגמת מפתח אבטחה, תוכנת אימות, SMS, שיחת טלפון, או אימייל. ניתן להפעיל את \"התחברות בשני-שלבים\" בכספת שבאתר bitwarden.com. האם ברצונך לפתוח את האתר כעת?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "bitwarden"
},
"extName": {
"message": "Bitwarden",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "bitwarden is a secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "अपनी सुरक्षित तिजोरी में प्रवेश करने के लिए नया खाता बनाएं या लॉग इन करें।"
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change Master Password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint Phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "जोड़ा गया फ़ोल्डर"
},
"changeMasterPass": {
"message": "Change Master Password"
},
"changeMasterPasswordConfirmation": {
"message": "आप वेब वॉल्ट bitwarden.com पर अपना मास्टर पासवर्ड बदल सकते हैं।क्या आप अब वेबसाइट पर जाना चाहते हैं?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to enter a security code from an authenticator app whenever you log in. Two-step login can be enabled on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - besplatni upravitelj lozinki",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bitwarden je siguran i besplatan upravitelj lozinki za sve tvoje uređaje.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Prijavi se ili stvori novi račun za pristup svojem sigurnom trezoru."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Promjeni glavnu lozinku"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Jedinstvena fraza",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Mapa dodana"
},
"changeMasterPass": {
"message": "Promjeni glavnu lozinku"
},
"changeMasterPasswordConfirmation": {
"message": "Svoju glavnu lozinku možeš promijeniti na web trezoru. Želiš li sada posjetiti bitwarden.com?"
},
"twoStepLoginConfirmation": {
"message": "Prijava dvostrukom autentifikacijom čini tvoj račun još sigurnijim tako što će zahtijevati da potvrdiš prijavu putem drugog uređaja pomoću sigurnosnog koda, autentifikatorske aplikacije, SMS-om, pozivom ili e-poštom. Prijavu dvostrukom autentifikacijom možeš omogućiti na web trezoru. Želiš li sada posjetiti bitwarden.com?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Ingyenes jelszókezelő",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Egy biztonságos és ingyenes jelszókezelő az összes eszközre.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Bejelentkezés vagy új fiók létrehozása a biztonsági széf eléréséhez."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Mesterjelszó módosítása"
},
"continueToWebApp": {
"message": "Tovább a webes alkalmazáshoz?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "A mesterjelszó a Bitwarden webalkalmazásban módosítható."
},
"fingerprintPhrase": {
"message": "Ujjlenyomat kifejezés",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "A mappa hozzáadásra került."
},
"changeMasterPass": {
"message": "Mesterjelszó módosítása"
},
"changeMasterPasswordConfirmation": {
"message": "Mesterjelszavadat a bitwarden.com webes széfén tudod megváltoztatni. Szeretnéd meglátogatni a most a weboldalt?"
},
"twoStepLoginConfirmation": {
"message": "A kétlépcsős bejelentkezés biztonságosabbá teszi a fiókot azáltal, hogy ellenőrizni kell a bejelentkezést egy másik olyan eszközzel mint például biztonsági kulcs, hitelesítő alkalmazás, SMS, telefon hívás vagy email. A kétlépcsős bejelentkezést a bitwarden.com webes széfben lehet engedélyezni. Felkeressük a webhelyet most?"
},
@ -3000,16 +3000,36 @@
"message": "Hiba történt a hitelesítések mentésekor. A részletekért ellenőrizzük a konzolt.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Sikeres"
},
"removePasskey": {
"message": "Jelszó eltávolítása"
},
"passkeyRemoved": {
"message": "A jelszó eltávolításra került."
},
"unassignedItemsBanner": {
"message": "Megjegyzés: A nem hozzá nem rendelt szervezeti elemek már nem láthatók az Összes széf nézetben és csak az Adminisztrátori konzolon keresztül érhetők el. Rendeljük ezeket az elemeket egy gyűjteményhez az Adminisztrátor konzolból, hogy láthatóvá tegyük azokat."
"unassignedItemsBannerNotice": {
"message": "Megjegyzés: A nem hozzárendelt szervezeti elemek már nem láthatók az Összes széf nézetben a különböző eszközökön és csak az Adminisztrátori konzolon keresztül érhetők el."
},
"unassignedItemsBannerSelfHost": {
"message": "Figyelmeztetés: 2024. május 2-án a nem hozzá rendelt szervezeti elemek többé nem lesznek láthatók az Összes széf nézetben a különböző eszközökön és csak a Felügyeleti konzolon keresztül lesznek elérhetők. Rendeljük ezeket az elemeket egy gyűjteményhez az Adminisztrátori konzolból, hogy láthatóvá tegyük azokat."
"unassignedItemsBannerSelfHostNotice": {
"message": "Megjegyzés: 2024. május 16-tól a nem hozzárendelt szervezeti elemek többé nem lesznek láthatók az Összes széf nézetben a különböző eszközökön és csak az Adminisztrátori konzolon keresztül lesznek elérhetők."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Rendeljük hozzá ezeket az elemeket a gyűjteményhez",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "a láthatósághoz.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Adminisztrátori konzol"
},
"errorAssigningTargetCollection": {
"message": "Hiba történt a célgyűjtemény hozzárendelése során."
},
"errorAssigningTargetFolder": {
"message": "Hiba történt a célmappa hozzárendelése során."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Pengelola Sandi Gratis",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bitwarden adalah sebuah pengelola sandi yang aman dan gratis untuk semua perangkat Anda.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Masuk atau buat akun baru untuk mengakses brankas Anda."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Ubah Kata Sandi Utama"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Frasa Sidik Jari",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Tambah Folder"
},
"changeMasterPass": {
"message": "Ubah Kata Sandi Utama"
},
"changeMasterPasswordConfirmation": {
"message": "Anda dapat mengubah kata sandi utama Anda di brankas web bitwarden.com. Anda ingin mengunjungi situs web sekarang?"
},
"twoStepLoginConfirmation": {
"message": "Info masuk dua langkah membuat akun Anda lebih aman dengan mengharuskan Anda memverifikasi info masuk Anda dengan peranti lain seperti kode keamanan, aplikasi autentikasi, SMK, panggilan telepon, atau email. Info masuk dua langkah dapat diaktifkan di brankas web bitwarden.com. Anda ingin mengunjungi situs web sekarang?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Password Manager Gratis",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Un password manager sicuro e gratis per tutti i tuoi dispositivi.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Accedi o crea un nuovo account per accedere alla tua cassaforte."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Cambia password principale"
},
"continueToWebApp": {
"message": "Passa al sito web?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Puoi modificare la tua password principale sul sito web di Bitwarden."
},
"fingerprintPhrase": {
"message": "Frase impronta",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Cartella aggiunta"
},
"changeMasterPass": {
"message": "Cambia password principale"
},
"changeMasterPasswordConfirmation": {
"message": "Puoi cambiare la tua password principale sulla cassaforte online di bitwarden.com. Vuoi visitare ora il sito?"
},
"twoStepLoginConfirmation": {
"message": "La verifica in due passaggi rende il tuo account più sicuro richiedendoti di verificare il tuo login usando un altro dispositivo come una chiave di sicurezza, app di autenticazione, SMS, telefonata, o email. Può essere abilitata nella cassaforte web su bitwarden.com. Vuoi visitare il sito?"
},
@ -3000,16 +3000,36 @@
"message": "Errore durante il salvataggio delle credenziali. Controlla la console per più dettagli.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Successo"
},
"removePasskey": {
"message": "Rimuovi passkey"
},
"passkeyRemoved": {
"message": "Passkey rimossa"
},
"unassignedItemsBanner": {
"message": "Avviso: gli elementi dell'organizzazione non assegnati non sono più visibili nella visualizzazione Tutte le Cassaforti su tutti i dispositivi e sono ora accessibili solo tramite la Console di amministrazione. Assegna questi elementi ad una raccolta dalla Console di amministrazione per renderli visibili."
"unassignedItemsBannerNotice": {
"message": "Avviso: gli elementi dell'organizzazione non assegnati non sono più visibili nella visualizzazione Tutte le Cassaforti su tutti i dispositivi e sono ora accessibili solo tramite la Console di amministrazione."
},
"unassignedItemsBannerSelfHost": {
"message": "Avviso: dal 2 maggio 2024, gli elementi dell'organizzazione non assegnati non saranno più visibili nella visualizzazione Tutte le Cassaforti su tutti i dispositivi e saranno accessibili solo tramite la Console di amministrazione. Assegna questi elementi ad una raccolta dalla Console di amministrazione per renderli visibili."
"unassignedItemsBannerSelfHostNotice": {
"message": "Avviso: dal 16 maggio 2024, gli elementi dell'organizzazione non assegnati non saranno più visibili nella visualizzazione Tutte le Cassaforti su tutti i dispositivi e saranno accessibili solo tramite la Console di amministrazione."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assegna questi elementi ad una raccolta dalla",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "per renderli visibili.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Console di amministrazione"
},
"errorAssigningTargetCollection": {
"message": "Errore nell'assegnazione della raccolta di destinazione."
},
"errorAssigningTargetFolder": {
"message": "Errore nell'assegnazione della cartella di destinazione."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - 無料パスワードマネージャー",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bitwarden はあらゆる端末で使える、安全な無料パスワードマネージャーです。",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "安全なデータ保管庫へアクセスするためにログインまたはアカウントを作成してください。"
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "マスターパスワードの変更"
},
"continueToWebApp": {
"message": "ウェブアプリに進みますか?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Bitwarden ウェブアプリでマスターパスワードを変更できます。"
},
"fingerprintPhrase": {
"message": "パスフレーズ",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "フォルダを追加しました"
},
"changeMasterPass": {
"message": "マスターパスワードの変更"
},
"changeMasterPasswordConfirmation": {
"message": "マスターパスワードは bitwarden.com ウェブ保管庫で変更できます。ウェブサイトを開きますか?"
},
"twoStepLoginConfirmation": {
"message": "2段階認証を使うと、ログイン時にセキュリティキーや認証アプリ、SMS、電話やメールでの認証を必要にすることでアカウントをさらに安全に出来ます。2段階認証は bitwarden.com ウェブ保管庫で有効化できます。ウェブサイトを開きますか?"
},
@ -3000,16 +3000,36 @@
"message": "資格情報の保存中にエラーが発生しました。詳細はコンソールを確認してください。",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "成功"
},
"removePasskey": {
"message": "パスキーを削除"
},
"passkeyRemoved": {
"message": "パスキーを削除しました"
},
"unassignedItemsBanner": {
"message": "注意: 割り当てられていない組織項目は、すべての保管庫のビューでは表示されなくなり、管理コンソールからのみアクセスできます。 管理コンソールからコレクションにこれらのアイテムを割り当てると、表示するようにできます。"
"unassignedItemsBannerNotice": {
"message": "注意: 割り当てられていない組織アイテムは、すべての保管庫ビューでは表示されなくなり、管理コンソールからのみアクセスできるようになります。"
},
"unassignedItemsBannerSelfHost": {
"message": "お知らせ2024年5月2日に、 割り当てられていない組織アイテムはデバイス間のすべての保管庫ビューに表示されなくなり、管理コンソールからのみアクセス可能になります。 管理コンソールからコレクションにこれらのアイテムを割り当てると、表示できるようになります。"
"unassignedItemsBannerSelfHostNotice": {
"message": "お知らせ2024年5月16日に、 割り当てられていない組織アイテムは、すべての保管庫ビューに表示されなくなり、管理コンソールからのみアクセス可能になります。"
},
"unassignedItemsBannerCTAPartOne": {
"message": "これらのアイテムのコレクションへの割り当てを",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "で実行すると表示できるようになります。",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "管理コンソール"
},
"errorAssigningTargetCollection": {
"message": "ターゲットコレクションの割り当てに失敗しました。"
},
"errorAssigningTargetFolder": {
"message": "ターゲットフォルダーの割り当てに失敗しました。"
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "ಬಿಟ್ವಾರ್ಡೆನ್"
},
"extName": {
"message": "ಬಿಟ್‌ವಾರ್ಡೆನ್ - ಉಚಿತ ಪಾಸ್‌ವರ್ಡ್ ನಿರ್ವಾಹಕ",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "ನಿಮ್ಮ ಎಲ್ಲಾ ಸಾಧನಗಳಿಗೆ ಸುರಕ್ಷಿತ ಮತ್ತು ಉಚಿತ ಪಾಸ್‌ವರ್ಡ್ ನಿರ್ವಾಹಕ.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "ನಿಮ್ಮ ಸುರಕ್ಷಿತ ವಾಲ್ಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಲಾಗ್ ಇನ್ ಮಾಡಿ ಅಥವಾ ಹೊಸ ಖಾತೆಯನ್ನು ರಚಿಸಿ."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "ಮಾಸ್ಟರ್ ಪಾಸ್ವರ್ಡ್ ಬದಲಾಯಿಸಿ"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಫ್ರೇಸ್",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "ಫೋಲ್ಡರ್ ಸೇರಿಸಿ"
},
"changeMasterPass": {
"message": "ಮಾಸ್ಟರ್ ಪಾಸ್ವರ್ಡ್ ಬದಲಾಯಿಸಿ"
},
"changeMasterPasswordConfirmation": {
"message": "ನಿಮ್ಮ ಮಾಸ್ಟರ್ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನೀವು bitwarden.com ವೆಬ್ ವಾಲ್ಟ್‌ನಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು. ನೀವು ಈಗ ವೆಬ್‌ಸೈಟ್‌ಗೆ ಭೇಟಿ ನೀಡಲು ಬಯಸುವಿರಾ?"
},
"twoStepLoginConfirmation": {
"message": "ಭದ್ರತಾ ಕೀ, ದೃಢೀಕರಣ ಅಪ್ಲಿಕೇಶನ್, ಎಸ್‌ಎಂಎಸ್, ಫೋನ್ ಕರೆ ಅಥವಾ ಇಮೇಲ್‌ನಂತಹ ಮತ್ತೊಂದು ಸಾಧನದೊಂದಿಗೆ ನಿಮ್ಮ ಲಾಗಿನ್ ಅನ್ನು ಪರಿಶೀಲಿಸುವ ಅಗತ್ಯವಿರುವ ಎರಡು ಹಂತದ ಲಾಗಿನ್ ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಹೆಚ್ಚು ಸುರಕ್ಷಿತಗೊಳಿಸುತ್ತದೆ. ಬಿಟ್ವಾರ್ಡೆನ್.ಕಾಮ್ ವೆಬ್ ವಾಲ್ಟ್ನಲ್ಲಿ ಎರಡು-ಹಂತದ ಲಾಗಿನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು. ನೀವು ಈಗ ವೆಬ್‌ಸೈಟ್‌ಗೆ ಭೇಟಿ ನೀಡಲು ಬಯಸುವಿರಾ?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - 무료 비밀번호 관리자",
"message": "Bitwarden 비밀번호 관리자",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "당신의 모든 기기에서 사용할 수 있는, 안전한 무료 비밀번호 관리자입니다.",
"description": "Extension description"
"message": "집에서도, 직장에서도, 이동 중에도 Bitwarden은 비밀번호, 패스키, 민감 정보를 쉽게 보호합니다.",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "안전 보관함에 접근하려면 로그인하거나 새 계정을 만드세요."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "마스터 비밀번호 변경"
},
"continueToWebApp": {
"message": "웹 앱에서 계속하시겠용?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "지문 구절",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "폴더 추가함"
},
"changeMasterPass": {
"message": "마스터 비밀번호 변경"
},
"changeMasterPasswordConfirmation": {
"message": "bitwarden.com 웹 보관함에서 마스터 비밀번호를 바꿀 수 있습니다. 지금 웹 사이트를 방문하시겠습니까?"
},
"twoStepLoginConfirmation": {
"message": "2단계 인증은 보안 키, 인증 앱, SMS, 전화 통화 등의 다른 기기로 사용자의 로그인 시도를 검증하여 사용자의 계정을 더욱 안전하게 만듭니다. 2단계 인증은 bitwarden.com 웹 보관함에서 활성화할 수 있습니다. 지금 웹 사이트를 방문하시겠습니까?"
},
@ -688,10 +688,10 @@
"message": "Ask to update a login's password when a change is detected on a website. Applies to all logged in accounts."
},
"enableUsePasskeys": {
"message": "Ask to save and use passkeys"
"message": "패스키를 저장 및 사용할지 묻기"
},
"usePasskeysDesc": {
"message": "Ask to save new passkeys or log in with passkeys stored in your vault. Applies to all logged in accounts."
"message": "보관함에 새 패스키를 저장하거나 로그인할지 물어봅니다. 모든 로그인된 계정에 적용됩니다."
},
"notificationChangeDesc": {
"message": "Bitwarden에 저장되어 있는 비밀번호를 이 비밀번호로 변경하시겠습니까?"
@ -2786,55 +2786,55 @@
"message": "Confirm file password"
},
"typePasskey": {
"message": "Passkey"
"message": "패스키"
},
"passkeyNotCopied": {
"message": "Passkey will not be copied"
"message": "패스키가 복사되지 않습니다"
},
"passkeyNotCopiedAlert": {
"message": "The passkey will not be copied to the cloned item. Do you want to continue cloning this item?"
"message": "패스키는 복제된 아이템에 복사되지 않습니다. 계속 이 항목을 복제하시겠어요?"
},
"passkeyFeatureIsNotImplementedForAccountsWithoutMasterPassword": {
"message": "Verification required by the initiating site. This feature is not yet implemented for accounts without master password."
"message": "사이트에서 인증을 요구합니다. 이 기능은 비밀번호가 없는 계정에서는 아직 지원하지 않습니다."
},
"logInWithPasskey": {
"message": "Log in with passkey?"
"message": "패스키로 로그인하시겠어요?"
},
"passkeyAlreadyExists": {
"message": "A passkey already exists for this application."
"message": "이미 이 애플리케이션에 해당하는 패스키가 있습니다."
},
"noPasskeysFoundForThisApplication": {
"message": "No passkeys found for this application."
"message": "이 애플리케이션에 대한 패스키를 찾을 수 없습니다."
},
"noMatchingPasskeyLogin": {
"message": "You do not have a matching login for this site."
"message": "사이트와 일치하는 로그인이 없습니다."
},
"confirm": {
"message": "Confirm"
},
"savePasskey": {
"message": "Save passkey"
"message": "패스키 저장"
},
"savePasskeyNewLogin": {
"message": "Save passkey as new login"
"message": "새 로그인으로 패스키 저장"
},
"choosePasskey": {
"message": "Choose a login to save this passkey to"
"message": "패스키를 저장할 로그인 선택하기"
},
"passkeyItem": {
"message": "Passkey Item"
"message": "패스키 항목"
},
"overwritePasskey": {
"message": "Overwrite passkey?"
"message": "비밀번호를 덮어쓰시겠어요?"
},
"overwritePasskeyAlert": {
"message": "This item already contains a passkey. Are you sure you want to overwrite the current passkey?"
"message": "이 항목은 이미 패스키가 있습니다. 정말로 현재 패스키를 덮어쓰시겠어요?"
},
"featureNotSupported": {
"message": "Feature not yet supported"
},
"yourPasskeyIsLocked": {
"message": "Authentication required to use passkey. Verify your identity to continue."
"message": "패스키를 사용하려면 인증이 필요합니다. 인증을 진행해주세요."
},
"multifactorAuthenticationCancelled": {
"message": "Multifactor authentication cancelled"
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
"message": "패스키 제거"
},
"passkeyRemoved": {
"message": "Passkey removed"
"message": "패스키 제거됨"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Saugi ir nemokama slaptažodžių tvarkyklė visiems įrenginiams.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Prisijunkite arba sukurkite naują paskyrą, kad galėtumėte pasiekti saugyklą."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Keisti pagrindinį slaptažodį"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Pirštų atspaudų frazė",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Katalogas pridėtas"
},
"changeMasterPass": {
"message": "Keisti pagrindinį slaptažodį"
},
"changeMasterPasswordConfirmation": {
"message": "Pagrindinį slaptažodį galite pakeisti „bitwarden.com“ žiniatinklio saugykloje. Ar norite dabar apsilankyti svetainėje?"
},
"twoStepLoginConfirmation": {
"message": "Prisijungus dviem veiksmais, jūsų paskyra tampa saugesnė, reikalaujant patvirtinti prisijungimą naudojant kitą įrenginį, pvz., saugos raktą, autentifikavimo programėlę, SMS, telefono skambutį ar el. paštą. Dviejų žingsnių prisijungimą galima įjungti „bitwarden.com“ interneto saugykloje. Ar norite dabar apsilankyti svetainėje?"
},
@ -3000,16 +3000,36 @@
"message": "Klaida išsaugant kredencialus. Išsamesnės informacijos patikrink konsolėje.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Pašalinti slaptaraktį"
},
"passkeyRemoved": {
"message": "Pašalintas slaptaraktis"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Drošs bezmaksas paroļu pārvaldnieks visām Tavām ierīcēm.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Jāpiesakās vai jāizveido jauns konts, lai piekļūtu drošajai glabātavai."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Mainīt galveno paroli"
},
"continueToWebApp": {
"message": "Pāriet uz tīmekļa lietotni?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Savu galveno paroli var mainīt Bitwarden tīmekļa lietotnē."
},
"fingerprintPhrase": {
"message": "Atpazīšanas vārdkopa",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Pievienoja mapi"
},
"changeMasterPass": {
"message": "Mainīt galveno paroli"
},
"changeMasterPasswordConfirmation": {
"message": "Galveno paroli ir iespējams mainīt bitwarden.com tīmekļa glabātavā. Vai tagad apmeklēt tīmekļvietni?"
},
"twoStepLoginConfirmation": {
"message": "Divpakāpju pieteikšanās padara kontu krietni drošāku, pieprasot apstiprināt pieteikšanos ar tādu citu ierīču vai pakalpojumu starpniecību kā drošības atslēga, autentificētāja lietotne, īsziņa, tālruņa zvans vai e-pasts. Divpakāpju pieteikšanos var iespējot bitwarden.com tīmekļa glabātavā. Vai tagad apmeklēt tīmekļvietni?"
},
@ -3000,16 +3000,36 @@
"message": "Kļūda piekļuves informācijas saglabāšanā. Jāpārbauda, vai konsolē ir izvērstāka informācija.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Izdevās"
},
"removePasskey": {
"message": "Noņemt piekļuves atslēgu"
},
"passkeyRemoved": {
"message": "Piekļuves atslēga noņemta"
},
"unassignedItemsBanner": {
"message": "Jāņem vērā: nepiešķirti apvienības vienumi vairs nav redzami skatā \"Visas glabātavas\" un ir sasniedzami tikai no pārvaldības konsoles, kur šie vienumi jāpiešķir krājumam, lai padarītu tos redzamus."
"unassignedItemsBannerNotice": {
"message": "Jāņem vērā: nepiešķirti apvienības vienumi vairs nav redzami skatā \"Visas glabātavas\" un ir pieejami tikai pārvaldības konsolē."
},
"unassignedItemsBannerSelfHost": {
"message": "Jāņem vērā: 2024. gada 2. maijā nepiešķirti apvienības vienumi vairs nebūs redzami skatā \"Visas glabātavas\" un būs sasniedzami tikai no pārvaldības konsoles, kur šie vienumi jāpiešķir krājumam, lai padarītu tos redzamus."
"unassignedItemsBannerSelfHostNotice": {
"message": "Jāņem vērā: no 2024. gada 16. maija nepiešķirti apvienības vienumi vairs nebūs redzami skatā \"Visas glabātavas\" un būs pieejami tikai pārvaldības konsolē."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Piešķirt šos vienumus krājumam",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "lai padarītu tos redzamus.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "pārvaldības konsolē,"
},
"errorAssigningTargetCollection": {
"message": "Kļūda mērķa krājuma piešķiršanā."
},
"errorAssigningTargetFolder": {
"message": "Kļūda mērķa mapes piešķiršanā."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - സൗജന്യ പാസ്സ്‌വേഡ് മാനേജർ ",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "നിങ്ങളുടെ എല്ലാ ഉപകരണങ്ങൾക്കും സുരക്ഷിതവും സൗജന്യവുമായ പാസ്‌വേഡ് മാനേജർ.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "നിങ്ങളുടെ സുരക്ഷിത വാൾട്ടിലേക്കു പ്രവേശിക്കാൻ ലോഗിൻ ചെയ്യുക അല്ലെങ്കിൽ ഒരു പുതിയ അക്കൗണ്ട് സൃഷ്ടിക്കുക."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "പ്രാഥമിക പാസ്‌വേഡ് മാറ്റുക"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "ഫിംഗർപ്രിന്റ് ഫ്രേസ്‌",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "ചേർക്കപ്പെട്ട ഫോൾഡർ"
},
"changeMasterPass": {
"message": "പ്രാഥമിക പാസ്‌വേഡ് മാറ്റുക"
},
"changeMasterPasswordConfirmation": {
"message": "തങ്ങൾക്കു ബിറ്റ് വാർഡൻ വെബ് വാൾട്ടിൽ പ്രാഥമിക പാസ്‌വേഡ് മാറ്റാൻ സാധിക്കും.വെബ്സൈറ്റ് ഇപ്പോൾ സന്ദർശിക്കാൻ ആഗ്രഹിക്കുന്നുവോ?"
},
"twoStepLoginConfirmation": {
"message": "സുരക്ഷാ കീ, ഓതന്റിക്കേറ്റർ അപ്ലിക്കേഷൻ, SMS, ഫോൺ കോൾ അല്ലെങ്കിൽ ഇമെയിൽ പോലുള്ള മറ്റൊരു ഉപകരണം ഉപയോഗിച്ച് തങ്ങളുടെ ലോഗിൻ സ്ഥിരീകരിക്കാൻ ആവശ്യപ്പെടുന്നതിലൂടെ രണ്ട്-ഘട്ട ലോഗിൻ തങ്ങളുടെ അക്കൗണ്ടിനെ കൂടുതൽ സുരക്ഷിതമാക്കുന്നു. bitwarden.com വെബ് വാൾട്ടിൽ രണ്ട്-ഘട്ട ലോഗിൻ പ്രവർത്തനക്ഷമമാക്കാനാകും.തങ്ങള്ക്കു ഇപ്പോൾ വെബ്സൈറ്റ് സന്ദർശിക്കാൻ ആഗ്രഹമുണ്ടോ?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - विनामूल्य पासवर्ड व्यवस्थापक",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "तुमच्या सर्व उपकरणांसाठी एक सुरक्षित व विनामूल्य पासवर्ड व्यवस्थापक.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "तुमच्या सुरक्षित तिजोरीत पोहचण्यासाठी लॉग इन करा किंवा नवीन खाते उघडा."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "मुख्य पासवर्ड बदला"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "अंगुलिमुद्रा वाक्यांश",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden — Fri passordbehandling",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bitwarden er en sikker og fri passordbehandler for alle dine PCer og mobiler.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Logg på eller opprett en ny konto for å få tilgang til ditt sikre hvelv."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Endre hovedpassordet"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingeravtrykksfrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "La til en mappe"
},
"changeMasterPass": {
"message": "Endre hovedpassordet"
},
"changeMasterPasswordConfirmation": {
"message": "Du kan endre superpassordet ditt på bitwarden.net-netthvelvet. Vil du besøke det nettstedet nå?"
},
"twoStepLoginConfirmation": {
"message": "2-trinnsinnlogging gjør kontoen din mer sikker, ved å kreve at du verifiserer din innlogging med en annen enhet, f.eks. en autentiseringsapp, SMS, e-post, telefonsamtale, eller sikkerhetsnøkkel. 2-trinnsinnlogging kan aktiveres i netthvelvet ditt på bitwarden.com. Vil du besøke bitwarden.com nå?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Gratis wachtwoordbeheer",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Een veilige en gratis oplossing voor wachtwoordbeheer voor al je apparaten.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in of maak een nieuw account aan om toegang te krijgen tot je beveiligde kluis."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Hoofdwachtwoord wijzigen"
},
"continueToWebApp": {
"message": "Doorgaan naar web-app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Je kunt je hoofdwachtwoord wijzigen in de Bitwarden-webapp."
},
"fingerprintPhrase": {
"message": "Vingerafdrukzin",
"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."
@ -525,7 +531,7 @@
"message": "Kan de QR-code van de huidige webpagina niet scannen"
},
"totpCaptureSuccess": {
"message": "Authenticatie-sleutel toegevoegd"
"message": "Authenticatiesleutel toegevoegd"
},
"totpCapture": {
"message": "Scan de authenticatie-QR-code van de huidige webpagina"
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Map is toegevoegd"
},
"changeMasterPass": {
"message": "Hoofdwachtwoord wijzigen"
},
"changeMasterPasswordConfirmation": {
"message": "Je kunt je hoofdwachtwoord wijzigen in de kluis op bitwarden.com. Wil je de website nu bezoeken?"
},
"twoStepLoginConfirmation": {
"message": "Tweestapsaanmelding beschermt je account door je inlogpoging te bevestigen met een ander apparaat zoals een beveiligingscode, authenticatie-app, SMS, spraakoproep of e-mail. Je kunt Tweestapsaanmelding inschakelen in de webkluis op bitwarden.com. Wil je de website nu bezoeken?"
},
@ -1673,10 +1673,10 @@
"message": "Browserintegratie is niet ingeschakeld in de Bitwarden-desktopapplicatie. Schakel deze optie in de instellingen binnen de desktop-applicatie in."
},
"startDesktopTitle": {
"message": "Bitwarden-desktopapplicatie opstarten"
"message": "Bitwarden desktopapplicatie opstarten"
},
"startDesktopDesc": {
"message": "Je moet de Bitwarden-desktopapplicatie starten om deze functie te gebruiken."
"message": "Je moet de Bitwarden desktopapplicatie starten om deze functie te gebruiken."
},
"errorEnableBiometricTitle": {
"message": "Kon biometrie niet inschakelen"
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Succes"
},
"removePasskey": {
"message": "Passkey verwijderen"
},
"passkeyRemoved": {
"message": "Passkey verwijderd"
},
"unassignedItemsBanner": {
"message": "Let op: Niet-toegewezen organisatie-items zijn niet langer zichtbaar in de weergave van alle kluisjes en zijn alleen toegankelijk via de Admin Console. Om deze items zichtbaar te maken, moet je ze toewijzen aan een collectie via de Admin Console."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Kennisgeving: Vanaf 2 mei 2024 zijn niet-toegewezen organisatie-items op geen enkel apparaat meer zichtbaar in de weergave van alle kluisjes en alleen toegankelijk via de Admin Console. Je kunt deze items in het Admin Console aan een collectie toewijzen om ze zichtbaar te maken."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Fout bij toewijzen doelverzameling."
},
"errorAssigningTargetFolder": {
"message": "Fout bij toewijzen doelmap."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - darmowy menedżer haseł",
"message": "Menedżer Haseł Bitwarden",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bezpieczny i darmowy menedżer haseł dla wszystkich Twoich urządzeń.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Zaloguj się lub utwórz nowe konto, aby uzyskać dostęp do Twojego bezpiecznego sejfu."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Zmień hasło główne"
},
"continueToWebApp": {
"message": "Kontynuować do aplikacji internetowej?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Możesz zmienić swoje hasło główne w aplikacji internetowej Bitwarden."
},
"fingerprintPhrase": {
"message": "Unikalny identyfikator konta",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder został dodany"
},
"changeMasterPass": {
"message": "Zmień hasło główne"
},
"changeMasterPasswordConfirmation": {
"message": "Hasło główne możesz zmienić na stronie sejfu bitwarden.com. Czy chcesz przejść do tej strony?"
},
"twoStepLoginConfirmation": {
"message": "Logowanie dwustopniowe sprawia, że konto jest bardziej bezpieczne poprzez wymuszenie potwierdzenia logowania z innego urządzenia, takiego jak z klucza bezpieczeństwa, aplikacji uwierzytelniającej, wiadomości SMS, telefonu lub adresu e-mail. Logowanie dwustopniowe możesz włączyć w sejfie internetowym bitwarden.com. Czy chcesz przejść do tej strony?"
},
@ -2709,7 +2709,7 @@
"message": "Otwórz rozszerzenie w nowym oknie, aby dokończyć logowanie."
},
"popoutExtension": {
"message": "Popout extension"
"message": "Otwórz rozszerzenie w nowym oknie"
},
"launchDuo": {
"message": "Uruchom DUO"
@ -2822,7 +2822,7 @@
"message": "Wybierz dane logowania do których przypisać passkey"
},
"passkeyItem": {
"message": "Passkey Item"
"message": "Element Passkey"
},
"overwritePasskey": {
"message": "Zastąpić passkey?"
@ -3000,16 +3000,36 @@
"message": "Błąd podczas zapisywania danych logowania. Sprawdź konsolę, aby uzyskać szczegóły.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Sukces"
},
"removePasskey": {
"message": "Usuń passkey"
},
"passkeyRemoved": {
"message": "Passkey został usunięty"
},
"unassignedItemsBanner": {
"message": "Uwaga: Nieprzypisane elementy w organizacji nie są już widoczne w widoku Wszystkie sejfy i są dostępne tylko przez Konsolę Administracyjną. Przypisz te elementy do kolekcji z konsoli administracyjnej, aby były one widoczne."
"unassignedItemsBannerNotice": {
"message": "Uwaga: Nieprzypisane elementy organizacji nie są już widoczne w widoku Wszystkie sejfy i są teraz dostępne tylko przez Konsolę Administracyjną."
},
"unassignedItemsBannerSelfHost": {
"message": "Uwaga: 2 maja 2024 r. nieprzypisane elementy w organizacji nie będą już widoczne w widoku Wszystkie sejfy i będą dostępne tylko przez Konsolę Administracyjną. Przypisz te elementy do kolekcji z konsoli administracyjnej, aby były one widoczne."
"unassignedItemsBannerSelfHostNotice": {
"message": "Uwaga: 16 maja 2024 r. nieprzypisana elementy w organizacji nie będą już widoczne w widoku Wszystkie sejfy i będą dostępne tylko przez Konsolę Administracyjną."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Przypisz te elementy do kolekcji z",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": ", aby były widoczne.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Konsola Administracyjna"
},
"errorAssigningTargetCollection": {
"message": "Wystąpił błąd podczas przypisywania kolekcji."
},
"errorAssigningTargetFolder": {
"message": "Wystąpił błąd podczas przypisywania folderu."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden",
"message": "Bitwarden Gerenciador de Senhas",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Um gerenciador de senhas seguro e gratuito para todos os seus dispositivos.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Inicie a sessão ou crie uma nova conta para acessar seu cofre seguro."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Alterar Senha Mestra"
},
"continueToWebApp": {
"message": "Continuar no aplicativo web?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Você pode alterar a sua senha mestra no aplicativo web Bitwarden."
},
"fingerprintPhrase": {
"message": "Frase Biométrica",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -494,10 +500,10 @@
"message": "A sua nova conta foi criada! Agora você pode iniciar a sessão."
},
"youSuccessfullyLoggedIn": {
"message": "You successfully logged in"
"message": "Você logou na sua conta com sucesso"
},
"youMayCloseThisWindow": {
"message": "You may close this window"
"message": "Você pode fechar esta janela"
},
"masterPassSent": {
"message": "Enviamos um e-mail com a dica da sua senha mestra."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Pasta adicionada"
},
"changeMasterPass": {
"message": "Alterar Senha Mestra"
},
"changeMasterPasswordConfirmation": {
"message": "Você pode alterar a sua senha mestra no cofre web em bitwarden.com. Você deseja visitar o site agora?"
},
"twoStepLoginConfirmation": {
"message": "O login de duas etapas torna a sua conta mais segura ao exigir que digite um código de segurança de um aplicativo de autenticação quando for iniciar a sessão. O login de duas etapas pode ser ativado no cofre web bitwarden.com. Deseja visitar o site agora?"
},
@ -1500,7 +1500,7 @@
"message": "Código PIN inválido."
},
"tooManyInvalidPinEntryAttemptsLoggingOut": {
"message": "Too many invalid PIN entry attempts. Logging out."
"message": "Muitas tentativas de entrada de PIN inválidas. Desconectando."
},
"unlockWithBiometrics": {
"message": "Desbloquear com a biometria"
@ -2005,7 +2005,7 @@
"message": "Selecionar pasta..."
},
"noFoldersFound": {
"message": "No folders found",
"message": "Nenhuma pasta encontrada",
"description": "Used as a message within the notification bar when no folders are found"
},
"orgPermissionsUpdatedMustSetPassword": {
@ -2017,7 +2017,7 @@
"description": "Used as a card title description on the set password page to explain why the user is there"
},
"verificationRequired": {
"message": "Verification required",
"message": "Verificação necessária",
"description": "Default title for the user verification dialog."
},
"hours": {
@ -2652,40 +2652,40 @@
}
},
"tryAgain": {
"message": "Try again"
"message": "Tentar novamente"
},
"verificationRequiredForActionSetPinToContinue": {
"message": "Verification required for this action. Set a PIN to continue."
"message": "Verificação necessária para esta ação. Defina um PIN para continuar."
},
"setPin": {
"message": "Set PIN"
"message": "Definir PIN"
},
"verifyWithBiometrics": {
"message": "Verify with biometrics"
"message": "Verificiar com biometria"
},
"awaitingConfirmation": {
"message": "Awaiting confirmation"
"message": "Aguardando confirmação"
},
"couldNotCompleteBiometrics": {
"message": "Could not complete biometrics."
"message": "Não foi possível completar a biometria."
},
"needADifferentMethod": {
"message": "Need a different method?"
"message": "Precisa de um método diferente?"
},
"useMasterPassword": {
"message": "Use master password"
"message": "Usar a senha mestra"
},
"usePin": {
"message": "Use PIN"
"message": "Usar PIN"
},
"useBiometrics": {
"message": "Use biometrics"
"message": "Usar biometria"
},
"enterVerificationCodeSentToEmail": {
"message": "Enter the verification code that was sent to your email."
"message": "Digite o código de verificação que foi enviado para o seu e-mail."
},
"resendCode": {
"message": "Resend code"
"message": "Reenviar código"
},
"total": {
"message": "Total"
@ -2700,19 +2700,19 @@
}
},
"launchDuoAndFollowStepsToFinishLoggingIn": {
"message": "Launch Duo and follow the steps to finish logging in."
"message": "Inicie o Duo e siga os passos para finalizar o login."
},
"duoRequiredForAccount": {
"message": "Duo two-step login is required for your account."
"message": "A autenticação em duas etapas do Duo é necessária para sua conta."
},
"popoutTheExtensionToCompleteLogin": {
"message": "Popout the extension to complete login."
"message": "Abra a extensão para concluir o login."
},
"popoutExtension": {
"message": "Popout extension"
"message": "Extensão pop-out"
},
"launchDuo": {
"message": "Launch Duo"
"message": "Abrir o Duo"
},
"importFormatError": {
"message": "Os dados não estão formatados corretamente. Por favor, verifique o seu arquivo de importação e tente novamente."
@ -2846,13 +2846,13 @@
"message": "Nome de usuário ou senha incorretos"
},
"incorrectPassword": {
"message": "Incorrect password"
"message": "Senha incorreta"
},
"incorrectCode": {
"message": "Incorrect code"
"message": "Código incorreto"
},
"incorrectPin": {
"message": "Incorrect PIN"
"message": "PIN incorreto"
},
"multifactorAuthenticationFailed": {
"message": "Falha na autenticação de múltiplos fatores"
@ -2965,51 +2965,71 @@
"description": "Label indicating the most common import formats"
},
"overrideDefaultBrowserAutofillTitle": {
"message": "Make Bitwarden your default password manager?",
"message": "Tornar o Bitwarden seu gerenciador de senhas padrão?",
"description": "Dialog title facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutofillDescription": {
"message": "Ignoring this option may cause conflicts between the Bitwarden auto-fill menu and your browser's.",
"message": "Ignorar esta opção pode causar conflitos entre o menu de autopreenchimento do Bitwarden e o do seu navegador.",
"description": "Dialog message facilitating the ability to override a chrome browser's default autofill behavior"
},
"overrideDefaultBrowserAutoFillSettings": {
"message": "Make Bitwarden your default password manager",
"message": "Faça do Bitwarden seu gerenciador de senhas padrão",
"description": "Label for the setting that allows overriding the default browser autofill settings"
},
"privacyPermissionAdditionNotGrantedTitle": {
"message": "Unable to set Bitwarden as the default password manager",
"message": "Não é possível definir o Bitwarden como o gerenciador de senhas padrão",
"description": "Title for the dialog that appears when the user has not granted the extension permission to set privacy settings"
},
"privacyPermissionAdditionNotGrantedDescription": {
"message": "You must grant browser privacy permissions to Bitwarden to set it as the default password manager.",
"message": "Você deve conceder permissões de privacidade do navegador ao Bitwarden para defini-lo como o Gerenciador de Senhas padrão.",
"description": "Description for the dialog that appears when the user has not granted the extension permission to set privacy settings"
},
"makeDefault": {
"message": "Make default",
"message": "Tornar padrão",
"description": "Button text for the setting that allows overriding the default browser autofill settings"
},
"saveCipherAttemptSuccess": {
"message": "Credentials saved successfully!",
"message": "Credenciais salvas com sucesso!",
"description": "Notification message for when saving credentials has succeeded."
},
"updateCipherAttemptSuccess": {
"message": "Credentials updated successfully!",
"message": "Credenciais atualizadas com sucesso!",
"description": "Notification message for when updating credentials has succeeded."
},
"saveCipherAttemptFailed": {
"message": "Error saving credentials. Check console for details.",
"message": "Erro ao salvar credenciais. Verifique o console para detalhes.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Sucesso"
},
"removePasskey": {
"message": "Remove passkey"
"message": "Remover senha"
},
"passkeyRemoved": {
"message": "Passkey removed"
"message": "Chave de acesso removida"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Aviso: Itens da organização não atribuídos não estão mais visíveis na visualização Todos os Cofres e só são acessíveis por meio do painel de administração."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Aviso: Em 16 de maio, 2024, itens da organização não serão mais visíveis na visualização Todos os Cofres e só serão acessíveis por meio do painel de administração."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Atribua estes itens a uma coleção da",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "para torná-los visíveis.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Painel de administração"
},
"errorAssigningTargetCollection": {
"message": "Erro ao atribuir coleção de destino."
},
"errorAssigningTargetFolder": {
"message": "Erro ao atribuir pasta de destino."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Gestor de Palavras-passe",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Um gestor de palavras-passe seguro e gratuito para todos os seus dispositivos.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Inicie sessão ou crie uma nova conta para aceder ao seu cofre seguro."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Alterar palavra-passe mestra"
},
"continueToWebApp": {
"message": "Continuar para a aplicação Web?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Pode alterar a sua palavra-passe mestra na aplicação Web Bitwarden."
},
"fingerprintPhrase": {
"message": "Frase de impressão digital",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Pasta adicionada"
},
"changeMasterPass": {
"message": "Alterar palavra-passe mestra"
},
"changeMasterPasswordConfirmation": {
"message": "Pode alterar o seu endereço de e-mail no cofre do site bitwarden.com. Deseja visitar o site agora?"
},
"twoStepLoginConfirmation": {
"message": "A verificação de dois passos torna a sua conta mais segura, exigindo que verifique o seu início de sessão com outro dispositivo, como uma chave de segurança, aplicação de autenticação, SMS, chamada telefónica ou e-mail. A verificação de dois passos pode ser configurada em bitwarden.com. Pretende visitar o site agora?"
},
@ -3000,16 +3000,36 @@
"message": "Erro ao guardar as credenciais. Verifique a consola para obter detalhes.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Com sucesso"
},
"removePasskey": {
"message": "Remover chave de acesso"
},
"passkeyRemoved": {
"message": "Chave de acesso removida"
},
"unassignedItemsBanner": {
"message": "Aviso: Os itens da organização não atribuídos já não são visíveis na vista Todos os cofres e só são acessíveis através da consola de administração. Atribua estes itens a uma coleção a partir da Consola de administração para os tornar visíveis."
"unassignedItemsBannerNotice": {
"message": "Aviso: Os itens da organização não atribuídos já não são visíveis na vista Todos os cofres e só são acessíveis através da Consola de administração."
},
"unassignedItemsBannerSelfHost": {
"message": "Aviso: A 2 de maio de 2024, os itens da organização não atribuídos deixarão de ser visíveis na vista Todos os cofres e só estarão acessíveis através da Consola de administração. Atribua estes itens a uma coleção a partir da Consola de administração para os tornar visíveis."
"unassignedItemsBannerSelfHostNotice": {
"message": "Aviso: A 16 de maio de 2024, os itens da organização não atribuídos deixarão de estar visíveis na vista Todos os cofres e só estarão acessíveis através da consola de administração."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Atribua estes itens a uma coleção a partir da",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "para os tornar visíveis.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Consola de administração"
},
"errorAssigningTargetCollection": {
"message": "Erro ao atribuir a coleção de destino."
},
"errorAssigningTargetFolder": {
"message": "Erro ao atribuir a pasta de destino."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Manager de parole gratuit",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Un manager de parole sigur și gratuit pentru toate dispozitivele dvs.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Autentificați-vă sau creați un cont nou pentru a accesa seiful dvs. securizat."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Schimbare parolă principală"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fraza amprentă",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Dosar adăugat"
},
"changeMasterPass": {
"message": "Schimbare parolă principală"
},
"changeMasterPasswordConfirmation": {
"message": "Puteți modifica parola principală în seiful web bitwarden.com. Doriți să vizitați saitul acum?"
},
"twoStepLoginConfirmation": {
"message": "Autentificarea în două etape vă face contul mai sigur, prin solicitarea unei verificări de autentificare cu un alt dispozitiv, cum ar fi o cheie de securitate, o aplicație de autentificare, un SMS, un apel telefonic sau un e-mail. Autentificarea în două etape poate fi configurată în seiful web bitwarden.com. Doriți să vizitați site-ul web acum?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - бесплатный менеджер паролей",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Защищенный и бесплатный менеджер паролей для всех ваших устройств.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Войдите или создайте новый аккаунт для доступа к вашему защищенному хранилищу."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Изменить мастер-пароль"
},
"continueToWebApp": {
"message": "Перейти к веб-приложению?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Изменить мастер-пароль можно в веб-приложении Bitwarden."
},
"fingerprintPhrase": {
"message": "Фраза отпечатка",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Папка добавлена"
},
"changeMasterPass": {
"message": "Изменить мастер-пароль"
},
"changeMasterPasswordConfirmation": {
"message": "Вы можете изменить свой мастер-пароль на bitwarden.com. Перейти на сайт сейчас?"
},
"twoStepLoginConfirmation": {
"message": "Двухэтапная аутентификация делает аккаунт более защищенным, поскольку требуется подтверждение входа при помощи другого устройства, например, ключа безопасности, приложения-аутентификатора, SMS, телефонного звонка или электронной почты. Двухэтапная аутентификация включается на bitwarden.com. Перейти на сайт сейчас?"
},
@ -3000,16 +3000,36 @@
"message": "Ошибка сохранения учетных данных. Проверьте консоль для получения подробной информации.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Успешно"
},
"removePasskey": {
"message": "Удалить passkey"
},
"passkeyRemoved": {
"message": "Passkey удален"
},
"unassignedItemsBanner": {
"message": "Обратите внимание: неприсвоенные элементы организации больше не видны в представлении \"Все хранилища\" и доступны только через консоль администратора. Назначьте эти элементы коллекции в консоли администратора, чтобы сделать их видимыми."
"unassignedItemsBannerNotice": {
"message": "Уведомление: Неприсвоенные элементы организации больше не видны в представлении \"Все хранилища\" и доступны только через консоль администратора."
},
"unassignedItemsBannerSelfHost": {
"message": "Уведомление: 2 мая 2024 года неприсвоенные элементы организации больше не будут видны в представлении \"Все хранилища\" и будут доступны только через консоль администратора. Назначьте эти элементы коллекции в консоли администратора, чтобы сделать их видимыми."
"unassignedItemsBannerSelfHostNotice": {
"message": "Уведомление: с 16 мая 2024 года не назначенные элементы организации больше не будут видны в представлении \"Все хранилища\" и будут доступны только через консоль администратора."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Назначьте эти элементы в коллекцию из",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "чтобы сделать их видимыми.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "консоли администратора"
},
"errorAssigningTargetCollection": {
"message": "Ошибка при назначении целевой коллекции."
},
"errorAssigningTargetFolder": {
"message": "Ошибка при назначении целевой папки."
}
}

View File

@ -3,12 +3,12 @@
"message": "බිට්වාඩන්"
},
"extName": {
"message": "බිට්වාඩන් - නොමිලේ මුරපදය කළමනාකරු",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "ඔබගේ සියලු උපාංග සඳහා ආරක්ෂිත සහ නොමිලේ මුරපද කළමණාකරුවෙකු.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "ඔබගේ ආරක්ෂිත සුරක්ෂිතාගාරය වෙත පිවිසීමට හෝ නව ගිණුමක් නිර්මාණය කරන්න."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "ප්රධාන මුරපදය වෙනස්"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "ඇඟිලි සලකුණු වාක්ය ඛණ්ඩය",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "එකතු කරන ලද ෆෝල්ඩරය"
},
"changeMasterPass": {
"message": "ප්රධාන මුරපදය වෙනස්"
},
"changeMasterPasswordConfirmation": {
"message": "bitwarden.com වෙබ් සුරක්ෂිතාගාරයේ ඔබේ ප්රධාන මුරපදය වෙනස් කළ හැකිය. ඔබට දැන් වෙබ් අඩවියට පිවිසීමට අවශ්යද?"
},
"twoStepLoginConfirmation": {
"message": "ආරක්ෂක යතුරක්, සත්යාපන යෙදුම, කෙටි පණිවුඩ, දුරකථන ඇමතුමක් හෝ විද්යුත් තැපෑල වැනි වෙනත් උපාංගයක් සමඟ ඔබේ පිවිසුම සත්යාපනය කිරීමට ඔබට අවශ්ය වීමෙන් ද්වි-පියවර පිවිසුම ඔබගේ ගිණුම වඩාත් සුරක්ෂිත කරයි. බිට්වොන්.com වෙබ් සුරක්ෂිතාගාරයේ ද්වි-පියවර පිවිසුම සක්රීය කළ හැකිය. ඔබට දැන් වෙබ් අඩවියට පිවිසීමට අවශ්යද?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Bezplatný správca hesiel",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "bitwarden je bezpečný a bezplatný správca hesiel pre všetky vaše zariadenia.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Prihláste sa, alebo vytvorte nový účet pre prístup k vášmu bezpečnému trezoru."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Zmeniť hlavné heslo"
},
"continueToWebApp": {
"message": "Pokračovať vo webovej aplikácii?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Hlavné heslo si môžete zmeniť vo webovej aplikácii Bitwarden."
},
"fingerprintPhrase": {
"message": "Fráza odtlačku",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Pridaný priečinok"
},
"changeMasterPass": {
"message": "Zmeniť hlavné heslo"
},
"changeMasterPasswordConfirmation": {
"message": "Teraz si môžete zmeniť svoje hlavné heslo vo webovom trezore bitwarden.com. Chcete navštíviť túto stránku teraz?"
},
"twoStepLoginConfirmation": {
"message": "Dvojstupňové prihlasovanie robí váš účet bezpečnejším vďaka vyžadovaniu bezpečnostného kódu z overovacej aplikácie vždy, keď sa prihlásite. Dvojstupňové prihlasovanie môžete povoliť vo webovom trezore bitwarden.com. Chcete navštíviť túto stránku teraz?"
},
@ -1754,7 +1754,7 @@
}
},
"send": {
"message": "Odoslať",
"message": "Send",
"description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated."
},
"searchSends": {
@ -3000,16 +3000,36 @@
"message": "Chyba pri ukladaní prihlasovacích údajov. Viac informácii nájdete v konzole.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Úspech"
},
"removePasskey": {
"message": "Odstrániť prístupový kľúč"
},
"passkeyRemoved": {
"message": "Prístupový kľúč bol odstránený"
},
"unassignedItemsBanner": {
"message": "Upozornenie: Nepriradené položky organizácie už nie sú viditeľné v zobrazení Všetky Trezory a sú prístupné len cez administrátorskú konzolu. Aby boli viditeľné, priraďte tieto položky do kolekcie z konzoly administrátora."
"unassignedItemsBannerNotice": {
"message": "Upozornenie: Nepriradené položky organizácie už nie sú viditeľné v zobrazení Všetky trezory a sú prístupné iba cez Správcovskú konzolu."
},
"unassignedItemsBannerSelfHost": {
"message": "Upozornenie: 2. mája nepriradené položky organizácie už nebudú viditeľné v zobrazení Všetky Trezory a budú prístupné len cez administrátorskú konzolu. Aby boli viditeľné, priraďte tieto položky do kolekcie z konzoly administrátora."
"unassignedItemsBannerSelfHostNotice": {
"message": "Upozornenie: 16. mája 2024 nepriradené položky organizácie už nebudú viditeľné v zobrazení Všetky trezory a budú prístupné iba cez Správcovskú konzolu."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Priradiť tieto položky do zbierky zo",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": ", aby boli viditeľné.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Správcovská konzola"
},
"errorAssigningTargetCollection": {
"message": "Chyba pri priraďovaní cieľovej kolekcie."
},
"errorAssigningTargetFolder": {
"message": "Chyba pri priraďovaní cieľového priečinka."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Brezplačni upravitelj gesel",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Varen in brezplačen upravitelj gesel za vse vaše naprave.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Prijavite se ali ustvarite nov račun za dostop do svojega varnega trezorja."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Spremeni glavno geslo"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Identifikacijsko geslo",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Mapa dodana"
},
"changeMasterPass": {
"message": "Spremeni glavno geslo"
},
"changeMasterPasswordConfirmation": {
"message": "Svoje glavno geslo lahko spremenite v Bitwardnovem spletnem trezorju. Želite zdaj obiskati Bitwardnovo spletno stran?"
},
"twoStepLoginConfirmation": {
"message": "Avtentikacija v dveh korakih dodatno varuje vaš račun, saj zahteva, da vsakokratno prijavo potrdite z drugo napravo, kot je varnostni ključ, aplikacija za preverjanje pristnosti, SMS, telefonski klic ali e-pošta. Avtentikacijo v dveh korakih lahko omogočite v spletnem trezorju bitwarden.com. Ali želite spletno stran obiskati sedaj?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - бесплатни менаџер лозинки",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Сигурни и бесплатни менаџер лозинки за све ваше уређаје.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Пријавите се или креирајте нови налог за приступ сефу."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Промени главну лозинку"
},
"continueToWebApp": {
"message": "Ићи на веб апликацију?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Можете променити главну лозинку на Bitwarden веб апликацији."
},
"fingerprintPhrase": {
"message": "Сигурносна Фраза Сефа",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Фасцикла додата"
},
"changeMasterPass": {
"message": "Промени главну лозинку"
},
"changeMasterPasswordConfirmation": {
"message": "Можете променити главну лозинку у Вашем сефу на bitwarden.com. Да ли желите да посетите веб страницу сада?"
},
"twoStepLoginConfirmation": {
"message": "Пријава у два корака чини ваш налог сигурнијим захтевом да верификујете своје податке помоћу другог уређаја, као што су безбедносни кључ, апликација, СМС-а, телефонски позив или имејл. Пријављивање у два корака може се омогућити на веб сефу. Да ли желите да посетите веб страницу сада?"
},
@ -3000,16 +3000,36 @@
"message": "Грешка при чувању акредитива. Проверите конзолу за детаље.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Успех"
},
"removePasskey": {
"message": "Уклонити приступачни кључ"
},
"passkeyRemoved": {
"message": "Приступачни кључ је уклоњен"
},
"unassignedItemsBanner": {
"message": "Напомена: Недодељене ставке организације више нису видљиве у приказу Сви сефови и доступне су само преко Админ конзоле. Доделите ове ставке колекцији са Админ конзолом да бисте их учинили видљивим."
"unassignedItemsBannerNotice": {
"message": "Напомена: Недодељене ставке организације више нису видљиве у приказу Сви сефови и доступне су само преко Админ конзоле."
},
"unassignedItemsBannerSelfHost": {
"message": "Обавештење: 2. маја 2024. недодељене ставке организације више неће бити видљиве у приказу Сви сефови и биће доступне само преко Админ конзоле. Доделите ове ставке колекцији са Админ конзолом да бисте их учинили видљивим."
"unassignedItemsBannerSelfHostNotice": {
"message": "Напомена: од 16 Маја 2024м недодељене ставке организације више нису видљиве у приказу Сви сефови и доступне су само преко Админ конзоле."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Администраторска конзола"
},
"errorAssigningTargetCollection": {
"message": "Грешка при додељивању циљне колекције."
},
"errorAssigningTargetFolder": {
"message": "Грешка при додељивању циљне фасцикле."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Gratis lösenordshanterare",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bitwarden är en säker och gratis lösenordshanterare för alla dina enheter.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Logga in eller skapa ett nytt konto för att komma åt ditt säkra valv."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Ändra huvudlösenord"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingeravtrycksfras",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Lade till mapp"
},
"changeMasterPass": {
"message": "Ändra huvudlösenord"
},
"changeMasterPasswordConfirmation": {
"message": "Du kan ändra ditt huvudlösenord på bitwardens webbvalv. Vill du besöka webbplatsen nu?"
},
"twoStepLoginConfirmation": {
"message": "Tvåstegsverifiering gör ditt konto säkrare genom att kräva att du verifierar din inloggning med en annan enhet, t.ex. en säkerhetsnyckel, autentiseringsapp, SMS, telefonsamtal eller e-post. Tvåstegsverifiering kan aktiveras i Bitwardens webbvalv. Vill du besöka webbplatsen nu?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "A secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Log in or create a new account to access your secure vault."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change master password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Folder added"
},
"changeMasterPass": {
"message": "Change master password"
},
"changeMasterPasswordConfirmation": {
"message": "You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to verify your login with another device such as a security key, authenticator app, SMS, phone call, or email. Two-step login can be set up on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "bitwarden"
},
"extName": {
"message": "bitwarden - Free Password Manager",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "bitwarden is a secure and free password manager for all of your devices.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "ล็อกอิน หรือ สร้างบัญชีใหม่ เพื่อใช้งานตู้นิรภัยของคุณ"
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Change Master Password"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Fingerprint Phrase",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "เพิ่มโฟลเดอร์แล้ว"
},
"changeMasterPass": {
"message": "Change Master Password"
},
"changeMasterPasswordConfirmation": {
"message": "คุณสามารถเปลี่ยนรหัสผ่านหลักได้ที่เว็บตู้เซฟ bitwarden.com คุณต้องการเปิดเว็บไซต์เลยหรือไม่?"
},
"twoStepLoginConfirmation": {
"message": "Two-step login makes your account more secure by requiring you to enter a security code from an authenticator app whenever you log in. Two-step login can be enabled on the bitwarden.com web vault. Do you want to visit the website now?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Ücretsiz Parola Yöneticisi",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Tüm cihazlarınız için güvenli ve ücretsiz bir parola yöneticisi.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Güvenli kasanıza ulaşmak için giriş yapın veya yeni bir hesap oluşturun."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Ana parolayı değiştir"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "Parmak izi ifadesi",
"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."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Klasör eklendi"
},
"changeMasterPass": {
"message": "Ana parolayı değiştir"
},
"changeMasterPasswordConfirmation": {
"message": "Ana parolanızı bitwarden.com web kasası üzerinden değiştirebilirsiniz. Siteye gitmek ister misiniz?"
},
"twoStepLoginConfirmation": {
"message": "İki aşamalı giriş, hesabınıza girererken işlemi bir güvenlik anahtarı, şifrematik uygulaması, SMS, telefon araması veya e-posta gibi ek bir yöntemle doğrulamanızı isteyerek hesabınızın güvenliğini artırır. İki aşamalı giriş özelliğini bitwarden.com web kasası üzerinden etkinleştirebilirsiniz. Şimdi siteye gitmek ister misiniz?"
},
@ -3000,16 +3000,36 @@
"message": "Kimlik bilgileri kaydedilirken hata oluştu. Ayrıntılar için konsolu kontrol edin.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bitwarden - це захищений і безкоштовний менеджер паролів для всіх ваших пристроїв.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Для доступу до сховища увійдіть в обліковий запис, або створіть новий."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Змінити головний пароль"
},
"continueToWebApp": {
"message": "Продовжити у вебпрограмі?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "Ви можете змінити головний пароль у вебпрограмі Bitwarden."
},
"fingerprintPhrase": {
"message": "Фраза відбитка",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Теку додано"
},
"changeMasterPass": {
"message": "Змінити головний пароль"
},
"changeMasterPasswordConfirmation": {
"message": "Ви можете змінити головний пароль в сховищі на bitwarden.com. Хочете перейти на вебсайт зараз?"
},
"twoStepLoginConfirmation": {
"message": "Двоетапна перевірка дає змогу надійніше захистити ваш обліковий запис, вимагаючи підтвердження входу з використанням іншого пристрою, наприклад, за допомогою ключа безпеки, програми автентифікації, SMS, телефонного виклику, або е-пошти. Ви можете налаштувати двоетапну перевірку в сховищі на bitwarden.com. Хочете перейти на вебсайт зараз?"
},
@ -3000,16 +3000,36 @@
"message": "Помилка збереження облікових даних. Перегляньте подробиці в консолі.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Успішно"
},
"removePasskey": {
"message": "Вилучити ключ доступу"
},
"passkeyRemoved": {
"message": "Ключ доступу вилучено"
},
"unassignedItemsBanner": {
"message": "Увага: непризначені елементи організації більше не видимі у поданні \"Усі сховища\" і доступні лише в консолі адміністратора. Щоб зробити їх видимими, призначте ці елементи збірці в консолі адміністратора."
"unassignedItemsBannerNotice": {
"message": "Примітка: непризначені елементи організації більше не видимі у поданні \"Усі сховища\" і доступні лише в консолі адміністратора."
},
"unassignedItemsBannerSelfHost": {
"message": "Сповіщення: 2 травня 2024 року, непризначені елементи організації більше не будуть видимі в поданні \"Усі сховища\", і будуть доступні лише через консоль адміністратора. Щоб зробити їх видимими, призначте ці елементи збірці в консолі адміністратора."
"unassignedItemsBannerSelfHostNotice": {
"message": "Примітка: 16 травня 2024 року непризначені елементи організації більше не будуть видимі у поданні \"Усі сховища\" і будуть доступні лише через консоль адміністратора."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Призначте ці елементи збірці в",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "щоб зробити їх видимими.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "консолі адміністратора,"
},
"errorAssigningTargetCollection": {
"message": "Помилка призначення цільової збірки."
},
"errorAssigningTargetFolder": {
"message": "Помилка призначення цільової теки."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - Quản lý mật khẩu miễn phí",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Trình quản lý mật khẩu an toàn và miễn phí cho mọi thiết bị của bạn.",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "Đăng nhập hoặc tạo tài khoản mới để truy cập kho lưu trữ của bạn."
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "Thay đổi mật khẩu chính"
},
"continueToWebApp": {
"message": "Tiếp tục tới ứng dụng web?"
},
"changeMasterPasswordOnWebConfirmation": {
"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",
"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."
@ -415,7 +421,7 @@
"message": "Khóa ngay"
},
"lockAll": {
"message": "Lock all"
"message": "Khóa tất cả"
},
"immediately": {
"message": "Ngay lập tức"
@ -494,10 +500,10 @@
"message": "Tài khoản mới của bạn đã được tạo! Bạn có thể đăng nhập từ bây giờ."
},
"youSuccessfullyLoggedIn": {
"message": "You successfully logged in"
"message": "Bạn đã đăng nhập thành công"
},
"youMayCloseThisWindow": {
"message": "You may close this window"
"message": "Bạn có thể đóng cửa sổ này"
},
"masterPassSent": {
"message": "Chúng tôi đã gửi cho bạn email có chứa gợi ý mật khẩu chính của bạn."
@ -522,16 +528,16 @@
"message": "Không thể tự động điền mục đã chọn trên trang này. Hãy thực hiện sao chép và dán thông tin một cách thủ công."
},
"totpCaptureError": {
"message": "Unable to scan QR code from the current webpage"
"message": "Không thể quét mã QR từ trang web hiện tại"
},
"totpCaptureSuccess": {
"message": "Authenticator key added"
"message": "Đã thêm khóa xác thực"
},
"totpCapture": {
"message": "Scan authenticator QR code from current webpage"
"message": "Quét mã QR xác thực từ trang web hiện tại"
},
"copyTOTP": {
"message": "Copy Authenticator key (TOTP)"
"message": "Sao chép khóa Authenticator (TOTP)"
},
"loggedOut": {
"message": "Đã đăng xuất"
@ -557,12 +563,6 @@
"addedFolder": {
"message": "Đã thêm thư mục"
},
"changeMasterPass": {
"message": "Thay đổi mật khẩu chính"
},
"changeMasterPasswordConfirmation": {
"message": "Bạn có thể thay đổi mật khẩu chính trong trang web kho lưu trữ của Bitwarden. Bạn có muốn truy cập trang web ngay bây giờ không?"
},
"twoStepLoginConfirmation": {
"message": "Xác thực hai lớp giúp cho tài khoản của bạn an toàn hơn bằng cách yêu cầu bạn xác minh thông tin đăng nhập của bạn bằng một thiết bị khác như khóa bảo mật, ứng dụng xác thực, SMS, cuộc gọi điện thoại hoặc email. Bạn có thể bật xác thực hai lớp trong kho bitwarden nền web. Bạn có muốn ghé thăm trang web bây giờ?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Lưu ý: Các mục tổ chức chưa được chỉ định sẽ không còn hiển thị trong chế độ xem Tất cả Vault và chỉ có thể truy cập được qua Bảng điều khiển dành cho quản trị viên."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Lưu ý: Vào ngày 16 tháng 5 năm 2024, các mục tổ chức chưa được chỉ định sẽ không còn hiển thị trong chế độ xem Tất cả Vault và sẽ chỉ có thể truy cập được qua Bảng điều khiển dành cho quản trị viên."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Gán các mục này vào một bộ sưu tập từ",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "để làm cho chúng hiển thị.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Bảng điều khiển dành cho quản trị viên"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - 免费密码管理器",
"message": "Bitwarden 密码管理器",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "安全且免费的跨平台密码管理器。",
"description": "Extension description"
"message": "无论是在家里、工作中还是在外出时Bitwarden 都可以轻松地保护您的所有密码、通行密钥和敏感信息。",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "登录或者创建一个账户来访问您的安全密码库。"
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "更改主密码"
},
"continueToWebApp": {
"message": "前往网页 App 吗?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "您可以在 Bitwarden 网页应用上更改您的主密码。"
},
"fingerprintPhrase": {
"message": "指纹短语",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "文件夹已添加"
},
"changeMasterPass": {
"message": "修改主密码"
},
"changeMasterPasswordConfirmation": {
"message": "您可以在 bitwarden.com 网页版密码库修改主密码。您现在要访问这个网站吗?"
},
"twoStepLoginConfirmation": {
"message": "两步登录要求您从其他设备(例如安全钥匙、验证器 App、短信、电话或者电子邮件来验证您的登录这能使您的账户更加安全。两步登录需要在 bitwarden.com 网页版密码库中设置。现在访问此网站吗?"
},
@ -3000,16 +3000,36 @@
"message": "保存凭据时出错。检查控制台以获取详细信息。",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "成功"
},
"removePasskey": {
"message": "移除通行密钥"
},
"passkeyRemoved": {
"message": "通行密钥已移除"
},
"unassignedItemsBanner": {
"message": "注意:未分配的组织项目在「所有密码库」视图中不再可见,只能通过管理控制台访问。通过管理控制台将这些项目分配给集合以使其可见。"
"unassignedItemsBannerNotice": {
"message": "注意:未分配的组织项目在「所有密码库」视图中不再可见,只能通过管理控制台访问。"
},
"unassignedItemsBannerSelfHost": {
"message": "注意:从 2024 年 5 月 2 日起,未分配的组织项目在「所有密码库」视图中将不再可见,只能通过管理控制台访问。通过管理控制台将这些项目分配给集合以使其可见。"
"unassignedItemsBannerSelfHostNotice": {
"message": "注意:从 2024 年 5 月 16 日起,未分配的组织项目在「所有密码库」视图中将不再可见,只能通过管理控制台访问。"
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "以使其可见。",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "管理控制台"
},
"errorAssigningTargetCollection": {
"message": "分配目标集合时出错。"
},
"errorAssigningTargetFolder": {
"message": "分配目标文件夹时出错。"
}
}

View File

@ -3,12 +3,12 @@
"message": "Bitwarden"
},
"extName": {
"message": "Bitwarden - 免費密碼管理工具",
"message": "Bitwarden Password Manager",
"description": "Extension name, MUST be less than 40 characters (Safari restriction)"
},
"extDesc": {
"message": "Bitwarden 是一款安全、免費、跨平台的密碼管理工具。",
"description": "Extension description"
"message": "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information",
"description": "Extension description, MUST be less than 112 characters (Safari restriction)"
},
"loginOrCreateNewAccount": {
"message": "登入或建立帳戶以存取您的安全密碼庫。"
@ -172,6 +172,12 @@
"changeMasterPassword": {
"message": "變更主密碼"
},
"continueToWebApp": {
"message": "Continue to web app?"
},
"changeMasterPasswordOnWebConfirmation": {
"message": "You can change your master password on the Bitwarden web app."
},
"fingerprintPhrase": {
"message": "指紋短語",
"description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing."
@ -557,12 +563,6 @@
"addedFolder": {
"message": "資料夾已新增"
},
"changeMasterPass": {
"message": "變更主密碼"
},
"changeMasterPasswordConfirmation": {
"message": "您可以在 bitwarden.com 網頁版密碼庫變更主密碼。現在要前往嗎?"
},
"twoStepLoginConfirmation": {
"message": "兩步驟登入需要您從其他裝置例如安全鑰匙、驗證器程式、SMS、手機或電子郵件來驗證您的登入這使您的帳戶更加安全。兩步驟登入可以在 bitwarden.com 網頁版密碼庫啟用。現在要前往嗎?"
},
@ -3000,16 +3000,36 @@
"message": "Error saving credentials. Check console for details.",
"description": "Notification message for when saving credentials has failed."
},
"success": {
"message": "Success"
},
"removePasskey": {
"message": "Remove passkey"
},
"passkeyRemoved": {
"message": "Passkey removed"
},
"unassignedItemsBanner": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerNotice": {
"message": "Notice: Unassigned organization items are no longer visible in the All Vaults view and only accessible via the Admin Console."
},
"unassignedItemsBannerSelfHost": {
"message": "Notice: On May 2, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console. Assign these items to a collection from the Admin Console to make them visible."
"unassignedItemsBannerSelfHostNotice": {
"message": "Notice: On May 16, 2024, unassigned organization items will no longer be visible in the All Vaults view and will only be accessible via the Admin Console."
},
"unassignedItemsBannerCTAPartOne": {
"message": "Assign these items to a collection from the",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"unassignedItemsBannerCTAPartTwo": {
"message": "to make them visible.",
"description": "This will be part of a larger sentence, which will read like so: Assign these items to a collection from the Admin Console to make them visible."
},
"adminConsole": {
"message": "Admin Console"
},
"errorAssigningTargetCollection": {
"message": "Error assigning target collection."
},
"errorAssigningTargetFolder": {
"message": "Error assigning target folder."
}
}

View File

@ -1,5 +1,5 @@
import { DeviceTrustCryptoServiceAbstraction } from "@bitwarden/common/auth/abstractions/device-trust-crypto.service.abstraction";
import { DeviceTrustCryptoService } from "@bitwarden/common/auth/services/device-trust-crypto.service.implementation";
import { DeviceTrustServiceAbstraction } from "@bitwarden/common/auth/abstractions/device-trust.service.abstraction";
import { DeviceTrustService } from "@bitwarden/common/auth/services/device-trust.service.implementation";
import {
DevicesApiServiceInitOptions,
@ -52,9 +52,9 @@ import {
userDecryptionOptionsServiceFactory,
} from "./user-decryption-options-service.factory";
type DeviceTrustCryptoServiceFactoryOptions = FactoryOptions;
type DeviceTrustServiceFactoryOptions = FactoryOptions;
export type DeviceTrustCryptoServiceInitOptions = DeviceTrustCryptoServiceFactoryOptions &
export type DeviceTrustServiceInitOptions = DeviceTrustServiceFactoryOptions &
KeyGenerationServiceInitOptions &
CryptoFunctionServiceInitOptions &
CryptoServiceInitOptions &
@ -67,16 +67,16 @@ export type DeviceTrustCryptoServiceInitOptions = DeviceTrustCryptoServiceFactor
SecureStorageServiceInitOptions &
UserDecryptionOptionsServiceInitOptions;
export function deviceTrustCryptoServiceFactory(
cache: { deviceTrustCryptoService?: DeviceTrustCryptoServiceAbstraction } & CachedServices,
opts: DeviceTrustCryptoServiceInitOptions,
): Promise<DeviceTrustCryptoServiceAbstraction> {
export function deviceTrustServiceFactory(
cache: { deviceTrustService?: DeviceTrustServiceAbstraction } & CachedServices,
opts: DeviceTrustServiceInitOptions,
): Promise<DeviceTrustServiceAbstraction> {
return factory(
cache,
"deviceTrustCryptoService",
"deviceTrustService",
opts,
async () =>
new DeviceTrustCryptoService(
new DeviceTrustService(
await keyGenerationServiceFactory(cache, opts),
await cryptoFunctionServiceFactory(cache, opts),
await cryptoServiceFactory(cache, opts),

View File

@ -65,9 +65,9 @@ import {
AuthRequestServiceInitOptions,
} from "./auth-request-service.factory";
import {
deviceTrustCryptoServiceFactory,
DeviceTrustCryptoServiceInitOptions,
} from "./device-trust-crypto-service.factory";
deviceTrustServiceFactory,
DeviceTrustServiceInitOptions,
} from "./device-trust-service.factory";
import {
keyConnectorServiceFactory,
KeyConnectorServiceInitOptions,
@ -102,7 +102,7 @@ export type LoginStrategyServiceInitOptions = LoginStrategyServiceFactoryOptions
EncryptServiceInitOptions &
PolicyServiceInitOptions &
PasswordStrengthServiceInitOptions &
DeviceTrustCryptoServiceInitOptions &
DeviceTrustServiceInitOptions &
AuthRequestServiceInitOptions &
UserDecryptionOptionsServiceInitOptions &
GlobalStateProviderInitOptions &
@ -135,7 +135,7 @@ export function loginStrategyServiceFactory(
await encryptServiceFactory(cache, opts),
await passwordStrengthServiceFactory(cache, opts),
await policyServiceFactory(cache, opts),
await deviceTrustCryptoServiceFactory(cache, opts),
await deviceTrustServiceFactory(cache, opts),
await authRequestServiceFactory(cache, opts),
await internalUserDecryptionOptionServiceFactory(cache, opts),
await globalStateProviderFactory(cache, opts),

View File

@ -11,7 +11,7 @@ import { PolicyApiServiceAbstraction } from "@bitwarden/common/admin-console/abs
import { InternalPolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { DeviceTrustCryptoServiceAbstraction } from "@bitwarden/common/auth/abstractions/device-trust-crypto.service.abstraction";
import { DeviceTrustServiceAbstraction } from "@bitwarden/common/auth/abstractions/device-trust.service.abstraction";
import { InternalMasterPasswordServiceAbstraction } from "@bitwarden/common/auth/abstractions/master-password.service.abstraction";
import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction";
import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status";
@ -60,7 +60,7 @@ export class LockComponent extends BaseLockComponent {
passwordStrengthService: PasswordStrengthServiceAbstraction,
private authService: AuthService,
dialogService: DialogService,
deviceTrustCryptoService: DeviceTrustCryptoServiceAbstraction,
deviceTrustService: DeviceTrustServiceAbstraction,
userVerificationService: UserVerificationService,
pinCryptoService: PinCryptoServiceAbstraction,
private routerService: BrowserRouterService,
@ -85,7 +85,7 @@ export class LockComponent extends BaseLockComponent {
policyService,
passwordStrengthService,
dialogService,
deviceTrustCryptoService,
deviceTrustService,
userVerificationService,
pinCryptoService,
biometricStateService,

View File

@ -12,7 +12,7 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { AnonymousHubService } from "@bitwarden/common/auth/abstractions/anonymous-hub.service";
import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service";
import { DeviceTrustCryptoServiceAbstraction } from "@bitwarden/common/auth/abstractions/device-trust-crypto.service.abstraction";
import { DeviceTrustServiceAbstraction } from "@bitwarden/common/auth/abstractions/device-trust.service.abstraction";
import { AppIdService } from "@bitwarden/common/platform/abstractions/app-id.service";
import { CryptoFunctionService } from "@bitwarden/common/platform/abstractions/crypto-function.service";
import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service";
@ -47,7 +47,7 @@ export class LoginViaAuthRequestComponent extends BaseLoginWithDeviceComponent {
stateService: StateService,
loginEmailService: LoginEmailServiceAbstraction,
syncService: SyncService,
deviceTrustCryptoService: DeviceTrustCryptoServiceAbstraction,
deviceTrustService: DeviceTrustServiceAbstraction,
authRequestService: AuthRequestServiceAbstraction,
loginStrategyService: LoginStrategyServiceAbstraction,
accountService: AccountService,
@ -69,7 +69,7 @@ export class LoginViaAuthRequestComponent extends BaseLoginWithDeviceComponent {
validationService,
stateService,
loginEmailService,
deviceTrustCryptoService,
deviceTrustService,
authRequestService,
loginStrategyService,
accountService,

View File

@ -720,7 +720,7 @@ describe("NotificationBackground", () => {
);
tabSendMessageSpy = jest.spyOn(BrowserApi, "tabSendMessage").mockImplementation();
editItemSpy = jest.spyOn(notificationBackground as any, "editItem");
setAddEditCipherInfoSpy = jest.spyOn(stateService, "setAddEditCipherInfo");
setAddEditCipherInfoSpy = jest.spyOn(cipherService, "setAddEditCipherInfo");
openAddEditVaultItemPopoutSpy = jest.spyOn(
notificationBackground as any,
"openAddEditVaultItemPopout",

View File

@ -600,14 +600,14 @@ export default class NotificationBackground {
}
/**
* Sets the add/edit cipher info in the state service
* Sets the add/edit cipher info in the cipher service
* and opens the add/edit vault item popout.
*
* @param cipherView - The cipher to edit
* @param senderTab - The tab that the message was sent from
*/
private async editItem(cipherView: CipherView, senderTab: chrome.tabs.Tab) {
await this.stateService.setAddEditCipherInfo({
await this.cipherService.setAddEditCipherInfo({
cipher: cipherView,
collectionIds: cipherView.collectionIds,
});

View File

@ -592,7 +592,7 @@ describe("OverlayBackground", () => {
beforeEach(() => {
sender = mock<chrome.runtime.MessageSender>({ tab: { id: 1 } });
jest
.spyOn(overlayBackground["stateService"], "setAddEditCipherInfo")
.spyOn(overlayBackground["cipherService"], "setAddEditCipherInfo")
.mockImplementation();
jest.spyOn(overlayBackground as any, "openAddEditVaultItemPopout").mockImplementation();
});
@ -600,7 +600,7 @@ describe("OverlayBackground", () => {
it("will not open the add edit popout window if the message does not have a login cipher provided", () => {
sendExtensionRuntimeMessage({ command: "autofillOverlayAddNewVaultItem" }, sender);
expect(overlayBackground["stateService"].setAddEditCipherInfo).not.toHaveBeenCalled();
expect(overlayBackground["cipherService"].setAddEditCipherInfo).not.toHaveBeenCalled();
expect(overlayBackground["openAddEditVaultItemPopout"]).not.toHaveBeenCalled();
});
@ -621,7 +621,7 @@ describe("OverlayBackground", () => {
);
await flushPromises();
expect(overlayBackground["stateService"].setAddEditCipherInfo).toHaveBeenCalled();
expect(overlayBackground["cipherService"].setAddEditCipherInfo).toHaveBeenCalled();
expect(BrowserApi.sendMessage).toHaveBeenCalledWith(
"inlineAutofillMenuRefreshAddEditCipher",
);

View File

@ -636,7 +636,7 @@ class OverlayBackground implements OverlayBackgroundInterface {
cipherView.type = CipherType.Login;
cipherView.login = loginView;
await this.stateService.setAddEditCipherInfo({
await this.cipherService.setAddEditCipherInfo({
cipher: cipherView,
collectionIds: cipherView.collectionIds,
});

View File

@ -1,3 +1,7 @@
import {
accountServiceFactory,
AccountServiceInitOptions,
} from "../../../auth/background/service-factories/account-service.factory";
import {
UserVerificationServiceInitOptions,
userVerificationServiceFactory,
@ -7,6 +11,10 @@ import {
eventCollectionServiceFactory,
} from "../../../background/service-factories/event-collection-service.factory";
import { billingAccountProfileStateServiceFactory } from "../../../platform/background/service-factories/billing-account-profile-state-service.factory";
import {
browserScriptInjectorServiceFactory,
BrowserScriptInjectorServiceInitOptions,
} from "../../../platform/background/service-factories/browser-script-injector-service.factory";
import {
CachedServices,
factory,
@ -45,7 +53,9 @@ export type AutoFillServiceInitOptions = AutoFillServiceOptions &
EventCollectionServiceInitOptions &
LogServiceInitOptions &
UserVerificationServiceInitOptions &
DomainSettingsServiceInitOptions;
DomainSettingsServiceInitOptions &
BrowserScriptInjectorServiceInitOptions &
AccountServiceInitOptions;
export function autofillServiceFactory(
cache: { autofillService?: AbstractAutoFillService } & CachedServices,
@ -65,6 +75,8 @@ export function autofillServiceFactory(
await domainSettingsServiceFactory(cache, opts),
await userVerificationServiceFactory(cache, opts),
await billingAccountProfileStateServiceFactory(cache, opts),
await browserScriptInjectorServiceFactory(cache, opts),
await accountServiceFactory(cache, opts),
),
);
}

View File

@ -560,6 +560,17 @@ describe("AutofillInit", () => {
});
describe("destroy", () => {
it("clears the timeout used to collect page details on load", () => {
jest.spyOn(window, "clearTimeout");
autofillInit.init();
autofillInit.destroy();
expect(window.clearTimeout).toHaveBeenCalledWith(
autofillInit["collectPageDetailsOnLoadTimeout"],
);
});
it("removes the extension message listeners", () => {
autofillInit.destroy();

View File

@ -16,6 +16,7 @@ class AutofillInit implements AutofillInitInterface {
private readonly domElementVisibilityService: DomElementVisibilityService;
private readonly collectAutofillContentService: CollectAutofillContentService;
private readonly insertAutofillContentService: InsertAutofillContentService;
private collectPageDetailsOnLoadTimeout: number | NodeJS.Timeout | undefined;
private readonly extensionMessageHandlers: AutofillExtensionMessageHandlers = {
collectPageDetails: ({ message }) => this.collectPageDetails(message),
collectPageDetailsImmediately: ({ message }) => this.collectPageDetails(message, true),
@ -66,17 +67,19 @@ class AutofillInit implements AutofillInitInterface {
* to act on the page.
*/
private collectPageDetailsOnLoad() {
const sendCollectDetailsMessage = () =>
setTimeout(
const sendCollectDetailsMessage = () => {
this.clearCollectPageDetailsOnLoadTimeout();
this.collectPageDetailsOnLoadTimeout = setTimeout(
() => sendExtensionMessage("bgCollectPageDetails", { sender: "autofillInit" }),
250,
);
};
if (document.readyState === "complete") {
if (globalThis.document.readyState === "complete") {
sendCollectDetailsMessage();
}
window.addEventListener("load", sendCollectDetailsMessage);
globalThis.addEventListener("load", sendCollectDetailsMessage);
}
/**
@ -247,6 +250,15 @@ class AutofillInit implements AutofillInitInterface {
this.autofillOverlayContentService.autofillOverlayVisibility = data?.autofillOverlayVisibility;
}
/**
* Clears the send collect details message timeout.
*/
private clearCollectPageDetailsOnLoadTimeout() {
if (this.collectPageDetailsOnLoadTimeout) {
clearTimeout(this.collectPageDetailsOnLoadTimeout);
}
}
/**
* Sets up the extension message listeners for the content script.
*/
@ -288,6 +300,7 @@ class AutofillInit implements AutofillInitInterface {
* listeners, timeouts, and object instances to prevent memory leaks.
*/
destroy() {
this.clearCollectPageDetailsOnLoadTimeout();
chrome.runtime.onMessage.removeListener(this.handleExtensionMessage);
this.collectAutofillContentService.destroy();
this.autofillOverlayContentService?.destroy();

View File

@ -32,6 +32,7 @@ import { CipherService } from "@bitwarden/common/vault/services/cipher.service";
import { TotpService } from "@bitwarden/common/vault/services/totp.service";
import { BrowserApi } from "../../platform/browser/browser-api";
import { BrowserScriptInjectorService } from "../../platform/services/browser-script-injector.service";
import { AutofillPort } from "../enums/autofill-port.enums";
import AutofillField from "../models/autofill-field";
import AutofillPageDetails from "../models/autofill-page-details";
@ -67,6 +68,7 @@ describe("AutofillService", () => {
const accountService: FakeAccountService = mockAccountServiceWith(mockUserId);
const fakeStateProvider: FakeStateProvider = new FakeStateProvider(accountService);
let domainSettingsService: DomainSettingsService;
let scriptInjectorService: BrowserScriptInjectorService;
const totpService = mock<TotpService>();
const eventCollectionService = mock<EventCollectionService>();
const logService = mock<LogService>();
@ -74,6 +76,7 @@ describe("AutofillService", () => {
const billingAccountProfileStateService = mock<BillingAccountProfileStateService>();
beforeEach(() => {
scriptInjectorService = new BrowserScriptInjectorService();
autofillService = new AutofillService(
cipherService,
autofillSettingsService,
@ -83,6 +86,8 @@ describe("AutofillService", () => {
domainSettingsService,
userVerificationService,
billingAccountProfileStateService,
scriptInjectorService,
accountService,
);
domainSettingsService = new DefaultDomainSettingsService(fakeStateProvider);
@ -250,6 +255,7 @@ describe("AutofillService", () => {
expect(BrowserApi.executeScriptInTab).toHaveBeenCalledWith(tabMock.id, {
file: "content/content-message-handler.js",
frameId: 0,
...defaultExecuteScriptOptions,
});
});

View File

@ -1,7 +1,9 @@
import { firstValueFrom } from "rxjs";
import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
import { UserVerificationService } from "@bitwarden/common/auth/abstractions/user-verification/user-verification.service.abstraction";
import { AutofillOverlayVisibility } from "@bitwarden/common/autofill/constants";
import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service";
import { DomainSettingsService } from "@bitwarden/common/autofill/services/domain-settings.service";
import { InlineMenuVisibilitySetting } from "@bitwarden/common/autofill/types";
@ -20,6 +22,7 @@ import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view";
import { FieldView } from "@bitwarden/common/vault/models/view/field.view";
import { BrowserApi } from "../../platform/browser/browser-api";
import { ScriptInjectorService } from "../../platform/services/abstractions/script-injector.service";
import { openVaultItemPasswordRepromptPopout } from "../../vault/popup/utils/vault-popout-window";
import { AutofillPort } from "../enums/autofill-port.enums";
import AutofillField from "../models/autofill-field";
@ -55,6 +58,8 @@ export default class AutofillService implements AutofillServiceInterface {
private domainSettingsService: DomainSettingsService,
private userVerificationService: UserVerificationService,
private billingAccountProfileStateService: BillingAccountProfileStateService,
private scriptInjectorService: ScriptInjectorService,
private accountService: AccountService,
) {}
/**
@ -102,30 +107,46 @@ export default class AutofillService implements AutofillServiceInterface {
frameId = 0,
triggeringOnPageLoad = true,
): Promise<void> {
const mainAutofillScript = (await this.getOverlayVisibility())
// Autofill settings loaded from state can await the active account state indefinitely if
// not guarded by an active account check (e.g. the user is logged in)
const activeAccount = await firstValueFrom(this.accountService.activeAccount$);
// These settings are not available until the user logs in
let overlayVisibility: InlineMenuVisibilitySetting = AutofillOverlayVisibility.Off;
let autoFillOnPageLoadIsEnabled = false;
if (activeAccount) {
overlayVisibility = await this.getOverlayVisibility();
}
const mainAutofillScript = overlayVisibility
? "bootstrap-autofill-overlay.js"
: "bootstrap-autofill.js";
const injectedScripts = [mainAutofillScript];
const autoFillOnPageLoadIsEnabled = await this.getAutofillOnPageLoad();
if (activeAccount) {
autoFillOnPageLoadIsEnabled = await this.getAutofillOnPageLoad();
}
if (triggeringOnPageLoad && autoFillOnPageLoadIsEnabled) {
injectedScripts.push("autofiller.js");
} else {
await BrowserApi.executeScriptInTab(tab.id, {
file: "content/content-message-handler.js",
runAt: "document_start",
await this.scriptInjectorService.inject({
tabId: tab.id,
injectDetails: { file: "content/content-message-handler.js", runAt: "document_start" },
});
}
injectedScripts.push("notificationBar.js", "contextMenuHandler.js");
for (const injectedScript of injectedScripts) {
await BrowserApi.executeScriptInTab(tab.id, {
file: `content/${injectedScript}`,
frameId,
runAt: "document_start",
await this.scriptInjectorService.inject({
tabId: tab.id,
injectDetails: {
file: `content/${injectedScript}`,
runAt: "document_start",
frame: frameId,
},
});
}
}

View File

@ -267,6 +267,7 @@ function createPortSpyMock(name: string) {
disconnect: jest.fn(),
sender: {
tab: createChromeTabMock(),
url: "https://jest-testing-website.com",
},
});
}

View File

@ -0,0 +1,74 @@
import { mock } from "jest-mock-extended";
import {
AssertCredentialResult,
CreateCredentialResult,
} from "@bitwarden/common/vault/abstractions/fido2/fido2-client.service.abstraction";
export function createCredentialCreationOptionsMock(
customFields: Partial<CredentialCreationOptions> = {},
): CredentialCreationOptions {
return mock<CredentialCreationOptions>({
publicKey: mock<PublicKeyCredentialCreationOptions>({
authenticatorSelection: { authenticatorAttachment: "platform" },
excludeCredentials: [{ id: new ArrayBuffer(32), type: "public-key" }],
pubKeyCredParams: [{ alg: -7, type: "public-key" }],
user: { id: new ArrayBuffer(32), name: "test", displayName: "test" },
}),
...customFields,
});
}
export function createCreateCredentialResultMock(
customFields: Partial<CreateCredentialResult> = {},
): CreateCredentialResult {
return mock<CreateCredentialResult>({
credentialId: "mock",
clientDataJSON: "mock",
attestationObject: "mock",
authData: "mock",
publicKey: "mock",
publicKeyAlgorithm: -7,
transports: ["internal"],
...customFields,
});
}
export function createCredentialRequestOptionsMock(
customFields: Partial<CredentialRequestOptions> = {},
): CredentialRequestOptions {
return mock<CredentialRequestOptions>({
mediation: "optional",
publicKey: mock<PublicKeyCredentialRequestOptions>({
allowCredentials: [{ id: new ArrayBuffer(32), type: "public-key" }],
}),
...customFields,
});
}
export function createAssertCredentialResultMock(
customFields: Partial<AssertCredentialResult> = {},
): AssertCredentialResult {
return mock<AssertCredentialResult>({
credentialId: "mock",
clientDataJSON: "mock",
authenticatorData: "mock",
signature: "mock",
userHandle: "mock",
...customFields,
});
}
export function setupMockedWebAuthnSupport() {
(globalThis as any).PublicKeyCredential = class PolyfillPublicKeyCredential {
static isUserVerifyingPlatformAuthenticatorAvailable = () => Promise.resolve(true);
};
(globalThis as any).AuthenticatorAttestationResponse =
class PolyfillAuthenticatorAttestationResponse {};
(globalThis as any).AuthenticatorAssertionResponse =
class PolyfillAuthenticatorAssertionResponse {};
(globalThis as any).navigator.credentials = {
create: jest.fn().mockResolvedValue({}),
get: jest.fn().mockResolvedValue({}),
};
}

View File

@ -1,4 +1,4 @@
import { firstValueFrom } from "rxjs";
import { Subject, firstValueFrom, merge } from "rxjs";
import {
PinCryptoServiceAbstraction,
@ -29,7 +29,8 @@ import { PolicyService } from "@bitwarden/common/admin-console/services/policy/p
import { ProviderService } from "@bitwarden/common/admin-console/services/provider.service";
import { AccountService as AccountServiceAbstraction } from "@bitwarden/common/auth/abstractions/account.service";
import { AuthService as AuthServiceAbstraction } from "@bitwarden/common/auth/abstractions/auth.service";
import { DeviceTrustCryptoServiceAbstraction } from "@bitwarden/common/auth/abstractions/device-trust-crypto.service.abstraction";
import { AvatarService as AvatarServiceAbstraction } from "@bitwarden/common/auth/abstractions/avatar.service";
import { DeviceTrustServiceAbstraction } from "@bitwarden/common/auth/abstractions/device-trust.service.abstraction";
import { DevicesServiceAbstraction } from "@bitwarden/common/auth/abstractions/devices/devices.service.abstraction";
import { DevicesApiServiceAbstraction } from "@bitwarden/common/auth/abstractions/devices-api.service.abstraction";
import { KeyConnectorService as KeyConnectorServiceAbstraction } from "@bitwarden/common/auth/abstractions/key-connector.service";
@ -44,7 +45,7 @@ import { ForceSetPasswordReason } from "@bitwarden/common/auth/models/domain/for
import { AccountServiceImplementation } from "@bitwarden/common/auth/services/account.service";
import { AuthService } from "@bitwarden/common/auth/services/auth.service";
import { AvatarService } from "@bitwarden/common/auth/services/avatar.service";
import { DeviceTrustCryptoService } from "@bitwarden/common/auth/services/device-trust-crypto.service.implementation";
import { DeviceTrustService } from "@bitwarden/common/auth/services/device-trust.service.implementation";
import { DevicesServiceImplementation } from "@bitwarden/common/auth/services/devices/devices.service.implementation";
import { DevicesApiServiceImplementation } from "@bitwarden/common/auth/services/devices-api.service.implementation";
import { KeyConnectorService } from "@bitwarden/common/auth/services/key-connector.service";
@ -82,7 +83,6 @@ import { FileUploadService as FileUploadServiceAbstraction } from "@bitwarden/co
import { I18nService as I18nServiceAbstraction } from "@bitwarden/common/platform/abstractions/i18n.service";
import { KeyGenerationService as KeyGenerationServiceAbstraction } from "@bitwarden/common/platform/abstractions/key-generation.service";
import { LogService as LogServiceAbstraction } from "@bitwarden/common/platform/abstractions/log.service";
import { MessagingService as MessagingServiceAbstraction } from "@bitwarden/common/platform/abstractions/messaging.service";
import { PlatformUtilsService as PlatformUtilsServiceAbstraction } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import {
AbstractMemoryStorageService,
@ -95,7 +95,12 @@ import {
DefaultBiometricStateService,
} from "@bitwarden/common/platform/biometrics/biometric-state.service";
import { StateFactory } from "@bitwarden/common/platform/factories/state-factory";
import { Message, MessageListener, MessageSender } from "@bitwarden/common/platform/messaging";
// eslint-disable-next-line no-restricted-imports -- Used for dependency creation
import { SubjectMessageSender } from "@bitwarden/common/platform/messaging/internal";
import { Lazy } from "@bitwarden/common/platform/misc/lazy";
import { GlobalState } from "@bitwarden/common/platform/models/domain/global-state";
import { SymmetricCryptoKey } from "@bitwarden/common/platform/models/domain/symmetric-crypto-key";
import { AppIdService } from "@bitwarden/common/platform/services/app-id.service";
import { ConfigApiService } from "@bitwarden/common/platform/services/config/config-api.service";
import { DefaultConfigService } from "@bitwarden/common/platform/services/config/default-config.service";
@ -108,8 +113,8 @@ import { KeyGenerationService } from "@bitwarden/common/platform/services/key-ge
import { MemoryStorageService } from "@bitwarden/common/platform/services/memory-storage.service";
import { MigrationBuilderService } from "@bitwarden/common/platform/services/migration-builder.service";
import { MigrationRunner } from "@bitwarden/common/platform/services/migration-runner";
import { StorageServiceProvider } from "@bitwarden/common/platform/services/storage-service.provider";
import { SystemService } from "@bitwarden/common/platform/services/system.service";
import { UserKeyInitService } from "@bitwarden/common/platform/services/user-key-init.service";
import { WebCryptoFunctionService } from "@bitwarden/common/platform/services/web-crypto-function.service";
import {
ActiveUserStateProvider,
@ -134,7 +139,6 @@ import { EventUploadService } from "@bitwarden/common/services/event/event-uploa
import { NotificationsService } from "@bitwarden/common/services/notifications.service";
import { SearchService } from "@bitwarden/common/services/search.service";
import { VaultTimeoutSettingsService } from "@bitwarden/common/services/vault-timeout/vault-timeout-settings.service";
import { AvatarService as AvatarServiceAbstraction } from "@bitwarden/common/src/auth/abstractions/avatar.service";
import {
PasswordGenerationService,
PasswordGenerationServiceAbstraction,
@ -207,13 +211,15 @@ import { Account } from "../models/account";
import { BrowserApi } from "../platform/browser/browser-api";
import { flagEnabled } from "../platform/flags";
import { UpdateBadge } from "../platform/listeners/update-badge";
/* eslint-disable no-restricted-imports */
import { ChromeMessageSender } from "../platform/messaging/chrome-message.sender";
/* eslint-enable no-restricted-imports */
import { BrowserStateService as StateServiceAbstraction } from "../platform/services/abstractions/browser-state.service";
import { BrowserCryptoService } from "../platform/services/browser-crypto.service";
import { BrowserEnvironmentService } from "../platform/services/browser-environment.service";
import BrowserLocalStorageService from "../platform/services/browser-local-storage.service";
import BrowserMemoryStorageService from "../platform/services/browser-memory-storage.service";
import BrowserMessagingPrivateModeBackgroundService from "../platform/services/browser-messaging-private-mode-background.service";
import BrowserMessagingService from "../platform/services/browser-messaging.service";
import { BrowserScriptInjectorService } from "../platform/services/browser-script-injector.service";
import { DefaultBrowserStateService } from "../platform/services/default-browser-state.service";
import I18nService from "../platform/services/i18n.service";
import { LocalBackedSessionStorageService } from "../platform/services/local-backed-session-storage.service";
@ -221,11 +227,14 @@ import { BackgroundPlatformUtilsService } from "../platform/services/platform-ut
import { BrowserPlatformUtilsService } from "../platform/services/platform-utils/browser-platform-utils.service";
import { BackgroundDerivedStateProvider } from "../platform/state/background-derived-state.provider";
import { BackgroundMemoryStorageService } from "../platform/storage/background-memory-storage.service";
import { BrowserStorageServiceProvider } from "../platform/storage/browser-storage-service.provider";
import { ForegroundMemoryStorageService } from "../platform/storage/foreground-memory-storage.service";
import { fromChromeRuntimeMessaging } from "../platform/utils/from-chrome-runtime-messaging";
import VaultTimeoutService from "../services/vault-timeout/vault-timeout.service";
import FilelessImporterBackground from "../tools/background/fileless-importer.background";
import { Fido2Background as Fido2BackgroundAbstraction } from "../vault/fido2/background/abstractions/fido2.background";
import { Fido2Background } from "../vault/fido2/background/fido2.background";
import { BrowserFido2UserInterfaceService } from "../vault/fido2/browser-fido2-user-interface.service";
import { Fido2Service as Fido2ServiceAbstraction } from "../vault/services/abstractions/fido2.service";
import Fido2Service from "../vault/services/fido2.service";
import { VaultFilterService } from "../vault/services/vault-filter.service";
import CommandsBackground from "./commands.background";
@ -234,11 +243,13 @@ import { NativeMessagingBackground } from "./nativeMessaging.background";
import RuntimeBackground from "./runtime.background";
export default class MainBackground {
messagingService: MessagingServiceAbstraction;
messagingService: MessageSender;
storageService: BrowserLocalStorageService;
secureStorageService: AbstractStorageService;
memoryStorageService: AbstractMemoryStorageService;
memoryStorageForStateProviders: AbstractMemoryStorageService & ObservableStorageService;
largeObjectMemoryStorageForStateProviders: AbstractMemoryStorageService &
ObservableStorageService;
i18nService: I18nServiceAbstraction;
platformUtilsService: PlatformUtilsServiceAbstraction;
logService: LogServiceAbstraction;
@ -307,7 +318,7 @@ export default class MainBackground {
configApiService: ConfigApiServiceAbstraction;
devicesApiService: DevicesApiServiceAbstraction;
devicesService: DevicesServiceAbstraction;
deviceTrustCryptoService: DeviceTrustCryptoServiceAbstraction;
deviceTrustService: DeviceTrustServiceAbstraction;
authRequestService: AuthRequestServiceAbstraction;
accountService: AccountServiceAbstraction;
globalStateProvider: GlobalStateProvider;
@ -316,7 +327,7 @@ export default class MainBackground {
activeUserStateProvider: ActiveUserStateProvider;
derivedStateProvider: DerivedStateProvider;
stateProvider: StateProvider;
fido2Service: Fido2ServiceAbstraction;
fido2Background: Fido2BackgroundAbstraction;
individualVaultExportService: IndividualVaultExportServiceAbstraction;
organizationVaultExportService: OrganizationVaultExportServiceAbstraction;
vaultSettingsService: VaultSettingsServiceAbstraction;
@ -324,6 +335,10 @@ export default class MainBackground {
stateEventRunnerService: StateEventRunnerService;
ssoLoginService: SsoLoginServiceAbstraction;
billingAccountProfileStateService: BillingAccountProfileStateService;
// eslint-disable-next-line rxjs/no-exposed-subjects -- Needed to give access to services module
intraprocessMessagingSubject: Subject<Message<object>>;
userKeyInitService: UserKeyInitService;
scriptInjectorService: BrowserScriptInjectorService;
onUpdatedRan: boolean;
onReplacedRan: boolean;
@ -342,11 +357,11 @@ export default class MainBackground {
private syncTimeout: any;
private isSafari: boolean;
private nativeMessagingBackground: NativeMessagingBackground;
popupOnlyContext: boolean;
constructor(public isPrivateMode: boolean = false) {
this.popupOnlyContext = isPrivateMode || BrowserApi.isManifestVersion(3);
constructor(
public isPrivateMode: boolean = false,
public popupOnlyContext: boolean = false,
) {
// Services
const lockedCallback = async (userId?: string) => {
if (this.notificationsService != null) {
@ -365,37 +380,83 @@ export default class MainBackground {
const logoutCallback = async (expired: boolean, userId?: UserId) =>
await this.logout(expired, userId);
this.messagingService =
this.isPrivateMode && BrowserApi.isManifestVersion(2)
? new BrowserMessagingPrivateModeBackgroundService()
: new BrowserMessagingService();
this.logService = new ConsoleLogService(false);
this.cryptoFunctionService = new WebCryptoFunctionService(self);
this.keyGenerationService = new KeyGenerationService(this.cryptoFunctionService);
this.storageService = new BrowserLocalStorageService();
const mv3MemoryStorageCreator = (partitionName: string) => {
// TODO: Consider using multithreaded encrypt service in popup only context
this.intraprocessMessagingSubject = new Subject<Message<object>>();
this.messagingService = MessageSender.combine(
new SubjectMessageSender(this.intraprocessMessagingSubject),
new ChromeMessageSender(this.logService),
);
const messageListener = new MessageListener(
merge(
this.intraprocessMessagingSubject.asObservable(), // For messages from the same context
fromChromeRuntimeMessaging(), // For messages from other contexts
),
);
this.platformUtilsService = new BackgroundPlatformUtilsService(
this.messagingService,
(clipboardValue, clearMs) => this.clearClipboard(clipboardValue, clearMs),
async () => this.biometricUnlock(),
self,
);
// Creates a session key for mv3 storage of large memory items
const sessionKey = new Lazy(async () => {
// Key already in session storage
const sessionStorage = new BrowserMemoryStorageService();
const existingKey = await sessionStorage.get<SymmetricCryptoKey>("session-key");
if (existingKey) {
if (sessionStorage.valuesRequireDeserialization) {
return SymmetricCryptoKey.fromJSON(existingKey);
}
return existingKey;
}
// New key
const { derivedKey } = await this.keyGenerationService.createKeyWithPurpose(
128,
"ephemeral",
"bitwarden-ephemeral",
);
await sessionStorage.save("session-key", derivedKey);
return derivedKey;
});
const mv3MemoryStorageCreator = () => {
if (this.popupOnlyContext) {
return new ForegroundMemoryStorageService();
}
return new LocalBackedSessionStorageService(
sessionKey,
this.storageService,
new EncryptServiceImplementation(this.cryptoFunctionService, this.logService, false),
this.keyGenerationService,
new BrowserLocalStorageService(),
new BrowserMemoryStorageService(),
partitionName,
this.platformUtilsService,
this.logService,
);
};
this.secureStorageService = this.storageService; // secure storage is not supported in browsers, so we use local storage and warn users when it is used
this.memoryStorageService = BrowserApi.isManifestVersion(3)
? mv3MemoryStorageCreator("stateService")
: new MemoryStorageService();
this.memoryStorageForStateProviders = BrowserApi.isManifestVersion(3)
? mv3MemoryStorageCreator("stateProviders")
: new BackgroundMemoryStorageService();
? new BrowserMemoryStorageService() // mv3 stores to storage.session
: new BackgroundMemoryStorageService(); // mv2 stores to memory
this.memoryStorageService = BrowserApi.isManifestVersion(3)
? this.memoryStorageForStateProviders // manifest v3 can reuse the same storage. They are split for v2 due to lacking a good sync mechanism, which isn't true for v3
: new MemoryStorageService();
this.largeObjectMemoryStorageForStateProviders = BrowserApi.isManifestVersion(3)
? mv3MemoryStorageCreator() // mv3 stores to local-backed session storage
: this.memoryStorageForStateProviders; // mv2 stores to the same location
const storageServiceProvider = new StorageServiceProvider(
const storageServiceProvider = new BrowserStorageServiceProvider(
this.storageService,
this.memoryStorageForStateProviders,
this.largeObjectMemoryStorageForStateProviders,
);
this.globalStateProvider = new DefaultGlobalStateProvider(storageServiceProvider);
@ -432,9 +493,7 @@ export default class MainBackground {
this.accountService,
this.singleUserStateProvider,
);
this.derivedStateProvider = new BackgroundDerivedStateProvider(
this.memoryStorageForStateProviders,
);
this.derivedStateProvider = new BackgroundDerivedStateProvider(storageServiceProvider);
this.stateProvider = new DefaultStateProvider(
this.activeUserStateProvider,
this.singleUserStateProvider,
@ -449,12 +508,6 @@ export default class MainBackground {
this.biometricStateService = new DefaultBiometricStateService(this.stateProvider);
this.userNotificationSettingsService = new UserNotificationSettingsService(this.stateProvider);
this.platformUtilsService = new BackgroundPlatformUtilsService(
this.messagingService,
(clipboardValue, clearMs) => this.clearClipboard(clipboardValue, clearMs),
async () => this.biometricUnlock(),
self,
);
this.tokenService = new TokenService(
this.singleUserStateProvider,
@ -556,25 +609,10 @@ export default class MainBackground {
this.twoFactorService = new TwoFactorService(this.i18nService, this.platformUtilsService);
// eslint-disable-next-line
const that = this;
const backgroundMessagingService = new (class extends MessagingServiceAbstraction {
// AuthService should send the messages to the background not popup.
send = (subscriber: string, arg: any = {}) => {
if (BrowserApi.isManifestVersion(3)) {
that.messagingService.send(subscriber, arg);
return;
}
const message = Object.assign({}, { command: subscriber }, arg);
void that.runtimeBackground.processMessage(message, that as any);
};
})();
this.userDecryptionOptionsService = new UserDecryptionOptionsService(this.stateProvider);
this.devicesApiService = new DevicesApiServiceImplementation(this.apiService);
this.deviceTrustCryptoService = new DeviceTrustCryptoService(
this.deviceTrustService = new DeviceTrustService(
this.keyGenerationService,
this.cryptoFunctionService,
this.cryptoService,
@ -601,7 +639,7 @@ export default class MainBackground {
this.authService = new AuthService(
this.accountService,
backgroundMessagingService,
this.messagingService,
this.cryptoService,
this.apiService,
this.stateService,
@ -622,7 +660,7 @@ export default class MainBackground {
this.tokenService,
this.appIdService,
this.platformUtilsService,
backgroundMessagingService,
this.messagingService,
this.logService,
this.keyConnectorService,
this.environmentService,
@ -632,7 +670,7 @@ export default class MainBackground {
this.encryptService,
this.passwordStrengthService,
this.policyService,
this.deviceTrustCryptoService,
this.deviceTrustService,
this.authRequestService,
this.userDecryptionOptionsService,
this.globalStateProvider,
@ -663,12 +701,12 @@ export default class MainBackground {
this.encryptService,
this.cipherFileUploadService,
this.configService,
this.stateProvider,
);
this.folderService = new FolderService(
this.cryptoService,
this.i18nService,
this.cipherService,
this.stateService,
this.stateProvider,
);
this.folderApiService = new FolderApiService(this.folderService, this.apiService);
@ -775,6 +813,7 @@ export default class MainBackground {
this.avatarService,
logoutCallback,
this.billingAccountProfileStateService,
this.tokenService,
);
this.eventUploadService = new EventUploadService(
this.apiService,
@ -791,6 +830,7 @@ export default class MainBackground {
);
this.totpService = new TotpService(this.cryptoFunctionService, this.logService);
this.scriptInjectorService = new BrowserScriptInjectorService();
this.autofillService = new AutofillService(
this.cipherService,
this.autofillSettingsService,
@ -800,6 +840,8 @@ export default class MainBackground {
this.domainSettingsService,
this.userVerificationService,
this.billingAccountProfileStateService,
this.scriptInjectorService,
this.accountService,
);
this.auditService = new AuditService(this.cryptoFunctionService, this.apiService);
@ -849,7 +891,6 @@ export default class MainBackground {
this.messagingService,
);
this.fido2Service = new Fido2Service();
this.fido2UserInterfaceService = new BrowserFido2UserInterfaceService(this.authService);
this.fido2AuthenticatorService = new Fido2AuthenticatorService(
this.cipherService,
@ -889,82 +930,90 @@ export default class MainBackground {
this.isSafari = this.platformUtilsService.isSafari();
// Background
this.runtimeBackground = new RuntimeBackground(
this,
this.autofillService,
this.platformUtilsService as BrowserPlatformUtilsService,
this.i18nService,
this.notificationsService,
this.stateService,
this.autofillSettingsService,
this.systemService,
this.environmentService,
this.messagingService,
this.logService,
this.configService,
this.fido2Service,
);
this.nativeMessagingBackground = new NativeMessagingBackground(
this.accountService,
this.masterPasswordService,
this.cryptoService,
this.cryptoFunctionService,
this.runtimeBackground,
this.messagingService,
this.appIdService,
this.platformUtilsService,
this.stateService,
this.logService,
this.authService,
this.biometricStateService,
);
this.commandsBackground = new CommandsBackground(
this,
this.passwordGenerationService,
this.platformUtilsService,
this.vaultTimeoutService,
this.authService,
);
this.notificationBackground = new NotificationBackground(
this.autofillService,
this.cipherService,
this.authService,
this.policyService,
this.folderService,
this.stateService,
this.userNotificationSettingsService,
this.domainSettingsService,
this.environmentService,
this.logService,
themeStateService,
this.configService,
);
this.overlayBackground = new OverlayBackground(
this.cipherService,
this.autofillService,
this.authService,
this.environmentService,
this.domainSettingsService,
this.stateService,
this.autofillSettingsService,
this.i18nService,
this.platformUtilsService,
themeStateService,
);
this.filelessImporterBackground = new FilelessImporterBackground(
this.configService,
this.authService,
this.policyService,
this.notificationBackground,
this.importService,
this.syncService,
);
this.tabsBackground = new TabsBackground(
this,
this.notificationBackground,
this.overlayBackground,
);
if (!this.popupOnlyContext) {
this.fido2Background = new Fido2Background(
this.logService,
this.fido2ClientService,
this.vaultSettingsService,
this.scriptInjectorService,
);
this.runtimeBackground = new RuntimeBackground(
this,
this.autofillService,
this.platformUtilsService as BrowserPlatformUtilsService,
this.notificationsService,
this.stateService,
this.autofillSettingsService,
this.systemService,
this.environmentService,
this.messagingService,
this.logService,
this.configService,
this.fido2Background,
messageListener,
);
this.nativeMessagingBackground = new NativeMessagingBackground(
this.accountService,
this.masterPasswordService,
this.cryptoService,
this.cryptoFunctionService,
this.runtimeBackground,
this.messagingService,
this.appIdService,
this.platformUtilsService,
this.stateService,
this.logService,
this.authService,
this.biometricStateService,
);
this.commandsBackground = new CommandsBackground(
this,
this.passwordGenerationService,
this.platformUtilsService,
this.vaultTimeoutService,
this.authService,
);
this.notificationBackground = new NotificationBackground(
this.autofillService,
this.cipherService,
this.authService,
this.policyService,
this.folderService,
this.stateService,
this.userNotificationSettingsService,
this.domainSettingsService,
this.environmentService,
this.logService,
themeStateService,
this.configService,
);
this.overlayBackground = new OverlayBackground(
this.cipherService,
this.autofillService,
this.authService,
this.environmentService,
this.domainSettingsService,
this.stateService,
this.autofillSettingsService,
this.i18nService,
this.platformUtilsService,
themeStateService,
);
this.filelessImporterBackground = new FilelessImporterBackground(
this.configService,
this.authService,
this.policyService,
this.notificationBackground,
this.importService,
this.syncService,
this.scriptInjectorService,
);
this.tabsBackground = new TabsBackground(
this,
this.notificationBackground,
this.overlayBackground,
);
const contextMenuClickedHandler = new ContextMenuClickedHandler(
(options) => this.platformUtilsService.copyToClipboard(options.text),
async (_tab) => {
@ -1006,11 +1055,6 @@ export default class MainBackground {
this.notificationsService,
this.accountService,
);
this.webRequestBackground = new WebRequestBackground(
this.platformUtilsService,
this.cipherService,
this.authService,
);
this.usernameGenerationService = new UsernameGenerationService(
this.cryptoService,
@ -1032,34 +1076,54 @@ export default class MainBackground {
this.authService,
this.cipherService,
);
if (BrowserApi.isManifestVersion(2)) {
this.webRequestBackground = new WebRequestBackground(
this.platformUtilsService,
this.cipherService,
this.authService,
);
}
}
this.userKeyInitService = new UserKeyInitService(
this.accountService,
this.cryptoService,
this.logService,
);
}
async bootstrap() {
this.containerService.attachToGlobal(self);
await this.stateService.init();
// Only the "true" background should run migrations
await this.stateService.init({ runMigrations: !this.popupOnlyContext });
// This is here instead of in in the InitService b/c we don't plan for
// side effects to run in the Browser InitService.
this.userKeyInitService.listenForActiveUserChangesToSetUserKey();
await this.vaultTimeoutService.init(true);
await (this.i18nService as I18nService).init();
await (this.eventUploadService as EventUploadService).init(true);
this.twoFactorService.init();
if (this.popupOnlyContext) {
return;
}
await this.vaultTimeoutService.init(true);
this.fido2Background.init();
await this.runtimeBackground.init();
await this.notificationBackground.init();
this.filelessImporterBackground.init();
await this.commandsBackground.init();
this.twoFactorService.init();
await this.overlayBackground.init();
await this.tabsBackground.init();
if (!this.popupOnlyContext) {
this.contextMenusBackground?.init();
}
this.contextMenusBackground?.init();
await this.idleBackground.init();
await this.webRequestBackground.init();
await this.fido2Service.init();
if (BrowserApi.isManifestVersion(2)) {
await this.webRequestBackground.init();
}
if (this.platformUtilsService.isFirefox() && !this.isPrivateMode) {
// Set Private Mode windows to the default icon - they do not share state with the background page
@ -1082,9 +1146,7 @@ export default class MainBackground {
if (!this.isPrivateMode) {
await this.refreshBadge();
}
// FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
// eslint-disable-next-line @typescript-eslint/no-floating-promises
this.fullSync(true);
await this.fullSync(true);
setTimeout(() => this.notificationsService.init(), 2500);
resolve();
}, 500);
@ -1205,7 +1267,7 @@ export default class MainBackground {
BrowserApi.sendMessage("updateBadge");
}
await this.refreshBadge();
await this.mainContextMenuHandler.noAccess();
await this.mainContextMenuHandler?.noAccess();
// FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
// eslint-disable-next-line @typescript-eslint/no-floating-promises
this.notificationsService.updateConnection(false);

View File

@ -204,6 +204,8 @@ export class NativeMessagingBackground {
this.privateKey = null;
this.connected = false;
this.logService.error("NativeMessaging port disconnected because of error: " + error);
const reason = error != null ? "desktopIntegrationDisabled" : null;
reject(new Error(reason));
});
@ -397,7 +399,7 @@ export class NativeMessagingBackground {
// FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
// eslint-disable-next-line @typescript-eslint/no-floating-promises
this.runtimeBackground.processMessage({ command: "unlocked" }, null);
this.runtimeBackground.processMessage({ command: "unlocked" });
}
break;
}

View File

@ -1,16 +1,16 @@
import { firstValueFrom } from "rxjs";
import { firstValueFrom, mergeMap } from "rxjs";
import { NotificationsService } from "@bitwarden/common/abstractions/notifications.service";
import { AutofillOverlayVisibility } from "@bitwarden/common/autofill/constants";
import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service";
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service";
import { SystemService } from "@bitwarden/common/platform/abstractions/system.service";
import { Utils } from "@bitwarden/common/platform/misc/utils";
import { CipherType } from "@bitwarden/common/vault/enums";
import { MessageListener } from "../../../../libs/common/src/platform/messaging";
import {
closeUnlockPopout,
openSsoAuthResultPopout,
@ -22,8 +22,7 @@ import { BrowserApi } from "../platform/browser/browser-api";
import { BrowserStateService } from "../platform/services/abstractions/browser-state.service";
import { BrowserEnvironmentService } from "../platform/services/browser-environment.service";
import { BrowserPlatformUtilsService } from "../platform/services/platform-utils/browser-platform-utils.service";
import { AbortManager } from "../vault/background/abort-manager";
import { Fido2Service } from "../vault/services/abstractions/fido2.service";
import { Fido2Background } from "../vault/fido2/background/abstractions/fido2.background";
import MainBackground from "./main.background";
@ -32,13 +31,11 @@ export default class RuntimeBackground {
private pageDetailsToAutoFill: any[] = [];
private onInstalledReason: string = null;
private lockedVaultPendingNotifications: LockedVaultPendingNotificationsData[] = [];
private abortManager = new AbortManager();
constructor(
private main: MainBackground,
private autofillService: AutofillService,
private platformUtilsService: BrowserPlatformUtilsService,
private i18nService: I18nService,
private notificationsService: NotificationsService,
private stateService: BrowserStateService,
private autofillSettingsService: AutofillSettingsServiceAbstraction,
@ -47,7 +44,8 @@ export default class RuntimeBackground {
private messagingService: MessagingService,
private logService: LogService,
private configService: ConfigService,
private fido2Service: Fido2Service,
private fido2Background: Fido2Background,
private messageListener: MessageListener,
) {
// onInstalled listener must be wired up before anything else, so we do it in the ctor
chrome.runtime.onInstalled.addListener((details: any) => {
@ -64,100 +62,47 @@ export default class RuntimeBackground {
const backgroundMessageListener = (
msg: any,
sender: chrome.runtime.MessageSender,
sendResponse: any,
sendResponse: (response: any) => void,
) => {
const messagesWithResponse = [
"checkFido2FeatureEnabled",
"fido2RegisterCredentialRequest",
"fido2GetCredentialRequest",
"biometricUnlock",
];
const messagesWithResponse = ["biometricUnlock"];
if (messagesWithResponse.includes(msg.command)) {
this.processMessage(msg, sender).then(
this.processMessageWithSender(msg, sender).then(
(value) => sendResponse({ result: value }),
(error) => sendResponse({ error: { ...error, message: error.message } }),
);
return true;
}
// FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
// eslint-disable-next-line @typescript-eslint/no-floating-promises
this.processMessage(msg, sender);
void this.processMessageWithSender(msg, sender).catch((err) =>
this.logService.error(
`Error while processing message in RuntimeBackground '${msg?.command}'. Error: ${err?.message ?? "Unknown Error"}`,
),
);
return false;
};
this.messageListener.allMessages$
.pipe(
mergeMap(async (message: any) => {
await this.processMessage(message);
}),
)
.subscribe();
// For messages that require the full on message interface
BrowserApi.messageListener("runtime.background", backgroundMessageListener);
if (this.main.popupOnlyContext) {
(self as any).bitwardenBackgroundMessageListener = backgroundMessageListener;
}
}
async processMessage(msg: any, sender: chrome.runtime.MessageSender) {
// Messages that need the chrome sender and send back a response need to be registered in this method.
async processMessageWithSender(msg: any, sender: chrome.runtime.MessageSender) {
switch (msg.command) {
case "loggedIn":
case "unlocked": {
let item: LockedVaultPendingNotificationsData;
if (msg.command === "loggedIn") {
await this.sendBwInstalledMessageToVault();
}
if (this.lockedVaultPendingNotifications?.length > 0) {
item = this.lockedVaultPendingNotifications.pop();
await closeUnlockPopout();
}
await this.notificationsService.updateConnection(msg.command === "loggedIn");
await this.main.refreshBadge();
await this.main.refreshMenu(false);
this.systemService.cancelProcessReload();
if (item) {
await BrowserApi.focusWindow(item.commandToRetry.sender.tab.windowId);
await BrowserApi.focusTab(item.commandToRetry.sender.tab.id);
await BrowserApi.tabSendMessageData(
item.commandToRetry.sender.tab,
"unlockCompleted",
item,
);
}
break;
}
case "addToLockedVaultPendingNotifications":
this.lockedVaultPendingNotifications.push(msg.data);
break;
case "logout":
await this.main.logout(msg.expired, msg.userId);
break;
case "syncCompleted":
if (msg.successfully) {
setTimeout(async () => {
await this.main.refreshBadge();
await this.main.refreshMenu();
}, 2000);
await this.configService.ensureConfigFetched();
}
break;
case "openPopup":
await this.main.openPopup();
break;
case "triggerAutofillScriptInjection":
await this.autofillService.injectAutofillScripts(sender.tab, sender.frameId);
break;
case "bgCollectPageDetails":
await this.main.collectPageDetailsForContentScript(sender.tab, msg.sender, sender.frameId);
break;
case "bgUpdateContextMenu":
case "editedCipher":
case "addedCipher":
case "deletedCipher":
await this.main.refreshBadge();
await this.main.refreshMenu();
break;
case "bgReseedStorage":
await this.main.reseedStorage();
break;
case "collectPageDetailsResponse":
switch (msg.sender) {
case "autofiller":
@ -221,6 +166,72 @@ export default class RuntimeBackground {
break;
}
break;
case "biometricUnlock": {
const result = await this.main.biometricUnlock();
return result;
}
}
}
async processMessage(msg: any) {
switch (msg.command) {
case "loggedIn":
case "unlocked": {
let item: LockedVaultPendingNotificationsData;
if (msg.command === "loggedIn") {
await this.sendBwInstalledMessageToVault();
}
if (this.lockedVaultPendingNotifications?.length > 0) {
item = this.lockedVaultPendingNotifications.pop();
await closeUnlockPopout();
}
await this.notificationsService.updateConnection(msg.command === "loggedIn");
await this.main.refreshBadge();
await this.main.refreshMenu(false);
this.systemService.cancelProcessReload();
if (item) {
await BrowserApi.focusWindow(item.commandToRetry.sender.tab.windowId);
await BrowserApi.focusTab(item.commandToRetry.sender.tab.id);
await BrowserApi.tabSendMessageData(
item.commandToRetry.sender.tab,
"unlockCompleted",
item,
);
}
break;
}
case "addToLockedVaultPendingNotifications":
this.lockedVaultPendingNotifications.push(msg.data);
break;
case "logout":
await this.main.logout(msg.expired, msg.userId);
break;
case "syncCompleted":
if (msg.successfully) {
setTimeout(async () => {
await this.main.refreshBadge();
await this.main.refreshMenu();
}, 2000);
await this.configService.ensureConfigFetched();
}
break;
case "openPopup":
await this.main.openPopup();
break;
case "bgUpdateContextMenu":
case "editedCipher":
case "addedCipher":
case "deletedCipher":
await this.main.refreshBadge();
await this.main.refreshMenu();
break;
case "bgReseedStorage":
await this.main.reseedStorage();
break;
case "authResult": {
const env = await firstValueFrom(this.environmentService.environment$);
const vaultUrl = env.getWebVaultUrl();
@ -269,46 +280,6 @@ export default class RuntimeBackground {
case "getClickedElementResponse":
this.platformUtilsService.copyToClipboard(msg.identifier);
break;
case "triggerFido2ContentScriptInjection":
await this.fido2Service.injectFido2ContentScripts(sender);
break;
case "fido2AbortRequest":
this.abortManager.abort(msg.abortedRequestId);
break;
case "checkFido2FeatureEnabled":
return await this.main.fido2ClientService.isFido2FeatureEnabled(msg.hostname, msg.origin);
case "fido2RegisterCredentialRequest":
return await this.abortManager.runWithAbortController(
msg.requestId,
async (abortController) => {
try {
return await this.main.fido2ClientService.createCredential(
msg.data,
sender.tab,
abortController,
);
} finally {
await BrowserApi.focusTab(sender.tab.id);
await BrowserApi.focusWindow(sender.tab.windowId);
}
},
);
case "fido2GetCredentialRequest":
return await this.abortManager.runWithAbortController(
msg.requestId,
async (abortController) => {
try {
return await this.main.fido2ClientService.assertCredential(
msg.data,
sender.tab,
abortController,
);
} finally {
await BrowserApi.focusTab(sender.tab.id);
await BrowserApi.focusWindow(sender.tab.windowId);
}
},
);
case "switchAccount": {
await this.main.switchAccount(msg.userId);
break;
@ -317,9 +288,6 @@ export default class RuntimeBackground {
await this.main.clearClipboard(msg.clipboardValue, msg.timeoutMs);
break;
}
case "biometricUnlock": {
return await this.main.biometricUnlock();
}
}
}
@ -343,9 +311,8 @@ export default class RuntimeBackground {
private async checkOnInstalled() {
setTimeout(async () => {
// FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
// eslint-disable-next-line @typescript-eslint/no-floating-promises
this.autofillService.loadAutofillScriptsOnInstall();
void this.fido2Background.injectFido2ContentScriptsInAllTabs();
void this.autofillService.loadAutofillScriptsOnInstall();
if (this.onInstalledReason != null) {
if (this.onInstalledReason === "install") {

View File

@ -2,7 +2,7 @@
"manifest_version": 2,
"name": "__MSG_extName__",
"short_name": "__MSG_appName__",
"version": "2024.4.1",
"version": "2024.4.2",
"description": "__MSG_extDesc__",
"default_locale": "en",
"author": "Bitwarden Inc.",
@ -22,13 +22,6 @@
"exclude_matches": ["*://*/*.xml*", "file:///*.xml*"],
"run_at": "document_start"
},
{
"all_frames": true,
"js": ["content/fido2/trigger-fido2-content-script-injection.js"],
"matches": ["https://*/*"],
"exclude_matches": ["https://*/*.xml*"],
"run_at": "document_start"
},
{
"all_frames": true,
"css": ["content/autofill.css"],
@ -67,7 +60,8 @@
"clipboardWrite",
"idle",
"webRequest",
"webRequestBlocking"
"webRequestBlocking",
"webNavigation"
],
"optional_permissions": ["nativeMessaging", "privacy"],
"content_security_policy": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self'",

View File

@ -3,7 +3,7 @@
"minimum_chrome_version": "102.0",
"name": "__MSG_extName__",
"short_name": "__MSG_appName__",
"version": "2024.4.1",
"version": "2024.4.2",
"description": "__MSG_extDesc__",
"default_locale": "en",
"author": "Bitwarden Inc.",
@ -23,13 +23,6 @@
"exclude_matches": ["*://*/*.xml*", "file:///*.xml*"],
"run_at": "document_start"
},
{
"all_frames": true,
"js": ["content/fido2/trigger-fido2-content-script-injection.js"],
"matches": ["https://*/*"],
"exclude_matches": ["https://*/*.xml*"],
"run_at": "document_start"
},
{
"all_frames": true,
"css": ["content/autofill.css"],
@ -66,12 +59,11 @@
"clipboardRead",
"clipboardWrite",
"idle",
"alarms",
"scripting",
"offscreen"
],
"optional_permissions": ["nativeMessaging", "privacy"],
"host_permissions": ["*://*/*"],
"host_permissions": ["<all_urls>"],
"content_security_policy": {
"extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self'",
"sandbox": "sandbox allow-scripts; script-src 'self'"

View File

@ -1,5 +1,3 @@
import { Utils } from "@bitwarden/common/platform/misc/utils";
import { SendType } from "@bitwarden/common/tools/send/enums/send-type";
import { SendView } from "@bitwarden/common/tools/send/models/view/send.view";
import { DeepJsonify } from "@bitwarden/common/types/deep-jsonify";
@ -7,13 +5,6 @@ import { BrowserComponentState } from "./browserComponentState";
export class BrowserSendComponentState extends BrowserComponentState {
sends: SendView[];
typeCounts: Map<SendType, number>;
toJSON() {
return Utils.merge(this, {
typeCounts: Utils.mapToRecord(this.typeCounts),
});
}
static fromJSON(json: DeepJsonify<BrowserSendComponentState>) {
if (json == null) {
@ -22,7 +13,6 @@ export class BrowserSendComponentState extends BrowserComponentState {
return Object.assign(new BrowserSendComponentState(), json, {
sends: json.sends?.map((s) => SendView.fromJSON(s)),
typeCounts: Utils.recordToMap(json.typeCounts),
});
}
}

View File

@ -5,16 +5,11 @@ import MainBackground from "../background/main.background";
import { BrowserApi } from "./browser/browser-api";
const logService = new ConsoleLogService(false);
if (BrowserApi.isManifestVersion(3)) {
startHeartbeat().catch((error) => logService.error(error));
}
const bitwardenMain = ((self as any).bitwardenMain = new MainBackground());
bitwardenMain
.bootstrap()
.then(() => {
// Finished bootstrapping
if (BrowserApi.isManifestVersion(3)) {
startHeartbeat().catch((error) => logService.error(error));
}
})
.catch((error) => logService.error(error));
bitwardenMain.bootstrap().catch((error) => logService.error(error));
/**
* Tracks when a service worker was last alive and extends the service worker

View File

@ -0,0 +1,19 @@
import { BrowserScriptInjectorService } from "../../services/browser-script-injector.service";
import { CachedServices, FactoryOptions, factory } from "./factory-options";
type BrowserScriptInjectorServiceOptions = FactoryOptions;
export type BrowserScriptInjectorServiceInitOptions = BrowserScriptInjectorServiceOptions;
export function browserScriptInjectorServiceFactory(
cache: { browserScriptInjectorService?: BrowserScriptInjectorService } & CachedServices,
opts: BrowserScriptInjectorServiceInitOptions,
): Promise<BrowserScriptInjectorService> {
return factory(
cache,
"browserScriptInjectorService",
opts,
async () => new BrowserScriptInjectorService(),
);
}

View File

@ -4,14 +4,14 @@ import { BackgroundDerivedStateProvider } from "../../state/background-derived-s
import { CachedServices, FactoryOptions, factory } from "./factory-options";
import {
MemoryStorageServiceInitOptions,
observableMemoryStorageServiceFactory,
} from "./storage-service.factory";
StorageServiceProviderInitOptions,
storageServiceProviderFactory,
} from "./storage-service-provider.factory";
type DerivedStateProviderFactoryOptions = FactoryOptions;
export type DerivedStateProviderInitOptions = DerivedStateProviderFactoryOptions &
MemoryStorageServiceInitOptions;
StorageServiceProviderInitOptions;
export async function derivedStateProviderFactory(
cache: { derivedStateProvider?: DerivedStateProvider } & CachedServices,
@ -22,6 +22,6 @@ export async function derivedStateProviderFactory(
"derivedStateProvider",
opts,
async () =>
new BackgroundDerivedStateProvider(await observableMemoryStorageServiceFactory(cache, opts)),
new BackgroundDerivedStateProvider(await storageServiceProviderFactory(cache, opts)),
);
}

View File

@ -0,0 +1,17 @@
import { MessageSender } from "@bitwarden/common/platform/messaging";
import { CachedServices, factory, FactoryOptions } from "./factory-options";
type MessagingServiceFactoryOptions = FactoryOptions;
export type MessageSenderInitOptions = MessagingServiceFactoryOptions;
export function messageSenderFactory(
cache: { messagingService?: MessageSender } & CachedServices,
opts: MessageSenderInitOptions,
): Promise<MessageSender> {
// NOTE: Name needs to match that of MainBackground property until we delete these.
return factory(cache, "messagingService", opts, () => {
throw new Error("Not implemented, not expected to be used.");
});
}

View File

@ -1,19 +1,5 @@
import { MessagingService as AbstractMessagingService } from "@bitwarden/common/platform/abstractions/messaging.service";
import {
CachedServices,
factory,
FactoryOptions,
} from "../../background/service-factories/factory-options";
import BrowserMessagingService from "../../services/browser-messaging.service";
type MessagingServiceFactoryOptions = FactoryOptions;
export type MessagingServiceInitOptions = MessagingServiceFactoryOptions;
export function messagingServiceFactory(
cache: { messagingService?: AbstractMessagingService } & CachedServices,
opts: MessagingServiceInitOptions,
): Promise<AbstractMessagingService> {
return factory(cache, "messagingService", opts, () => new BrowserMessagingService());
}
// Export old messaging service stuff to minimize changes
export {
messageSenderFactory as messagingServiceFactory,
MessageSenderInitOptions as MessagingServiceInitOptions,
} from "./message-sender.factory";

View File

@ -30,7 +30,6 @@ import {
type StateServiceFactoryOptions = FactoryOptions & {
stateServiceOptions: {
useAccountCache?: boolean;
stateFactory: StateFactory<GlobalState, Account>;
};
};
@ -64,7 +63,6 @@ export async function stateServiceFactory(
await environmentServiceFactory(cache, opts),
await tokenServiceFactory(cache, opts),
await migrationRunnerFactory(cache, opts),
opts.stateServiceOptions.useAccountCache,
),
);
// TODO: If we run migration through a chrome installed/updated event we can turn off running migrations

View File

@ -3,6 +3,8 @@ import {
AbstractStorageService,
ObservableStorageService,
} from "@bitwarden/common/platform/abstractions/storage.service";
import { Lazy } from "@bitwarden/common/platform/misc/lazy";
import { SymmetricCryptoKey } from "@bitwarden/common/platform/models/domain/symmetric-crypto-key";
import { MemoryStorageService } from "@bitwarden/common/platform/services/memory-storage.service";
import { BrowserApi } from "../../browser/browser-api";
@ -17,6 +19,11 @@ import {
KeyGenerationServiceInitOptions,
keyGenerationServiceFactory,
} from "./key-generation-service.factory";
import { LogServiceInitOptions, logServiceFactory } from "./log-service.factory";
import {
PlatformUtilsServiceInitOptions,
platformUtilsServiceFactory,
} from "./platform-utils-service.factory";
export type DiskStorageServiceInitOptions = FactoryOptions;
export type SecureStorageServiceInitOptions = FactoryOptions;
@ -25,7 +32,9 @@ export type MemoryStorageServiceInitOptions = FactoryOptions &
EncryptServiceInitOptions &
KeyGenerationServiceInitOptions &
DiskStorageServiceInitOptions &
SessionStorageServiceInitOptions;
SessionStorageServiceInitOptions &
LogServiceInitOptions &
PlatformUtilsServiceInitOptions;
export function diskStorageServiceFactory(
cache: { diskStorageService?: AbstractStorageService } & CachedServices,
@ -63,11 +72,23 @@ export function memoryStorageServiceFactory(
return factory(cache, "memoryStorageService", opts, async () => {
if (BrowserApi.isManifestVersion(3)) {
return new LocalBackedSessionStorageService(
await encryptServiceFactory(cache, opts),
await keyGenerationServiceFactory(cache, opts),
new Lazy(async () => {
const existingKey = await (
await sessionStorageServiceFactory(cache, opts)
).get<SymmetricCryptoKey>("session-key");
if (existingKey) {
return existingKey;
}
const { derivedKey } = await (
await keyGenerationServiceFactory(cache, opts)
).createKeyWithPurpose(128, "ephemeral", "bitwarden-ephemeral");
await (await sessionStorageServiceFactory(cache, opts)).save("session-key", derivedKey);
return derivedKey;
}),
await diskStorageServiceFactory(cache, opts),
await sessionStorageServiceFactory(cache, opts),
"serviceFactories",
await encryptServiceFactory(cache, opts),
await platformUtilsServiceFactory(cache, opts),
await logServiceFactory(cache, opts),
);
}
return new MemoryStorageService();

View File

@ -0,0 +1,435 @@
/**
* MIT License
*
* Copyright (c) Federico Brigante <me@fregante.com> (https://fregante.com)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* @see https://github.com/fregante/content-scripts-register-polyfill
* @version 4.0.2
*/
import { ConsoleLogService } from "@bitwarden/common/platform/services/console-log.service";
import { BrowserApi } from "./browser-api";
let registerContentScripts: (
contentScriptOptions: browser.contentScripts.RegisteredContentScriptOptions,
callback?: (registeredContentScript: browser.contentScripts.RegisteredContentScript) => void,
) => Promise<browser.contentScripts.RegisteredContentScript>;
export async function registerContentScriptsPolyfill(
contentScriptOptions: browser.contentScripts.RegisteredContentScriptOptions,
callback?: (registeredContentScript: browser.contentScripts.RegisteredContentScript) => void,
) {
if (!registerContentScripts) {
registerContentScripts = buildRegisterContentScriptsPolyfill();
}
return registerContentScripts(contentScriptOptions, callback);
}
function buildRegisterContentScriptsPolyfill() {
const logService = new ConsoleLogService(false);
const chromeProxy = globalThis.chrome && NestedProxy<typeof globalThis.chrome>(globalThis.chrome);
const patternValidationRegex =
/^(https?|wss?|file|ftp|\*):\/\/(\*|\*\.[^*/]+|[^*/]+)\/.*$|^file:\/\/\/.*$|^resource:\/\/(\*|\*\.[^*/]+|[^*/]+)\/.*$|^about:/;
const isFirefox = globalThis.navigator?.userAgent.includes("Firefox/");
const gotScripting = Boolean(globalThis.chrome?.scripting);
const gotNavigation = typeof chrome === "object" && "webNavigation" in chrome;
function NestedProxy<T extends object>(target: T): T {
return new Proxy(target, {
get(target, prop) {
if (!target[prop as keyof T]) {
return;
}
if (typeof target[prop as keyof T] !== "function") {
return NestedProxy(target[prop as keyof T]);
}
return (...arguments_: any[]) =>
new Promise((resolve, reject) => {
target[prop as keyof T](...arguments_, (result: any) => {
if (chrome.runtime.lastError) {
reject(new Error(chrome.runtime.lastError.message));
} else {
resolve(result);
}
});
});
},
});
}
function assertValidPattern(matchPattern: string) {
if (!isValidPattern(matchPattern)) {
throw new Error(
`${matchPattern} is an invalid pattern, it must match ${String(patternValidationRegex)}`,
);
}
}
function isValidPattern(matchPattern: string) {
return matchPattern === "<all_urls>" || patternValidationRegex.test(matchPattern);
}
function getRawPatternRegex(matchPattern: string) {
assertValidPattern(matchPattern);
let [, protocol, host = "", pathname] = matchPattern.split(/(^[^:]+:[/][/])([^/]+)?/);
protocol = protocol
.replace("*", isFirefox ? "(https?|wss?)" : "https?")
.replaceAll(/[/]/g, "[/]");
if (host === "*") {
host = "[^/]+";
} else if (host) {
host = host
.replace(/^[*][.]/, "([^/]+.)*")
.replaceAll(/[.]/g, "[.]")
.replace(/[*]$/, "[^.]+");
}
pathname = pathname
.replaceAll(/[/]/g, "[/]")
.replaceAll(/[.]/g, "[.]")
.replaceAll(/[*]/g, ".*");
return "^" + protocol + host + "(" + pathname + ")?$";
}
function patternToRegex(...matchPatterns: string[]) {
if (matchPatterns.length === 0) {
return /$./;
}
if (matchPatterns.includes("<all_urls>")) {
// <all_urls> regex
return /^(https?|file|ftp):[/]+/;
}
if (matchPatterns.includes("*://*/*")) {
// all stars regex
return isFirefox ? /^(https?|wss?):[/][/][^/]+([/].*)?$/ : /^https?:[/][/][^/]+([/].*)?$/;
}
return new RegExp(matchPatterns.map((x) => getRawPatternRegex(x)).join("|"));
}
function castAllFramesTarget(target: number | { tabId: number; frameId: number }) {
if (typeof target === "object") {
return { ...target, allFrames: false };
}
return {
tabId: target,
frameId: undefined,
allFrames: true,
};
}
function castArray(possibleArray: any | any[]) {
if (Array.isArray(possibleArray)) {
return possibleArray;
}
return [possibleArray];
}
function arrayOrUndefined(value?: number) {
return value === undefined ? undefined : [value];
}
async function insertCSS(
{
tabId,
frameId,
files,
allFrames,
matchAboutBlank,
runAt,
}: {
tabId: number;
frameId?: number;
files: browser.extensionTypes.ExtensionFileOrCode[];
allFrames: boolean;
matchAboutBlank: boolean;
runAt: browser.extensionTypes.RunAt;
},
{ ignoreTargetErrors }: { ignoreTargetErrors?: boolean } = {},
) {
const everyInsertion = Promise.all(
files.map(async (content) => {
if (typeof content === "string") {
content = { file: content };
}
if (gotScripting) {
return chrome.scripting.insertCSS({
target: {
tabId,
frameIds: arrayOrUndefined(frameId),
allFrames: frameId === undefined ? allFrames : undefined,
},
files: "file" in content ? [content.file] : undefined,
css: "code" in content ? content.code : undefined,
});
}
return chromeProxy.tabs.insertCSS(tabId, {
...content,
matchAboutBlank,
allFrames,
frameId,
runAt: runAt ?? "document_start",
});
}),
);
if (ignoreTargetErrors) {
await catchTargetInjectionErrors(everyInsertion);
} else {
await everyInsertion;
}
}
function assertNoCode(files: browser.extensionTypes.ExtensionFileOrCode[]) {
if (files.some((content) => "code" in content)) {
throw new Error("chrome.scripting does not support injecting strings of `code`");
}
}
async function executeScript(
{
tabId,
frameId,
files,
allFrames,
matchAboutBlank,
runAt,
}: {
tabId: number;
frameId?: number;
files: browser.extensionTypes.ExtensionFileOrCode[];
allFrames: boolean;
matchAboutBlank: boolean;
runAt: browser.extensionTypes.RunAt;
},
{ ignoreTargetErrors }: { ignoreTargetErrors?: boolean } = {},
) {
const normalizedFiles = files.map((file) => (typeof file === "string" ? { file } : file));
if (gotScripting) {
assertNoCode(normalizedFiles);
const injection = chrome.scripting.executeScript({
target: {
tabId,
frameIds: arrayOrUndefined(frameId),
allFrames: frameId === undefined ? allFrames : undefined,
},
files: normalizedFiles.map(({ file }: { file: string }) => file),
});
if (ignoreTargetErrors) {
await catchTargetInjectionErrors(injection);
} else {
await injection;
}
return;
}
const executions = [];
for (const content of normalizedFiles) {
if ("code" in content) {
await executions.at(-1);
}
executions.push(
chromeProxy.tabs.executeScript(tabId, {
...content,
matchAboutBlank,
allFrames,
frameId,
runAt,
}),
);
}
if (ignoreTargetErrors) {
await catchTargetInjectionErrors(Promise.all(executions));
} else {
await Promise.all(executions);
}
}
async function injectContentScript(
where: { tabId: number; frameId: number },
scripts: {
css: browser.extensionTypes.ExtensionFileOrCode[];
js: browser.extensionTypes.ExtensionFileOrCode[];
matchAboutBlank: boolean;
runAt: browser.extensionTypes.RunAt;
},
options = {},
) {
const targets = castArray(where);
await Promise.all(
targets.map(async (target) =>
injectContentScriptInSpecificTarget(castAllFramesTarget(target), scripts, options),
),
);
}
async function injectContentScriptInSpecificTarget(
{ frameId, tabId, allFrames }: { frameId?: number; tabId: number; allFrames: boolean },
scripts: {
css: browser.extensionTypes.ExtensionFileOrCode[];
js: browser.extensionTypes.ExtensionFileOrCode[];
matchAboutBlank: boolean;
runAt: browser.extensionTypes.RunAt;
},
options = {},
) {
const injections = castArray(scripts).flatMap((script) => [
insertCSS(
{
tabId,
frameId,
allFrames,
files: script.css ?? [],
matchAboutBlank: script.matchAboutBlank ?? script.match_about_blank,
runAt: script.runAt ?? script.run_at,
},
options,
),
executeScript(
{
tabId,
frameId,
allFrames,
files: script.js ?? [],
matchAboutBlank: script.matchAboutBlank ?? script.match_about_blank,
runAt: script.runAt ?? script.run_at,
},
options,
),
]);
await Promise.all(injections);
}
async function catchTargetInjectionErrors(promise: Promise<any>) {
try {
await promise;
} catch (error) {
const targetErrors =
/^No frame with id \d+ in tab \d+.$|^No tab with id: \d+.$|^The tab was closed.$|^The frame was removed.$/;
if (!targetErrors.test(error?.message)) {
throw error;
}
}
}
async function isOriginPermitted(url: string) {
return chromeProxy.permissions.contains({
origins: [new URL(url).origin + "/*"],
});
}
return async (
contentScriptOptions: browser.contentScripts.RegisteredContentScriptOptions,
callback: CallableFunction,
) => {
const {
js = [],
css = [],
matchAboutBlank,
matches = [],
excludeMatches,
runAt,
} = contentScriptOptions;
let { allFrames } = contentScriptOptions;
if (gotNavigation) {
allFrames = false;
} else if (allFrames) {
logService.warning(
"`allFrames: true` requires the `webNavigation` permission to work correctly: https://github.com/fregante/content-scripts-register-polyfill#permissions",
);
}
if (matches.length === 0) {
throw new Error(
"Type error for parameter contentScriptOptions (Error processing matches: Array requires at least 1 items; you have 0) for contentScripts.register.",
);
}
await Promise.all(
matches.map(async (pattern: string) => {
if (!(await chromeProxy.permissions.contains({ origins: [pattern] }))) {
throw new Error(`Permission denied to register a content script for ${pattern}`);
}
}),
);
const matchesRegex = patternToRegex(...matches);
const excludeMatchesRegex = patternToRegex(
...(excludeMatches !== null && excludeMatches !== void 0 ? excludeMatches : []),
);
const inject = async (url: string, tabId: number, frameId = 0) => {
if (
!matchesRegex.test(url) ||
excludeMatchesRegex.test(url) ||
!(await isOriginPermitted(url))
) {
return;
}
await injectContentScript(
{ tabId, frameId },
{ css, js, matchAboutBlank, runAt },
{ ignoreTargetErrors: true },
);
};
const tabListener = async (
tabId: number,
{ status }: chrome.tabs.TabChangeInfo,
{ url }: chrome.tabs.Tab,
) => {
if (status === "loading" && url) {
void inject(url, tabId);
}
};
const navListener = async ({
tabId,
frameId,
url,
}: chrome.webNavigation.WebNavigationTransitionCallbackDetails) => {
void inject(url, tabId, frameId);
};
if (gotNavigation) {
BrowserApi.addListener(chrome.webNavigation.onCommitted, navListener);
} else {
BrowserApi.addListener(chrome.tabs.onUpdated, tabListener);
}
const registeredContentScript = {
async unregister() {
if (gotNavigation) {
chrome.webNavigation.onCommitted.removeListener(navListener);
} else {
chrome.tabs.onUpdated.removeListener(tabListener);
}
},
};
if (typeof callback === "function") {
callback(registeredContentScript);
}
return registeredContentScript;
};
}

View File

@ -550,4 +550,35 @@ describe("BrowserApi", () => {
expect(callbackMock).toHaveBeenCalled();
});
});
describe("registerContentScriptsMv2", () => {
const details: browser.contentScripts.RegisteredContentScriptOptions = {
matches: ["<all_urls>"],
js: [{ file: "content/fido2/page-script.js" }],
};
it("registers content scripts through the `browser.contentScripts` API when the API is available", async () => {
globalThis.browser = mock<typeof browser>({
contentScripts: { register: jest.fn() },
});
await BrowserApi.registerContentScriptsMv2(details);
expect(browser.contentScripts.register).toHaveBeenCalledWith(details);
});
it("registers content scripts through the `registerContentScriptsPolyfill` when the `browser.contentScripts.register` API is not available", async () => {
globalThis.browser = mock<typeof browser>({
contentScripts: { register: undefined },
});
jest.spyOn(BrowserApi, "addListener");
await BrowserApi.registerContentScriptsMv2(details);
expect(BrowserApi.addListener).toHaveBeenCalledWith(
chrome.webNavigation.onCommitted,
expect.any(Function),
);
});
});
});

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