From 36b18c3e597e299f1619b867502a7287c503ecc2 Mon Sep 17 00:00:00 2001 From: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:05:05 -0400 Subject: [PATCH 01/31] [PM-14275] Resolve reseller & CB MSP organization owner experience for subscription page (#11797) * Fixed issue with Resellers and CB MSP Org Owners on subscription page * Hide billing sync from Families --- ...nization-subscription-cloud.component.html | 17 ++++++++-- ...ganization-subscription-cloud.component.ts | 31 ++++++++++--------- .../organization-billing-metadata.response.ts | 2 ++ 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.html b/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.html index 68090b50e55..cd95e887040 100644 --- a/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.html +++ b/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.html @@ -264,7 +264,12 @@ - +

{{ "manageSubscription" | i18n }}

{{ "manageSubscriptionFromThe" | i18n }} @@ -281,7 +286,7 @@ - +

{{ "billingManagedByProvider" | i18n: userOrg.providerName }}

@@ -303,7 +308,13 @@ -
diff --git a/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.ts b/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.ts index 591371db081..1000084df9e 100644 --- a/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.ts +++ b/apps/web/src/app/billing/organizations/organization-subscription-cloud.component.ts @@ -5,8 +5,7 @@ import { concatMap, firstValueFrom, lastValueFrom, Observable, Subject, takeUnti import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/admin-console/abstractions/organization/organization-api.service.abstraction"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; -import { ProviderService } from "@bitwarden/common/admin-console/abstractions/provider.service"; -import { OrganizationApiKeyType, ProviderStatusType } from "@bitwarden/common/admin-console/enums"; +import { OrganizationApiKeyType } from "@bitwarden/common/admin-console/enums"; import { Organization } from "@bitwarden/common/admin-console/models/domain/organization"; import { BillingApiServiceAbstraction } from "@bitwarden/common/billing/abstractions"; import { PlanType, ProductTierType } from "@bitwarden/common/billing/enums"; @@ -57,7 +56,7 @@ export class OrganizationSubscriptionCloudComponent implements OnInit, OnDestroy preSelectedProductTier: ProductTierType = ProductTierType.Free; showSubscription = true; showSelfHost = false; - providerIsOnConsolidatedBilling = false; + organizationIsManagedByConsolidatedBillingMSP = false; protected readonly subscriptionHiddenIcon = SubscriptionHiddenIcon; protected readonly teamsStarter = ProductTierType.TeamsStarter; @@ -91,7 +90,6 @@ export class OrganizationSubscriptionCloudComponent implements OnInit, OnDestroy private configService: ConfigService, private toastService: ToastService, private billingApiService: BillingApiServiceAbstraction, - private providerService: ProviderService, ) {} async ngOnInit() { @@ -134,23 +132,22 @@ export class OrganizationSubscriptionCloudComponent implements OnInit, OnDestroy const consolidatedBillingEnabled = await firstValueFrom(this.enableConsolidatedBilling$); - const provider = this.userOrg.hasProvider - ? await this.providerService.get(this.userOrg.providerId) - : null; - - this.providerIsOnConsolidatedBilling = - consolidatedBillingEnabled && provider?.providerStatus === ProviderStatusType.Billable; - const isIndependentOrganizationOwner = !this.userOrg.hasProvider && this.userOrg.isOwner; - const isProviderUser = this.userOrg.hasProvider && this.userOrg.isProviderUser; - - this.showSubscription = - isIndependentOrganizationOwner || (isProviderUser && !this.providerIsOnConsolidatedBilling); + const isResoldOrganizationOwner = this.userOrg.hasReseller && this.userOrg.isOwner; + const isMSPUser = this.userOrg.hasProvider && this.userOrg.isProviderUser; const metadata = await this.billingApiService.getOrganizationBillingMetadata( this.organizationId, ); + this.organizationIsManagedByConsolidatedBillingMSP = + consolidatedBillingEnabled && this.userOrg.hasProvider && metadata.isManaged; + + this.showSubscription = + isIndependentOrganizationOwner || + isResoldOrganizationOwner || + (isMSPUser && !this.organizationIsManagedByConsolidatedBillingMSP); + this.showSelfHost = metadata.isEligibleForSelfHost; if (this.showSubscription) { @@ -525,6 +522,10 @@ export class OrganizationSubscriptionCloudComponent implements OnInit, OnDestroy get showChangePlanButton() { return this.sub.plan.productTier !== ProductTierType.Enterprise && !this.showChangePlan; } + + get canUseBillingSync() { + return this.userOrg.productTierType === ProductTierType.Enterprise; + } } /** diff --git a/libs/common/src/billing/models/response/organization-billing-metadata.response.ts b/libs/common/src/billing/models/response/organization-billing-metadata.response.ts index 4831d290698..3d846e6c987 100644 --- a/libs/common/src/billing/models/response/organization-billing-metadata.response.ts +++ b/libs/common/src/billing/models/response/organization-billing-metadata.response.ts @@ -2,11 +2,13 @@ import { BaseResponse } from "../../../models/response/base.response"; export class OrganizationBillingMetadataResponse extends BaseResponse { isEligibleForSelfHost: boolean; + isManaged: boolean; isOnSecretsManagerStandalone: boolean; constructor(response: any) { super(response); this.isEligibleForSelfHost = this.getResponseProperty("IsEligibleForSelfHost"); + this.isManaged = this.getResponseProperty("IsManaged"); this.isOnSecretsManagerStandalone = this.getResponseProperty("IsOnSecretsManagerStandalone"); } } From 97cd0d492cea391a3891cce075b2ffac6eb2a4b5 Mon Sep 17 00:00:00 2001 From: "bw-ghapp[bot]" <178206702+bw-ghapp[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:34:03 +0000 Subject: [PATCH 02/31] Bumped client version(s) (#11805) Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com> --- apps/web/package.json | 2 +- package-lock.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/package.json b/apps/web/package.json index 05ce76f524a..21274fbd804 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@bitwarden/web-vault", - "version": "2024.10.4", + "version": "2024.10.5", "scripts": { "build:oss": "webpack", "build:bit": "webpack -c ../../bitwarden_license/bit-web/webpack.config.js", diff --git a/package-lock.json b/package-lock.json index d375daa4e81..0ee9dd7ef79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -248,7 +248,7 @@ }, "apps/web": { "name": "@bitwarden/web-vault", - "version": "2024.10.4" + "version": "2024.10.5" }, "libs/admin-console": { "name": "@bitwarden/admin-console", From e00f22879c0ccd5deb9f9513bc63bc1cba45a08a Mon Sep 17 00:00:00 2001 From: Jordan Aasen <166539328+jaasen-livefront@users.noreply.github.com> Date: Thu, 31 Oct 2024 09:34:26 -0700 Subject: [PATCH 03/31] [PM-13947] - guard against call to undefined onSubmit (#11795) * guard against call to undefined function * revert input optional --- apps/web/src/app/billing/shared/payment/payment-v2.component.ts | 2 +- .../shared/verify-bank-account/verify-bank-account.component.ts | 2 +- .../manage-tax-information/manage-tax-information.component.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/web/src/app/billing/shared/payment/payment-v2.component.ts b/apps/web/src/app/billing/shared/payment/payment-v2.component.ts index 6c12b14cf0d..c5ce4eac400 100644 --- a/apps/web/src/app/billing/shared/payment/payment-v2.component.ts +++ b/apps/web/src/app/billing/shared/payment/payment-v2.component.ts @@ -93,7 +93,7 @@ export class PaymentV2Component implements OnInit, OnDestroy { protected submit = async () => { const { type, token } = await this.tokenize(); - await this.onSubmit({ type, token }); + await this.onSubmit?.({ type, token }); this.submitted.emit(type); }; diff --git a/apps/web/src/app/billing/shared/verify-bank-account/verify-bank-account.component.ts b/apps/web/src/app/billing/shared/verify-bank-account/verify-bank-account.component.ts index 5a6a7b0cf3d..2f9e34f877b 100644 --- a/apps/web/src/app/billing/shared/verify-bank-account/verify-bank-account.component.ts +++ b/apps/web/src/app/billing/shared/verify-bank-account/verify-bank-account.component.ts @@ -35,7 +35,7 @@ export class VerifyBankAccountComponent { this.formGroup.value.amount1, this.formGroup.value.amount2, ); - await this.onSubmit(request); + await this.onSubmit?.(request); this.submitted.emit(); }; } diff --git a/libs/angular/src/billing/components/manage-tax-information/manage-tax-information.component.ts b/libs/angular/src/billing/components/manage-tax-information/manage-tax-information.component.ts index f048cf0d360..e73a6968607 100644 --- a/libs/angular/src/billing/components/manage-tax-information/manage-tax-information.component.ts +++ b/libs/angular/src/billing/components/manage-tax-information/manage-tax-information.component.ts @@ -46,7 +46,7 @@ export class ManageTaxInformationComponent implements OnInit, OnDestroy { if (this.formGroup.invalid) { return; } - await this.onSubmit(this.taxInformation); + await this.onSubmit?.(this.taxInformation); this.taxInformationUpdated.emit(); }; From 6d8b1314a54c4b28dbac7d804218b008d7df103d Mon Sep 17 00:00:00 2001 From: Jordan Aasen <166539328+jaasen-livefront@users.noreply.github.com> Date: Thu, 31 Oct 2024 09:34:40 -0700 Subject: [PATCH 04/31] add error summary to organization plans (#11778) --- .../app/billing/organizations/organization-plans.component.html | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/web/src/app/billing/organizations/organization-plans.component.html b/apps/web/src/app/billing/organizations/organization-plans.component.html index 16c5259e8ac..e1b74abea71 100644 --- a/apps/web/src/app/billing/organizations/organization-plans.component.html +++ b/apps/web/src/app/billing/organizations/organization-plans.component.html @@ -489,5 +489,6 @@ > {{ "cancel" | i18n }} + From eb510570da3cd34c43202f414ab722cb8962c771 Mon Sep 17 00:00:00 2001 From: Jordan Aasen <166539328+jaasen-livefront@users.noreply.github.com> Date: Thu, 31 Oct 2024 09:34:59 -0700 Subject: [PATCH 05/31] fix header in billing sync dialog (#11777) --- .../billing/organizations/billing-sync-api-key.component.html | 4 ++-- .../app/billing/organizations/billing-sync-key.component.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/web/src/app/billing/organizations/billing-sync-api-key.component.html b/apps/web/src/app/billing/organizations/billing-sync-api-key.component.html index 4857a43a1ca..a09000ef55f 100644 --- a/apps/web/src/app/billing/organizations/billing-sync-api-key.component.html +++ b/apps/web/src/app/billing/organizations/billing-sync-api-key.component.html @@ -1,8 +1,8 @@
-

+ {{ (hasBillingToken ? "viewBillingToken" : "generateBillingToken") | i18n }} -

+
diff --git a/apps/web/src/app/billing/organizations/billing-sync-key.component.html b/apps/web/src/app/billing/organizations/billing-sync-key.component.html index 5f6b8482875..9736351deca 100644 --- a/apps/web/src/app/billing/organizations/billing-sync-key.component.html +++ b/apps/web/src/app/billing/organizations/billing-sync-key.component.html @@ -1,8 +1,8 @@ -

+ {{ "manageBillingTokenSync" | i18n }} -

+

{{ "billingSyncKeyDesc" | i18n }}

From af401af778ff0acbccc1d53ff5919d468029bfb4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:49:13 +0000 Subject: [PATCH 06/31] Autosync the updated translations (#11806) Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com> --- apps/desktop/src/locales/af/messages.json | 17 +++++-- apps/desktop/src/locales/ar/messages.json | 17 +++++-- apps/desktop/src/locales/az/messages.json | 17 +++++-- apps/desktop/src/locales/be/messages.json | 17 +++++-- apps/desktop/src/locales/bg/messages.json | 17 +++++-- apps/desktop/src/locales/bn/messages.json | 17 +++++-- apps/desktop/src/locales/bs/messages.json | 17 +++++-- apps/desktop/src/locales/ca/messages.json | 17 +++++-- apps/desktop/src/locales/cs/messages.json | 17 +++++-- apps/desktop/src/locales/cy/messages.json | 17 +++++-- apps/desktop/src/locales/da/messages.json | 17 +++++-- apps/desktop/src/locales/de/messages.json | 17 +++++-- apps/desktop/src/locales/el/messages.json | 39 ++++++++++------ apps/desktop/src/locales/en_GB/messages.json | 17 +++++-- apps/desktop/src/locales/en_IN/messages.json | 17 +++++-- apps/desktop/src/locales/eo/messages.json | 17 +++++-- apps/desktop/src/locales/es/messages.json | 17 +++++-- apps/desktop/src/locales/et/messages.json | 17 +++++-- apps/desktop/src/locales/eu/messages.json | 17 +++++-- apps/desktop/src/locales/fa/messages.json | 17 +++++-- apps/desktop/src/locales/fi/messages.json | 47 ++++++++++++-------- apps/desktop/src/locales/fil/messages.json | 17 +++++-- apps/desktop/src/locales/fr/messages.json | 17 +++++-- apps/desktop/src/locales/gl/messages.json | 17 +++++-- apps/desktop/src/locales/he/messages.json | 17 +++++-- apps/desktop/src/locales/hi/messages.json | 17 +++++-- apps/desktop/src/locales/hr/messages.json | 17 +++++-- apps/desktop/src/locales/hu/messages.json | 17 +++++-- apps/desktop/src/locales/id/messages.json | 17 +++++-- apps/desktop/src/locales/it/messages.json | 43 +++++++++++------- apps/desktop/src/locales/ja/messages.json | 17 +++++-- apps/desktop/src/locales/ka/messages.json | 17 +++++-- apps/desktop/src/locales/km/messages.json | 17 +++++-- apps/desktop/src/locales/kn/messages.json | 17 +++++-- apps/desktop/src/locales/ko/messages.json | 17 +++++-- apps/desktop/src/locales/lt/messages.json | 17 +++++-- apps/desktop/src/locales/lv/messages.json | 17 +++++-- apps/desktop/src/locales/me/messages.json | 17 +++++-- apps/desktop/src/locales/ml/messages.json | 17 +++++-- apps/desktop/src/locales/mr/messages.json | 17 +++++-- apps/desktop/src/locales/my/messages.json | 17 +++++-- apps/desktop/src/locales/nb/messages.json | 17 +++++-- apps/desktop/src/locales/ne/messages.json | 17 +++++-- apps/desktop/src/locales/nl/messages.json | 17 +++++-- apps/desktop/src/locales/nn/messages.json | 17 +++++-- apps/desktop/src/locales/or/messages.json | 17 +++++-- apps/desktop/src/locales/pl/messages.json | 17 +++++-- apps/desktop/src/locales/pt_BR/messages.json | 17 +++++-- apps/desktop/src/locales/pt_PT/messages.json | 17 +++++-- apps/desktop/src/locales/ro/messages.json | 17 +++++-- apps/desktop/src/locales/ru/messages.json | 17 +++++-- apps/desktop/src/locales/si/messages.json | 17 +++++-- apps/desktop/src/locales/sk/messages.json | 17 +++++-- apps/desktop/src/locales/sl/messages.json | 17 +++++-- apps/desktop/src/locales/sr/messages.json | 17 +++++-- apps/desktop/src/locales/sv/messages.json | 17 +++++-- apps/desktop/src/locales/te/messages.json | 17 +++++-- apps/desktop/src/locales/th/messages.json | 17 +++++-- apps/desktop/src/locales/tr/messages.json | 17 +++++-- apps/desktop/src/locales/uk/messages.json | 17 +++++-- apps/desktop/src/locales/vi/messages.json | 17 +++++-- apps/desktop/src/locales/zh_CN/messages.json | 17 +++++-- apps/desktop/src/locales/zh_TW/messages.json | 17 +++++-- 63 files changed, 921 insertions(+), 228 deletions(-) diff --git a/apps/desktop/src/locales/af/messages.json b/apps/desktop/src/locales/af/messages.json index 3edb68bf84b..3b7701c5d67 100644 --- a/apps/desktop/src/locales/af/messages.json +++ b/apps/desktop/src/locales/af/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Gebruikersnaamtipe" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Meld aan op" - }, "selfHostedServer": { "message": "self-gehuisves" }, diff --git a/apps/desktop/src/locales/ar/messages.json b/apps/desktop/src/locales/ar/messages.json index f44b58a9783..6c4b52797b7 100644 --- a/apps/desktop/src/locales/ar/messages.json +++ b/apps/desktop/src/locales/ar/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "نوع اسم المستخدم" }, @@ -2790,9 +2804,6 @@ "message": "الاتحاد الأوروبي", "description": "European Union" }, - "loggingInOn": { - "message": "جارٍ تسجيل الدخول" - }, "selfHostedServer": { "message": "استضافة ذاتية" }, diff --git a/apps/desktop/src/locales/az/messages.json b/apps/desktop/src/locales/az/messages.json index be9cf33d4f1..5a5bac19bc1 100644 --- a/apps/desktop/src/locales/az/messages.json +++ b/apps/desktop/src/locales/az/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "E-poçt yarat" }, + "generatorBoundariesHint": { + "message": "Dəyər $MIN$-$MAX$ arasında olmalıdır", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "İstifadəçi adı növü" }, @@ -2790,9 +2804,6 @@ "message": "AB", "description": "European Union" }, - "loggingInOn": { - "message": "Giriş edilir" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/be/messages.json b/apps/desktop/src/locales/be/messages.json index bd65ddfe44d..3ed643aec14 100644 --- a/apps/desktop/src/locales/be/messages.json +++ b/apps/desktop/src/locales/be/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тып імя карыстальніка" }, @@ -2790,9 +2804,6 @@ "message": "ЕС", "description": "European Union" }, - "loggingInOn": { - "message": "Увайсці на" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/bg/messages.json b/apps/desktop/src/locales/bg/messages.json index 563eaf2ebac..b60ac35472d 100644 --- a/apps/desktop/src/locales/bg/messages.json +++ b/apps/desktop/src/locales/bg/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Генериране на електронна поща" }, + "generatorBoundariesHint": { + "message": "Стойността трябва да бъде между $MIN$ и $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип потребителско име" }, @@ -2790,9 +2804,6 @@ "message": "ЕС", "description": "European Union" }, - "loggingInOn": { - "message": "Вписване в" - }, "selfHostedServer": { "message": "собствен хостинг" }, diff --git a/apps/desktop/src/locales/bn/messages.json b/apps/desktop/src/locales/bn/messages.json index 3428ee822a6..cc824c57f69 100644 --- a/apps/desktop/src/locales/bn/messages.json +++ b/apps/desktop/src/locales/bn/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/bs/messages.json b/apps/desktop/src/locales/bs/messages.json index c362bcd52c2..9de9617c8b3 100644 --- a/apps/desktop/src/locales/bs/messages.json +++ b/apps/desktop/src/locales/bs/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/ca/messages.json b/apps/desktop/src/locales/ca/messages.json index b9de40707e2..39791d09a2b 100644 --- a/apps/desktop/src/locales/ca/messages.json +++ b/apps/desktop/src/locales/ca/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipus de nom d'usuari" }, @@ -2790,9 +2804,6 @@ "message": "UE", "description": "European Union" }, - "loggingInOn": { - "message": "Inici de sessió en" - }, "selfHostedServer": { "message": "autoallotjat" }, diff --git a/apps/desktop/src/locales/cs/messages.json b/apps/desktop/src/locales/cs/messages.json index c9bec3558d5..555014f09a1 100644 --- a/apps/desktop/src/locales/cs/messages.json +++ b/apps/desktop/src/locales/cs/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Vygenerovat e-mail" }, + "generatorBoundariesHint": { + "message": "Hodnota musí být mezi $MIN$ a $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Typ uživatelského jména" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Přihlašování na" - }, "selfHostedServer": { "message": "vlastní hosting" }, diff --git a/apps/desktop/src/locales/cy/messages.json b/apps/desktop/src/locales/cy/messages.json index 3c448f9ffc6..8d8e807026d 100644 --- a/apps/desktop/src/locales/cy/messages.json +++ b/apps/desktop/src/locales/cy/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/da/messages.json b/apps/desktop/src/locales/da/messages.json index 1216977ff1d..a4bb7ce4e4a 100644 --- a/apps/desktop/src/locales/da/messages.json +++ b/apps/desktop/src/locales/da/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generér e-mail" }, + "generatorBoundariesHint": { + "message": "Værdi skal være mellem $MIN$ og $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Brugernavnstype" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logger ind på" - }, "selfHostedServer": { "message": "selv-hostet" }, diff --git a/apps/desktop/src/locales/de/messages.json b/apps/desktop/src/locales/de/messages.json index 4efe97bfe84..6e7282b9a81 100644 --- a/apps/desktop/src/locales/de/messages.json +++ b/apps/desktop/src/locales/de/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "E-Mail generieren" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Benutzernamentyp" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Anmelden bei" - }, "selfHostedServer": { "message": "selbst gehostet" }, diff --git a/apps/desktop/src/locales/el/messages.json b/apps/desktop/src/locales/el/messages.json index aecc067645b..ed067effeb2 100644 --- a/apps/desktop/src/locales/el/messages.json +++ b/apps/desktop/src/locales/el/messages.json @@ -36,7 +36,7 @@ "message": "Αναζήτηση κρύπτης" }, "addItem": { - "message": "Προσθήκη αντικειμένου" + "message": "Προσθήκη στοιχείου" }, "shared": { "message": "Κοινοποιήθηκε" @@ -70,7 +70,7 @@ "message": "Συνημμένα" }, "viewItem": { - "message": "Προβολή αντικειμένου" + "message": "Προβολή στοιχείου" }, "name": { "message": "Όνομα" @@ -101,7 +101,7 @@ "message": "Συνθηματικό" }, "editItem": { - "message": "Επεξεργασία αντικειμένου" + "message": "Επεξεργασία στοιχείου" }, "emailAddress": { "message": "Διεύθυνση ηλ. ταχυδρομείου" @@ -924,7 +924,7 @@ "message": "Νέα σύνδεση" }, "addNewItem": { - "message": "Νέο αντικείμενο" + "message": "Νέο στοιχείο" }, "addNewFolder": { "message": "Νέος φάκελος" @@ -951,7 +951,7 @@ "message": "Βοήθεια και σχόλια" }, "getHelp": { - "message": "Ζητήστε βοήθεια" + "message": "Λήψη βοήθειας" }, "fileBugReport": { "message": "Καταγράψτε μια αναφορά σφάλματος" @@ -1318,7 +1318,7 @@ "message": "Επιτυχής ανανέωση" }, "passwordHistory": { - "message": "Ιστορικό κωδικού" + "message": "Ιστορικό κωδικού πρόσβασης" }, "clear": { "message": "Εκκαθάριση", @@ -1494,7 +1494,7 @@ "description": "ex. Date this item was created" }, "datePasswordUpdated": { - "message": "Ο κωδικός ενημερώθηκε", + "message": "Ο κωδικός πρόσβασης ενημερώθηκε", "description": "ex. Date this password was updated" }, "exportFrom": { @@ -1993,7 +1993,7 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "myVault": { - "message": "Το θησαυ/κιό μου" + "message": "Η κρύπτη μου" }, "text": { "message": "Κείμενο" @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Δημιουργία διεύθυνσης ηλ. ταχυδρομείου" }, + "generatorBoundariesHint": { + "message": "Η τιμή πρέπει να είναι μεταξύ $MIN$ και $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Τύπος ονόματος χρήστη" }, @@ -2569,7 +2583,7 @@ "message": "Είστε βέβαιοι ότι θέλετε να χρησιμοποιήσετε την επιλογή \"Ποτέ\"; Ο ορισμός των επιλογών κλειδώματος σε \"Ποτέ\" αποθηκεύει το κλειδί κρυπτογράφησης του θησαυ/κίου σας στη συσκευή σας. Εάν χρησιμοποιήσετε αυτήν την επιλογή, θα πρέπει να διασφαλίσετε ότι θα διατηρείτε τη συσκευή σας κατάλληλα προστατευμένη." }, "vault": { - "message": "Θησαυ/κιο" + "message": "Κρύπτη" }, "loginWithMasterPassword": { "message": "Συνδεθείτε με τον κύριο κωδικό πρόσβασης" @@ -2581,7 +2595,7 @@ "message": "Απομνημόνευση διεύθυνσης ηλ. ταχυδρομείου" }, "notYou": { - "message": "Όχι εσείς;" + "message": "Δεν είστε εσείς;" }, "newAroundHere": { "message": "Είστε νέος/α εδώ;" @@ -2712,7 +2726,7 @@ "message": "Κανένα μήνυμα ηλ. ταχυδρομείου;" }, "goBack": { - "message": "Μετάβαση πίσω" + "message": "Επιστροφή" }, "toEditYourEmailAddress": { "message": "για να επεξεργαστείτε τη διεύθυνση ηλ. ταχυδρομείου σας." @@ -2790,9 +2804,6 @@ "message": "ΕΕ", "description": "European Union" }, - "loggingInOn": { - "message": "Σύνδεση σε" - }, "selfHostedServer": { "message": "αυτο-φιλοξενούμενο" }, diff --git a/apps/desktop/src/locales/en_GB/messages.json b/apps/desktop/src/locales/en_GB/messages.json index 8602bb635e3..5c994e8ba56 100644 --- a/apps/desktop/src/locales/en_GB/messages.json +++ b/apps/desktop/src/locales/en_GB/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/en_IN/messages.json b/apps/desktop/src/locales/en_IN/messages.json index cd8a1f42bdd..34e269d5d70 100644 --- a/apps/desktop/src/locales/en_IN/messages.json +++ b/apps/desktop/src/locales/en_IN/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/eo/messages.json b/apps/desktop/src/locales/eo/messages.json index eaa6f7ad594..b6500674e44 100644 --- a/apps/desktop/src/locales/eo/messages.json +++ b/apps/desktop/src/locales/eo/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/es/messages.json b/apps/desktop/src/locales/es/messages.json index 36d019b03c7..1bdc8ab8340 100644 --- a/apps/desktop/src/locales/es/messages.json +++ b/apps/desktop/src/locales/es/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo de nombre de usuario" }, @@ -2790,9 +2804,6 @@ "message": "Unión Europea", "description": "European Union" }, - "loggingInOn": { - "message": "Iniciando sesión en" - }, "selfHostedServer": { "message": "autoalojado" }, diff --git a/apps/desktop/src/locales/et/messages.json b/apps/desktop/src/locales/et/messages.json index 6700efbd174..c129a6c4bb0 100644 --- a/apps/desktop/src/locales/et/messages.json +++ b/apps/desktop/src/locales/et/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Kasutajanime tüüp" }, @@ -2790,9 +2804,6 @@ "message": "EL", "description": "European Union" }, - "loggingInOn": { - "message": "Login sisse aadressil" - }, "selfHostedServer": { "message": "ise majutatud" }, diff --git a/apps/desktop/src/locales/eu/messages.json b/apps/desktop/src/locales/eu/messages.json index d6c00e2e9db..46d29321515 100644 --- a/apps/desktop/src/locales/eu/messages.json +++ b/apps/desktop/src/locales/eu/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Erabiltzaile izen mota" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/fa/messages.json b/apps/desktop/src/locales/fa/messages.json index 90e44caec98..65ad1be1cbb 100644 --- a/apps/desktop/src/locales/fa/messages.json +++ b/apps/desktop/src/locales/fa/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "نوع نام کاربری" }, @@ -2790,9 +2804,6 @@ "message": "اروپا", "description": "European Union" }, - "loggingInOn": { - "message": "ورود با" - }, "selfHostedServer": { "message": "خود میزبان" }, diff --git a/apps/desktop/src/locales/fi/messages.json b/apps/desktop/src/locales/fi/messages.json index f49773d5216..063a63b1aca 100644 --- a/apps/desktop/src/locales/fi/messages.json +++ b/apps/desktop/src/locales/fi/messages.json @@ -61,7 +61,7 @@ } }, "welcomeBack": { - "message": "Welcome back" + "message": "Tervetuloa takaisin" }, "moveToOrgDesc": { "message": "Valitse organisaatio, jolle haluat siirtää kohteen. Tämä siirtää kohteen organisaation omistukseen, etkä tämän jälkeen ole enää sen suora omistaja." @@ -263,7 +263,7 @@ "message": "Luo salasana" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "Luo salalause" }, "type": { "message": "Tyyppi" @@ -401,7 +401,7 @@ "message": "Kopioi salasana" }, "copyPassphrase": { - "message": "Copy passphrase", + "message": "Kopioi salalause", "description": "Copy passphrase to clipboard" }, "copyUri": { @@ -558,7 +558,7 @@ "message": "Luo tili" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Oletko uusi Bitwardenissa?" }, "setAStrongPassword": { "message": "Aseta vahva salasana" @@ -570,16 +570,16 @@ "message": "Kirjaudu" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "Kirjaudu Bitwardeniin" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Kirjaudu pääsyavaimella" }, "loginWithDevice": { - "message": "Log in with device" + "message": "Kirjaudu laitteella" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "Käytä kertakirjautumista" }, "submit": { "message": "Jatka" @@ -854,7 +854,7 @@ "message": "Palvelimen URL" }, "selfHostBaseUrl": { - "message": "Self-host server URL", + "message": "Itse ylläpidetyn palvelimen URL-osoite", "description": "Label for field requesting a self-hosted integration service URL" }, "apiUrl": { @@ -1248,7 +1248,7 @@ "description": "Copy credit card number" }, "copyEmail": { - "message": "Copy email" + "message": "Kopioi sähköpostiosoite" }, "copySecurityCode": { "message": "Kopioi turvakoodi", @@ -1684,10 +1684,10 @@ "message": "Tilin poisto on pysyvä toimenpide, eikä sen peruminen ole mahdollista." }, "cannotDeleteAccount": { - "message": "Cannot delete account" + "message": "Tiliä ei voi poistaa" }, "cannotDeleteAccountDesc": { - "message": "This action cannot be completed because your account is owned by an organization. Contact your organization administrator for additional details." + "message": "Tätä toimintoa ei voida suorittaa, koska tilisi on organisaation omistama. Ota yhteyttä organisaation ylläpitäjään saadaksesi lisätietoja." }, "accountDeleted": { "message": "Tili poistettiin" @@ -2391,7 +2391,21 @@ "message": "Luo käyttäjätunnus" }, "generateEmail": { - "message": "Generate email" + "message": "Luo sähköpostiosoite" + }, + "generatorBoundariesHint": { + "message": "Arvon tulee olla väliltä $MIN$ - $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } }, "usernameType": { "message": "Käyttäjätunnuksen tyyppi" @@ -2437,11 +2451,11 @@ "message": "Luo sähköpostialias ulkoisella ohjauspalvelulla." }, "forwarderDomainName": { - "message": "Email domain", + "message": "Sähköpostin verkkotunnus", "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "Choose a domain that is supported by the selected service", + "message": "Valitse verkkotunnus, jota valittu palvelu tukee", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Kirjaudutaan sijaintiin" - }, "selfHostedServer": { "message": "itse ylläpidetty" }, diff --git a/apps/desktop/src/locales/fil/messages.json b/apps/desktop/src/locales/fil/messages.json index bd9a5e3b6a8..f721bb17253 100644 --- a/apps/desktop/src/locales/fil/messages.json +++ b/apps/desktop/src/locales/fil/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Uri ng username" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/fr/messages.json b/apps/desktop/src/locales/fr/messages.json index 0ad99bd1b42..99c99150ad9 100644 --- a/apps/desktop/src/locales/fr/messages.json +++ b/apps/desktop/src/locales/fr/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "La valeur doit être comprise entre $MIN$ et $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Type de nom d'utilisateur" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Connexion sur" - }, "selfHostedServer": { "message": "auto-hébergé" }, diff --git a/apps/desktop/src/locales/gl/messages.json b/apps/desktop/src/locales/gl/messages.json index b46e4bc92cb..811885b464d 100644 --- a/apps/desktop/src/locales/gl/messages.json +++ b/apps/desktop/src/locales/gl/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/he/messages.json b/apps/desktop/src/locales/he/messages.json index addcd832076..ead5dc7384c 100644 --- a/apps/desktop/src/locales/he/messages.json +++ b/apps/desktop/src/locales/he/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "סוג שם משתמש" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/hi/messages.json b/apps/desktop/src/locales/hi/messages.json index ebc8da9613e..421c2665d4f 100644 --- a/apps/desktop/src/locales/hi/messages.json +++ b/apps/desktop/src/locales/hi/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/hr/messages.json b/apps/desktop/src/locales/hr/messages.json index 0a2c8184183..47bb80f1542 100644 --- a/apps/desktop/src/locales/hr/messages.json +++ b/apps/desktop/src/locales/hr/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tip korisničkog imena" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Prijava na" - }, "selfHostedServer": { "message": "vlastiti poslužitelj" }, diff --git a/apps/desktop/src/locales/hu/messages.json b/apps/desktop/src/locales/hu/messages.json index 5cb27e878ec..cc147ae5ead 100644 --- a/apps/desktop/src/locales/hu/messages.json +++ b/apps/desktop/src/locales/hu/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Email generálása" }, + "generatorBoundariesHint": { + "message": "Az érték legyen $MIN$ és $MAX$ között.", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Felhasználónév típusa" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Bejelentkezés:" - }, "selfHostedServer": { "message": "saját üzemeltetésű" }, diff --git a/apps/desktop/src/locales/id/messages.json b/apps/desktop/src/locales/id/messages.json index 6b9bb099b9f..a5aeb3e4f40 100644 --- a/apps/desktop/src/locales/id/messages.json +++ b/apps/desktop/src/locales/id/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Jenis nama pengguna" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/it/messages.json b/apps/desktop/src/locales/it/messages.json index 8baf948dfd8..92732544785 100644 --- a/apps/desktop/src/locales/it/messages.json +++ b/apps/desktop/src/locales/it/messages.json @@ -245,7 +245,7 @@ "message": "Mx" }, "dr": { - "message": "Dott" + "message": "Dr" }, "expirationMonth": { "message": "Mese di scadenza" @@ -499,7 +499,7 @@ "description": "Label for the avoid ambiguous characters checkbox." }, "generatorPolicyInEffect": { - "message": "I requisiti di politica aziendale sono stati applicati alle opzioni del generatore.", + "message": "I requisiti della politica aziendale sono stati applicati alle tue opzioni del generatore.", "description": "Indicates that a policy limits the credential generator screen." }, "searchCollection": { @@ -552,7 +552,7 @@ "message": "Cartella eliminata" }, "loginOrCreateNewAccount": { - "message": "Accedi o crea un nuovo account per aprire la tua cassaforte." + "message": "Entra o crea un nuovo account per accedere alla tua cassaforte." }, "createAccount": { "message": "Crea account" @@ -573,13 +573,13 @@ "message": "Log in to Bitwarden" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Accedi con passkey" }, "loginWithDevice": { - "message": "Log in with device" + "message": "Accedi con dispositivo" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "Usa il Single Sign-On" }, "submit": { "message": "Invia" @@ -600,7 +600,7 @@ "message": "Suggerimento per la password principale (facoltativo)" }, "masterPassHintText": { - "message": "Se dimentichi la password, il suggerimento password può essere inviato alla tua email. $CURRENT$/$MAXIMUM$ massimo carattere.", + "message": "Se dimentichi la password, il suggerimento per la password ti può essere inviato via email. $CURRENT$/$MAXIMUM$ massimo carattere.", "placeholders": { "current": { "content": "$1", @@ -643,16 +643,16 @@ "message": "Impostazioni" }, "accountEmail": { - "message": "E-mail dell’account" + "message": "Email dell’account" }, "requestHint": { - "message": "Richiedi una dritta" + "message": "Richiedi suggerimento" }, "requestPasswordHint": { - "message": "Richiedi una dritta per la password" + "message": "Richiedi suggerimento per la password" }, "enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": { - "message": "Inserisci l'indirizzo e-mail dell'account e la dritta per la password ti sarà inviata" + "message": "Inserisci l'indirizzo email dell'account e ti invieremo il tuo suggerimento per la password" }, "passwordHint": { "message": "Suggerimento per la password" @@ -1684,10 +1684,10 @@ "message": "L'eliminazione del tuo account è permanente. Non può essere annullata." }, "cannotDeleteAccount": { - "message": "Cannot delete account" + "message": "Impossibile eliminare account" }, "cannotDeleteAccountDesc": { - "message": "This action cannot be completed because your account is owned by an organization. Contact your organization administrator for additional details." + "message": "Questa azione non può essere completata perché il tuo account è di proprietà di un'organizzazione. Contatta l'amministratore della tua organizzazione per dettagli." }, "accountDeleted": { "message": "Account eliminato" @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Genera e-mail" }, + "generatorBoundariesHint": { + "message": "Il valore deve essere compreso tra $MIN$ e $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo di nome utente" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Accedendo su" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/ja/messages.json b/apps/desktop/src/locales/ja/messages.json index 7f496b6de40..8024c41d83f 100644 --- a/apps/desktop/src/locales/ja/messages.json +++ b/apps/desktop/src/locales/ja/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "ユーザー名の種類" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "ログイン先" - }, "selfHostedServer": { "message": "自己ホスト型" }, diff --git a/apps/desktop/src/locales/ka/messages.json b/apps/desktop/src/locales/ka/messages.json index db8e2a814f0..fe2d8b280a1 100644 --- a/apps/desktop/src/locales/ka/messages.json +++ b/apps/desktop/src/locales/ka/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/km/messages.json b/apps/desktop/src/locales/km/messages.json index b46e4bc92cb..811885b464d 100644 --- a/apps/desktop/src/locales/km/messages.json +++ b/apps/desktop/src/locales/km/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/kn/messages.json b/apps/desktop/src/locales/kn/messages.json index 659a0475e21..e4e1f85f2b7 100644 --- a/apps/desktop/src/locales/kn/messages.json +++ b/apps/desktop/src/locales/kn/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/ko/messages.json b/apps/desktop/src/locales/ko/messages.json index ae72b61374e..f0eb10fa2a1 100644 --- a/apps/desktop/src/locales/ko/messages.json +++ b/apps/desktop/src/locales/ko/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "아이디 유형" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/lt/messages.json b/apps/desktop/src/locales/lt/messages.json index 5265bb85bf1..e065b4ebfb8 100644 --- a/apps/desktop/src/locales/lt/messages.json +++ b/apps/desktop/src/locales/lt/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Vartotojo vardo tipas" }, @@ -2790,9 +2804,6 @@ "message": "ES", "description": "European Union" }, - "loggingInOn": { - "message": "Prisijungiama prie" - }, "selfHostedServer": { "message": "savarankiškai sukurtas" }, diff --git a/apps/desktop/src/locales/lv/messages.json b/apps/desktop/src/locales/lv/messages.json index 2f3d3970fdc..264f65fc9b7 100644 --- a/apps/desktop/src/locales/lv/messages.json +++ b/apps/desktop/src/locales/lv/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Izveidot e-pastu" }, + "generatorBoundariesHint": { + "message": "Vērtībai jābūt starp $MIN$ un $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Lietotājvārda veids" }, @@ -2790,9 +2804,6 @@ "message": "ES", "description": "European Union" }, - "loggingInOn": { - "message": "Piesakās" - }, "selfHostedServer": { "message": "pašizvietots" }, diff --git a/apps/desktop/src/locales/me/messages.json b/apps/desktop/src/locales/me/messages.json index 28b522480b2..1562c6f1f4f 100644 --- a/apps/desktop/src/locales/me/messages.json +++ b/apps/desktop/src/locales/me/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/ml/messages.json b/apps/desktop/src/locales/ml/messages.json index 65b1b02f6ea..9b947278f62 100644 --- a/apps/desktop/src/locales/ml/messages.json +++ b/apps/desktop/src/locales/ml/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/mr/messages.json b/apps/desktop/src/locales/mr/messages.json index b46e4bc92cb..811885b464d 100644 --- a/apps/desktop/src/locales/mr/messages.json +++ b/apps/desktop/src/locales/mr/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/my/messages.json b/apps/desktop/src/locales/my/messages.json index fdc322353c0..e30721d1d0e 100644 --- a/apps/desktop/src/locales/my/messages.json +++ b/apps/desktop/src/locales/my/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/nb/messages.json b/apps/desktop/src/locales/nb/messages.json index be484a43c68..9459cd43eb5 100644 --- a/apps/desktop/src/locales/nb/messages.json +++ b/apps/desktop/src/locales/nb/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Brukernavntype" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logger inn på" - }, "selfHostedServer": { "message": "selvbetjent" }, diff --git a/apps/desktop/src/locales/ne/messages.json b/apps/desktop/src/locales/ne/messages.json index 59b485ac127..5182547dbc7 100644 --- a/apps/desktop/src/locales/ne/messages.json +++ b/apps/desktop/src/locales/ne/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/nl/messages.json b/apps/desktop/src/locales/nl/messages.json index 7c63cf91020..bf1aadfeccb 100644 --- a/apps/desktop/src/locales/nl/messages.json +++ b/apps/desktop/src/locales/nl/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "E-mailadres genereren" }, + "generatorBoundariesHint": { + "message": "Waarde moet tussen $MIN$ en $MAX$ liggen", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Type gebruikersnaam" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Inloggen op" - }, "selfHostedServer": { "message": "zelfgehost" }, diff --git a/apps/desktop/src/locales/nn/messages.json b/apps/desktop/src/locales/nn/messages.json index ec7751940fd..4609c02f3b7 100644 --- a/apps/desktop/src/locales/nn/messages.json +++ b/apps/desktop/src/locales/nn/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/or/messages.json b/apps/desktop/src/locales/or/messages.json index 7e31ce289ab..b38af07eb28 100644 --- a/apps/desktop/src/locales/or/messages.json +++ b/apps/desktop/src/locales/or/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/pl/messages.json b/apps/desktop/src/locales/pl/messages.json index 17ae9d3f8ac..415f1dc720b 100644 --- a/apps/desktop/src/locales/pl/messages.json +++ b/apps/desktop/src/locales/pl/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Rodzaj nazwy użytkownika" }, @@ -2790,9 +2804,6 @@ "message": "UE", "description": "European Union" }, - "loggingInOn": { - "message": "Logowanie do" - }, "selfHostedServer": { "message": "samodzielnie hostowany" }, diff --git a/apps/desktop/src/locales/pt_BR/messages.json b/apps/desktop/src/locales/pt_BR/messages.json index 6a869f4d7a6..e70618d983f 100644 --- a/apps/desktop/src/locales/pt_BR/messages.json +++ b/apps/desktop/src/locales/pt_BR/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo de usuário" }, @@ -2790,9 +2804,6 @@ "message": "Europa", "description": "European Union" }, - "loggingInOn": { - "message": "Entrando em" - }, "selfHostedServer": { "message": "auto-hospedado" }, diff --git a/apps/desktop/src/locales/pt_PT/messages.json b/apps/desktop/src/locales/pt_PT/messages.json index 0fed42cecc4..6c1d0d98eb1 100644 --- a/apps/desktop/src/locales/pt_PT/messages.json +++ b/apps/desktop/src/locales/pt_PT/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Gerar e-mail" }, + "generatorBoundariesHint": { + "message": "O valor deve estar entre $MIN$ e $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo de nome de utilizador" }, @@ -2790,9 +2804,6 @@ "message": "UE", "description": "European Union" }, - "loggingInOn": { - "message": "A iniciar sessão em" - }, "selfHostedServer": { "message": "auto-hospedado" }, diff --git a/apps/desktop/src/locales/ro/messages.json b/apps/desktop/src/locales/ro/messages.json index 130eb2f349a..b55cb01662c 100644 --- a/apps/desktop/src/locales/ro/messages.json +++ b/apps/desktop/src/locales/ro/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tip de nume de utilizator" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/ru/messages.json b/apps/desktop/src/locales/ru/messages.json index 0785d0ca3b6..feffc818e4b 100644 --- a/apps/desktop/src/locales/ru/messages.json +++ b/apps/desktop/src/locales/ru/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Сгенерировать email" }, + "generatorBoundariesHint": { + "message": "Значение должно быть между $MIN$ и $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип имени пользователя" }, @@ -2790,9 +2804,6 @@ "message": "Европа", "description": "European Union" }, - "loggingInOn": { - "message": "Войти на" - }, "selfHostedServer": { "message": "собственный хостинг" }, diff --git a/apps/desktop/src/locales/si/messages.json b/apps/desktop/src/locales/si/messages.json index 96baac32bb1..a9742d8b5ea 100644 --- a/apps/desktop/src/locales/si/messages.json +++ b/apps/desktop/src/locales/si/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/sk/messages.json b/apps/desktop/src/locales/sk/messages.json index dc802a32d13..03f4a863fb7 100644 --- a/apps/desktop/src/locales/sk/messages.json +++ b/apps/desktop/src/locales/sk/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generovať e-mail" }, + "generatorBoundariesHint": { + "message": "Hodnota musí byť medzi $MIN$ a $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Typ používateľského mena" }, @@ -2790,9 +2804,6 @@ "message": "EÚ", "description": "European Union" }, - "loggingInOn": { - "message": "Prihlásenie na" - }, "selfHostedServer": { "message": "vlastný hosting" }, diff --git a/apps/desktop/src/locales/sl/messages.json b/apps/desktop/src/locales/sl/messages.json index 7fe0c8633ce..381e34658e9 100644 --- a/apps/desktop/src/locales/sl/messages.json +++ b/apps/desktop/src/locales/sl/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/sr/messages.json b/apps/desktop/src/locales/sr/messages.json index bcb1d3f5f9f..089ed84e6ab 100644 --- a/apps/desktop/src/locales/sr/messages.json +++ b/apps/desktop/src/locales/sr/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип имена" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Пријављено на" - }, "selfHostedServer": { "message": "личан хостинг" }, diff --git a/apps/desktop/src/locales/sv/messages.json b/apps/desktop/src/locales/sv/messages.json index 5340da71b25..3ba8e329043 100644 --- a/apps/desktop/src/locales/sv/messages.json +++ b/apps/desktop/src/locales/sv/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Typ av användarnamn" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logga in på" - }, "selfHostedServer": { "message": "självhostad" }, diff --git a/apps/desktop/src/locales/te/messages.json b/apps/desktop/src/locales/te/messages.json index b46e4bc92cb..811885b464d 100644 --- a/apps/desktop/src/locales/te/messages.json +++ b/apps/desktop/src/locales/te/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/th/messages.json b/apps/desktop/src/locales/th/messages.json index 05246b87bc2..2f02f780193 100644 --- a/apps/desktop/src/locales/th/messages.json +++ b/apps/desktop/src/locales/th/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -2790,9 +2804,6 @@ "message": "EU", "description": "European Union" }, - "loggingInOn": { - "message": "Logging in on" - }, "selfHostedServer": { "message": "self-hosted" }, diff --git a/apps/desktop/src/locales/tr/messages.json b/apps/desktop/src/locales/tr/messages.json index d1c80208ef6..30626fe9dec 100644 --- a/apps/desktop/src/locales/tr/messages.json +++ b/apps/desktop/src/locales/tr/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "E-posta oluştur" }, + "generatorBoundariesHint": { + "message": "Değer $MIN$ ile $MAX$ arasında olmalıdır", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Kullanıcı adı türü" }, @@ -2790,9 +2804,6 @@ "message": "AB", "description": "European Union" }, - "loggingInOn": { - "message": "Giriş yapılan konum" - }, "selfHostedServer": { "message": "şirket içinde barındırılan" }, diff --git a/apps/desktop/src/locales/uk/messages.json b/apps/desktop/src/locales/uk/messages.json index bf03a0fa175..a191b6526da 100644 --- a/apps/desktop/src/locales/uk/messages.json +++ b/apps/desktop/src/locales/uk/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Генерувати е-пошту" }, + "generatorBoundariesHint": { + "message": "Значення має бути між $MIN$ та $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип імені користувача" }, @@ -2790,9 +2804,6 @@ "message": "ЄС", "description": "European Union" }, - "loggingInOn": { - "message": "Увійти на" - }, "selfHostedServer": { "message": "власне розміщення" }, diff --git a/apps/desktop/src/locales/vi/messages.json b/apps/desktop/src/locales/vi/messages.json index 70999e31929..3f3c680b978 100644 --- a/apps/desktop/src/locales/vi/messages.json +++ b/apps/desktop/src/locales/vi/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Loại tên người dùng" }, @@ -2790,9 +2804,6 @@ "message": "Châu Âu", "description": "European Union" }, - "loggingInOn": { - "message": "Đang đăng nhập vào" - }, "selfHostedServer": { "message": "tự lưu trữ" }, diff --git a/apps/desktop/src/locales/zh_CN/messages.json b/apps/desktop/src/locales/zh_CN/messages.json index e266b1fcaff..fc0574cc006 100644 --- a/apps/desktop/src/locales/zh_CN/messages.json +++ b/apps/desktop/src/locales/zh_CN/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "用户名类型" }, @@ -2790,9 +2804,6 @@ "message": "欧盟", "description": "European Union" }, - "loggingInOn": { - "message": "登录到" - }, "selfHostedServer": { "message": "自托管" }, diff --git a/apps/desktop/src/locales/zh_TW/messages.json b/apps/desktop/src/locales/zh_TW/messages.json index 94a8a76823d..c1c84ff912e 100644 --- a/apps/desktop/src/locales/zh_TW/messages.json +++ b/apps/desktop/src/locales/zh_TW/messages.json @@ -2393,6 +2393,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "使用者名稱類型" }, @@ -2790,9 +2804,6 @@ "message": "歐盟", "description": "European Union" }, - "loggingInOn": { - "message": "正登入到" - }, "selfHostedServer": { "message": "自架" }, From 2b6406c1a1abcd96517959835664a90edae16f26 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:52:17 +0000 Subject: [PATCH 07/31] Autosync the updated translations (#11808) Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com> --- apps/browser/src/_locales/ar/messages.json | 17 ++- apps/browser/src/_locales/az/messages.json | 17 ++- apps/browser/src/_locales/be/messages.json | 17 ++- apps/browser/src/_locales/bg/messages.json | 17 ++- apps/browser/src/_locales/bn/messages.json | 17 ++- apps/browser/src/_locales/bs/messages.json | 17 ++- apps/browser/src/_locales/ca/messages.json | 17 ++- apps/browser/src/_locales/cs/messages.json | 17 ++- apps/browser/src/_locales/cy/messages.json | 17 ++- apps/browser/src/_locales/da/messages.json | 17 ++- apps/browser/src/_locales/de/messages.json | 17 ++- apps/browser/src/_locales/el/messages.json | 21 +++- apps/browser/src/_locales/en_GB/messages.json | 17 ++- apps/browser/src/_locales/en_IN/messages.json | 17 ++- apps/browser/src/_locales/es/messages.json | 17 ++- apps/browser/src/_locales/et/messages.json | 17 ++- apps/browser/src/_locales/eu/messages.json | 17 ++- apps/browser/src/_locales/fa/messages.json | 17 ++- apps/browser/src/_locales/fi/messages.json | 117 ++++++++++-------- apps/browser/src/_locales/fil/messages.json | 17 ++- apps/browser/src/_locales/fr/messages.json | 17 ++- apps/browser/src/_locales/gl/messages.json | 17 ++- apps/browser/src/_locales/he/messages.json | 17 ++- apps/browser/src/_locales/hi/messages.json | 17 ++- apps/browser/src/_locales/hr/messages.json | 17 ++- apps/browser/src/_locales/hu/messages.json | 17 ++- apps/browser/src/_locales/id/messages.json | 17 ++- apps/browser/src/_locales/it/messages.json | 49 +++++--- apps/browser/src/_locales/ja/messages.json | 17 ++- apps/browser/src/_locales/ka/messages.json | 17 ++- apps/browser/src/_locales/km/messages.json | 17 ++- apps/browser/src/_locales/kn/messages.json | 17 ++- apps/browser/src/_locales/ko/messages.json | 17 ++- apps/browser/src/_locales/lt/messages.json | 17 ++- apps/browser/src/_locales/lv/messages.json | 17 ++- apps/browser/src/_locales/ml/messages.json | 17 ++- apps/browser/src/_locales/mr/messages.json | 17 ++- apps/browser/src/_locales/my/messages.json | 17 ++- apps/browser/src/_locales/nb/messages.json | 17 ++- apps/browser/src/_locales/ne/messages.json | 17 ++- apps/browser/src/_locales/nl/messages.json | 17 ++- apps/browser/src/_locales/nn/messages.json | 17 ++- apps/browser/src/_locales/or/messages.json | 17 ++- apps/browser/src/_locales/pl/messages.json | 17 ++- apps/browser/src/_locales/pt_BR/messages.json | 17 ++- apps/browser/src/_locales/pt_PT/messages.json | 17 ++- apps/browser/src/_locales/ro/messages.json | 17 ++- apps/browser/src/_locales/ru/messages.json | 17 ++- apps/browser/src/_locales/si/messages.json | 17 ++- apps/browser/src/_locales/sk/messages.json | 17 ++- apps/browser/src/_locales/sl/messages.json | 17 ++- apps/browser/src/_locales/sr/messages.json | 17 ++- apps/browser/src/_locales/sv/messages.json | 17 ++- apps/browser/src/_locales/te/messages.json | 17 ++- apps/browser/src/_locales/th/messages.json | 17 ++- apps/browser/src/_locales/tr/messages.json | 17 ++- apps/browser/src/_locales/uk/messages.json | 17 ++- apps/browser/src/_locales/vi/messages.json | 17 ++- apps/browser/src/_locales/zh_CN/messages.json | 17 ++- apps/browser/src/_locales/zh_TW/messages.json | 17 ++- 60 files changed, 908 insertions(+), 248 deletions(-) diff --git a/apps/browser/src/_locales/ar/messages.json b/apps/browser/src/_locales/ar/messages.json index 415ade9820b..b2f849964fa 100644 --- a/apps/browser/src/_locales/ar/messages.json +++ b/apps/browser/src/_locales/ar/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "نوع اسم المستخدم" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "جارٍ تسجيل الدخول على" - }, "opensInANewWindow": { "message": "تُفتح في نافذة جديدة" }, diff --git a/apps/browser/src/_locales/az/messages.json b/apps/browser/src/_locales/az/messages.json index c041c6c1923..94b1d9ea4c7 100644 --- a/apps/browser/src/_locales/az/messages.json +++ b/apps/browser/src/_locales/az/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "E-poçt yarat" }, + "generatorBoundariesHint": { + "message": "Dəyər $MIN$-$MAX$ arasında olmalıdır", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "İstifadəçi adı növü" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Giriş edilir" - }, "opensInANewWindow": { "message": "Yeni bir pəncərədə açılır" }, diff --git a/apps/browser/src/_locales/be/messages.json b/apps/browser/src/_locales/be/messages.json index e6488e5ff83..294ffea0563 100644 --- a/apps/browser/src/_locales/be/messages.json +++ b/apps/browser/src/_locales/be/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тып імя карыстальніка" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Увайсці на" - }, "opensInANewWindow": { "message": "Адкрываць у новым акне" }, diff --git a/apps/browser/src/_locales/bg/messages.json b/apps/browser/src/_locales/bg/messages.json index 626221f06d1..e8249decb6d 100644 --- a/apps/browser/src/_locales/bg/messages.json +++ b/apps/browser/src/_locales/bg/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Генериране на електронна поща" }, + "generatorBoundariesHint": { + "message": "Стойността трябва да бъде между $MIN$ и $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип потребителско име" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Вписване в" - }, "opensInANewWindow": { "message": "Отваря се в нов прозорец" }, diff --git a/apps/browser/src/_locales/bn/messages.json b/apps/browser/src/_locales/bn/messages.json index b808ab5eb62..c05fd642e79 100644 --- a/apps/browser/src/_locales/bn/messages.json +++ b/apps/browser/src/_locales/bn/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/bs/messages.json b/apps/browser/src/_locales/bs/messages.json index 2793b4dee62..bc8d843045e 100644 --- a/apps/browser/src/_locales/bs/messages.json +++ b/apps/browser/src/_locales/bs/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/ca/messages.json b/apps/browser/src/_locales/ca/messages.json index eee9e4956ce..d3cdc23d8c5 100644 --- a/apps/browser/src/_locales/ca/messages.json +++ b/apps/browser/src/_locales/ca/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipus de nom d'usuari" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Inici de sessió en" - }, "opensInANewWindow": { "message": "S'obri en una finestra nova" }, diff --git a/apps/browser/src/_locales/cs/messages.json b/apps/browser/src/_locales/cs/messages.json index 80cce02f219..9943cbebc12 100644 --- a/apps/browser/src/_locales/cs/messages.json +++ b/apps/browser/src/_locales/cs/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Vygenerovat e-mail" }, + "generatorBoundariesHint": { + "message": "Hodnota musí být mezi $MIN$ a $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Typ uživatelského jména" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Přihlašování na" - }, "opensInANewWindow": { "message": "Otevře se v novém okně" }, diff --git a/apps/browser/src/_locales/cy/messages.json b/apps/browser/src/_locales/cy/messages.json index 13a75b413f7..5bec66dec95 100644 --- a/apps/browser/src/_locales/cy/messages.json +++ b/apps/browser/src/_locales/cy/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Math o enw defnyddiwr" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Mewngofnodi ar" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/da/messages.json b/apps/browser/src/_locales/da/messages.json index 437a3fa7df4..60949c317aa 100644 --- a/apps/browser/src/_locales/da/messages.json +++ b/apps/browser/src/_locales/da/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generér e-mail" }, + "generatorBoundariesHint": { + "message": "Værdi skal være mellem $MIN$ og $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Brugernavnstype" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logger ind på" - }, "opensInANewWindow": { "message": "Åbnes i et nyt vindue" }, diff --git a/apps/browser/src/_locales/de/messages.json b/apps/browser/src/_locales/de/messages.json index 1e3a38ffc7b..0686063d561 100644 --- a/apps/browser/src/_locales/de/messages.json +++ b/apps/browser/src/_locales/de/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "E-Mail generieren" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Benutzernamenstyp" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Anmelden bei" - }, "opensInANewWindow": { "message": "Wird in einem neuen Fenster geöffnet" }, diff --git a/apps/browser/src/_locales/el/messages.json b/apps/browser/src/_locales/el/messages.json index c2bc58519cc..bd2f76249bf 100644 --- a/apps/browser/src/_locales/el/messages.json +++ b/apps/browser/src/_locales/el/messages.json @@ -1022,7 +1022,7 @@ "message": "Ρώτησε για να ενημερώσεις τον κωδικό πρόσβασης μιας σύνδεσης όταν εντοπιστεί μια αλλαγή σε έναν ιστότοπο. Ισχύει για όλους τους συνδεδεμένους λογαριασμούς." }, "enableUsePasskeys": { - "message": "Ρώτησε για αποθήκευση και χρήση κλειδιών πρόσβασης" + "message": "Ερώτηση για αποθήκευση και χρήση κλειδιών πρόσβασης" }, "usePasskeysDesc": { "message": "Ρώτησε με για την αποθήκευση νέων συνθηματικών ή σύνδεση με κλειδιά πρόσβασης αποθηκευμένα στο θησαυ/κιό μου. Ισχύει για όλους τους συνδεδεμένους λογαριασμούς." @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Δημιουργία email" }, + "generatorBoundariesHint": { + "message": "Η τιμή πρέπει να είναι μεταξύ $MIN$ και $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Τύπος ονόματος χρήστη" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Σύνδεση στο" - }, "opensInANewWindow": { "message": "Ανοίγει σε νέο παράθυρο" }, @@ -4753,7 +4764,7 @@ "description": "Represents the > key in screen reader content as a readable word" }, "commaCharacterDescriptor": { - "message": "Comma", + "message": "Κόμμα", "description": "Represents the , key in screen reader content as a readable word" }, "periodCharacterDescriptor": { diff --git a/apps/browser/src/_locales/en_GB/messages.json b/apps/browser/src/_locales/en_GB/messages.json index 71161b14e5c..87eee8c90c0 100644 --- a/apps/browser/src/_locales/en_GB/messages.json +++ b/apps/browser/src/_locales/en_GB/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/en_IN/messages.json b/apps/browser/src/_locales/en_IN/messages.json index 4265ffa6964..c5b294aa3a2 100644 --- a/apps/browser/src/_locales/en_IN/messages.json +++ b/apps/browser/src/_locales/en_IN/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username Type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/es/messages.json b/apps/browser/src/_locales/es/messages.json index 5c7e82f89ba..cbb1475c4d0 100644 --- a/apps/browser/src/_locales/es/messages.json +++ b/apps/browser/src/_locales/es/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo de nombre de usuario" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Iniciando sesión en" - }, "opensInANewWindow": { "message": "Abre en una nueva ventana" }, diff --git a/apps/browser/src/_locales/et/messages.json b/apps/browser/src/_locales/et/messages.json index 38543a88842..81538f3bb22 100644 --- a/apps/browser/src/_locales/et/messages.json +++ b/apps/browser/src/_locales/et/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Kasutajanime tüüp" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Sisselogimas kui" - }, "opensInANewWindow": { "message": "Avaneb uues aknas" }, diff --git a/apps/browser/src/_locales/eu/messages.json b/apps/browser/src/_locales/eu/messages.json index 3bdc49f61ad..3d0ac87989a 100644 --- a/apps/browser/src/_locales/eu/messages.json +++ b/apps/browser/src/_locales/eu/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Erabiltzaile izen mota" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Leiho berri batean irekitzen da" }, diff --git a/apps/browser/src/_locales/fa/messages.json b/apps/browser/src/_locales/fa/messages.json index 94c420155e7..15aa92a669d 100644 --- a/apps/browser/src/_locales/fa/messages.json +++ b/apps/browser/src/_locales/fa/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "نوع نام کاربری" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "ورود با" - }, "opensInANewWindow": { "message": "در پنجره جدید باز می‌شود" }, diff --git a/apps/browser/src/_locales/fi/messages.json b/apps/browser/src/_locales/fi/messages.json index 3d0fe6ea64d..5139207b9d7 100644 --- a/apps/browser/src/_locales/fi/messages.json +++ b/apps/browser/src/_locales/fi/messages.json @@ -20,16 +20,16 @@ "message": "Luo tili" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Oletko uusi Bitwarden-käyttäjä?" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Kirjaudu pääsyavaimella" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "Käytä kertakirjautumista" }, "welcomeBack": { - "message": "Welcome back" + "message": "Tervetuloa takaisin" }, "setAStrongPassword": { "message": "Aseta vahva salasana" @@ -120,7 +120,7 @@ "message": "Kopioi salasana" }, "copyPassphrase": { - "message": "Copy passphrase" + "message": "Kopioi salalause" }, "copyNote": { "message": "Kopioi merkinnät" @@ -168,7 +168,7 @@ "message": "Kopioi merkinnät" }, "fill": { - "message": "Fill", + "message": "Täytä", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." }, "autoFill": { @@ -427,7 +427,7 @@ "message": "Luo salasana" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "Luo salalause" }, "regeneratePassword": { "message": "Luo uusi salasana" @@ -591,7 +591,7 @@ "message": "Avaa verkkosivusto" }, "launchWebsiteName": { - "message": "Launch website $ITEMNAME$", + "message": "Avaa verkkosivusto $ITEMNAME$", "placeholders": { "itemname": { "content": "$1", @@ -846,7 +846,7 @@ "message": "Kirjaudu" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "Kirjaudu Bitwardeniin" }, "restartRegistration": { "message": "Aloita rekisteröityminen alusta" @@ -1923,7 +1923,7 @@ "message": "Nothing to show" }, "nothingGeneratedRecently": { - "message": "You haven't generated anything recently" + "message": "Et ole luonut mitään hiljattain" }, "remove": { "message": "Poista" @@ -2875,7 +2875,21 @@ "message": "Luo käyttäjätunnus" }, "generateEmail": { - "message": "Generate email" + "message": "Luo sähköpostiosoite" + }, + "generatorBoundariesHint": { + "message": "Arvon tulee olla väliltä $MIN$ - $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } }, "usernameType": { "message": "Käyttäjätunnuksen tyyppi" @@ -2918,11 +2932,11 @@ "message": "Luo sähköpostialias ulkoisella ohjauspalvelulla." }, "forwarderDomainName": { - "message": "Email domain", + "message": "Sähköpostin verkkotunnus", "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "Choose a domain that is supported by the selected service", + "message": "Valitse verkkotunnus, jota valittu palvelu tukee", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Kirjaudutaan sijaintiin" - }, "opensInANewWindow": { "message": "Avautuu uudessa ikkunassa" }, @@ -4625,47 +4636,47 @@ "message": "Todennetaan" }, "fillGeneratedPassword": { - "message": "Fill generated password", + "message": "Täytä luotu salasana", "description": "Heading for the password generator within the inline menu" }, "passwordRegenerated": { - "message": "Password regenerated", + "message": "Salasana luotiin uudelleen", "description": "Notification message for when a password has been regenerated" }, "saveLoginToBitwarden": { - "message": "Save login to Bitwarden?", + "message": "Tallennetaanko kirjautumistieto Bitwardeniin?", "description": "Confirmation message for saving a login to Bitwarden" }, "spaceCharacterDescriptor": { - "message": "Space", + "message": "Välilyönti", "description": "Represents the space key in screen reader content as a readable word" }, "tildeCharacterDescriptor": { - "message": "Tilde", + "message": "Aaltoviiva", "description": "Represents the ~ key in screen reader content as a readable word" }, "backtickCharacterDescriptor": { - "message": "Backtick", + "message": "Graaviaksentti", "description": "Represents the ` key in screen reader content as a readable word" }, "exclamationCharacterDescriptor": { - "message": "Exclamation mark", + "message": "Huutomerkkli", "description": "Represents the ! key in screen reader content as a readable word" }, "atSignCharacterDescriptor": { - "message": "At sign", + "message": "Ät-merkki", "description": "Represents the @ key in screen reader content as a readable word" }, "hashSignCharacterDescriptor": { - "message": "Hash sign", + "message": "Ristikkomerkki", "description": "Represents the # key in screen reader content as a readable word" }, "dollarSignCharacterDescriptor": { - "message": "Dollar sign", + "message": "Dollarin merkki", "description": "Represents the $ key in screen reader content as a readable word" }, "percentSignCharacterDescriptor": { - "message": "Percent sign", + "message": "Prosenttimerkki", "description": "Represents the % key in screen reader content as a readable word" }, "caretCharacterDescriptor": { @@ -4673,27 +4684,27 @@ "description": "Represents the ^ key in screen reader content as a readable word" }, "ampersandCharacterDescriptor": { - "message": "Ampersand", + "message": "Ampersandi", "description": "Represents the & key in screen reader content as a readable word" }, "asteriskCharacterDescriptor": { - "message": "Asterisk", + "message": "Asteriski", "description": "Represents the * key in screen reader content as a readable word" }, "parenLeftCharacterDescriptor": { - "message": "Left parenthesis", + "message": "Vasen kaarisulje", "description": "Represents the ( key in screen reader content as a readable word" }, "parenRightCharacterDescriptor": { - "message": "Right parenthesis", + "message": "Oikea kaarisulje", "description": "Represents the ) key in screen reader content as a readable word" }, "hyphenCharacterDescriptor": { - "message": "Underscore", + "message": "Alaviiva", "description": "Represents the _ key in screen reader content as a readable word" }, "underscoreCharacterDescriptor": { - "message": "Hyphen", + "message": "Yhdysmerkki", "description": "Represents the - key in screen reader content as a readable word" }, "plusCharacterDescriptor": { @@ -4701,80 +4712,80 @@ "description": "Represents the + key in screen reader content as a readable word" }, "equalsCharacterDescriptor": { - "message": "Equals", + "message": "Yhtäsuuri kuin", "description": "Represents the = key in screen reader content as a readable word" }, "braceLeftCharacterDescriptor": { - "message": "Left brace", + "message": "Vasen aaltosulje", "description": "Represents the { key in screen reader content as a readable word" }, "braceRightCharacterDescriptor": { - "message": "Right brace", + "message": "Oikea aaltosulje", "description": "Represents the } key in screen reader content as a readable word" }, "bracketLeftCharacterDescriptor": { - "message": "Left bracket", + "message": "Vasen hakasulje", "description": "Represents the [ key in screen reader content as a readable word" }, "bracketRightCharacterDescriptor": { - "message": "Right bracket", + "message": "Oikea hakasulje", "description": "Represents the ] key in screen reader content as a readable word" }, "pipeCharacterDescriptor": { - "message": "Pipe", + "message": "Putkimerkki", "description": "Represents the | key in screen reader content as a readable word" }, "backSlashCharacterDescriptor": { - "message": "Back slash", + "message": "Kenoviiva", "description": "Represents the back slash key in screen reader content as a readable word" }, "colonCharacterDescriptor": { - "message": "Colon", + "message": "Kaksoispiste", "description": "Represents the : key in screen reader content as a readable word" }, "semicolonCharacterDescriptor": { - "message": "Semicolon", + "message": "Puolipiste", "description": "Represents the ; key in screen reader content as a readable word" }, "doubleQuoteCharacterDescriptor": { - "message": "Double quote", + "message": "Lainausmerkki", "description": "Represents the double quote key in screen reader content as a readable word" }, "singleQuoteCharacterDescriptor": { - "message": "Single quote", + "message": "Heittomerkki", "description": "Represents the ' key in screen reader content as a readable word" }, "lessThanCharacterDescriptor": { - "message": "Less than", + "message": "Pienempi kuin", "description": "Represents the < key in screen reader content as a readable word" }, "greaterThanCharacterDescriptor": { - "message": "Greater than", + "message": "Suurempi kuin", "description": "Represents the > key in screen reader content as a readable word" }, "commaCharacterDescriptor": { - "message": "Comma", + "message": "Pilkku", "description": "Represents the , key in screen reader content as a readable word" }, "periodCharacterDescriptor": { - "message": "Period", + "message": "Piste", "description": "Represents the . key in screen reader content as a readable word" }, "questionCharacterDescriptor": { - "message": "Question mark", + "message": "Kysymysmerkki", "description": "Represents the ? key in screen reader content as a readable word" }, "forwardSlashCharacterDescriptor": { - "message": "Forward slash", + "message": "Kauttaviiva", "description": "Represents the / key in screen reader content as a readable word" }, "lowercaseAriaLabel": { - "message": "Lowercase" + "message": "Pienet kirjaimet" }, "uppercaseAriaLabel": { - "message": "Uppercase" + "message": "Isot kirjaimet" }, "generatedPassword": { - "message": "Generated password" + "message": "Luotu salasana" } } diff --git a/apps/browser/src/_locales/fil/messages.json b/apps/browser/src/_locales/fil/messages.json index 5adeda013f9..f779ead0dae 100644 --- a/apps/browser/src/_locales/fil/messages.json +++ b/apps/browser/src/_locales/fil/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Uri ng username" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/fr/messages.json b/apps/browser/src/_locales/fr/messages.json index ed2cfb19df7..6aa0ad6d859 100644 --- a/apps/browser/src/_locales/fr/messages.json +++ b/apps/browser/src/_locales/fr/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Générer un courriel" }, + "generatorBoundariesHint": { + "message": "La valeur doit être comprise entre $MIN$ et $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Type de nom d'utilisateur" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Connexion sur" - }, "opensInANewWindow": { "message": "S'ouvre dans une nouvelle fenêtre" }, diff --git a/apps/browser/src/_locales/gl/messages.json b/apps/browser/src/_locales/gl/messages.json index b6aea83973b..498dc34f1af 100644 --- a/apps/browser/src/_locales/gl/messages.json +++ b/apps/browser/src/_locales/gl/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/he/messages.json b/apps/browser/src/_locales/he/messages.json index ceaa7370256..0158ef20d67 100644 --- a/apps/browser/src/_locales/he/messages.json +++ b/apps/browser/src/_locales/he/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "סוג שם משתמש" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/hi/messages.json b/apps/browser/src/_locales/hi/messages.json index f9b11310f6a..24a4833e569 100644 --- a/apps/browser/src/_locales/hi/messages.json +++ b/apps/browser/src/_locales/hi/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/hr/messages.json b/apps/browser/src/_locales/hr/messages.json index aef566431bb..4f206edd301 100644 --- a/apps/browser/src/_locales/hr/messages.json +++ b/apps/browser/src/_locales/hr/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tip korisničkog imena" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Prijava na" - }, "opensInANewWindow": { "message": "Otvara u novom prozoru" }, diff --git a/apps/browser/src/_locales/hu/messages.json b/apps/browser/src/_locales/hu/messages.json index 32b577b0e83..add9cf6ab89 100644 --- a/apps/browser/src/_locales/hu/messages.json +++ b/apps/browser/src/_locales/hu/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Email generálása" }, + "generatorBoundariesHint": { + "message": "Az érték legyen $MIN$ és $MAX$ között.", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Felhasználónév típusa" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Bejelentkezés:" - }, "opensInANewWindow": { "message": "Megnyitás új ablakban" }, diff --git a/apps/browser/src/_locales/id/messages.json b/apps/browser/src/_locales/id/messages.json index 1b0f9d19295..87a50d571b1 100644 --- a/apps/browser/src/_locales/id/messages.json +++ b/apps/browser/src/_locales/id/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Jenis nama pengguna" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/it/messages.json b/apps/browser/src/_locales/it/messages.json index 300d99cbed2..0023b9755a5 100644 --- a/apps/browser/src/_locales/it/messages.json +++ b/apps/browser/src/_locales/it/messages.json @@ -11,7 +11,7 @@ "description": "Extension description, MUST be less than 112 characters (Safari restriction)" }, "loginOrCreateNewAccount": { - "message": "Accedi o crea un nuovo account per accedere alla tua cassaforte." + "message": "Entra o crea un nuovo account per accedere alla tua cassaforte." }, "inviteAccepted": { "message": "Invito accettato" @@ -20,16 +20,16 @@ "message": "Crea account" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Nuovo a Bitwarden?" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Accedi con passkey" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "Usa il Single Sign-On" }, "welcomeBack": { - "message": "Welcome back" + "message": "Bentornato" }, "setAStrongPassword": { "message": "Imposta una password robusta" @@ -84,7 +84,7 @@ "message": "Unisciti all'organizzazione" }, "joinOrganizationName": { - "message": "Join $ORGANIZATIONNAME$", + "message": "Unisciti a $ORGANIZATIONNAME$", "placeholders": { "organizationName": { "content": "$1", @@ -120,7 +120,7 @@ "message": "Copia password" }, "copyPassphrase": { - "message": "Copy passphrase" + "message": "Copia passphrase" }, "copyNote": { "message": "Copia nota" @@ -153,7 +153,7 @@ "message": "Copia numero licenza" }, "copyCustomField": { - "message": "Copy $FIELD$", + "message": "Copia $FIELD$", "placeholders": { "field": { "content": "$1", @@ -162,13 +162,13 @@ } }, "copyWebsite": { - "message": "Copy website" + "message": "Copia sito web" }, "copyNotes": { - "message": "Copy notes" + "message": "Copia note" }, "fill": { - "message": "Fill", + "message": "Riempi", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." }, "autoFill": { @@ -226,13 +226,13 @@ "message": "Account email" }, "requestHint": { - "message": "Request hint" + "message": "Richiedi suggerimento" }, "requestPasswordHint": { - "message": "Request password hint" + "message": "Richiedi il suggerimento per la password" }, "enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": { - "message": "Enter your account email address and your password hint will be sent to you" + "message": "Inserisci l'indirizzo email dell'account e ti invieremo il tuo suggerimento per la password" }, "passwordHint": { "message": "Suggerimento per la password" @@ -1684,7 +1684,7 @@ "message": "Sig.ra" }, "dr": { - "message": "Dott" + "message": "Dr" }, "mx": { "message": "Mx" @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo di nome utente" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Accedendo su" - }, "opensInANewWindow": { "message": "Si apre in una nuova finestra" }, @@ -4775,6 +4786,6 @@ "message": "Uppercase" }, "generatedPassword": { - "message": "Generated password" + "message": "Password generata" } } diff --git a/apps/browser/src/_locales/ja/messages.json b/apps/browser/src/_locales/ja/messages.json index 75378889d1a..f0baa16f9f3 100644 --- a/apps/browser/src/_locales/ja/messages.json +++ b/apps/browser/src/_locales/ja/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "ユーザー名の種類" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "ログイン先" - }, "opensInANewWindow": { "message": "新しいウィンドウで開く" }, diff --git a/apps/browser/src/_locales/ka/messages.json b/apps/browser/src/_locales/ka/messages.json index a5f82794ec8..f57b4a50e48 100644 --- a/apps/browser/src/_locales/ka/messages.json +++ b/apps/browser/src/_locales/ka/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/km/messages.json b/apps/browser/src/_locales/km/messages.json index 3414760d2a3..b8075804229 100644 --- a/apps/browser/src/_locales/km/messages.json +++ b/apps/browser/src/_locales/km/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/kn/messages.json b/apps/browser/src/_locales/kn/messages.json index 96078aa7edb..a479b47fa46 100644 --- a/apps/browser/src/_locales/kn/messages.json +++ b/apps/browser/src/_locales/kn/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/ko/messages.json b/apps/browser/src/_locales/ko/messages.json index de015d285a4..ed1f9ded490 100644 --- a/apps/browser/src/_locales/ko/messages.json +++ b/apps/browser/src/_locales/ko/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "아이디 유형" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/lt/messages.json b/apps/browser/src/_locales/lt/messages.json index 716c474b53e..07d5b3bf8c3 100644 --- a/apps/browser/src/_locales/lt/messages.json +++ b/apps/browser/src/_locales/lt/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Vartotojo prisijungimo vardo tipas" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/lv/messages.json b/apps/browser/src/_locales/lv/messages.json index 8e277cf7f8a..870c1e7bef7 100644 --- a/apps/browser/src/_locales/lv/messages.json +++ b/apps/browser/src/_locales/lv/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Izveidot e-pastu" }, + "generatorBoundariesHint": { + "message": "Vērtībai jābūt starp $MIN$ un $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Lietotājvārda veids" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Piesakās" - }, "opensInANewWindow": { "message": "Atver jaunā logā" }, diff --git a/apps/browser/src/_locales/ml/messages.json b/apps/browser/src/_locales/ml/messages.json index 2cfabae5b96..0dcc887200b 100644 --- a/apps/browser/src/_locales/ml/messages.json +++ b/apps/browser/src/_locales/ml/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/mr/messages.json b/apps/browser/src/_locales/mr/messages.json index d8e86c4c9e8..150d3197ac6 100644 --- a/apps/browser/src/_locales/mr/messages.json +++ b/apps/browser/src/_locales/mr/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/my/messages.json b/apps/browser/src/_locales/my/messages.json index 3414760d2a3..b8075804229 100644 --- a/apps/browser/src/_locales/my/messages.json +++ b/apps/browser/src/_locales/my/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/nb/messages.json b/apps/browser/src/_locales/nb/messages.json index ecd0b1e5c10..2f32ab39000 100644 --- a/apps/browser/src/_locales/nb/messages.json +++ b/apps/browser/src/_locales/nb/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Brukernavntype" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logger inn på" - }, "opensInANewWindow": { "message": "Åpnes i et nytt vindu" }, diff --git a/apps/browser/src/_locales/ne/messages.json b/apps/browser/src/_locales/ne/messages.json index 3414760d2a3..b8075804229 100644 --- a/apps/browser/src/_locales/ne/messages.json +++ b/apps/browser/src/_locales/ne/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/nl/messages.json b/apps/browser/src/_locales/nl/messages.json index fe415cfb1dc..1361b657f24 100644 --- a/apps/browser/src/_locales/nl/messages.json +++ b/apps/browser/src/_locales/nl/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "E-mailadres genereren" }, + "generatorBoundariesHint": { + "message": "Waarde moet tussen $MIN$ en $MAX$ liggen", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Type gebruikersnaam" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Inloggen op" - }, "opensInANewWindow": { "message": "Opent in een nieuw venster" }, diff --git a/apps/browser/src/_locales/nn/messages.json b/apps/browser/src/_locales/nn/messages.json index 3414760d2a3..b8075804229 100644 --- a/apps/browser/src/_locales/nn/messages.json +++ b/apps/browser/src/_locales/nn/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/or/messages.json b/apps/browser/src/_locales/or/messages.json index 3414760d2a3..b8075804229 100644 --- a/apps/browser/src/_locales/or/messages.json +++ b/apps/browser/src/_locales/or/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/pl/messages.json b/apps/browser/src/_locales/pl/messages.json index 39f5541e596..c3c48b34e8a 100644 --- a/apps/browser/src/_locales/pl/messages.json +++ b/apps/browser/src/_locales/pl/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Wygenruj adres e-mail" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Rodzaj nazwy użytkownika" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logowanie do" - }, "opensInANewWindow": { "message": "Otwiera w nowym oknie" }, diff --git a/apps/browser/src/_locales/pt_BR/messages.json b/apps/browser/src/_locales/pt_BR/messages.json index 63ab1eb3d8f..047ca09e7a4 100644 --- a/apps/browser/src/_locales/pt_BR/messages.json +++ b/apps/browser/src/_locales/pt_BR/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo de usuário" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Entrando em" - }, "opensInANewWindow": { "message": "Abrir em uma nova janela" }, diff --git a/apps/browser/src/_locales/pt_PT/messages.json b/apps/browser/src/_locales/pt_PT/messages.json index a40a5ec1113..3885f6bad64 100644 --- a/apps/browser/src/_locales/pt_PT/messages.json +++ b/apps/browser/src/_locales/pt_PT/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Gerar e-mail" }, + "generatorBoundariesHint": { + "message": "O valor deve estar entre $MIN$ e $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo de nome de utilizador" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "A iniciar sessão em" - }, "opensInANewWindow": { "message": "Abrir numa nova janela" }, diff --git a/apps/browser/src/_locales/ro/messages.json b/apps/browser/src/_locales/ro/messages.json index 99bf86c9876..f25897f38f6 100644 --- a/apps/browser/src/_locales/ro/messages.json +++ b/apps/browser/src/_locales/ro/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tip de nume de utilizator" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Conectare la" - }, "opensInANewWindow": { "message": "Se deschide într-o nouă fereastră" }, diff --git a/apps/browser/src/_locales/ru/messages.json b/apps/browser/src/_locales/ru/messages.json index e898d68ae86..7c7a70c82ff 100644 --- a/apps/browser/src/_locales/ru/messages.json +++ b/apps/browser/src/_locales/ru/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Сгенерировать email" }, + "generatorBoundariesHint": { + "message": "Значение должно быть между $MIN$ и $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип имени пользователя" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Войти на" - }, "opensInANewWindow": { "message": "Откроется в новом окне" }, diff --git a/apps/browser/src/_locales/si/messages.json b/apps/browser/src/_locales/si/messages.json index 3ff7dde6897..4dd1bfeb898 100644 --- a/apps/browser/src/_locales/si/messages.json +++ b/apps/browser/src/_locales/si/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/sk/messages.json b/apps/browser/src/_locales/sk/messages.json index e47d80bca26..dc46b0fdb85 100644 --- a/apps/browser/src/_locales/sk/messages.json +++ b/apps/browser/src/_locales/sk/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generovať e-mail" }, + "generatorBoundariesHint": { + "message": "Hodnota musí byť medzi $MIN$ a $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Typ používateľského mena" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Prihlásenie na" - }, "opensInANewWindow": { "message": "Otvárať v novom okne" }, diff --git a/apps/browser/src/_locales/sl/messages.json b/apps/browser/src/_locales/sl/messages.json index 7ee7d1c5c77..d2af5a49008 100644 --- a/apps/browser/src/_locales/sl/messages.json +++ b/apps/browser/src/_locales/sl/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Vrsta uporabniškega imena" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Odpre se v novem oknu" }, diff --git a/apps/browser/src/_locales/sr/messages.json b/apps/browser/src/_locales/sr/messages.json index ad9ee20f295..377a70d3577 100644 --- a/apps/browser/src/_locales/sr/messages.json +++ b/apps/browser/src/_locales/sr/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип имена" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Пријављено на" - }, "opensInANewWindow": { "message": "Отвара се у новом прозору" }, diff --git a/apps/browser/src/_locales/sv/messages.json b/apps/browser/src/_locales/sv/messages.json index 93a0b899a3c..3b269caa76e 100644 --- a/apps/browser/src/_locales/sv/messages.json +++ b/apps/browser/src/_locales/sv/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Typ av användarnamn" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logga in på" - }, "opensInANewWindow": { "message": "Öppnas i ett nytt fönster" }, diff --git a/apps/browser/src/_locales/te/messages.json b/apps/browser/src/_locales/te/messages.json index 3414760d2a3..b8075804229 100644 --- a/apps/browser/src/_locales/te/messages.json +++ b/apps/browser/src/_locales/te/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/th/messages.json b/apps/browser/src/_locales/th/messages.json index 3b6ac3ebd15..9f111f9bec7 100644 --- a/apps/browser/src/_locales/th/messages.json +++ b/apps/browser/src/_locales/th/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Logging in on" - }, "opensInANewWindow": { "message": "Opens in a new window" }, diff --git a/apps/browser/src/_locales/tr/messages.json b/apps/browser/src/_locales/tr/messages.json index 063dd63ede9..e49ada7538e 100644 --- a/apps/browser/src/_locales/tr/messages.json +++ b/apps/browser/src/_locales/tr/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "E-posta oluştur" }, + "generatorBoundariesHint": { + "message": "Değer $MIN$ ile $MAX$ arasında olmalıdır", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Kullanıcı adı türü" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Giriş yapılan konum" - }, "opensInANewWindow": { "message": "Yeni pencerede açılır" }, diff --git a/apps/browser/src/_locales/uk/messages.json b/apps/browser/src/_locales/uk/messages.json index 25d12ca2600..82cb02bf5d8 100644 --- a/apps/browser/src/_locales/uk/messages.json +++ b/apps/browser/src/_locales/uk/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Генерувати е-пошту" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип імені користувача" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Увійти на" - }, "opensInANewWindow": { "message": "Відкривається у новому вікні" }, diff --git a/apps/browser/src/_locales/vi/messages.json b/apps/browser/src/_locales/vi/messages.json index cd390c6496e..61e211063de 100644 --- a/apps/browser/src/_locales/vi/messages.json +++ b/apps/browser/src/_locales/vi/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Loại tên người dùng" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "Đang đăng nhập vào" - }, "opensInANewWindow": { "message": "Mở trong cửa sổ mới" }, diff --git a/apps/browser/src/_locales/zh_CN/messages.json b/apps/browser/src/_locales/zh_CN/messages.json index 25baa71d7a1..d5f00ecd2fa 100644 --- a/apps/browser/src/_locales/zh_CN/messages.json +++ b/apps/browser/src/_locales/zh_CN/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "用户名类型" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "登录到" - }, "opensInANewWindow": { "message": "在新窗口中打开" }, diff --git a/apps/browser/src/_locales/zh_TW/messages.json b/apps/browser/src/_locales/zh_TW/messages.json index f022d75a718..76d25262927 100644 --- a/apps/browser/src/_locales/zh_TW/messages.json +++ b/apps/browser/src/_locales/zh_TW/messages.json @@ -2877,6 +2877,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "使用者名稱類型" }, @@ -3220,9 +3234,6 @@ } } }, - "loggingInOn": { - "message": "正登入到" - }, "opensInANewWindow": { "message": "在新視窗開啟" }, From f771bd7dc8ae756be0762915057a413fd3afa46b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa?= Date: Thu, 31 Oct 2024 18:03:24 +0100 Subject: [PATCH 08/31] [PM-13361] Fix DDG backwards compat (#11804) --- apps/desktop/electron-builder.json | 6 ++++- .../entitlements.desktop_proxy.inherit.plist | 10 +++++++++ apps/desktop/scripts/after-pack.js | 12 ++++++++++ apps/desktop/src/entry.ts | 22 +++++++++++++------ 4 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 apps/desktop/resources/entitlements.desktop_proxy.inherit.plist diff --git a/apps/desktop/electron-builder.json b/apps/desktop/electron-builder.json index 0e621e8a1f9..21f09453189 100644 --- a/apps/desktop/electron-builder.json +++ b/apps/desktop/electron-builder.json @@ -77,9 +77,13 @@ { "from": "desktop_native/dist/desktop_proxy.${platform}-${arch}", "to": "MacOS/desktop_proxy" + }, + { + "from": "desktop_native/dist/desktop_proxy.${platform}-${arch}", + "to": "MacOS/desktop_proxy.inherit" } ], - "signIgnore": ["MacOS/desktop_proxy"], + "signIgnore": ["MacOS/desktop_proxy", "MacOS/desktop_proxy.inherit"], "target": ["dmg", "zip"] }, "win": { diff --git a/apps/desktop/resources/entitlements.desktop_proxy.inherit.plist b/apps/desktop/resources/entitlements.desktop_proxy.inherit.plist new file mode 100644 index 00000000000..794eada1cad --- /dev/null +++ b/apps/desktop/resources/entitlements.desktop_proxy.inherit.plist @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.inherit + + + diff --git a/apps/desktop/scripts/after-pack.js b/apps/desktop/scripts/after-pack.js index 08cff76e858..d4cbc00c81c 100644 --- a/apps/desktop/scripts/after-pack.js +++ b/apps/desktop/scripts/after-pack.js @@ -70,6 +70,18 @@ async function run(context) { child_process.execSync( `codesign -s '${id}' -i ${packageId} -f --timestamp --options runtime --entitlements ${entitlementsPath} ${proxyPath}`, ); + + const inheritProxyPath = path.join(appPath, "Contents", "MacOS", "desktop_proxy.inherit"); + const inheritEntitlementsName = "entitlements.desktop_proxy.inherit.plist"; + const inheritEntitlementsPath = path.join( + __dirname, + "..", + "resources", + inheritEntitlementsName, + ); + child_process.execSync( + `codesign -s '${id}' -i ${packageId} -f --timestamp --options runtime --entitlements ${inheritEntitlementsPath} ${inheritProxyPath}`, + ); } } diff --git a/apps/desktop/src/entry.ts b/apps/desktop/src/entry.ts index 3bb84461363..9f03a84e627 100644 --- a/apps/desktop/src/entry.ts +++ b/apps/desktop/src/entry.ts @@ -16,16 +16,24 @@ if ( app.dock.hide(); }); - const proc = spawn(path.join(process.execPath, "..", "desktop_proxy"), process.argv.slice(1), { - cwd: process.cwd(), - stdio: "inherit", - shell: false, - }); + const proc = spawn( + path.join(process.execPath, "..", "desktop_proxy.inherit"), + process.argv.slice(1), + { + cwd: process.cwd(), + stdio: "inherit", + shell: false, + }, + ); - proc.on("exit", () => { + proc.on("exit", (...args) => { + // eslint-disable-next-line no-console + console.error("Proxy process exited", args); process.exit(0); }); - proc.on("error", () => { + proc.on("error", (...args) => { + // eslint-disable-next-line no-console + console.error("Proxy process errored", args); process.exit(1); }); } else { From c809f9747047399f44bf60b52b9536952d6659b1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 18:51:33 +0000 Subject: [PATCH 09/31] Autosync the updated translations (#11807) Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com> --- apps/web/src/locales/af/messages.json | 108 +++++++++++++------ apps/web/src/locales/ar/messages.json | 108 +++++++++++++------ apps/web/src/locales/az/messages.json | 108 +++++++++++++------ apps/web/src/locales/be/messages.json | 108 +++++++++++++------ apps/web/src/locales/bg/messages.json | 108 +++++++++++++------ apps/web/src/locales/bn/messages.json | 108 +++++++++++++------ apps/web/src/locales/bs/messages.json | 108 +++++++++++++------ apps/web/src/locales/ca/messages.json | 108 +++++++++++++------ apps/web/src/locales/cs/messages.json | 108 +++++++++++++------ apps/web/src/locales/cy/messages.json | 108 +++++++++++++------ apps/web/src/locales/da/messages.json | 108 +++++++++++++------ apps/web/src/locales/de/messages.json | 108 +++++++++++++------ apps/web/src/locales/el/messages.json | 120 ++++++++++++++------- apps/web/src/locales/en_GB/messages.json | 108 +++++++++++++------ apps/web/src/locales/en_IN/messages.json | 108 +++++++++++++------ apps/web/src/locales/eo/messages.json | 108 +++++++++++++------ apps/web/src/locales/es/messages.json | 108 +++++++++++++------ apps/web/src/locales/et/messages.json | 108 +++++++++++++------ apps/web/src/locales/eu/messages.json | 108 +++++++++++++------ apps/web/src/locales/fa/messages.json | 108 +++++++++++++------ apps/web/src/locales/fi/messages.json | 128 ++++++++++++++-------- apps/web/src/locales/fil/messages.json | 108 +++++++++++++------ apps/web/src/locales/fr/messages.json | 108 +++++++++++++------ apps/web/src/locales/gl/messages.json | 108 +++++++++++++------ apps/web/src/locales/he/messages.json | 108 +++++++++++++------ apps/web/src/locales/hi/messages.json | 108 +++++++++++++------ apps/web/src/locales/hr/messages.json | 108 +++++++++++++------ apps/web/src/locales/hu/messages.json | 108 +++++++++++++------ apps/web/src/locales/id/messages.json | 108 +++++++++++++------ apps/web/src/locales/it/messages.json | 130 +++++++++++++++-------- apps/web/src/locales/ja/messages.json | 108 +++++++++++++------ apps/web/src/locales/ka/messages.json | 108 +++++++++++++------ apps/web/src/locales/km/messages.json | 108 +++++++++++++------ apps/web/src/locales/kn/messages.json | 108 +++++++++++++------ apps/web/src/locales/ko/messages.json | 108 +++++++++++++------ apps/web/src/locales/lv/messages.json | 108 +++++++++++++------ apps/web/src/locales/ml/messages.json | 108 +++++++++++++------ apps/web/src/locales/mr/messages.json | 108 +++++++++++++------ apps/web/src/locales/my/messages.json | 108 +++++++++++++------ apps/web/src/locales/nb/messages.json | 108 +++++++++++++------ apps/web/src/locales/ne/messages.json | 108 +++++++++++++------ apps/web/src/locales/nl/messages.json | 110 +++++++++++++------ apps/web/src/locales/nn/messages.json | 108 +++++++++++++------ apps/web/src/locales/or/messages.json | 108 +++++++++++++------ apps/web/src/locales/pl/messages.json | 108 +++++++++++++------ apps/web/src/locales/pt_BR/messages.json | 108 +++++++++++++------ apps/web/src/locales/pt_PT/messages.json | 108 +++++++++++++------ apps/web/src/locales/ro/messages.json | 108 +++++++++++++------ apps/web/src/locales/ru/messages.json | 108 +++++++++++++------ apps/web/src/locales/si/messages.json | 108 +++++++++++++------ apps/web/src/locales/sk/messages.json | 108 +++++++++++++------ apps/web/src/locales/sl/messages.json | 108 +++++++++++++------ apps/web/src/locales/sr/messages.json | 108 +++++++++++++------ apps/web/src/locales/sr_CS/messages.json | 108 +++++++++++++------ apps/web/src/locales/sv/messages.json | 122 ++++++++++++++------- apps/web/src/locales/te/messages.json | 108 +++++++++++++------ apps/web/src/locales/th/messages.json | 108 +++++++++++++------ apps/web/src/locales/tr/messages.json | 108 +++++++++++++------ apps/web/src/locales/uk/messages.json | 108 +++++++++++++------ apps/web/src/locales/vi/messages.json | 108 +++++++++++++------ apps/web/src/locales/zh_CN/messages.json | 108 +++++++++++++------ apps/web/src/locales/zh_TW/messages.json | 108 +++++++++++++------ 62 files changed, 4747 insertions(+), 2019 deletions(-) diff --git a/apps/web/src/locales/af/messages.json b/apps/web/src/locales/af/messages.json index 15283efb234..09b513d55ec 100644 --- a/apps/web/src/locales/af/messages.json +++ b/apps/web/src/locales/af/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Spesiale karakters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Aantal woorde" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Versigtig, hierdie aksies is onomkeerbaar!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Ledig kluis" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "U huidige organisasie het ’n beleid wat u nie toelaat om deel te neem aan meer as een organisasie nie. Kontak u organisasie se beheerders of teken aan met’n ander Bitwarden-rekening." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Enkelaantekenwaarmerking" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Gebruikersnaamtipe" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/ar/messages.json b/apps/web/src/locales/ar/messages.json index 4f71b9de861..edabc15f8c4 100644 --- a/apps/web/src/locales/ar/messages.json +++ b/apps/web/src/locales/ar/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "عدد الكلمات" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "احذر، لن تستطيع التراجع عن هذه الإجراءات!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "مسح الخزنة" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/az/messages.json b/apps/web/src/locales/az/messages.json index 35746f22283..b9f8fc67e68 100644 --- a/apps/web/src/locales/az/messages.json +++ b/apps/web/src/locales/az/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Tətbiqi kritik olaraq işarələ" }, + "appsMarkedAsCritical": { + "message": "Kritik olaraq işarələnmiş tətbiqlər" + }, "application": { "message": "Tətbiq" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Xüsusi simvollar (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Böyük hərf xarakterlərini daxil et", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Kiçik hərf xarakterlərini daxil et", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Rəqəmləri daxil et", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Xüsusi xarakterləri daxil et", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Söz sayı" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Diqqətli olun, bu əməliyyatları geri qaytara bilməzsiniz!" }, + "dangerZoneDescSingular": { + "message": "Diqqətli olun, bu əməliyyatı geri qaytara bilməzsiniz!" + }, "deauthorizeSessions": { "message": "Seansların səlahiyyətlərini götür" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Bütün seansların səlahiyyəti götürüldü" }, + "accountIsManagedMessage": { + "message": "Bu hesab $ORGANIZATIONNAME$ tərəfindən idarə olunur", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Seyfi boşalt" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "1 dəvət haqqınız var." + }, "userUsingTwoStep": { "message": "Bu istifadəçinin hesabını qorumaq üçün iki addımlı giriş istifadə edilir." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "İstifadəçilərin digər təşkilatlara qoşulmasını məhdudlaşdırın." }, + "singleOrgPolicyDesc": { + "message": "Üzvlərin digər təşkilatlara qoşulmasını məhdudlaşdır. Bu siyasət, domen doğrulamasını fəallaşdıran təşkilatlar üçün tələb olunur." + }, "singleOrgBlockCreateMessage": { "message": "Hazırkı təşkilatınızın, bir neçə təşkilata qoşulmasına icazə verməyən bir siyasəti var. Lütfən təşkilat adminləri ilə əlaqə saxlayın və ya fərqli bir Bitwarden hesabı ilə qeydiyyatdan keçin." }, "singleOrgPolicyWarning": { "message": "Sahib və ya administrator olmayan və hal-hazırda başqa bir təşkilatın üzvü olan istifadəçilər təşkilatınızdan çıxarılacaq." }, + "singleOrgPolicyMemberWarning": { + "message": "Uyumlu olmayan üzvlər, digər bütün təşkilatları tərk edənə qədər rədd edilmiş statusa daxil ediləcək. Administratorlar azaddır və uyum təmin edildikdən sonra üzvləri bərpa edə bilər." + }, "requireSso": { "message": "Tək daxil olma kimlik doğrulaması" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "E-poçt yarat" }, + "generatorBoundariesHint": { + "message": "Dəyər $MIN$-$MAX$ arasında olmalıdır", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "İstifadəçi adı növü" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Xana üçün bunları daxil edin: kimlik, ad, aria-label və ya placeholder." }, + "uppercaseDescription": { + "message": "Böyük hərf xarakterlərini daxil et", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Kiçik hərf xarakterlərini daxil et", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Rəqəmləri daxil et", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Xüsusi xarakterləri daxil et", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Qoşma əlavə et" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Bir domeni doğrulamaq, tək təşkilat siyasətini işə salacaq." + }, + "single-org-revoked-user-warning": { + "message": "Uyumlu olmayan üzvlər rədd ediləcək. Digər bütün təşkilatları tərk etdikdən sonra üzvlər, administratorlar tərəfindən bərpa edilə bilər." } } diff --git a/apps/web/src/locales/be/messages.json b/apps/web/src/locales/be/messages.json index 4cff7663bf3..90529619d3d 100644 --- a/apps/web/src/locales/be/messages.json +++ b/apps/web/src/locales/be/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Спецыяльныя сімвалы (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Колькасць слоў" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Асцярожна, гэтыя дзеянні з'яўляюцца незваротнымі!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Скасаваць аўтарызацыю сеанса" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Аўтарызацыя ўсіх сеансаў скасавана" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Ачысціць сховішча" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Гэты карыстальнік выкарыстоўвае двухэтапны ўваход для абароны свайго ўліковага запісу." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Забараніць удзельнікам далучацца да іншых арганізацый." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Ваша бягучая арганізацыя мае палітыку, якая не дазваляе вам далучацца да больш чым да адной арганізацыі. Калі ласка, звяжыцеся з адміністратарам вашай арганізацыі або ўвайдзіце пад іншым уліковым запісам Bitwarden." }, "singleOrgPolicyWarning": { "message": "Удзельнікі арганізацыі, якія не з'яўляюцца ўладальнікамі або адміністратарамі і ўжо ўваходзяць у іншую арганізацыю будуць выдалены з вашай арганізацыі." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Патрабаваць аўтэнтыфікацыю праз адзіны ўваход (SSO)" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тып імя карыстальніка" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/bg/messages.json b/apps/web/src/locales/bg/messages.json index 65d41f4de60..46695f6ce43 100644 --- a/apps/web/src/locales/bg/messages.json +++ b/apps/web/src/locales/bg/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Отбелязване на приложението като важно" }, + "appsMarkedAsCritical": { + "message": "Приложения, отбелязани като важни" + }, "application": { "message": "Приложение" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Специални знаци (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Включване на главни букви", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Включване на малки букви", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Включване на цифри", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Включване на специални знаци", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Брой думи" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Внимание, тези действия са необратими!" }, + "dangerZoneDescSingular": { + "message": "Внимание, това действие е необратимо!" + }, "deauthorizeSessions": { "message": "Прекратяване на сесии" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Всички сесии са прекратени" }, + "accountIsManagedMessage": { + "message": "Тази регистрация се управлява от $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Пълно изчистване на трезора" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "Имате 1 оставаща покана." + }, "userUsingTwoStep": { "message": "Този потребител използва двустепенна защита за достъп." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Потребителите да не може да са членове на друга организация." }, + "singleOrgPolicyDesc": { + "message": "Ограничаване на членовете да не могат да се присъединяват към други организации. Тази политика е задължителна за организации, които са включили настройката за проверка на домейна." + }, "singleOrgBlockCreateMessage": { "message": "Вашата настояща организация има политика, която не позволява да участвате в повече от една организация. Моля свържете се с администратора на организацията или се впишете с друг Bitwarden потребител." }, "singleOrgPolicyWarning": { "message": "Членовете, които не са собственици или администратори и са членове на други организации ще бъдат премахнати от тази организация." }, + "singleOrgPolicyMemberWarning": { + "message": "На членовете, които не отговарят на това условие, ще бъдат отнети правомощията, докато не напуснат всички останали организации. Администраторите не подлежат на това ограничение, така че те ще могат да възстановяват правомощията на членовете, след като отговорят на условието." + }, "requireSso": { "message": "Еднократна идентификация" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Генериране на електронна поща" }, + "generatorBoundariesHint": { + "message": "Стойността трябва да бъде между $MIN$ и $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип потребителско име" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Включване на главни букви", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Включване на малки букви", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Включване на цифри", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Включване на специални знаци", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Добавяне на прикачен файл" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Собствен хостинг" + }, + "verified-domain-single-org-warning": { + "message": "Проверката на домейн ще включи и политиката за единствена организация." + }, + "single-org-revoked-user-warning": { + "message": "На членовете, които не отговарят на това условие, ще бъдат отнети правомощията. Администраторите могат да възстановяват правомощията на членовете, след като те напуснат всички останали организации." } } diff --git a/apps/web/src/locales/bn/messages.json b/apps/web/src/locales/bn/messages.json index bb70d824123..0678d055c61 100644 --- a/apps/web/src/locales/bn/messages.json +++ b/apps/web/src/locales/bn/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/bs/messages.json b/apps/web/src/locales/bs/messages.json index da7183cfc98..f8521f4147e 100644 --- a/apps/web/src/locales/bs/messages.json +++ b/apps/web/src/locales/bs/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/ca/messages.json b/apps/web/src/locales/ca/messages.json index f765f2969c3..da688f2b831 100644 --- a/apps/web/src/locales/ca/messages.json +++ b/apps/web/src/locales/ca/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Caràcters especials (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Nombre de paraules" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Aneu amb compte, aquestes accions no són reversibles!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Desautoritza sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Totes les sessions estan desautoritzades" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purga la caixa forta" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Aquest usuari fa servir l'inici de sessió en dues passes per protegir el seu compte." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restringeix els usuaris perquè no puguen unir-se a qualsevol altra organització." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "La vostra organització actual té una política que no us permet unir-vos a més d'una organització. Poseu-vos en contacte amb els administradors de la vostra organització o registreu-vos des d’un altre compte de Bitwarden." }, "singleOrgPolicyWarning": { "message": "Els membres que no siguen propietaris ni administradors i que ja siguen membres d'una altra organització se suprimiran de la vostra organització." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Autenticació d'inici de sessió únic" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipus de nom d'usuari" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/cs/messages.json b/apps/web/src/locales/cs/messages.json index f393fb3527f..56eab924dee 100644 --- a/apps/web/src/locales/cs/messages.json +++ b/apps/web/src/locales/cs/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Označit aplikaci jako kritickou" }, + "appsMarkedAsCritical": { + "message": "Aplikace označené jako kritické" + }, "application": { "message": "Aplikace" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Speciální znaky (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Zahrnout velká písmena", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Zahrnout malá písmena", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Zahrnout číslice", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Zahrnout speciální znaky", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Počet slov" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Opatrně. Tyto akce se nedají vrátit!" }, + "dangerZoneDescSingular": { + "message": "Opatrně, tato akce je nevratná!" + }, "deauthorizeSessions": { "message": "Zrušit autorizaci relací" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Všechny relace byly zrušeny" }, + "accountIsManagedMessage": { + "message": "Tento účet je spravován: $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Vyčistit celý trezor" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "Zbývá Vám 1 pozvánka." + }, "userUsingTwoStep": { "message": "Tento uživatel používá pro ochranu svého účtu dvoufázové přihlášení." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Omezí uživatelům možnost připojit se k jiným organizacím." }, + "singleOrgPolicyDesc": { + "message": "Omezí členům vstup do jiných organizací. Tato zásada je vyžadována u organizací, které povolily ověřování domény." + }, "singleOrgBlockCreateMessage": { "message": "Vaše aktuální organizace má pravidla, která Vám nedovolují připojit se k více než jedné organizaci. Obraťte se na administrátory organizace nebo se zaregistrujte z jiného účtu na Bitwardenu." }, "singleOrgPolicyWarning": { "message": "Členové organizace, kteří nejsou vlastníky nebo administrátory a jsou již členy jiné organizace, budou odebrání z Vaší organizace." }, + "singleOrgPolicyMemberWarning": { + "message": "Nevyhovující členové budou zařazeni do statusu odvolaných členů, dokud neopustí všechny ostatní organizace. Správci jsou osvobozeni a mohou obnovit členy, jakmile je splněna podmínka shody." + }, "requireSso": { "message": "Vyžadovat ověření jednotného přihlášení" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Vygenerovat e-mail" }, + "generatorBoundariesHint": { + "message": "Hodnota musí být mezi $MIN$ a $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Typ uživatelského jména" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Zadejte ID pole z HTML, název, popisek nebo zástupný znak pole." }, + "uppercaseDescription": { + "message": "Zahrnout velká písmena", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Zahrnout malá písmena", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Zahrnout číslice", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Zahrnout speciální znaky", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Přidat přílohu" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Vlastní hosting" + }, + "verified-domain-single-org-warning": { + "message": "Ověřením domény se zapnou zásady jediné organizace." + }, + "single-org-revoked-user-warning": { + "message": "Nevyhovujícím členům bude členství zrušeno. Správci mohou obnovit členy, jakmile opustí všechny ostatní organizace." } } diff --git a/apps/web/src/locales/cy/messages.json b/apps/web/src/locales/cy/messages.json index ba4d265c641..5c713b81d7a 100644 --- a/apps/web/src/locales/cy/messages.json +++ b/apps/web/src/locales/cy/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/da/messages.json b/apps/web/src/locales/da/messages.json index 73a2227aecd..bfbb9a69b4b 100644 --- a/apps/web/src/locales/da/messages.json +++ b/apps/web/src/locales/da/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Markér app som kritisk" }, + "appsMarkedAsCritical": { + "message": "Apps markeret som kritiske" + }, "application": { "message": "Applikation" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Specialtegn (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Inkludér majuskler", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Inkludér minuskler", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Inkludér tal", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Inkludér specialtegn", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Antal ord" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Pas på, disse handlinger er irreversible!" }, + "dangerZoneDescSingular": { + "message": "Forsigtig, denne handling er irreversibel!" + }, "deauthorizeSessions": { "message": "Fjern sessionsgodkendelser" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Godkendelser for alle sessioner fjernet" }, + "accountIsManagedMessage": { + "message": "Denne konto håndteres af $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Tøm boks" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "Der er 1 invitation tilbage." + }, "userUsingTwoStep": { "message": "Denne bruger benytter totrins-login for at beskytte kontoen." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Begræns medlemmer i at tilmelde sig andre organisationer." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Den nuværende organisationspolitik tillader dig ikke at deltage i mere end én organisation. Kontakt organisationens admins eller benyt en anden Bitwarden-konto under tilmelding." }, "singleOrgPolicyWarning": { "message": "Organisationsmedlemmer, undtagen ejere eller admins, som allerede er medlem af en anden organisation, fjernes fra organisationen." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Kræv single sign-on godkendelse" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generér e-mail" }, + "generatorBoundariesHint": { + "message": "Værdi skal være mellem $MIN$ og $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Brugernavnstype" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Angiv feltets HTML-ID, navn, aria-label eller pladsholder." }, + "uppercaseDescription": { + "message": "Inkludér majuskler", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Inkludér minuskler", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Inkludér tal", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Inkludér specialtegn", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Tilføj vedhæftning" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Selv-hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/de/messages.json b/apps/web/src/locales/de/messages.json index 34dff949b24..b6bfcb323d9 100644 --- a/apps/web/src/locales/de/messages.json +++ b/apps/web/src/locales/de/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Anwendung" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Sonderzeichen (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Großbuchstaben einschließen", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Kleinbuchstaben einschließen", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Ziffern einschließen", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Sonderzeichen einschließen", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Anzahl der Wörter" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Vorsicht, diese Aktionen sind nicht umkehrbar!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Sitzungen abmelden" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Alle Sitzungen wurden abgemeldet" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Tresor leeren" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Dieser Benutzer hat sein Konto mit einer Zwei-Faktor-Authentifizierung geschützt." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Benutzern verbieten, anderen Organisationen beizutreten." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Deine aktuelle Organisation hat eine Richtlinie, die es dir nicht erlaubt, mehr als einer Organisation beizutreten. Bitte kontaktiere die Administratoren deiner Organisation oder melden dich mit einem anderen Bitwarden-Konto an." }, "singleOrgPolicyWarning": { "message": "Organisationsmitglieder, die nicht Eigentümer oder Administratoren sind und bereits Mitglied einer anderen Organisation sind, werden aus deiner Organisation entfernt." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Single Sign-on-Authentifizierung erfordern" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "E-Mail generieren" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Benutzernamenstyp" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Gib die HTML-ID des Felds, Name, Aria-Label oder einen Platzhalter ein." }, + "uppercaseDescription": { + "message": "Großbuchstaben einschließen", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Kleinbuchstaben einschließen", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Ziffern einschließen", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Sonderzeichen einschließen", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Anhang hinzufügen" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Selbst gehostet" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/el/messages.json b/apps/web/src/locales/el/messages.json index ca82f4adbba..38f1c8b13cf 100644 --- a/apps/web/src/locales/el/messages.json +++ b/apps/web/src/locales/el/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Εφαρμογή" }, @@ -433,7 +436,7 @@ "message": "Δημιουργία Κωδικού" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "Δημιουργία φράσης πρόσβασης" }, "checkPassword": { "message": "Ελέγξτε εάν ο κωδικός έχει εκτεθεί." @@ -694,7 +697,7 @@ "description": "Copy password to clipboard" }, "copyPassphrase": { - "message": "Copy passphrase", + "message": "Αντιγραφή φράσης πρόσβασης", "description": "Copy passphrase to clipboard" }, "passwordCopied": { @@ -967,13 +970,13 @@ "message": "Χρήση διαφορετικής μεθόδου σύνδεσης" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Σύνδεση με κλειδί πρόσβασης" }, "useSingleSignOn": { "message": "Use single sign-on" }, "welcomeBack": { - "message": "Welcome back" + "message": "Καλωσορίσατε και πάλι" }, "invalidPasskeyPleaseTryAgain": { "message": "Μη έγκυρο κλειδί πρόσβασης. Παρακαλώ προσπαθήστε ξανά." @@ -1075,7 +1078,7 @@ "message": "Είσοδος" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "Σύνδεση στο Bitwarden" }, "verifyIdentity": { "message": "Επαληθεύστε την ταυτότητά σας" @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Ειδικοί Χαρακτήρες (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Αριθμός Λέξεων" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Προσοχή, αυτές οι ενέργειες είναι μη αναστρέψιμες!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Κατάργηση Εξουσιοδότησης Συνεδριών" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Η Ανακληθεί η Πρόσβαση από Όλες τις Συνεδρίες" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Εκκαθάριση Vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Αυτός ο χρήστης χρησιμοποιεί τρόπο σύνδεσης δύο βημάτων για να προστατεύσει το λογαριασμό του." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Περιορίστε τους χρήστες να μην μπορούν να συμμετάσχουν σε άλλους οργανισμούς." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Ο τρέχων οργανισμός σας έχει μια πολιτική που δεν σας επιτρέπει να συμμετάσχετε σε περισσότερους από έναν οργανισμούς. Επικοινωνήστε με τους διαχειριστές του οργανισμού σας ή εγγραφείτε από διαφορετικό λογαριασμό Bitwarden." }, "singleOrgPolicyWarning": { "message": "Τα μέλη του οργανισμού που δεν είναι κάτοχοι ή διαχειριστές και είναι ήδη μέλη άλλου οργανισμού θα αφαιρεθούν από τον οργανισμό σας." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Έλεγχος ταυτότητας μεμονωμένης σύνδεσης" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Τύπος Ονόματος Χρήστη" }, @@ -7995,7 +8001,7 @@ "description": "Used as a card title description on the set password page to explain why the user is there" }, "cardMetrics": { - "message": "out of $TOTAL$", + "message": "από $TOTAL$", "placeholders": { "total": { "content": "$1", @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Συμπερίληψη αριθμών", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Προσθήκη συνημμένου" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/en_GB/messages.json b/apps/web/src/locales/en_GB/messages.json index f80a8635196..e00857f06b5 100644 --- a/apps/web/src/locales/en_GB/messages.json +++ b/apps/web/src/locales/en_GB/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorise sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorised" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organisations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organisations. This policy is required for organisations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organisation has a policy that does not allow you to join more than one organisation. Please contact your organisation admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organisation members who are not owners or admins and are already a member of another organisation will be removed from your organisation." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organisations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organisation policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organisations." } } diff --git a/apps/web/src/locales/en_IN/messages.json b/apps/web/src/locales/en_IN/messages.json index c8dea6df516..f0485a67f81 100644 --- a/apps/web/src/locales/en_IN/messages.json +++ b/apps/web/src/locales/en_IN/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorise sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorised" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict users from being able to join any other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organisations. This policy is required for organisations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organisations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Single Sign-On Authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organisation policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organisations." } } diff --git a/apps/web/src/locales/eo/messages.json b/apps/web/src/locales/eo/messages.json index 1753b2d7766..10eb8f86e64 100644 --- a/apps/web/src/locales/eo/messages.json +++ b/apps/web/src/locales/eo/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Signoj Specialaj (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Nombro de Vortoj" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Atentu, ĉi tiuj agoj ne estas reigeblaj!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Senrajtigi Sesiojn" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Ĉiuj Sesioj Neaŭtorizitaj" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Malplenigu Trezorejon" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Ĉi tiu uzanto uzas du-paŝan ensaluton por protekti sian konton." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Limigi uzantojn povi aliĝi al iuj aliaj organizoj." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Via nuna organizo havas politikon, kiu ne permesas vin aliĝi al pli ol unu organizo. Bonvolu kontakti administrantojn de via organizo aŭ registriĝi de alia Bitwarden-konto." }, "singleOrgPolicyWarning": { "message": "Organizaj membroj, kiuj ne estas Posedantoj aŭ Administrantoj kaj jam estas membro de alia organizo, estos forigitaj de via organizo." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Ununura Ensaluta Aŭtentikigo" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/es/messages.json b/apps/web/src/locales/es/messages.json index acf3ad9c1e6..c793eae6614 100644 --- a/apps/web/src/locales/es/messages.json +++ b/apps/web/src/locales/es/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Carácteres especiales (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Número de palabras" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "¡Cuidado, estas acciones no son reversibles!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Desautorizar sesiones" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Desautorizadas todas las sesiones" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Caja fuerte purgada" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Este usuario está usando autenticación de dos pasos para proteger su cuenta." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restringir a los usuarios de ser capaces de unirse a otras organizaciones." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Su organización actual tiene una política que no le permite unirse a más de una organización. Póngase en contacto con los administradores de su organización o acceda desde una cuenta de Bitwarden diferente." }, "singleOrgPolicyWarning": { "message": "Los miembros de la organización que no son dueños o administradores y que ya son miembros de otra organización serán eliminados de su organización." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Autenticación de inicio de sesión único" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo de nombre de usuario" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/et/messages.json b/apps/web/src/locales/et/messages.json index 2a9bf14533c..abc55d42854 100644 --- a/apps/web/src/locales/et/messages.json +++ b/apps/web/src/locales/et/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Erimärgid (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Sõnade arv" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Ettevaatust, neid toiminguid ei saa tagasi võtta!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Sessioonide tühistamine" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Kõikidest seadmetest on välja logitud" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Likvideeri Hoidla" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Sellel kasutajal on kaheastmeline kinnitamine sisse lülitatud." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Keela kasutajatel teiste organisatsioonidega liitumine." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Sinu praeguse organisatsiooni poliitika kohaselt ei saa sa olla rohkem kui ühe organisatsiooni liige. Palun kontakteeru oma praeguse organisatsiooni administraatoritega või kasuta liitumiseks teist Bitwardeni kontot." }, "singleOrgPolicyWarning": { "message": "Sisselülitamisel eemaldatakse organisatsioonist liikmed, kes on juba mõne teise organisatsiooniga liitunud. See ei puuduta liikmeid, kelle staatus on Omanik või Administraator." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Single Sign-On autentimine" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Kasutajanime tüüp" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/eu/messages.json b/apps/web/src/locales/eu/messages.json index 7829d997a9c..32b9aaccbf3 100644 --- a/apps/web/src/locales/eu/messages.json +++ b/apps/web/src/locales/eu/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Karaktere bereziak (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Hitz kopurua" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Kontuz, ekintza hauek ez dira itzulgarriak!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Baimena kendu saio hasierei" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Saio guztiei baimena kendua" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Garbitu kutxa gotorra" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Erabiltzaile hau bi urratseko saio hasiera erabiltzen ari da bere kontua babesteko." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Eragotzi kideei beste erakunde batekin saioa hastea." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Zure erakundeak erakunde batean baino gehiagotan saioa hastea ukatzen duen politika bat dauka. Jar zaitez harremanetan zure erakundeko administratzaileekin edo erregistratu beste Bitwarden kontu batean." }, "singleOrgPolicyWarning": { "message": "Jabe edo administratzaile ez diren eta beste erakunde bateko kide diren erakundeko kideak zure erakundetik kanporatuko dira." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Saio hasiera bakarreko autentifikazioa " }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Erabiltzaile izen mota" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/fa/messages.json b/apps/web/src/locales/fa/messages.json index 3c48fcda927..ed2b049c29a 100644 --- a/apps/web/src/locales/fa/messages.json +++ b/apps/web/src/locales/fa/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "نویسه‌های ویژه (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "تعداد کلمات" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "مراقب باشید، این اقدامات قابل برگشت نیستند!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "لغو مجوز نشست‌ها" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "همه نشست‌ها غیرمجاز است" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "پاکسازی گاوصندوق" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "این کاربر از ورود دو مرحله ای برای محافظت از حساب خود استفاده می‌کند." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "اعضا را از پیوستن به سازمان‌های دیگر محدود کنید." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "سازمان فعلی شما سیاستی دارد که به شما اجازه نمی‌دهد به بیش از یک سازمان بپیوندید. لطفاً با مدیران سازمان خود تماس بگیرید یا از یک حساب Bitwarden دیگر ثبت نام کنید." }, "singleOrgPolicyWarning": { "message": "اعضای سازمانی که مالک یا سرپرست نیستند و از قبل عضو سازمان دیگری هستند از سازمان شما حذف خواهند شد." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "نیاز به احراز هویت یکبار ورود به سیستم" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "نوع نام کاربری" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/fi/messages.json b/apps/web/src/locales/fi/messages.json index fbc5ba121c5..9a726b5577b 100644 --- a/apps/web/src/locales/fi/messages.json +++ b/apps/web/src/locales/fi/messages.json @@ -9,7 +9,7 @@ "message": "Access Intelligence" }, "passwordRisk": { - "message": "Password Risk" + "message": "Salasanariski" }, "discoverAtRiskPasswords": { "message": "Discover at-risk passwords and notify users to change those passwords." @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Sovellus" }, @@ -433,7 +436,7 @@ "message": "Luo salasana" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "Luo salalause" }, "checkPassword": { "message": "Tarkasta, onko salasana paljastunut." @@ -694,7 +697,7 @@ "description": "Copy password to clipboard" }, "copyPassphrase": { - "message": "Copy passphrase", + "message": "Kopioi salalause", "description": "Copy passphrase to clipboard" }, "passwordCopied": { @@ -967,13 +970,13 @@ "message": "Käytä vaihtoehtoista kirjautumistapaa" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Kirjaudu pääsyavaimella" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "Käytä kertakirjautumista" }, "welcomeBack": { - "message": "Welcome back" + "message": "Tervetuloa takaisin" }, "invalidPasskeyPleaseTryAgain": { "message": "Pääsyavain ei kelpaa. Yritä uudelleen." @@ -1057,7 +1060,7 @@ "message": "Luo uusi tili" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Oletko uusi Bitwarden-käyttäjä?" }, "setAStrongPassword": { "message": "Aseta vahva salasana" @@ -1075,7 +1078,7 @@ "message": "Kirjaudu sisään" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "Kirjaudu Bitwardeniin" }, "verifyIdentity": { "message": "Vahvista henkilöllisyytesi" @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Erikoismerkit (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Sisällytä isoja kirjaimia", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Ö", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Sisällytä pieniä kirjaimia", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-ö", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Sisällytä numeroita", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Sisällytä erikoismerkkejä", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Sanojen määrä" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Ole varovainen! Näitä toimintoja ei ole mahdollista kumota!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Mitätöi kaikki istunnot" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Kaikki istunnot mitätöitiin" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Tyhjennä holvi" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Käyttäjä on suojannut tilinsä kaksivaiheisella kirjautumisella." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Estä jäseniä liittymästä muihin organisaatioihin." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Nykyisen organisaatiosi käytäntö ei salli liittymistä yhtä useampaan organisaatioon. Ole yhteydessä organisaatiosi ylläpitoon tai liity eri Bitwarden-tilin kautta." }, "singleOrgPolicyWarning": { "message": "Organisaation jäsenet, jotka eivät ole omistajia tai ylläpitäjiä ja jotka ovat jo toisen organisaation jäseniä, poistetaan organisaatiostasi." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Vaadi todennus kertakirjautumisella" }, @@ -6401,7 +6393,21 @@ "message": "Luo käyttäjätunnus" }, "generateEmail": { - "message": "Generate email" + "message": "Luo sähköpostiosoite" + }, + "generatorBoundariesHint": { + "message": "Arvon tulee olla väliltä $MIN$ - $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } }, "usernameType": { "message": "Käyttäjätunnuksen tyyppi" @@ -6509,7 +6515,7 @@ "message": "Luo sähköpostialias ulkoisella ohjauspalvelulla." }, "forwarderDomainName": { - "message": "Email domain", + "message": "Sähköpostin verkkotunnus", "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Sisällytä isoja kirjaimia", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Ö", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Sisällytä pieniä kirjaimia", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-ö", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Sisällytä numeroita", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Sisällytä erikoismerkkejä", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Lisää liite" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/fil/messages.json b/apps/web/src/locales/fil/messages.json index bc958206c76..3323935f0f0 100644 --- a/apps/web/src/locales/fil/messages.json +++ b/apps/web/src/locales/fil/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Mga espesyal na karakter (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Bilang ng mga salita" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Mag-ingat, wala nang bawian sa mga gagawin mo rito!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "I-deauthorize ang mga sesyon" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Na-deauthorize lahat ng mga sesyon" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Burahin lahat sa vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Gumagamit ang user na ito ng dalawang hakbang na pag login upang maprotektahan ang kanilang account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Paghigpitan ang mga miyembro mula sa pagsali sa iba pang mga organisasyon." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Ang iyong kasalukuyang organisasyon ay may patakaran na hindi nagpapahintulot sa iyo na sumali sa higit sa isang organisasyon. Mangyaring makipag ugnay sa iyong mga admins ng organisasyon o mag sign up mula sa ibang account sa Bitwarden." }, "singleOrgPolicyWarning": { "message": "Ang mga miyembro ng organisasyon na hindi owner o admin at miyembro na ng ibang organization ay tatanggalin sa inyong samahan." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Kailangan ng pagpapatunay ng solong pag sign on" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Uri ng username" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/fr/messages.json b/apps/web/src/locales/fr/messages.json index bc9aa919578..de1c12d4715 100644 --- a/apps/web/src/locales/fr/messages.json +++ b/apps/web/src/locales/fr/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Marquer l'application comme critique" }, + "appsMarkedAsCritical": { + "message": "Applications marquées comme critiques" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Caractères spéciaux (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Inclure les caractères majuscules", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Inclure des caractères minuscules", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Inclure des chiffres", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Inclure des caractères spéciaux", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Nombre de mots" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Attention, ces actions sont irréversibles !" }, + "dangerZoneDescSingular": { + "message": "Attention, cette action est irréversible!" + }, "deauthorizeSessions": { "message": "Révoquer les sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Toutes les sessions ont été révoquées" }, + "accountIsManagedMessage": { + "message": "Ce compte est géré par $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Effacer le coffre" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "Il vous reste 1 invitation." + }, "userUsingTwoStep": { "message": "Cet utilisateur utilise l'authentification à deux facteurs pour protéger son compte." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Empêcher les utilisateurs de pouvoir rejoindre d'autres organisations." }, + "singleOrgPolicyDesc": { + "message": "Restreindre les membres de rejoindre d'autres organisations. Cette politique est nécessaire pour les organisations qui ont activé la vérification de domaine." + }, "singleOrgBlockCreateMessage": { "message": "Votre organisation actuelle a une politique qui ne vous permet pas de rejoindre plus d'une organisation. Veuillez contacter les administrateurs de votre organisation ou vous inscrire à partir d'un compte Bitwarden différent." }, "singleOrgPolicyWarning": { "message": "Les membres de l'organisation qui ne sont pas propriétaires ou administrateurs et qui sont déjà membres d'une autre organisation seront supprimés de votre organisation." }, + "singleOrgPolicyMemberWarning": { + "message": "Les membres non conformes seront placés en statut révoqué jusqu'à ce qu'ils quittent toutes les autres organisations. Les administrateurs sont exemptés et peuvent restaurer les membres une fois que la conformité est respectée." + }, "requireSso": { "message": "Authentification par Connexion Unique (Single Sign-On)" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Générer un courriel" }, + "generatorBoundariesHint": { + "message": "La valeur doit être comprise entre $MIN$ et $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Type de Nom d'Utilisateur" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Entrez l'identifiant html, le nom, l'étiquette aria ou l'espace réservé du champ." }, + "uppercaseDescription": { + "message": "Inclure les caractères majuscules", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Inclure des caractères minuscules", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Inclure des chiffres", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Inclure des caractères spéciaux", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Ajouter une pièce jointe" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Auto-Hébergement" + }, + "verified-domain-single-org-warning": { + "message": "La vérification d'un domaine activera la politique d'organisation unique." + }, + "single-org-revoked-user-warning": { + "message": "Les membres non conformes seront révoqués. Les administrateurs peuvent restaurer les membres une fois qu'ils quittent toutes les autres organisations." } } diff --git a/apps/web/src/locales/gl/messages.json b/apps/web/src/locales/gl/messages.json index 35a343d2474..9a17bed76be 100644 --- a/apps/web/src/locales/gl/messages.json +++ b/apps/web/src/locales/gl/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/he/messages.json b/apps/web/src/locales/he/messages.json index dc0c4220186..943726ec844 100644 --- a/apps/web/src/locales/he/messages.json +++ b/apps/web/src/locales/he/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "מספר מילים" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "זהירות, פעולות אלה לא ניתנות לביטול!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "בטל הרשאות סשנים" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "הוסרה ההרשאה מכל הסשנים" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "מחק תוכן כספת" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "משתמש זה הפעיל כניסה דו שלבית כדי להגן על חשבונו." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "מונע מהמשתמשים אפשרות צירוף לארגונים אחרים." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "לפי מדיניות הארגון שלך, אין באפשרותך להצטרף ליותר מארגון אחד. אנא צור קשר עם מנהלי הארגון שלך, או לחלופין - צור חשבון Bitwarden נפרד." }, "singleOrgPolicyWarning": { "message": "חברי ארגון שאינם הבעלים או המנהלים וכבר עכשיו הם חלק מארגון אחר - יוסרו מהארגון שלך." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "אימות בעזרת כניסה אחודה" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/hi/messages.json b/apps/web/src/locales/hi/messages.json index 7f304a50098..467f98dfa6e 100644 --- a/apps/web/src/locales/hi/messages.json +++ b/apps/web/src/locales/hi/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/hr/messages.json b/apps/web/src/locales/hr/messages.json index d623a17d7bc..9f311971757 100644 --- a/apps/web/src/locales/hr/messages.json +++ b/apps/web/src/locales/hr/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Posebni znakovi (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Broj riječi" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Pažljivo, ove akcije su konačne i ne mogu se poništiti!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deautoriziraj sesije" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Sve sesije deautorizirane" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Izbriši sve iz trezora" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Ovaj korisnik upotrebljava prijavu u dva koraka za zaštitu svog računa." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Onemogući korisnicima da se pridruže drugim organizacijama." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Tvoja organizacija ima pravilo koje ti ne dozvoljava pridruživanje drugim organizacijama. Molimo kontaktiraj administratora svoje organizacije ili se prijavi s privatnim Bitwarden računom." }, "singleOrgPolicyWarning": { "message": "Članovi organizacije koji nisu Vlasnici ili Administratori, a već su članovi neke druge organizacije, biti će uklonjeni iz tvoje organizacije." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Zahtijevaj SSO autentifikaciju" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tip korisničkog imena" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/hu/messages.json b/apps/web/src/locales/hu/messages.json index 6b6709214e0..1821e7e8fe9 100644 --- a/apps/web/src/locales/hu/messages.json +++ b/apps/web/src/locales/hu/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Alkalmazások megjelölése kritikusként" }, + "appsMarkedAsCritical": { + "message": "Kritikusként megjelölt alkalmazások" + }, "application": { "message": "Alkalmazás" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Speciális karakterek (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Nagybetűs karakterek bevonása", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Kisbetűs karakterek bevonása", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Számok bevonása", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Speciális karakterek bevonása", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Szavak száma" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Óvatosan! Ezeket a műveleteket nem lehet visszaállítani." }, + "dangerZoneDescSingular": { + "message": "Óvatosan! Ezeket a műveleteket nem lehet visszaállítani." + }, "deauthorizeSessions": { "message": "Munkamenetek hitelesítésének eldobása" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Az összes munkamenet hitelesítése eldobásra került." }, + "accountIsManagedMessage": { + "message": "Ezt a fiókot $ORGANIZATIONNAME$ kezeli.", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Széf kitakarítása" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "1 meghívó maradt." + }, "userUsingTwoStep": { "message": "Ez a felhasználó kétlépcsős bejelentkezést használ fiókja védelmére." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Korlátozza a felhasználókat más szervezetekhez csatlakozásban." }, + "singleOrgPolicyDesc": { + "message": "A tagok más szervezetekhez csatlakozásának korlátozása. Ez a házirend olyan szervezetek számára szükséges, amelyek engedélyezték a tartományellenőrzést." + }, "singleOrgBlockCreateMessage": { "message": "Jelenlegi szervezetének van olyan irányelve, amely nem engedélyezi, hogy több szervezethez csatlakozzunk. Lépjünk kapcsolatba szervezetünk adminisztrátorával vagy regisztráljunk egy másik Bitwarden fiókból." }, "singleOrgPolicyWarning": { "message": "A szervezet azon tagjait, akik nem tulajdonosok vagy rendszergazdák, és már egy másik szervezet tagjai, eltávolítjáara kerülnek a szervezetből." }, + "singleOrgPolicyMemberWarning": { + "message": "A nem megfelelő tagok visszavont státuszba kerülnek mindaddig, amíg ki nem lépnek az összes többi szervezetből. Az adminisztrátorok mentesülnek és visszaállíthatják a tagokat, ha megfelelnek a megfelelőségnek." + }, "requireSso": { "message": "Egyszeri bejelentkezés hitelesítése" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Email generálása" }, + "generatorBoundariesHint": { + "message": "Az érték legyen $MIN$ és $MAX$ között.", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Felhasználónév típusa" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Adjuk meg a mező html azonosítóját, nevét, aria címkéjét vagy helyőrét." }, + "uppercaseDescription": { + "message": "Nagybetűs karakterek bevonása", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Kisbetűs karakterek bevonása", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Számok bevonása", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Speciális karakterek bevonása", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Melléklet hozzáadása" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Sahát üzemeltetés" + }, + "verified-domain-single-org-warning": { + "message": "A tartomány ellenőrzése bekapcsolja az önálló szervezet házirendjét." + }, + "single-org-revoked-user-warning": { + "message": "A nem megfelelő tagok visszavonásra kerülnek. Az adminisztrátorok visszaállíthatják a tagokat, miután elhagyják az összes többi szervezetet." } } diff --git a/apps/web/src/locales/id/messages.json b/apps/web/src/locales/id/messages.json index d84735de92a..0bd8583d222 100644 --- a/apps/web/src/locales/id/messages.json +++ b/apps/web/src/locales/id/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Karakter Khusus (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Jumlah Kata" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Hati-hati, tindakan ini tidak bisa dibatalkan!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Batalkan Otorisasi Sesi" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Semua Sesi Dicabut Izinnya" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Kosongkan Brankas" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Pengguna ini menggunakan proses masuk dua langkah untuk melindungi akun mereka." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Batasi pengguna untuk dapat bergabung dengan organisasi lain." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Organisasi Anda saat ini memiliki kebijakan yang tidak mengizinkan Anda untuk bergabung dengan lebih dari satu organisasi. Silakan hubungi admin organisasi Anda atau daftar dari akun Bitwarden yang berbeda." }, "singleOrgPolicyWarning": { "message": "Anggota organisasi yang bukan Pemilik atau Administrator dan sudah menjadi anggota organisasi lain akan dihapus dari organisasi Anda." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Autentikasi Sistem Masuk Tunggal" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Jenis nama pengguna" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/it/messages.json b/apps/web/src/locales/it/messages.json index 251a1677722..d820c75b2d7 100644 --- a/apps/web/src/locales/it/messages.json +++ b/apps/web/src/locales/it/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -306,7 +309,7 @@ "message": "Mx" }, "dr": { - "message": "Dott" + "message": "Dr" }, "cardExpiredTitle": { "message": "Carta scaduta" @@ -946,7 +949,7 @@ "message": "No" }, "loginOrCreateNewAccount": { - "message": "Accedi o crea un nuovo account per aprire la tua cassaforte." + "message": "Entra o crea un nuovo account per accedere alla tua cassaforte." }, "loginWithDevice": { "message": "Accedi con dispositivo" @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Caratteri speciali (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Numero di parole" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Attento, queste azioni non sono reversibili!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Annulla autorizzazione sessioni" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Tutte le sessioni revocate" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Svuota cassaforte" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Questo utente usa la verifica in due passaggi per proteggere il suo account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Impedisci ai membri di unirsi ad altre organizzazioni." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "La tua organizzazione corrente ha una politica che non ti consente di unirti ad altre organizzazioni. Contatta gli amministratori della tua organizzazione o registrati da un altro account Bitwarden." }, "singleOrgPolicyWarning": { "message": "I membri dell'organizzazione che non sono proprietari o amministratori e sono membri di un'altra organizzazione saranno rimossi dalla tua organizzazione." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Richiedi autenticazione Single Sign-On" }, @@ -5246,7 +5238,7 @@ "message": "È necessario l'approvazione da parte dell'amministratore per provare il Secrets Manager." }, "smAccessRequestEmailSent": { - "message": "Mail per richiedere l'accesso al Secrets Manager inviata agli amministratori." + "message": "L'email di richiesta di accesso al Secrets Manager è stata inviata agli amministratori." }, "requestAccessSMDefaultEmailContent": { "message": "Ciao,\n\nChiedo un abbonamento a Bitwarden Secrets Manager per il nostro team. Il tuo supporto significherebbe molto!\n\nBitwarden Secrets Manager è una soluzione di gestione dei segreti, che utilizza la crittografia end-to-end per la memorizzazione sicura, la condivisione e la distribuzione di credenziali macchina, come chiavi API, password di database e certificati di autenticazione.\n\nSecrets Manager ci aiuterà a:\n\n- Migliorare la sicurezza\n- Semplificare le operazioni\n- Prevenire costosi smarrimenti di segreti\n\nPer richiedere una prova gratuita per il nostro team, per favore contatta Bitwarden.\n\nGrazie per la collaborazione!" @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo di nome utente" }, @@ -8137,7 +8143,7 @@ } }, "next": { - "message": "Avanti" + "message": "Continua" }, "ssoLoginIsRequired": { "message": "Il login SSO è obbligatorio" @@ -8858,28 +8864,28 @@ "message": "Visualizza il repository Rust" }, "cSharpSDKRepo": { - "message": "Visualizza la repository C#" + "message": "Visualizza il repository C#" }, "cPlusPlusSDKRepo": { - "message": "Visualizza la repository C++" + "message": "Visualizza il repository C++" }, "jsWebAssemblySDKRepo": { "message": "Visualizza il repository JS WebAssembly" }, "javaSDKRepo": { - "message": "Visualizza la repository Java" + "message": "Visualizza il repository Java" }, "pythonSDKRepo": { - "message": "Visualizza la repository Python" + "message": "Visualizza il repository Python" }, "phpSDKRepo": { - "message": "Visualizza la repository php" + "message": "Visualizza il repository PHP" }, "rubySDKRepo": { - "message": "Visualizza la repository Ruby" + "message": "Visualizza il repository Ruby" }, "goSDKRepo": { - "message": "Visualizza la repository Go" + "message": "Visualizza il repository Go" }, "createNewClientToManageAsProvider": { "message": "Crea una nuova organizzazione cliente da gestire come fornitore. Gli slot aggiuntivi saranno riflessi nel prossimo ciclo di fatturazione." @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/ja/messages.json b/apps/web/src/locales/ja/messages.json index 1c76428c642..52d161ed21b 100644 --- a/apps/web/src/locales/ja/messages.json +++ b/apps/web/src/locales/ja/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "アプリ" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "特殊文字(!@#$%^&*)" }, - "uppercaseDescription": { - "message": "大文字を含める", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A~Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "小文字を含める", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a~z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "数字を含める", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0~9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "特殊記号を含める", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "単語数" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "これらの操作はやり直せないため注意してください!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "セッションの承認を取り消す" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "全てのセッションを無効化" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "保管庫を削除" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "このユーザーはアカウントを保護するため二段階認証を利用しています。" }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "ユーザーが他の組織に参加できないように制限します。" }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "現在の組織には、複数の組織に参加することを許可していないポリシーがあります。 組織の管理者に連絡するか、別の Bitwarden アカウントから登録してください。" }, "singleOrgPolicyWarning": { "message": "オーナーまたは管理者でなく、すでに他の組織のメンバーであるメンバーは組織から削除されます。" }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "シングルサインオン認証" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "ユーザー名の種類" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "大文字を含める", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A~Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "小文字を含める", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a~z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "数字を含める", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0~9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "特殊記号を含める", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "添付ファイルを追加" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/ka/messages.json b/apps/web/src/locales/ka/messages.json index 9262c7e248d..5077edce522 100644 --- a/apps/web/src/locales/ka/messages.json +++ b/apps/web/src/locales/ka/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/km/messages.json b/apps/web/src/locales/km/messages.json index 93559c33fec..3c207dd6c28 100644 --- a/apps/web/src/locales/km/messages.json +++ b/apps/web/src/locales/km/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/kn/messages.json b/apps/web/src/locales/kn/messages.json index 8fa4110d151..39326186fd1 100644 --- a/apps/web/src/locales/kn/messages.json +++ b/apps/web/src/locales/kn/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "ಪದಗಳ ಸಂಖ್ಯೆ" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "ಎಚ್ಚರಿಕೆಯಿಂದ, ಈ ಕ್ರಿಯೆಗಳು ಹಿಂತಿರುಗಿಸಲಾಗುವುದಿಲ್ಲ!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "ಸೆಷನ್‌ಗಳನ್ನು ಅನಧಿಕೃತಗೊಳಿಸಿ" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "ಎಲ್ಲಾ ಸೆಷನ್‌ಗಳು ಅನಧಿಕೃತವಾಗಿವೆ" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "ವಾಲ್ಟ್ ಅನ್ನು ಶುದ್ಧೀಕರಿಸಿ" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "ಈ ಬಳಕೆದಾರರು ತಮ್ಮ ಖಾತೆಯನ್ನು ರಕ್ಷಿಸಲು ಎರಡು-ಹಂತದ ಲಾಗಿನ್ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದಾರೆ." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "ಬಳಕೆದಾರರು ಬೇರೆ ಯಾವುದೇ ಸಂಸ್ಥೆಗಳಿಗೆ ಸೇರಲು ಸಾಧ್ಯವಾಗದಂತೆ ನಿರ್ಬಂಧಿಸಿ." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಸಂಸ್ಥೆಯು ಒಂದು ನೀತಿಯನ್ನು ಹೊಂದಿದ್ದು ಅದು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಸಂಸ್ಥೆಗಳಿಗೆ ಸೇರಲು ನಿಮಗೆ ಅನುಮತಿಸುವುದಿಲ್ಲ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ ಅಥವಾ ಬೇರೆ ಬಿಟ್‌ವಾರ್ಡನ್ ಖಾತೆಯಿಂದ ಸೈನ್ ಅಪ್ ಮಾಡಿ." }, "singleOrgPolicyWarning": { "message": "ಮಾಲೀಕರು ಅಥವಾ ನಿರ್ವಾಹಕರಲ್ಲದ ಮತ್ತು ಈಗಾಗಲೇ ಮತ್ತೊಂದು ಸಂಸ್ಥೆಯ ಸದಸ್ಯರಾಗಿರುವ ಸಂಸ್ಥೆಯ ಸದಸ್ಯರನ್ನು ನಿಮ್ಮ ಸಂಸ್ಥೆಯಿಂದ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "ಏಕ ಸೈನ್-ಆನ್ ದೃಢೀಕರಣ" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/ko/messages.json b/apps/web/src/locales/ko/messages.json index dec3c79bf1f..2976d8161e8 100644 --- a/apps/web/src/locales/ko/messages.json +++ b/apps/web/src/locales/ko/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "특수 문자 (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "단어 수" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "주의, 이 행동들은 되돌릴 수 없음!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "세션 해제" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "모든 세션 해제 됨" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "보관함 삭제" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "이 사용자는 계정을 보호하기 위해 2단계 로그인을 사용하고 있습니다." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "사용자들이 다른 조직에 가입하지 못하도록 제한합니다." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "현재 조직에 하나 이상의 조직에 참가할 수 없도록 정책이 지정되어 있습니다. 조직 관리자에게 문의하거나 다른 Bitwarden 계정으로 로그앤해주세요." }, "singleOrgPolicyWarning": { "message": "소유자 또는 관리자가 아닌 조직 구성원 및 이미 다른 조직의 구성원인 경우 이 조직에서 제거됩니다." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "통합 (SSO) 인증" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/lv/messages.json b/apps/web/src/locales/lv/messages.json index bcf396fa287..6a836f05536 100644 --- a/apps/web/src/locales/lv/messages.json +++ b/apps/web/src/locales/lv/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Atzīmēt lietotni kā kritisku" }, + "appsMarkedAsCritical": { + "message": "Lietotnes, kas atzīmētas kā kritisku" + }, "application": { "message": "Lietotne" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Īpašās rakstzīmes (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Iekļaut lielos burtus", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Iekļaut mazos burtus", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Iekļaut ciparus", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Iekļaut īpašās rakstzīmes", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Vārdu skaits" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Piesardzību, šīs darbības nav atsaucamas!" }, + "dangerZoneDescSingular": { + "message": "Piesardzību, šī darbība ir neatgriezeniska!" + }, "deauthorizeSessions": { "message": "Padarīt sesijas spēkā neesošas" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Visu sesiju darbība ir atsaukta" }, + "accountIsManagedMessage": { + "message": "Šo kontu pārvalda $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Iztīrīt glabātavu" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "Tev ir atlicis 1 uzaicinājums." + }, "userUsingTwoStep": { "message": "Šis lietotājs izmanto divpakāpju pieteikšanos, lai aizsargātu savu kontu." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Ierobežo lietotāju iespēju pievienoties citām apvienībām." }, + "singleOrgPolicyDesc": { + "message": "Ierobežot dalībniekus pievienoties citām apvienībām. Šī pamatnostādne ir nepieciešama apvienībām, kurās ir iespējota domēna apliecināšana." + }, "singleOrgBlockCreateMessage": { "message": "Pašreizējā apvienībā ir nosacījums, kas neļauj pievienoties vairāk kā vienai apvienībai. Lūgums sazināties ar savas apvienības pārvaldītājiem vai pieteikties no cita Bitwarden konta." }, "singleOrgPolicyWarning": { "message": "Apvienības dalībnieki, kas nav īpašnieki vai pārvaldītāji un jau ir dalībnieki citā apvienībā, tiks atbrīvoti." }, + "singleOrgPolicyMemberWarning": { + "message": "Pamatnostādnei neatbilstoši dalībniekiem tiks piešķirts stāvoklis \"Atsaukts\", līdz viņī pametīs visas pārējās apvienības. Pārvaldītāji ir izņēmums, un viņi var atjaunot dalībniekus, tiklīdz ir sasniegta atbilstība pamatnostādnei." + }, "requireSso": { "message": "Pieprasīt vienotās pieteikšanās autentificēšanos" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Izveidot e-pastu" }, + "generatorBoundariesHint": { + "message": "Vērtībai jābūt starp $MIN$ un $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Lietotājvārda veids" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Jāievada lauka HTML id, name, aria-label vai placeholder vērtība." }, + "uppercaseDescription": { + "message": "Iekļaut lielos burtus", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Iekļaut mazos burtus", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Iekļaut ciparus", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Iekļaut īpašās rakstzīmes", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Pievienot pielikumu" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Pašmitināts" + }, + "verified-domain-single-org-warning": { + "message": "Domēna apliecināšana ieslēgts vienas apvienības pamatnostādni." + }, + "single-org-revoked-user-warning": { + "message": "Pamatnostādnei neatbilstošie dalībnieki tiks atsaukti. Pārvaldītāji var atjaunot dalībniekus, tiklīdz viņi pametīs visas pārējās apvienības." } } diff --git a/apps/web/src/locales/ml/messages.json b/apps/web/src/locales/ml/messages.json index ee6c0d24823..c37e4740a40 100644 --- a/apps/web/src/locales/ml/messages.json +++ b/apps/web/src/locales/ml/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "വാക്കുകളുടെ എണ്ണം" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "ശ്രദ്ധിക്കുക, ഈ പ്രവർത്തനങ്ങൾ മാറ്റാനാവില്ല!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize Sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "എല്ലാ സെഷനും നിരസിച്ചു." }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "വാൾട് നശിപ്പിക്കുക" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "ഈ ഉപയോക്താവ് അവരുടെ അക്കൗണ്ട് രണ്ട്-പ്രവേശനം ഉപയോഗിച്ച് സുരക്ഷിതമാക്കിയിരിക്കുന്നു." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "മറ്റേതെങ്കിലും ഓർഗനൈസേഷനിൽ ചേരുന്നതിൽ നിന്ന് ഉപയോക്താക്കളെ നിയന്ത്രിക്കുക." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "ഒന്നിൽ കൂടുതൽ ഓർഗനൈസേഷനിൽ ചേരാൻ നിങ്ങളെ അനുവദിക്കാത്ത ഒരു നയമാണ് നിങ്ങളുടെ നിലവിലെ ഓർഗനൈസേഷന് ഉള്ളത്. നിങ്ങളുടെ ഓർഗനൈസേഷൻ അഡ്‌മിനുകളുമായി ബന്ധപ്പെടുക അല്ലെങ്കിൽ മറ്റൊരു ബിറ്റ്‌വാർഡൻ അക്കൗണ്ടിൽ നിന്ന് സൈൻ അപ്പ് ചെയ്യുക." }, "singleOrgPolicyWarning": { "message": "ഉടമകളോ അഡ്മിനിസ്ട്രേറ്റർമാരോ അല്ലാത്തവരും ഇതിനകം മറ്റൊരു ഓർഗനൈസേഷനിൽ അംഗവുമായ ഓർഗനൈസേഷൻ അംഗങ്ങളെ നിങ്ങളുടെ ഓർഗനൈസേഷനിൽ നിന്ന് നീക്കംചെയ്യും." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "സിംഗിൾ സൈൻ-ഓൺ പ്രാമാണീകരണം" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/mr/messages.json b/apps/web/src/locales/mr/messages.json index 93559c33fec..3c207dd6c28 100644 --- a/apps/web/src/locales/mr/messages.json +++ b/apps/web/src/locales/mr/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/my/messages.json b/apps/web/src/locales/my/messages.json index 93559c33fec..3c207dd6c28 100644 --- a/apps/web/src/locales/my/messages.json +++ b/apps/web/src/locales/my/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/nb/messages.json b/apps/web/src/locales/nb/messages.json index fb4202e4de9..7395681eaa6 100644 --- a/apps/web/src/locales/nb/messages.json +++ b/apps/web/src/locales/nb/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Spesialtegn (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Antall ord" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Vær forsiktig, disse handlingene kan ikke reverseres!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Fjern autorisering av økter" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Fjernet autoriseringen fra alle økter" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Tøm hvelvet" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Denne brukeren bruker 2-trinnsinnlogging til å beskytte kontoen sin." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Begrense brukere fra å kunne bli med i andre organisasjoner." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Din nåværende organisasjon har en policy som ikke lar deg bli med i mer enn én organisasjon. Kontakt din organisasjons admins eller registrer deg fra en annen Bitwarden-konto." }, "singleOrgPolicyWarning": { "message": "Organisasjonsmedlemmer som ikke er eiere eller administratorer, og som allerede er medlem av en annen organisasjon, blir fjernet fra din organisasjon." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Single på-på-autentisering" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Brukernavntype" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/ne/messages.json b/apps/web/src/locales/ne/messages.json index bcfd6a7f686..0df52ef79e0 100644 --- a/apps/web/src/locales/ne/messages.json +++ b/apps/web/src/locales/ne/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/nl/messages.json b/apps/web/src/locales/nl/messages.json index 1787c7d396a..886fdb99793 100644 --- a/apps/web/src/locales/nl/messages.json +++ b/apps/web/src/locales/nl/messages.json @@ -57,7 +57,7 @@ "message": "Je hebt nog geen applicaties als belangrijk aangewezen" }, "noPriorityApplicationsDescription": { - "message": "Wijs je meest kritische applicaties aan om risicovolle wachtwoorden te ontdekken en gebruikers te attenderen deze te wijzigen." + "message": "Wijs je meest belangrijke applicaties aan om risicovolle wachtwoorden te ontdekken en gebruikers te attenderen deze te wijzigen." }, "markPriorityApps": { "message": "Belangrijke apps aanwijzen" @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "App aanwijzen als belangrijk" }, + "appsMarkedAsCritical": { + "message": "App als belangrijk gemarkeerd" + }, "application": { "message": "Applicatie" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Speciale tekens (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Hoofdletters toevoegen", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Kleine letters toevoegen", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Nummers toevoegen", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Speciale tekens toevoegen", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Aantal woorden" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Waarschuwing - deze acties zijn niet terug te draaien!" }, + "dangerZoneDescSingular": { + "message": "Waarschuwing - deze actie is niet terug te draaien!" + }, "deauthorizeSessions": { "message": "Sessie-autorisaties intrekken" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Autorisatie van alle sessies ingetrokken" }, + "accountIsManagedMessage": { + "message": "Dit account wordt beheerd door $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Kluis verwijderen" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "Je hebt 1 uitnodiging over." + }, "userUsingTwoStep": { "message": "Het account van deze gebruiker is beschermd met tweestapsaanmelding." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Beperk de mogelijkheid voor gebruikers om deel te nemen aan andere organisaties." }, + "singleOrgPolicyDesc": { + "message": "Beperk leden in het aansluiten bij andere organisaties. Dit beleid is vereist voor organisaties die domeinverificatie hebben ingeschakeld." + }, "singleOrgBlockCreateMessage": { "message": "Jouw huidige organisatie heeft een beleid dat je niet toestaat om deel te nemen aan meer dan één organisatie. Neem contact op met de beheerders van jouw organisatie of meld je aan met een ander Bitwarden-account." }, "singleOrgPolicyWarning": { "message": "Leden van de organisatie die geen eigenaar of beheerder zijn en die al lid zijn van een andere organisatie, worden verwijderd uit jouw organisatie." }, + "singleOrgPolicyMemberWarning": { + "message": "Niet-conforme leden krijgen de status ingetrokken totdat ze alle andere organisaties hebben verlaten. Beheerders zijn uitgezonderd en kunnen leden herstellen zodra ze aan de naleving voldoen." + }, "requireSso": { "message": "Single Sign-On Authenticatie" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "E-mailadres genereren" }, + "generatorBoundariesHint": { + "message": "Waarde moet tussen $MIN$ en $MAX$ liggen", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Type gebruikersnaam" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Html-id, naam, aria-label of placeholder van het veld invullen." }, + "uppercaseDescription": { + "message": "Hoofdletters toevoegen", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Kleine letters toevoegen", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Nummers toevoegen", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Speciale tekens toevoegen", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Bijlage toevoegen" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Zelf hosten" + }, + "verified-domain-single-org-warning": { + "message": "Het verifiëren van een domein zal het enkelvoudig organisatiebeleid inschakelen." + }, + "single-org-revoked-user-warning": { + "message": "Niet-conforme leden worden ingetrokken. Beheerders kunnen leden herstellen zodra ze alle andere organisaties verlaten." } } diff --git a/apps/web/src/locales/nn/messages.json b/apps/web/src/locales/nn/messages.json index a7b9bd24058..d8316ef3273 100644 --- a/apps/web/src/locales/nn/messages.json +++ b/apps/web/src/locales/nn/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Spesialteikn (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Tal på ord" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/or/messages.json b/apps/web/src/locales/or/messages.json index 93559c33fec..3c207dd6c28 100644 --- a/apps/web/src/locales/or/messages.json +++ b/apps/web/src/locales/or/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/pl/messages.json b/apps/web/src/locales/pl/messages.json index d7b39fa2fd9..6f9acb04be9 100644 --- a/apps/web/src/locales/pl/messages.json +++ b/apps/web/src/locales/pl/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Znaki specjalne (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Liczba słów" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Uwaga - te operacje są nieodwracalne!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Zakończ sesje" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Wszystkie sesje zostały zakończone" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Wyczyść sejf" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Ten użytkownik korzysta z logowania dwustopniowego, aby chronić swoje konto." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Zablokuj użytkownikom możliwość dołączania do innych organizacji." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Twoja obecna organizacja posiada zasady, które nie pozwalają na dołączanie do więcej niż jednej organizacji. Skontaktuj się z administratorami swojej organizacji lub zarejestruj się z innego konta Bitwarden." }, "singleOrgPolicyWarning": { "message": "Członkowie organizacji, którzy nie są właścicielami lub administratorami i są już członkami innej organizacji zostaną usunięci z Twojej organizacji." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Uwierzytelnianie logowaniem jednokrotnym" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Rodzaj nazwy użytkownika" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/pt_BR/messages.json b/apps/web/src/locales/pt_BR/messages.json index bfd3a9d1907..aa81fc5a063 100644 --- a/apps/web/src/locales/pt_BR/messages.json +++ b/apps/web/src/locales/pt_BR/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Aplicativo" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Caracteres Especiais (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Incluir caracteres maiúsculos", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Incluir caracteres minúsculos", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Incluir números", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0 – 9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Incluir caracteres especiais", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Número de Palavras" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Cuidado, essas ações não são reversíveis!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Desautorizar sessões" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Todas as Sessões Desautorizadas" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Limpar cofre" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Este usuário está usando o login em duas etapas para proteger a sua conta." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restringir os usuários de poderem entrar em outras organizações." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Sua organização atual tem uma política que não permite que você entre em mais de uma organização. Por favor, entre em contato com os administradores da sua organização ou cadastre-se a partir de uma conta do Bitwarden diferente." }, "singleOrgPolicyWarning": { "message": "Os membros da organização que não são Donos ou Administradores, e já são membros de outra organização serão removidos da sua organização." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Autenticação de Acesso Único" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo de Usuário" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Digite o Id html do campo, nome, nome aria-label, ou marcador de posição" }, + "uppercaseDescription": { + "message": "Incluir caracteres maiúsculos", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Incluir caracteres minúsculos", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Incluir números", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0 – 9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Incluir caracteres especiais", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Adicionar anexo" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/pt_PT/messages.json b/apps/web/src/locales/pt_PT/messages.json index 782a3833d91..f9120e1eb6c 100644 --- a/apps/web/src/locales/pt_PT/messages.json +++ b/apps/web/src/locales/pt_PT/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Marcar a aplicação como crítica" }, + "appsMarkedAsCritical": { + "message": "Apps marcadas como críticas" + }, "application": { "message": "Aplicação" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Caracteres especiais (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Incluir caracteres em maiúsculas", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Incluir caracteres em minúsculas", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Incluir números", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Incluir caracteres especiais", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Número de palavras" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Cuidado, estas ações são irreversíveis!" }, + "dangerZoneDescSingular": { + "message": "Cuidado, esta ação não é reversível!" + }, "deauthorizeSessions": { "message": "Desautorizar sessões" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Todas as sessões desautorizadas" }, + "accountIsManagedMessage": { + "message": "Esta conta é gerida por $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purgar cofre" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "Ainda tem 1 convite." + }, "userUsingTwoStep": { "message": "Este utilizador está a utilizar a verificação de dois passos para proteger a sua conta." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Impedir os membros de aderirem a outras organizações." }, + "singleOrgPolicyDesc": { + "message": "Restringir a adesão de membros a outras organizações. Esta política é necessária para organizações que tenham ativado a verificação de domínio." + }, "singleOrgBlockCreateMessage": { "message": "A sua organização atual tem uma política que não lhe permite aderir a mais do que uma organização. Por favor, contacte os administradores da sua organização ou registe-se a partir de uma conta Bitwarden diferente." }, "singleOrgPolicyWarning": { "message": "Os membros da organização que não sejam proprietários ou administradores e que já sejam membros de outra organização serão removidos da sua organização." }, + "singleOrgPolicyMemberWarning": { + "message": "Os membros não conformes serão colocados no estado revogado até deixarem todas as outras organizações. Os administradores estão isentos e podem restaurar os membros assim que a conformidade for cumprida." + }, "requireSso": { "message": "Exigir autenticação de início de sessão único" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Gerar e-mail" }, + "generatorBoundariesHint": { + "message": "O valor deve estar entre $MIN$ e $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tipo de nome de utilizador" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Introduza o ID do HTML, o nome, a aria-label ou o placeholder do campo." }, + "uppercaseDescription": { + "message": "Incluir caracteres em maiúsculas", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Incluir caracteres em minúsculas", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Incluir números", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Incluir caracteres especiais", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Adicionar anexo" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Auto-hospedagem" + }, + "verified-domain-single-org-warning": { + "message": "A verificação de um domínio ativará a política de organização única." + }, + "single-org-revoked-user-warning": { + "message": "Os membros não conformes serão revogados. Os administradores podem restaurar os membros quando estes saírem de todas as outras organizações." } } diff --git a/apps/web/src/locales/ro/messages.json b/apps/web/src/locales/ro/messages.json index 8969585fb49..ad322920b34 100644 --- a/apps/web/src/locales/ro/messages.json +++ b/apps/web/src/locales/ro/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Caractere speciale (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Număr de cuvinte" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Atenție, aceste acțiuni nu sunt reversibile!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Revocare sesiuni" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Toate sesiunile au fost dezautorizate" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Curățare seif" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Acest utilizator folosește conectarea în două etape pentru a-și proteja contul." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Interzice membrilor să se alăture altor organizații." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Organizația dvs. actuală are o politică care nu vă permite să vă alăturați la mai mult de o organizație. Vă rugăm să contactați administratorii organizației sau să vă înscrieți dintr-un cont Bitwarden diferit." }, "singleOrgPolicyWarning": { "message": "Membrii organizației care nu sunt proprietari sau administratori și care sunt deja membri ai unei alte organizații vor fi înlăturați din organizație." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Solicitați autentificarea cu autentificare unică" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Tip de nume de utilizator" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/ru/messages.json b/apps/web/src/locales/ru/messages.json index 7bc16f0a001..d18aa658d21 100644 --- a/apps/web/src/locales/ru/messages.json +++ b/apps/web/src/locales/ru/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Пометить приложение как критическое" }, + "appsMarkedAsCritical": { + "message": "Приложения помечены как критические" + }, "application": { "message": "Приложение" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Специальные символы (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Включить заглавные символы", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Включить строчные символы", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Включить цифры", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Включить специальные символы", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Количество слов" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Осторожно, эти действия необратимы!" }, + "dangerZoneDescSingular": { + "message": "Будьте внимательны - это действие не обратимо!" + }, "deauthorizeSessions": { "message": "Деавторизовать сессии" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Все сессии деавторизованы" }, + "accountIsManagedMessage": { + "message": "Управление этим аккаунтом осуществляет $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Очистить хранилище" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "У вас осталось 1 приглашение." + }, "userUsingTwoStep": { "message": "Этот пользователь использует двухэтапную аутентификацию для защиты своего аккаунта." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Запретить пользователям присоединяться к другим организациям." }, + "singleOrgPolicyDesc": { + "message": "Запретить членам организации присоединяться к другим организациям. Эта политика необходима для организаций, в которых включена проверка домена." + }, "singleOrgBlockCreateMessage": { "message": "Политика вашей текущей организации не позволяет вам присоединиться к более чем одной организации. Пожалуйста, свяжитесь с администраторами вашей организации или авторизуйтесь под другим аккаунтом Bitwarden." }, "singleOrgPolicyWarning": { "message": "Пользователи организации, которые не являются владельцами или администраторами и уже входят в другую организацию, будут удалены из вашей организации." }, + "singleOrgPolicyMemberWarning": { + "message": "Члены, не соблюдающие требования, будут аннулированы до тех пор, пока не покинут все остальные организации. Администраторы имеют этих ограничений и могут восстанавливать членов, если они соответствуют требованиям." + }, "requireSso": { "message": "Требовать авторизацию через единый вход (SSO)" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Сгенерировать email" }, + "generatorBoundariesHint": { + "message": "Значение должно быть между $MIN$ и $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип имени пользователя" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Введите HTML-идентификатор поля, имя, aria-label, или плейсхолдер." }, + "uppercaseDescription": { + "message": "Включить заглавные символы", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Включить строчные символы", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Включить цифры", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Включить специальные символы", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Добавить вложение" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Собственное размещение" + }, + "verified-domain-single-org-warning": { + "message": "Проверка домена включит политику единой организации." + }, + "single-org-revoked-user-warning": { + "message": "Участники, не соблюдающие требования, будут аннулированы. Администраторы могут восстановить участников, как только они покинут все другие организации." } } diff --git a/apps/web/src/locales/si/messages.json b/apps/web/src/locales/si/messages.json index de926ef0f21..201480d6410 100644 --- a/apps/web/src/locales/si/messages.json +++ b/apps/web/src/locales/si/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/sk/messages.json b/apps/web/src/locales/sk/messages.json index 5de06fce1f6..fbe9f7f517f 100644 --- a/apps/web/src/locales/sk/messages.json +++ b/apps/web/src/locales/sk/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Označiť aplikáciu ako kritickú" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Aplikácia" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Špeciálne znaky (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Zahrnúť veľké písmená", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Zahrnúť malé písmená", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Vrátane čísiel", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Zahrnúť špeciálne znaky", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Počet slov" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Opatrne, tieto zmeny nemožno vrátiť späť!" }, + "dangerZoneDescSingular": { + "message": "Opatrne, túto zmenu nemožno vrátiť späť!" + }, "deauthorizeSessions": { "message": "Odhlásiť sedenia" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Všetky sedenia odhlásené" }, + "accountIsManagedMessage": { + "message": "Tento účet spravuje $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Vyprázdniť trezor" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "Ostáva vám 1 pozvánka." + }, "userUsingTwoStep": { "message": "Tento používateľ používa dvojstupňové overovanie aby si zabezpečil konto." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Zakázať používateľom stať sa členmi inej organizácie." }, + "singleOrgPolicyDesc": { + "message": "Zakázať používateľom stať sa členmi inej organizácie. Toto pravidlo sa vyžaduje od organizácií, ktoré povolili overovanie domény." + }, "singleOrgBlockCreateMessage": { "message": "Vaša súčasná organizácia má pravidlo, ktoré vám nedovoľuje pripojiť sa k viac než jednej organizácii. Kontaktujte, prosím, administrátorov vašej organizácie alebo sa prihláste prostredníctvom iného Bitwarden účtu." }, "singleOrgPolicyWarning": { "message": "Členovia organizácie, ktorí nie sú vlastníkmi alebo administrátormi a už sú členmi inej organizácie, budú odstránení z vašej organizácie." }, + "singleOrgPolicyMemberWarning": { + "message": "Členovia, ktorí nedodržiavajú pravidlo, budú zaradení do zrušeného stavu, kým neopustia všetky ostatné organizácie. Správcovia majú výnimku a môžu obnoviť členov po splnení požiadaviek pravidiel organizácie." + }, "requireSso": { "message": "Požadovať overovanie prostredníctvom jednotného prihlasovania (SSO)" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generovať e-mail" }, + "generatorBoundariesHint": { + "message": "Hodnota musí byť medzi $MIN$ a $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Typ používateľského mena" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Zadajte html atribút poľa id, name, aria-label, alebo placeholder." }, + "uppercaseDescription": { + "message": "Zahrnúť veľké písmená", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Zahrnúť malé písmená", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Vrátane čísiel", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Zahrnúť špeciálne znaky", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Priložiť prílohu" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Vlastný hosting" + }, + "verified-domain-single-org-warning": { + "message": "Overenie domény zapne pravidlo jedinej organizácie." + }, + "single-org-revoked-user-warning": { + "message": "Členovia, ktorí nedodržiavajú pravidlo, budú odvolaní. Správcovia môžu obnoviť členov po ich odchode zo všetkých ostatných organizácií." } } diff --git a/apps/web/src/locales/sl/messages.json b/apps/web/src/locales/sl/messages.json index 39a15b48975..6ba44bd96d8 100644 --- a/apps/web/src/locales/sl/messages.json +++ b/apps/web/src/locales/sl/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Posebni znaki (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Število besed" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Previdno, ta dejanja so nepovratna!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Prekini seje" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Vse seje prekinjene" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Izprazni trezor" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Vrsta uporabniškega imena" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/sr/messages.json b/apps/web/src/locales/sr/messages.json index c9c879ddc91..3a9a9c68cae 100644 --- a/apps/web/src/locales/sr/messages.json +++ b/apps/web/src/locales/sr/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Апликација" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Специјална слова (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Укључити велика слова", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Укључити мала слова", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Укључити бројеве", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Укључити специјална слова", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Број речи" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Пажљиво, ове акције су крајне!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Одузели овлашћење сесије" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Одузето овлашћење свих сесија" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Испрани Сеф" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Овај корисник користи пријаву у два корака за заштиту свог налога." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Ограничите корисницима могућност придруживања било којој другој организацији." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Ваша тренутна организација има смернице које не дозвољавају да се придружите више организација. Молимо контактирајте администраторе своје организације или се пријавите са другим Bitwarden налога." }, "singleOrgPolicyWarning": { "message": "Чланови организације који нису власници или администратори и који су већ чланови друге организације биће уклоњени из ваше организације." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Аутентификација једнократном пријавом" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип имена" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Унесите html Ид поља, име, aria-label, или placeholder." }, + "uppercaseDescription": { + "message": "Укључити велика слова", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Укључити мала слова", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Укључити бројеве", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Укључити специјална слова", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Додај прилог" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/sr_CS/messages.json b/apps/web/src/locales/sr_CS/messages.json index fc5f4e09269..6f84999c97b 100644 --- a/apps/web/src/locales/sr_CS/messages.json +++ b/apps/web/src/locales/sr_CS/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Broj Reči" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Pažljivo, ove odluke se ne mogu poništiti!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/sv/messages.json b/apps/web/src/locales/sv/messages.json index c8742d7fdb6..71de6c04d07 100644 --- a/apps/web/src/locales/sv/messages.json +++ b/apps/web/src/locales/sv/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Markera app som kritisk" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -333,7 +336,7 @@ "message": "Bitwarden can store and fill 2-step verification codes. Select the camera icon to take a screenshot of this website's authenticator QR code, or copy and paste the key into this field." }, "learnMoreAboutAuthenticators": { - "message": "Learn more about authenticators" + "message": "Läs mer om autentiserare" }, "folder": { "message": "Mapp" @@ -1339,7 +1342,7 @@ "message": "Autentiseringsapp" }, "authenticatorAppDescV2": { - "message": "Enter a code generated by an authenticator app like Bitwarden Authenticator.", + "message": "Ange en kod som genererats av en autentiseringsapp, t ex. Bitwarden Authenticator.", "description": "'Bitwarden Authenticator' is a product name and should not be translated." }, "yubiKeyTitleV2": { @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Specialtecken (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Inkludera specialtecken", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Antal ord" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Var försiktig, dessa åtgärder går inte att ångra!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Avauktorisera sessioner" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Alla sessioner avauktoriserades" }, + "accountIsManagedMessage": { + "message": "Detta konto hanteras av $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Rensa valv" }, @@ -2767,10 +2750,10 @@ "message": "Fakturor" }, "noUnpaidInvoices": { - "message": "No unpaid invoices." + "message": "Inga obetalda fakturor." }, "noPaidInvoices": { - "message": "No paid invoices." + "message": "Inga betalda fakturor." }, "paid": { "message": "Betald", @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "Du har 1 inbjudan kvar." + }, "userUsingTwoStep": { "message": "Denna användare använder tvåstegsverifiering för att skydda sitt konto." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Hindra användare från att gå med i några andra organisationer." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Din nuvarande organisation har en policy som hindrar dig från att gå med i fler än en organisation. Vänligen kontakta din organisations administratörer eller registrera ett annat Bitwarden-konto." }, "singleOrgPolicyWarning": { "message": "Medlemmar som inte är ägare eller administratörer och redan är med i en annan organisation kommer att tas bort från organisationen." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Kräv autentisering med Single Sign-On" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Användarnamnstyp" }, @@ -8939,7 +8945,7 @@ "message": "Enter your Enterprise organization information" }, "viewItemsIn": { - "message": "View items in $NAME$", + "message": "Visa objekt i $NAME$", "description": "Button to view the contents of a folder or collection", "placeholders": { "name": { @@ -9103,7 +9109,7 @@ "message": "small increments" }, "kdfIterationRecommends": { - "message": "We recommend 600,000 or more" + "message": "Vi rekommenderar 600.000 eller mer" }, "kdfToHighWarningIncreaseInIncrements": { "message": "For older devices, setting your KDF too high may lead to performance issues. Increase the value in $VALUE$ and test your devices.", @@ -9152,7 +9158,7 @@ "message": "Contact your provider admin to purchase additional seats." }, "open": { - "message": "Open", + "message": "Öppen", "description": "The status of an invoice." }, "uncollectible": { @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Inkludera specialtecken", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Lägg till bilaga" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/te/messages.json b/apps/web/src/locales/te/messages.json index 93559c33fec..3c207dd6c28 100644 --- a/apps/web/src/locales/te/messages.json +++ b/apps/web/src/locales/te/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/th/messages.json b/apps/web/src/locales/th/messages.json index f51ced75c2b..a80fbcd7c82 100644 --- a/apps/web/src/locales/th/messages.json +++ b/apps/web/src/locales/th/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Special characters (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Number of words" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Careful, these actions are not reversible!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Deauthorize sessions" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "All sessions deauthorized" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Purge vault" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/tr/messages.json b/apps/web/src/locales/tr/messages.json index 6a2c7c82a85..fa26e936be7 100644 --- a/apps/web/src/locales/tr/messages.json +++ b/apps/web/src/locales/tr/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Kritik olarak işaretlenmiş uygulamalar" + }, "application": { "message": "Uygulama" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Özel karakterler (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Büyük harfleri dahil et", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Küçük harfleri dahil et", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Rakamları dahil et", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Özel karakterleri dahil et", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Kelime sayısı" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Dikkatli olun, bu işlemleri geri alamazsınız!" }, + "dangerZoneDescSingular": { + "message": "Dikkatli olun, bu işlemi geri alamazsınız!" + }, "deauthorizeSessions": { "message": "Oturumları kapat" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Tüm oturumlar kapatıldı" }, + "accountIsManagedMessage": { + "message": "Bu hesap $ORGANIZATIONNAME$ tarafından yönetilmektedir", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Kasayı boşalt" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "1 davetiyeniz kaldı." + }, "userUsingTwoStep": { "message": "Bu kullanıcı hesabını korumak için iki aşamalı giriş kullanıyor." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Üyelerin diğer kuruluşlara katılmasını kısıtlayın." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Mevcut kuruluşunuzun birden fazla kuruluşa katılmanıza izin vermeyen bir ilkesi var. Lütfen kuruluş yöneticilerinizle iletişime geçin veya farklı bir Bitwarden hesabı açın." }, "singleOrgPolicyWarning": { "message": "Sahip veya yönetici olmayan ve zaten başka bir kuruluşun üyesi olan kuruluş üyeleri kuruluşunuzdan kaldırılır." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Çoklu oturum açma kimlik doğrulamasını zorunlu tut" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "E-posta oluştur" }, + "generatorBoundariesHint": { + "message": "Değer $MIN$ ile $MAX$ arasında olmalıdır", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Kullanıcı adı türü" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Büyük harfleri dahil et", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Küçük harfleri dahil et", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Rakamları dahil et", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Özel karakterleri dahil et", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Dosya ekle" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Kendi Kendinize Barındırma" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/uk/messages.json b/apps/web/src/locales/uk/messages.json index f3a02504d3a..261214d08f2 100644 --- a/apps/web/src/locales/uk/messages.json +++ b/apps/web/src/locales/uk/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Позначити програму критичною" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Програма" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Спеціальні символи (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Символи верхнього регістру", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Символи нижнього регістру", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Цифри", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Спеціальні символи", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Кількість слів" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Обережно, ці дії неможливо скасувати!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Завершити сеанси" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Усі сеанси завершено" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Очистити сховище" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "Цей користувач використовує двоетапну перевірку для захисту свого облікового запису." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Заборонити користувачам приєднуватися до інших організацій." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Ваша організація має політику, що не дозволяє вам приєднуватися до більш, ніж однієї організації. Будь ласка, зв'яжіться з адміністратором вашої організації, або увійдіть з іншим обліковим записом Bitwarden." }, "singleOrgPolicyWarning": { "message": "Учасники організації, які не є власниками чи адміністраторами, але вже є учасниками іншої організації, будуть вилучені з вашої організації." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Вимагати автентифікацію з використанням єдиного входу (SSO)" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Генерувати е-пошту" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Тип імені користувача" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Введіть html-ідентифікатор поля, назву, мітку або заповнювач." }, + "uppercaseDescription": { + "message": "Символи верхнього регістру", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Символи нижнього регістру", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Цифри", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Спеціальні символи", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Додати вкладення" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Власне розміщення" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/vi/messages.json b/apps/web/src/locales/vi/messages.json index 907a5687580..454cc2fd145 100644 --- a/apps/web/src/locales/vi/messages.json +++ b/apps/web/src/locales/vi/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "Ký tự đặc biệt (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "Số lượng từ" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "Cẩn thận, thao tác này không thể khôi phục!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "Gỡ phiên" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "Tất cả phiên đăng nhập đã bị gỡ" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "Xóa kho" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "This user is using two-step login to protect their account." }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "Restrict members from joining other organizations." }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." }, "singleOrgPolicyWarning": { "message": "Organization members who are not owners or admins and are already a member of another organization will be removed from your organization." }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "Require single sign-on authentication" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "Username type" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Tự lưu trữ" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/zh_CN/messages.json b/apps/web/src/locales/zh_CN/messages.json index 7ef4fff497a..fe6a4c0d9eb 100644 --- a/apps/web/src/locales/zh_CN/messages.json +++ b/apps/web/src/locales/zh_CN/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "特殊字符 (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "包含大写字符", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "包含小写字符", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "包含数字", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "包含特殊字符", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "单词数" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "当心,这些操作是不可逆的!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "取消会话授权" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "已取消所有会话授权" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "清空密码库" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "此用户正在使用两步登录来保护他们的账户。" }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "限制成员加入其他组织。" }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "您当前的组织策略禁止您加入多个组织。请联系您的组织管理员,或从其他 Bitwarden 账户注册。" }, "singleOrgPolicyWarning": { "message": "不是所有者或管理员并且已是其他组织的成员的组织成员将从您的组织中移除。" }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "要求单点登录身份验证" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "用户名类型" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "输入字段的 html ID、名称、aria-label 或占位符。" }, + "uppercaseDescription": { + "message": "包含大写字符", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "包含小写字符", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "包含数字", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "包含特殊字符", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "添加附件" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "自托管" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } diff --git a/apps/web/src/locales/zh_TW/messages.json b/apps/web/src/locales/zh_TW/messages.json index d46bd2f4a72..c899f01e68e 100644 --- a/apps/web/src/locales/zh_TW/messages.json +++ b/apps/web/src/locales/zh_TW/messages.json @@ -65,6 +65,9 @@ "markAppAsCritical": { "message": "Mark app as critical" }, + "appsMarkedAsCritical": { + "message": "Apps marked as critical" + }, "application": { "message": "Application" }, @@ -1583,38 +1586,6 @@ "specialCharacters": { "message": "特殊字元 (!@#$%^&*)" }, - "uppercaseDescription": { - "message": "Include uppercase characters", - "description": "Tooltip for the password generator uppercase character checkbox" - }, - "uppercaseLabel": { - "message": "A-Z", - "description": "Label for the password generator uppercase character checkbox" - }, - "lowercaseDescription": { - "message": "Include lowercase characters", - "description": "Full description for the password generator lowercase character checkbox" - }, - "lowercaseLabel": { - "message": "a-z", - "description": "Label for the password generator lowercase character checkbox" - }, - "numbersDescription": { - "message": "Include numbers", - "description": "Full description for the password generator numbers checkbox" - }, - "numbersLabel": { - "message": "0-9", - "description": "Label for the password generator numbers checkbox" - }, - "specialCharactersDescription": { - "message": "Include special characters", - "description": "Full description for the password generator special characters checkbox" - }, - "specialCharactersLabel": { - "message": "!@#$%^&*", - "description": "Label for the password generator special characters checkbox" - }, "numWords": { "message": "單字數量" }, @@ -1745,6 +1716,9 @@ "dangerZoneDesc": { "message": "小心,這些動作無法復原!" }, + "dangerZoneDescSingular": { + "message": "Careful, this action is not reversible!" + }, "deauthorizeSessions": { "message": "取消工作階段授權" }, @@ -1757,6 +1731,15 @@ "sessionsDeauthorized": { "message": "已取消所有工作階段授權" }, + "accountIsManagedMessage": { + "message": "This account is managed by $ORGANIZATIONNAME$", + "placeholders": { + "organizationName": { + "content": "$1", + "example": "Organization" + } + } + }, "purgeVault": { "message": "清空密碼庫" }, @@ -3214,6 +3197,9 @@ } } }, + "inviteSingleEmailDesc": { + "message": "You have 1 invite remaining." + }, "userUsingTwoStep": { "message": "此使用者正在使用兩步驟登入保護帳戶。" }, @@ -4681,12 +4667,18 @@ "singleOrgDesc": { "message": "限制成員加入其他組織。" }, + "singleOrgPolicyDesc": { + "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + }, "singleOrgBlockCreateMessage": { "message": "您目前的組織原則不允許您加入多個組織。請聯絡您的組織管理員或從其他 Bitwarden 帳戶註冊。" }, "singleOrgPolicyWarning": { "message": "不是擁有者或管理員並且已經是其他組織的成員的組織成員將從您的組織中移除。" }, + "singleOrgPolicyMemberWarning": { + "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + }, "requireSso": { "message": "要求單一登入驗證" }, @@ -6403,6 +6395,20 @@ "generateEmail": { "message": "Generate email" }, + "generatorBoundariesHint": { + "message": "Value must be between $MIN$ and $MAX$", + "description": "Explains spin box minimum and maximum values to the user", + "placeholders": { + "min": { + "content": "$1", + "example": "8" + }, + "max": { + "content": "$2", + "example": "128" + } + } + }, "usernameType": { "message": "使用者名稱類型" }, @@ -9474,6 +9480,38 @@ "linkedLabelHelpText": { "message": "Enter the the field's html id, name, aria-label, or placeholder." }, + "uppercaseDescription": { + "message": "Include uppercase characters", + "description": "Tooltip for the password generator uppercase character checkbox" + }, + "uppercaseLabel": { + "message": "A-Z", + "description": "Label for the password generator uppercase character checkbox" + }, + "lowercaseDescription": { + "message": "Include lowercase characters", + "description": "Full description for the password generator lowercase character checkbox" + }, + "lowercaseLabel": { + "message": "a-z", + "description": "Label for the password generator lowercase character checkbox" + }, + "numbersDescription": { + "message": "Include numbers", + "description": "Full description for the password generator numbers checkbox" + }, + "numbersLabel": { + "message": "0-9", + "description": "Label for the password generator numbers checkbox" + }, + "specialCharactersDescription": { + "message": "Include special characters", + "description": "Full description for the password generator special characters checkbox" + }, + "specialCharactersLabel": { + "message": "!@#$%^&*", + "description": "Label for the password generator special characters checkbox" + }, "addAttachment": { "message": "Add attachment" }, @@ -9492,5 +9530,11 @@ }, "selfHostingTitleProper": { "message": "Self-Hosting" + }, + "verified-domain-single-org-warning": { + "message": "Verifying a domain will turn on the single organization policy." + }, + "single-org-revoked-user-warning": { + "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." } } From 826037e1634056b2844fe76579913a497d22beac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 15:20:23 -0400 Subject: [PATCH 10/31] [deps] AC: Update html-webpack-plugin to v5.6.3 (#11727) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Brandon Treston --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0ee9dd7ef79..a9b978b8554 100644 --- a/package-lock.json +++ b/package-lock.json @@ -152,7 +152,7 @@ "gulp-zip": "6.0.0", "html-loader": "5.0.0", "html-webpack-injector": "1.1.4", - "html-webpack-plugin": "5.6.0", + "html-webpack-plugin": "5.6.3", "husky": "9.1.4", "jest-extended": "^4.0.2", "jest-junit": "16.0.0", @@ -21464,9 +21464,9 @@ "license": "ISC" }, "node_modules/html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 80bb9661f19..c5d963bef14 100644 --- a/package.json +++ b/package.json @@ -113,7 +113,7 @@ "gulp-zip": "6.0.0", "html-loader": "5.0.0", "html-webpack-injector": "1.1.4", - "html-webpack-plugin": "5.6.0", + "html-webpack-plugin": "5.6.3", "husky": "9.1.4", "jest-extended": "^4.0.2", "jest-junit": "16.0.0", From eb67b73a0935b0f98ac5f9bef30f0b85ca58bace Mon Sep 17 00:00:00 2001 From: Jordan Aasen <166539328+jaasen-livefront@users.noreply.github.com> Date: Thu, 31 Oct 2024 12:40:52 -0700 Subject: [PATCH 11/31] fix send-created tests (#11813) --- .../send-created/send-created.component.spec.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/apps/browser/src/tools/popup/send-v2/send-created/send-created.component.spec.ts b/apps/browser/src/tools/popup/send-v2/send-created/send-created.component.spec.ts index fdf147b360f..1a3df238543 100644 --- a/apps/browser/src/tools/popup/send-v2/send-created/send-created.component.spec.ts +++ b/apps/browser/src/tools/popup/send-v2/send-created/send-created.component.spec.ts @@ -50,7 +50,7 @@ describe("SendCreatedComponent", () => { sendView = { id: sendId, - deletionDate: new Date(), + deletionDate: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000), type: SendType.Text, accessId: "abc", urlB64Key: "123", @@ -127,8 +127,8 @@ describe("SendCreatedComponent", () => { it("should initialize send, daysAvailable, and hoursAvailable", () => { expect(component["send"]).toBe(sendView); - expect(component["daysAvailable"]).toBe(0); - expect(component["hoursAvailable"]).toBe(0); + expect(component["daysAvailable"]).toBe(7); + expect(component["hoursAvailable"]).toBe(168); }); it("should navigate back to the edit send form on close", async () => { @@ -140,7 +140,6 @@ describe("SendCreatedComponent", () => { describe("getHoursAvailable", () => { it("returns the correct number of hours", () => { - sendView.deletionDate.setDate(sendView.deletionDate.getDate() + 7); sendViewsSubject.next([sendView]); fixture.detectChanges(); @@ -150,7 +149,7 @@ describe("SendCreatedComponent", () => { describe("formatExpirationDate", () => { it("returns days plural if expiry is more than 24 hours", () => { - sendView.deletionDate.setDate(sendView.deletionDate.getDate() + 7); + sendView.deletionDate = new Date(Date.now() + 168 * 60 * 60 * 1000); sendViewsSubject.next([sendView]); fixture.detectChanges(); @@ -158,7 +157,7 @@ describe("SendCreatedComponent", () => { }); it("returns days singular if expiry is 24 hours", () => { - sendView.deletionDate.setDate(sendView.deletionDate.getDate() + 1); + sendView.deletionDate = new Date(Date.now() + 24 * 60 * 60 * 1000); sendViewsSubject.next([sendView]); fixture.detectChanges(); @@ -166,7 +165,7 @@ describe("SendCreatedComponent", () => { }); it("returns hours plural if expiry is more than 1 hour but less than 24", () => { - sendView.deletionDate.setHours(sendView.deletionDate.getHours() + 2); + sendView.deletionDate = new Date(Date.now() + 2 * 60 * 60 * 1000); sendViewsSubject.next([sendView]); fixture.detectChanges(); @@ -174,7 +173,7 @@ describe("SendCreatedComponent", () => { }); it("returns hours singular if expiry is in 1 hour", () => { - sendView.deletionDate.setHours(sendView.deletionDate.getHours() + 1); + sendView.deletionDate = new Date(Date.now() + 1 * 60 * 60 * 1000); sendViewsSubject.next([sendView]); fixture.detectChanges(); From eba1212e1c676a4c99c4526c4559a7f80dead151 Mon Sep 17 00:00:00 2001 From: Jonathan Prusik Date: Thu, 31 Oct 2024 16:46:25 -0400 Subject: [PATCH 12/31] [PM-14351] Migrate away from theme enum (#11812) * update extension autofill concerns to use theme object and type over enum * mark ThemeType enum as deprecated * update theming service concerns to use theme object and type over enum --- ...ofill-overlay-iframe.service.deprecated.ts | 14 +++++------ .../abstractions/notification-bar.ts | 4 +++- apps/browser/src/autofill/notification/bar.ts | 8 +++---- .../autofill-inline-menu-iframe.service.ts | 14 +++++------ .../overlay-notifications-content.service.ts | 4 +++- .../src/autofill/spec/autofill-mocks.ts | 4 ++-- .../theming/angular-theming.service.ts | 24 +++++++++---------- .../theming/theming.service.abstraction.ts | 6 ++--- libs/angular/src/services/injection-tokens.ts | 4 ++-- .../src/platform/enums/theme-type.enum.ts | 13 ++++++++++ 10 files changed, 56 insertions(+), 39 deletions(-) diff --git a/apps/browser/src/autofill/deprecated/overlay/iframe-content/autofill-overlay-iframe.service.deprecated.ts b/apps/browser/src/autofill/deprecated/overlay/iframe-content/autofill-overlay-iframe.service.deprecated.ts index c9225b21ff9..fa43c928175 100644 --- a/apps/browser/src/autofill/deprecated/overlay/iframe-content/autofill-overlay-iframe.service.deprecated.ts +++ b/apps/browser/src/autofill/deprecated/overlay/iframe-content/autofill-overlay-iframe.service.deprecated.ts @@ -1,5 +1,5 @@ import { EVENTS } from "@bitwarden/common/autofill/constants"; -import { ThemeType } from "@bitwarden/common/platform/enums"; +import { ThemeTypes } from "@bitwarden/common/platform/enums"; import { setElementStyles } from "../../../utils"; import { @@ -210,19 +210,19 @@ class AutofillOverlayIframeService implements AutofillOverlayIframeServiceInterf const { theme } = message; let borderColor: string; let verifiedTheme = theme; - if (verifiedTheme === ThemeType.System) { + if (verifiedTheme === ThemeTypes.System) { verifiedTheme = globalThis.matchMedia("(prefers-color-scheme: dark)").matches - ? ThemeType.Dark - : ThemeType.Light; + ? ThemeTypes.Dark + : ThemeTypes.Light; } - if (verifiedTheme === ThemeType.Dark) { + if (verifiedTheme === ThemeTypes.Dark) { borderColor = "#4c525f"; } - if (theme === ThemeType.Nord) { + if (theme === ThemeTypes.Nord) { borderColor = "#2E3440"; } - if (theme === ThemeType.SolarizedDark) { + if (theme === ThemeTypes.SolarizedDark) { borderColor = "#073642"; } if (borderColor) { diff --git a/apps/browser/src/autofill/notification/abstractions/notification-bar.ts b/apps/browser/src/autofill/notification/abstractions/notification-bar.ts index 6dfcac4abea..425d53783e1 100644 --- a/apps/browser/src/autofill/notification/abstractions/notification-bar.ts +++ b/apps/browser/src/autofill/notification/abstractions/notification-bar.ts @@ -1,7 +1,9 @@ +import { Theme } from "@bitwarden/common/platform/enums"; + type NotificationBarIframeInitData = { type?: string; isVaultLocked?: boolean; - theme?: string; + theme?: Theme; removeIndividualVault?: boolean; importType?: string; applyRedesign?: boolean; diff --git a/apps/browser/src/autofill/notification/bar.ts b/apps/browser/src/autofill/notification/bar.ts index 3965ddfbce2..3c625297318 100644 --- a/apps/browser/src/autofill/notification/bar.ts +++ b/apps/browser/src/autofill/notification/bar.ts @@ -1,4 +1,4 @@ -import { ThemeType } from "@bitwarden/common/platform/enums"; +import { ThemeTypes } from "@bitwarden/common/platform/enums"; import { ConsoleLogService } from "@bitwarden/common/platform/services/console-log.service"; import type { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; @@ -392,10 +392,10 @@ function setupLogoLink(i18n: Record) { function setNotificationBarTheme() { let theme = notificationBarIframeInitData.theme; - if (theme === ThemeType.System) { + if (theme === ThemeTypes.System) { theme = globalThis.matchMedia("(prefers-color-scheme: dark)").matches - ? ThemeType.Dark - : ThemeType.Light; + ? ThemeTypes.Dark + : ThemeTypes.Light; } document.documentElement.classList.add(`theme_${theme}`); diff --git a/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.ts b/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.ts index 5debf684979..b13db89ff59 100644 --- a/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.ts +++ b/apps/browser/src/autofill/overlay/inline-menu/iframe-content/autofill-inline-menu-iframe.service.ts @@ -1,5 +1,5 @@ import { EVENTS } from "@bitwarden/common/autofill/constants"; -import { ThemeType } from "@bitwarden/common/platform/enums"; +import { ThemeTypes } from "@bitwarden/common/platform/enums"; import { sendExtensionMessage, setElementStyles } from "../../../utils"; import { @@ -239,19 +239,19 @@ export class AutofillInlineMenuIframeService implements AutofillInlineMenuIframe const { theme } = message; let borderColor: string; let verifiedTheme = theme; - if (verifiedTheme === ThemeType.System) { + if (verifiedTheme === ThemeTypes.System) { verifiedTheme = globalThis.matchMedia("(prefers-color-scheme: dark)").matches - ? ThemeType.Dark - : ThemeType.Light; + ? ThemeTypes.Dark + : ThemeTypes.Light; } - if (verifiedTheme === ThemeType.Dark) { + if (verifiedTheme === ThemeTypes.Dark) { borderColor = "#4c525f"; } - if (theme === ThemeType.Nord) { + if (theme === ThemeTypes.Nord) { borderColor = "#2E3440"; } - if (theme === ThemeType.SolarizedDark) { + if (theme === ThemeTypes.SolarizedDark) { borderColor = "#073642"; } if (borderColor) { diff --git a/apps/browser/src/autofill/overlay/notifications/abstractions/overlay-notifications-content.service.ts b/apps/browser/src/autofill/overlay/notifications/abstractions/overlay-notifications-content.service.ts index c97acd15d4c..82c03cacadf 100644 --- a/apps/browser/src/autofill/overlay/notifications/abstractions/overlay-notifications-content.service.ts +++ b/apps/browser/src/autofill/overlay/notifications/abstractions/overlay-notifications-content.service.ts @@ -1,6 +1,8 @@ +import { Theme } from "@bitwarden/common/platform/enums"; + export type NotificationTypeData = { isVaultLocked?: boolean; - theme?: string; + theme?: Theme; removeIndividualVault?: boolean; importType?: string; launchTimestamp?: number; diff --git a/apps/browser/src/autofill/spec/autofill-mocks.ts b/apps/browser/src/autofill/spec/autofill-mocks.ts index a570119c72f..a4b6d700090 100644 --- a/apps/browser/src/autofill/spec/autofill-mocks.ts +++ b/apps/browser/src/autofill/spec/autofill-mocks.ts @@ -2,7 +2,7 @@ import { mock } from "jest-mock-extended"; import { AuthenticationStatus } from "@bitwarden/common/auth/enums/authentication-status"; import { UriMatchStrategy } from "@bitwarden/common/models/domain/domain-service"; -import { ThemeType } from "@bitwarden/common/platform/enums"; +import { ThemeTypes } from "@bitwarden/common/platform/enums"; import { CipherType } from "@bitwarden/common/vault/enums"; import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @@ -210,7 +210,7 @@ export function createInitAutofillInlineMenuListMessageMock( command: "initAutofillInlineMenuList", translations: overlayPagesTranslations, styleSheetUrl: "https://jest-testing-website.com", - theme: ThemeType.Light, + theme: ThemeTypes.Light, authStatus: AuthenticationStatus.Unlocked, portKey: "portKey", inlineMenuFillType: CipherType.Login, diff --git a/libs/angular/src/platform/services/theming/angular-theming.service.ts b/libs/angular/src/platform/services/theming/angular-theming.service.ts index e8b78c90c46..2073abdcd10 100644 --- a/libs/angular/src/platform/services/theming/angular-theming.service.ts +++ b/libs/angular/src/platform/services/theming/angular-theming.service.ts @@ -1,7 +1,7 @@ import { Inject, Injectable } from "@angular/core"; import { fromEvent, map, merge, Observable, of, Subscription, switchMap } from "rxjs"; -import { ThemeType } from "@bitwarden/common/platform/enums"; +import { ThemeTypes, Theme } from "@bitwarden/common/platform/enums"; import { ThemeStateService } from "@bitwarden/common/platform/theming/theme-state.service"; import { SYSTEM_THEME_OBSERVABLE } from "../../../services/injection-tokens"; @@ -15,7 +15,7 @@ export class AngularThemingService implements AbstractThemingService { * @param window The window that should be watched for system theme changes. * @returns An observable that will track the system theme. */ - static createSystemThemeFromWindow(window: Window): Observable { + static createSystemThemeFromWindow(window: Window): Observable { return merge( // This observable should always emit at least once, so go and get the current system theme designation of(AngularThemingService.getSystemThemeFromWindow(window)), @@ -23,7 +23,7 @@ export class AngularThemingService implements AbstractThemingService { fromEvent( window.matchMedia("(prefers-color-scheme: dark)"), "change", - ).pipe(map((event) => (event.matches ? ThemeType.Dark : ThemeType.Light))), + ).pipe(map((event) => (event.matches ? ThemeTypes.Dark : ThemeTypes.Light))), ); } @@ -32,15 +32,15 @@ export class AngularThemingService implements AbstractThemingService { * @param window The window to query for the current theme. * @returns The active system theme. */ - static getSystemThemeFromWindow(window: Window): ThemeType { + static getSystemThemeFromWindow(window: Window): Theme { return window.matchMedia("(prefers-color-scheme: dark)").matches - ? ThemeType.Dark - : ThemeType.Light; + ? ThemeTypes.Dark + : ThemeTypes.Light; } readonly theme$ = this.themeStateService.selectedTheme$.pipe( switchMap((configuredTheme) => { - if (configuredTheme === ThemeType.System) { + if (configuredTheme === ThemeTypes.System) { return this.systemTheme$; } @@ -51,16 +51,16 @@ export class AngularThemingService implements AbstractThemingService { constructor( private themeStateService: ThemeStateService, @Inject(SYSTEM_THEME_OBSERVABLE) - private systemTheme$: Observable, + private systemTheme$: Observable, ) {} applyThemeChangesTo(document: Document): Subscription { return this.theme$.subscribe((theme) => { document.documentElement.classList.remove( - "theme_" + ThemeType.Light, - "theme_" + ThemeType.Dark, - "theme_" + ThemeType.Nord, - "theme_" + ThemeType.SolarizedDark, + "theme_" + ThemeTypes.Light, + "theme_" + ThemeTypes.Dark, + "theme_" + ThemeTypes.Nord, + "theme_" + ThemeTypes.SolarizedDark, ); document.documentElement.classList.add("theme_" + theme); }); diff --git a/libs/angular/src/platform/services/theming/theming.service.abstraction.ts b/libs/angular/src/platform/services/theming/theming.service.abstraction.ts index 4306d312c5e..bb0a2ed6721 100644 --- a/libs/angular/src/platform/services/theming/theming.service.abstraction.ts +++ b/libs/angular/src/platform/services/theming/theming.service.abstraction.ts @@ -1,6 +1,6 @@ import { Observable, Subscription } from "rxjs"; -import { ThemeType } from "@bitwarden/common/platform/enums"; +import { Theme } from "@bitwarden/common/platform/enums"; /** * A service for managing and observing the current application theme. @@ -9,9 +9,9 @@ import { ThemeType } from "@bitwarden/common/platform/enums"; export abstract class AbstractThemingService { /** * The effective theme based on the user configured choice and the current system theme if - * the configured choice is {@link ThemeType.System}. + * the configured choice is {@link ThemeTypes.System}. */ - abstract theme$: Observable; + abstract theme$: Observable; /** * Listens for effective theme changes and applies changes to the provided document. * @param document The document that should have theme classes applied to it. diff --git a/libs/angular/src/services/injection-tokens.ts b/libs/angular/src/services/injection-tokens.ts index 572d26ffc03..86c5642a0c4 100644 --- a/libs/angular/src/services/injection-tokens.ts +++ b/libs/angular/src/services/injection-tokens.ts @@ -8,7 +8,7 @@ import { AbstractStorageService, ObservableStorageService, } from "@bitwarden/common/platform/abstractions/storage.service"; -import { ThemeType } from "@bitwarden/common/platform/enums"; +import { Theme } from "@bitwarden/common/platform/enums"; import { StateFactory } from "@bitwarden/common/platform/factories/state-factory"; import { Message } from "@bitwarden/common/platform/messaging"; import { VaultTimeout } from "@bitwarden/common/types/vault-timeout.type"; @@ -47,7 +47,7 @@ export const SUPPORTS_SECURE_STORAGE = new SafeInjectionToken("SUPPORTS export const LOCALES_DIRECTORY = new SafeInjectionToken("LOCALES_DIRECTORY"); export const SYSTEM_LANGUAGE = new SafeInjectionToken("SYSTEM_LANGUAGE"); export const LOG_MAC_FAILURES = new SafeInjectionToken("LOG_MAC_FAILURES"); -export const SYSTEM_THEME_OBSERVABLE = new SafeInjectionToken>( +export const SYSTEM_THEME_OBSERVABLE = new SafeInjectionToken>( "SYSTEM_THEME_OBSERVABLE", ); export const DEFAULT_VAULT_TIMEOUT = new SafeInjectionToken("DEFAULT_VAULT_TIMEOUT"); diff --git a/libs/common/src/platform/enums/theme-type.enum.ts b/libs/common/src/platform/enums/theme-type.enum.ts index 8afca77098c..5e1a0c21c36 100644 --- a/libs/common/src/platform/enums/theme-type.enum.ts +++ b/libs/common/src/platform/enums/theme-type.enum.ts @@ -1,3 +1,6 @@ +/** + * @deprecated prefer the `ThemeTypes` constants and `Theme` type over unsafe enum types + **/ export enum ThemeType { System = "system", Light = "light", @@ -5,3 +8,13 @@ export enum ThemeType { Nord = "nord", SolarizedDark = "solarizedDark", } + +export const ThemeTypes = { + System: "system", + Light: "light", + Dark: "dark", + Nord: "nord", + SolarizedDark: "solarizedDark", +} as const; + +export type Theme = (typeof ThemeTypes)[keyof typeof ThemeTypes]; From c07bf26898f7ea4ef6ef1c972c170aba6ed10f24 Mon Sep 17 00:00:00 2001 From: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com> Date: Thu, 31 Oct 2024 17:10:09 -0400 Subject: [PATCH 13/31] PM-14361 - In PM-8111, the loginWithPasskey web translation was changed to be logInWithPasskey but the usages were not updated. This updates the usages to point to the new translation key. (#11815) --- .../create-credential-dialog.component.html | 2 +- .../webauthn-login-settings.component.html | 4 ++-- apps/web/src/app/oss-routing.module.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/web/src/app/auth/settings/webauthn-login-settings/create-credential-dialog/create-credential-dialog.component.html b/apps/web/src/app/auth/settings/webauthn-login-settings/create-credential-dialog/create-credential-dialog.component.html index 23982e8328f..01c0e94dc0f 100644 --- a/apps/web/src/app/auth/settings/webauthn-login-settings/create-credential-dialog/create-credential-dialog.component.html +++ b/apps/web/src/app/auth/settings/webauthn-login-settings/create-credential-dialog/create-credential-dialog.component.html @@ -1,7 +1,7 @@ {{ "loginWithPasskey" | i18n }} + >{{ "logInWithPasskey" | i18n }} {{ "newPasskey" | i18n }} diff --git a/apps/web/src/app/auth/settings/webauthn-login-settings/webauthn-login-settings.component.html b/apps/web/src/app/auth/settings/webauthn-login-settings/webauthn-login-settings.component.html index e65899e05ea..9965302d15a 100644 --- a/apps/web/src/app/auth/settings/webauthn-login-settings/webauthn-login-settings.component.html +++ b/apps/web/src/app/auth/settings/webauthn-login-settings/webauthn-login-settings.component.html @@ -1,5 +1,5 @@

- {{ "loginWithPasskey" | i18n }} + {{ "logInWithPasskey" | i18n }} diff --git a/apps/web/src/app/oss-routing.module.ts b/apps/web/src/app/oss-routing.module.ts index 71d26030b03..02d51a72d5a 100644 --- a/apps/web/src/app/oss-routing.module.ts +++ b/apps/web/src/app/oss-routing.module.ts @@ -104,7 +104,7 @@ const routes: Routes = [ { path: "login-with-passkey", component: LoginViaWebAuthnComponent, - data: { titleId: "loginWithPasskey" } satisfies RouteDataProperties, + data: { titleId: "logInWithPasskey" } satisfies RouteDataProperties, }, { path: "admin-approval-requested", From 4a2c14dc2e68b9b1dd6b5dbc65c025b07daddd1c Mon Sep 17 00:00:00 2001 From: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Date: Fri, 1 Nov 2024 09:49:31 +1000 Subject: [PATCH 14/31] [PM-14161] Add getById and getByIds rjxs helpers (#11742) --- libs/common/src/platform/misc/index.ts | 1 + .../src/platform/misc/rxjs-operators.spec.ts | 58 +++++++++++++++++++ .../src/platform/misc/rxjs-operators.ts | 21 +++++++ 3 files changed, 80 insertions(+) create mode 100644 libs/common/src/platform/misc/index.ts create mode 100644 libs/common/src/platform/misc/rxjs-operators.spec.ts create mode 100644 libs/common/src/platform/misc/rxjs-operators.ts diff --git a/libs/common/src/platform/misc/index.ts b/libs/common/src/platform/misc/index.ts new file mode 100644 index 00000000000..56fc18c2826 --- /dev/null +++ b/libs/common/src/platform/misc/index.ts @@ -0,0 +1 @@ +export * from "./rxjs-operators"; diff --git a/libs/common/src/platform/misc/rxjs-operators.spec.ts b/libs/common/src/platform/misc/rxjs-operators.spec.ts new file mode 100644 index 00000000000..c9ec2c091ef --- /dev/null +++ b/libs/common/src/platform/misc/rxjs-operators.spec.ts @@ -0,0 +1,58 @@ +import { firstValueFrom, of } from "rxjs"; + +import { getById, getByIds } from "./rxjs-operators"; + +describe("custom rxjs operators", () => { + describe("getById", () => { + it("returns an object with a matching id", async () => { + const obs = of([ + { + id: 1, + data: "one", + }, + { + id: 2, + data: "two", + }, + { + id: 3, + data: "three", + }, + ]).pipe(getById(2)); + + const result = await firstValueFrom(obs); + + expect(result).toEqual({ id: 2, data: "two" }); + }); + }); + + describe("getByIds", () => { + it("returns an array of objects with matching ids", async () => { + const obs = of([ + { + id: 1, + data: "one", + }, + { + id: 2, + data: "two", + }, + { + id: 3, + data: "three", + }, + { + id: 4, + data: "four", + }, + ]).pipe(getByIds([2, 3])); + + const result = await firstValueFrom(obs); + + expect(result).toEqual([ + { id: 2, data: "two" }, + { id: 3, data: "three" }, + ]); + }); + }); +}); diff --git a/libs/common/src/platform/misc/rxjs-operators.ts b/libs/common/src/platform/misc/rxjs-operators.ts new file mode 100644 index 00000000000..689b928cd29 --- /dev/null +++ b/libs/common/src/platform/misc/rxjs-operators.ts @@ -0,0 +1,21 @@ +import { map } from "rxjs"; + +/** + * An rxjs operator that extracts an object by ID from an array of objects. + * @param id The ID of the object to return. + * @returns The first object with a matching ID, or undefined if no matching object is present. + */ +export const getById = (id: TId) => + map((objects) => objects.find((o) => o.id === id)); + +/** + * An rxjs operator that extracts a subset of objects by their IDs from an array of objects. + * @param id The IDs of the objects to return. + * @returns An array containing objects with matching IDs, or an empty array if there are no matching objects. + */ +export const getByIds = (ids: TId[]) => { + const idSet = new Set(ids); + return map((objects) => { + return objects.filter((o) => idSet.has(o.id)); + }); +}; From 5eae599b81623ec6d067776d8667291391b64a28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa?= Date: Fri, 1 Nov 2024 14:13:02 +0100 Subject: [PATCH 15/31] [BEEEP][PM-14388] Better dev experience on desktop-browser IPC (#11822) --- .../desktop_native/core/src/ipc/mod.rs | 9 +- .../src/app/accounts/settings.component.ts | 3 +- .../desktop/src/main/native-messaging.main.ts | 165 +++++++++++++----- 3 files changed, 127 insertions(+), 50 deletions(-) diff --git a/apps/desktop/desktop_native/core/src/ipc/mod.rs b/apps/desktop/desktop_native/core/src/ipc/mod.rs index c7ac1a43404..d406b6aa137 100644 --- a/apps/desktop/desktop_native/core/src/ipc/mod.rs +++ b/apps/desktop/desktop_native/core/src/ipc/mod.rs @@ -31,7 +31,7 @@ pub fn path(name: &str) -> std::path::PathBuf { format!(r"\\.\pipe\{hash_b64}.app.{name}").into() } - #[cfg(target_os = "macos")] + #[cfg(all(target_os = "macos", not(debug_assertions)))] { let mut home = dirs::home_dir().unwrap(); @@ -53,6 +53,13 @@ pub fn path(name: &str) -> std::path::PathBuf { tmp.join(format!("app.{name}")) } + #[cfg(all(target_os = "macos", debug_assertions))] + { + // When running in debug mode, we use the tmp dir because the app is not sandboxed + let dir = std::env::temp_dir(); + dir.join(format!("app.{name}")) + } + #[cfg(target_os = "linux")] { // On Linux, we use the user's cache directory. diff --git a/apps/desktop/src/app/accounts/settings.component.ts b/apps/desktop/src/app/accounts/settings.component.ts index 572dbc5e8be..0c5fa187cb6 100644 --- a/apps/desktop/src/app/accounts/settings.component.ts +++ b/apps/desktop/src/app/accounts/settings.component.ts @@ -626,7 +626,8 @@ export class SettingsComponent implements OnInit, OnDestroy { async saveBrowserIntegration() { if ( ipc.platform.deviceType === DeviceType.MacOsDesktop && - !this.platformUtilsService.isMacAppStore() + !this.platformUtilsService.isMacAppStore() && + !ipc.platform.isDev ) { await this.dialogService.openSimpleDialog({ title: { key: "browserIntegrationUnsupportedTitle" }, diff --git a/apps/desktop/src/main/native-messaging.main.ts b/apps/desktop/src/main/native-messaging.main.ts index 9c9f1ae6a9b..e383c1e1d3a 100644 --- a/apps/desktop/src/main/native-messaging.main.ts +++ b/apps/desktop/src/main/native-messaging.main.ts @@ -132,18 +132,7 @@ export class NativeMessagingMain { }; const chromeJson = { ...baseJson, - ...{ - allowed_origins: [ - // Chrome extension - "chrome-extension://nngceckbapebfimnlniiiahkandclblb/", - // Chrome beta extension - "chrome-extension://hccnnhgbibccigepcmlgppchkpfdophk/", - // Edge extension - "chrome-extension://jbkfoedolllekgbhcbcoahefnbanhhlh/", - // Opera extension - "chrome-extension://ccnckbpmaceehanjmeomladnmlffdjgn/", - ], - }, + allowed_origins: await this.loadChromeIds(), }; switch (process.platform) { @@ -180,35 +169,26 @@ export class NativeMessagingMain { } break; } - case "linux": - if (existsSync(`${this.homedir()}/.mozilla/`)) { - await this.writeManifest( - `${this.homedir()}/.mozilla/native-messaging-hosts/com.8bit.bitwarden.json`, - firefoxJson, - ); - } - - if (existsSync(`${this.homedir()}/.config/google-chrome/`)) { - await this.writeManifest( - `${this.homedir()}/.config/google-chrome/NativeMessagingHosts/com.8bit.bitwarden.json`, - chromeJson, - ); - } - - if (existsSync(`${this.homedir()}/.config/microsoft-edge/`)) { - await this.writeManifest( - `${this.homedir()}/.config/microsoft-edge/NativeMessagingHosts/com.8bit.bitwarden.json`, - chromeJson, - ); - } - - if (existsSync(`${this.homedir()}/.config/chromium/`)) { - await this.writeManifest( - `${this.homedir()}/.config/chromium/NativeMessagingHosts/com.8bit.bitwarden.json`, - chromeJson, - ); + case "linux": { + for (const [key, value] of Object.entries(this.getLinuxNMHS())) { + if (existsSync(value)) { + if (key === "Firefox") { + await this.writeManifest( + path.join(value, "native-messaging-hosts", "com.8bit.bitwarden.json"), + firefoxJson, + ); + } else { + await this.writeManifest( + path.join(value, "NativeMessagingHosts", "com.8bit.bitwarden.json"), + chromeJson, + ); + } + } else { + this.logService.warning(`${key} not found, skipping.`); + } } break; + } default: break; } @@ -260,15 +240,18 @@ export class NativeMessagingMain { break; } case "linux": { - await this.removeIfExists( - `${this.homedir()}/.mozilla/native-messaging-hosts/com.8bit.bitwarden.json`, - ); - await this.removeIfExists( - `${this.homedir()}/.config/google-chrome/NativeMessagingHosts/com.8bit.bitwarden.json`, - ); - await this.removeIfExists( - `${this.homedir()}/.config/microsoft-edge/NativeMessagingHosts/com.8bit.bitwarden.json`, - ); + for (const [key, value] of Object.entries(this.getLinuxNMHS())) { + if (key === "Firefox") { + await this.removeIfExists( + path.join(value, "native-messaging-hosts", "com.8bit.bitwarden.json"), + ); + } else { + await this.removeIfExists( + path.join(value, "NativeMessagingHosts", "com.8bit.bitwarden.json"), + ); + } + } + break; } default: @@ -317,6 +300,15 @@ export class NativeMessagingMain { /* eslint-enable no-useless-escape */ } + private getLinuxNMHS() { + return { + Firefox: `${this.homedir()}/.mozilla/`, + Chrome: `${this.homedir()}/.config/google-chrome/`, + Chromium: `${this.homedir()}/.config/chromium/`, + "Microsoft Edge": `${this.homedir()}/.config/microsoft-edge/`, + }; + } + private async writeManifest(destination: string, manifest: object) { this.logService.debug(`Writing manifest: ${destination}`); @@ -327,6 +319,83 @@ export class NativeMessagingMain { await fs.writeFile(destination, JSON.stringify(manifest, null, 2)); } + private async loadChromeIds(): Promise { + const ids: Set = new Set([ + // Chrome extension + "chrome-extension://nngceckbapebfimnlniiiahkandclblb/", + // Chrome beta extension + "chrome-extension://hccnnhgbibccigepcmlgppchkpfdophk/", + // Edge extension + "chrome-extension://jbkfoedolllekgbhcbcoahefnbanhhlh/", + // Opera extension + "chrome-extension://ccnckbpmaceehanjmeomladnmlffdjgn/", + ]); + + if (!isDev()) { + return Array.from(ids); + } + + // The dev builds of the extension have a different random ID per user, so to make development easier + // we try to find the extension IDs from the user's Chrome profiles when we're running in dev mode. + let chromePaths: string[]; + switch (process.platform) { + case "darwin": { + chromePaths = Object.entries(this.getDarwinNMHS()) + .filter(([key]) => key !== "Firefox") + .map(([, value]) => value); + break; + } + case "linux": { + chromePaths = Object.entries(this.getLinuxNMHS()) + .filter(([key]) => key !== "Firefox") + .map(([, value]) => value); + break; + } + case "win32": { + // TODO: Add more supported browsers for Windows? + chromePaths = [ + path.join(process.env.LOCALAPPDATA, "Microsoft", "Edge", "User Data"), + path.join(process.env.LOCALAPPDATA, "Google", "Chrome", "User Data"), + ]; + break; + } + } + + for (const chromePath of chromePaths) { + try { + // The chrome profile directories are named "Default", "Profile 1", "Profile 2", etc. + const profiles = (await fs.readdir(chromePath)).filter((f) => { + const lower = f.toLowerCase(); + return lower == "default" || lower.startsWith("profile "); + }); + + for (const profile of profiles) { + try { + // Read the profile Preferences file and find the extension commands section + const prefs = JSON.parse( + await fs.readFile(path.join(chromePath, profile, "Preferences"), "utf8"), + ); + const commands: Map = prefs.extensions.commands; + + // If one of the commands is autofill_login or generate_password, we know it's probably the Bitwarden extension + for (const { command_name, extension } of Object.values(commands)) { + if (command_name === "autofill_login" || command_name === "generate_password") { + ids.add(`chrome-extension://${extension}/`); + this.logService.info(`Found extension from ${chromePath}: ${extension}`); + } + } + } catch (e) { + this.logService.info(`Error reading preferences: ${e}`); + } + } + } catch (e) { + // Browser is not installed, we can just skip it + } + } + + return Array.from(ids); + } + private binaryPath() { const ext = process.platform === "win32" ? ".exe" : ""; From a049b553a66ee618f8f50239d3b0809a417c806b Mon Sep 17 00:00:00 2001 From: Todd Martin <106564991+trmartin4@users.noreply.github.com> Date: Fri, 1 Nov 2024 11:21:18 -0400 Subject: [PATCH 16/31] Update decryptUserKeyWithMasterKey to requireUserId (#11560) * Updated decryptUserKeyWithMasterKey to requireUserId * Removed unintended extra character. * Added dependency to LogService. * Fixed unlock command. --- apps/browser/src/background/main.background.ts | 1 + apps/cli/src/auth/commands/unlock.command.ts | 2 +- apps/cli/src/service-container/service-container.ts | 1 + .../src/app/auth/settings/change-password.component.ts | 2 +- libs/angular/src/auth/components/lock.component.ts | 1 + libs/angular/src/services/jslib-services.module.ts | 8 +++++++- libs/auth/src/angular/lock/lock.component.ts | 1 + .../login-strategies/auth-request-login.strategy.ts | 5 ++++- .../common/login-strategies/password-login.strategy.ts | 5 ++++- .../common/login-strategies/sso-login.strategy.spec.ts | 4 ++-- .../src/common/login-strategies/sso-login.strategy.ts | 2 +- .../login-strategies/user-api-login.strategy.spec.ts | 2 +- .../common/login-strategies/user-api-login.strategy.ts | 5 ++++- .../services/auth-request/auth-request.service.spec.ts | 2 +- .../common/services/auth-request/auth-request.service.ts | 2 +- .../src/common/services/pin/pin.service.implementation.ts | 1 + .../abstractions/master-password.service.abstraction.ts | 4 ++-- .../master-password/fake-master-password.service.ts | 4 ++-- .../services/master-password/master-password.service.ts | 7 +++++-- 19 files changed, 41 insertions(+), 18 deletions(-) diff --git a/apps/browser/src/background/main.background.ts b/apps/browser/src/background/main.background.ts index cfb44c6c36c..c3ecb5d3fe7 100644 --- a/apps/browser/src/background/main.background.ts +++ b/apps/browser/src/background/main.background.ts @@ -632,6 +632,7 @@ export default class MainBackground { this.stateService, this.keyGenerationService, this.encryptService, + this.logService, ); this.i18nService = new I18nService(BrowserApi.getUILanguage(), this.globalStateProvider); diff --git a/apps/cli/src/auth/commands/unlock.command.ts b/apps/cli/src/auth/commands/unlock.command.ts index 9d7f7771dbc..3389d022e5e 100644 --- a/apps/cli/src/auth/commands/unlock.command.ts +++ b/apps/cli/src/auth/commands/unlock.command.ts @@ -68,7 +68,7 @@ export class UnlockCommand { return Response.error(e.message); } - const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey); + const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey, userId); await this.keyService.setUserKey(userKey, userId); if (await this.keyConnectorService.getConvertAccountRequired()) { diff --git a/apps/cli/src/service-container/service-container.ts b/apps/cli/src/service-container/service-container.ts index 8d1ad6b2e77..ae627e82e75 100644 --- a/apps/cli/src/service-container/service-container.ts +++ b/apps/cli/src/service-container/service-container.ts @@ -404,6 +404,7 @@ export class ServiceContainer { this.stateService, this.keyGenerationService, this.encryptService, + this.logService, ); this.kdfConfigService = new KdfConfigService(this.stateProvider); diff --git a/apps/web/src/app/auth/settings/change-password.component.ts b/apps/web/src/app/auth/settings/change-password.component.ts index 3406c2d5b61..f5f3e80b6bb 100644 --- a/apps/web/src/app/auth/settings/change-password.component.ts +++ b/apps/web/src/app/auth/settings/change-password.component.ts @@ -194,7 +194,7 @@ export class ChangePasswordComponent HashPurpose.LocalAuthorization, ); - const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey); + const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey, userId); if (userKey == null) { this.toastService.showToast({ variant: "error", diff --git a/libs/angular/src/auth/components/lock.component.ts b/libs/angular/src/auth/components/lock.component.ts index bc9c667bc87..ce410029853 100644 --- a/libs/angular/src/auth/components/lock.component.ts +++ b/libs/angular/src/auth/components/lock.component.ts @@ -267,6 +267,7 @@ export class LockComponent implements OnInit, OnDestroy { const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey( response.masterKey, + userId, ); await this.setUserKeyAndContinue(userKey, userId, true); } diff --git a/libs/angular/src/services/jslib-services.module.ts b/libs/angular/src/services/jslib-services.module.ts index 5d8822866d6..5bf81761ed6 100644 --- a/libs/angular/src/services/jslib-services.module.ts +++ b/libs/angular/src/services/jslib-services.module.ts @@ -921,7 +921,13 @@ const safeProviders: SafeProvider[] = [ safeProvider({ provide: InternalMasterPasswordServiceAbstraction, useClass: MasterPasswordService, - deps: [StateProvider, StateServiceAbstraction, KeyGenerationServiceAbstraction, EncryptService], + deps: [ + StateProvider, + StateServiceAbstraction, + KeyGenerationServiceAbstraction, + EncryptService, + LogService, + ], }), safeProvider({ provide: MasterPasswordServiceAbstraction, diff --git a/libs/auth/src/angular/lock/lock.component.ts b/libs/auth/src/angular/lock/lock.component.ts index 3d4bf51e804..94c226f3f67 100644 --- a/libs/auth/src/angular/lock/lock.component.ts +++ b/libs/auth/src/angular/lock/lock.component.ts @@ -483,6 +483,7 @@ export class LockV2Component implements OnInit, OnDestroy { const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey( masterPasswordVerificationResponse.masterKey, + this.activeAccount.id, ); await this.setUserKeyAndContinue(userKey, true); } diff --git a/libs/auth/src/common/login-strategies/auth-request-login.strategy.ts b/libs/auth/src/common/login-strategies/auth-request-login.strategy.ts index 3f7e107fa98..a3e2fda2f28 100644 --- a/libs/auth/src/common/login-strategies/auth-request-login.strategy.ts +++ b/libs/auth/src/common/login-strategies/auth-request-login.strategy.ts @@ -114,7 +114,10 @@ export class AuthRequestLoginStrategy extends LoginStrategy { private async trySetUserKeyWithMasterKey(userId: UserId): Promise { const masterKey = await firstValueFrom(this.masterPasswordService.masterKey$(userId)); if (masterKey) { - const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey); + const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey( + masterKey, + userId, + ); await this.keyService.setUserKey(userKey, userId); } } diff --git a/libs/auth/src/common/login-strategies/password-login.strategy.ts b/libs/auth/src/common/login-strategies/password-login.strategy.ts index 55e869e8229..05faef1ba14 100644 --- a/libs/auth/src/common/login-strategies/password-login.strategy.ts +++ b/libs/auth/src/common/login-strategies/password-login.strategy.ts @@ -183,7 +183,10 @@ export class PasswordLoginStrategy extends LoginStrategy { const masterKey = await firstValueFrom(this.masterPasswordService.masterKey$(userId)); if (masterKey) { - const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey); + const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey( + masterKey, + userId, + ); await this.keyService.setUserKey(userKey, userId); } } diff --git a/libs/auth/src/common/login-strategies/sso-login.strategy.spec.ts b/libs/auth/src/common/login-strategies/sso-login.strategy.spec.ts index d9827c2e287..7b5ad4a31b6 100644 --- a/libs/auth/src/common/login-strategies/sso-login.strategy.spec.ts +++ b/libs/auth/src/common/login-strategies/sso-login.strategy.spec.ts @@ -496,7 +496,7 @@ describe("SsoLoginStrategy", () => { expect(masterPasswordService.mock.decryptUserKeyWithMasterKey).toHaveBeenCalledWith( masterKey, - undefined, + userId, undefined, ); expect(keyService.setUserKey).toHaveBeenCalledWith(userKey, userId); @@ -552,7 +552,7 @@ describe("SsoLoginStrategy", () => { expect(masterPasswordService.mock.decryptUserKeyWithMasterKey).toHaveBeenCalledWith( masterKey, - undefined, + userId, undefined, ); expect(keyService.setUserKey).toHaveBeenCalledWith(userKey, userId); diff --git a/libs/auth/src/common/login-strategies/sso-login.strategy.ts b/libs/auth/src/common/login-strategies/sso-login.strategy.ts index d2660eef8a2..b1dffea9b50 100644 --- a/libs/auth/src/common/login-strategies/sso-login.strategy.ts +++ b/libs/auth/src/common/login-strategies/sso-login.strategy.ts @@ -338,7 +338,7 @@ export class SsoLoginStrategy extends LoginStrategy { return; } - const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey); + const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey, userId); await this.keyService.setUserKey(userKey, userId); } diff --git a/libs/auth/src/common/login-strategies/user-api-login.strategy.spec.ts b/libs/auth/src/common/login-strategies/user-api-login.strategy.spec.ts index 14fafcb58c3..07d06a7567d 100644 --- a/libs/auth/src/common/login-strategies/user-api-login.strategy.spec.ts +++ b/libs/auth/src/common/login-strategies/user-api-login.strategy.spec.ts @@ -213,7 +213,7 @@ describe("UserApiLoginStrategy", () => { expect(masterPasswordService.mock.decryptUserKeyWithMasterKey).toHaveBeenCalledWith( masterKey, - undefined, + userId, undefined, ); expect(keyService.setUserKey).toHaveBeenCalledWith(userKey, userId); diff --git a/libs/auth/src/common/login-strategies/user-api-login.strategy.ts b/libs/auth/src/common/login-strategies/user-api-login.strategy.ts index 4ae95fdbc70..1097e8e04c2 100644 --- a/libs/auth/src/common/login-strategies/user-api-login.strategy.ts +++ b/libs/auth/src/common/login-strategies/user-api-login.strategy.ts @@ -69,7 +69,10 @@ export class UserApiLoginStrategy extends LoginStrategy { if (response.apiUseKeyConnector) { const masterKey = await firstValueFrom(this.masterPasswordService.masterKey$(userId)); if (masterKey) { - const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey); + const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey( + masterKey, + userId, + ); await this.keyService.setUserKey(userKey, userId); } } diff --git a/libs/auth/src/common/services/auth-request/auth-request.service.spec.ts b/libs/auth/src/common/services/auth-request/auth-request.service.spec.ts index a4f1d5d9724..86b2a1dd3b6 100644 --- a/libs/auth/src/common/services/auth-request/auth-request.service.spec.ts +++ b/libs/auth/src/common/services/auth-request/auth-request.service.spec.ts @@ -200,7 +200,7 @@ describe("AuthRequestService", () => { ); expect(masterPasswordService.mock.decryptUserKeyWithMasterKey).toHaveBeenCalledWith( mockDecryptedMasterKey, - undefined, + mockUserId, undefined, ); expect(keyService.setUserKey).toHaveBeenCalledWith(mockDecryptedUserKey, mockUserId); diff --git a/libs/auth/src/common/services/auth-request/auth-request.service.ts b/libs/auth/src/common/services/auth-request/auth-request.service.ts index 0e416a4a255..b6a7bfb26b9 100644 --- a/libs/auth/src/common/services/auth-request/auth-request.service.ts +++ b/libs/auth/src/common/services/auth-request/auth-request.service.ts @@ -150,7 +150,7 @@ export class AuthRequestService implements AuthRequestServiceAbstraction { ); // Decrypt and set user key in state - const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey); + const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey(masterKey, userId); // Set masterKey + masterKeyHash in state after decryption (in case decryption fails) await this.masterPasswordService.setMasterKey(masterKey, userId); diff --git a/libs/auth/src/common/services/pin/pin.service.implementation.ts b/libs/auth/src/common/services/pin/pin.service.implementation.ts index 39bb80e0b73..2a01802fa57 100644 --- a/libs/auth/src/common/services/pin/pin.service.implementation.ts +++ b/libs/auth/src/common/services/pin/pin.service.implementation.ts @@ -418,6 +418,7 @@ export class PinService implements PinServiceAbstraction { const userKey = await this.masterPasswordService.decryptUserKeyWithMasterKey( masterKey, + userId, encUserKey ? new EncString(encUserKey) : undefined, ); diff --git a/libs/common/src/auth/abstractions/master-password.service.abstraction.ts b/libs/common/src/auth/abstractions/master-password.service.abstraction.ts index bd4d73a0f22..c3a0f135a06 100644 --- a/libs/common/src/auth/abstractions/master-password.service.abstraction.ts +++ b/libs/common/src/auth/abstractions/master-password.service.abstraction.ts @@ -33,16 +33,16 @@ export abstract class MasterPasswordServiceAbstraction { /** * Decrypts the user key with the provided master key * @param masterKey The user's master key + * * @param userId The desired user * @param userKey The user's encrypted symmetric key - * @param userId The desired user * @throws If either the MasterKey or UserKey are not resolved, or if the UserKey encryption type * is neither AesCbc256_B64 nor AesCbc256_HmacSha256_B64 * @returns The user key */ abstract decryptUserKeyWithMasterKey: ( masterKey: MasterKey, + userId: string, userKey?: EncString, - userId?: string, ) => Promise; } diff --git a/libs/common/src/auth/services/master-password/fake-master-password.service.ts b/libs/common/src/auth/services/master-password/fake-master-password.service.ts index f57614f5d51..0357018e615 100644 --- a/libs/common/src/auth/services/master-password/fake-master-password.service.ts +++ b/libs/common/src/auth/services/master-password/fake-master-password.service.ts @@ -64,9 +64,9 @@ export class FakeMasterPasswordService implements InternalMasterPasswordServiceA decryptUserKeyWithMasterKey( masterKey: MasterKey, + userId: string, userKey?: EncString, - userId?: string, ): Promise { - return this.mock.decryptUserKeyWithMasterKey(masterKey, userKey, userId); + return this.mock.decryptUserKeyWithMasterKey(masterKey, userId, userKey); } } diff --git a/libs/common/src/auth/services/master-password/master-password.service.ts b/libs/common/src/auth/services/master-password/master-password.service.ts index e20c8c00e6e..3a565e1c786 100644 --- a/libs/common/src/auth/services/master-password/master-password.service.ts +++ b/libs/common/src/auth/services/master-password/master-password.service.ts @@ -1,5 +1,7 @@ import { firstValueFrom, map, Observable } from "rxjs"; +import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; + import { EncryptService } from "../../../platform/abstractions/encrypt.service"; import { KeyGenerationService } from "../../../platform/abstractions/key-generation.service"; import { StateService } from "../../../platform/abstractions/state.service"; @@ -55,6 +57,7 @@ export class MasterPasswordService implements InternalMasterPasswordServiceAbstr private stateService: StateService, private keyGenerationService: KeyGenerationService, private encryptService: EncryptService, + private logService: LogService, ) {} masterKey$(userId: UserId): Observable { @@ -149,10 +152,9 @@ export class MasterPasswordService implements InternalMasterPasswordServiceAbstr async decryptUserKeyWithMasterKey( masterKey: MasterKey, + userId: UserId, userKey?: EncString, - userId?: UserId, ): Promise { - userId ??= await firstValueFrom(this.stateProvider.activeUserId$); userKey ??= await this.getMasterKeyEncryptedUserKey(userId); masterKey ??= await firstValueFrom(this.masterKey$(userId)); @@ -185,6 +187,7 @@ export class MasterPasswordService implements InternalMasterPasswordServiceAbstr } if (decUserKey == null) { + this.logService.warning("Failed to decrypt user key with master key."); return null; } From 00e1c936fbd4211bab09287df0eb6287d2523316 Mon Sep 17 00:00:00 2001 From: Nick Krantz <125900171+nick-livefront@users.noreply.github.com> Date: Fri, 1 Nov 2024 11:05:02 -0500 Subject: [PATCH 17/31] [PM-13928]use the user's email address in owner dropdown rather than "You" (#11798) * use the user's email address in owner dropdown rather than "You" * show ownership value in individual vault when disabled * import account service in storybook --- .../src/cipher-form/cipher-form.stories.ts | 7 ++++ .../item-details-section.component.html | 4 +-- .../item-details-section.component.spec.ts | 36 +++++++++++++++++++ .../item-details-section.component.ts | 16 +++++++++ 4 files changed, 61 insertions(+), 2 deletions(-) diff --git a/libs/vault/src/cipher-form/cipher-form.stories.ts b/libs/vault/src/cipher-form/cipher-form.stories.ts index 13f233f53d1..e48cf384c2c 100644 --- a/libs/vault/src/cipher-form/cipher-form.stories.ts +++ b/libs/vault/src/cipher-form/cipher-form.stories.ts @@ -13,6 +13,7 @@ import { CollectionView } from "@bitwarden/admin-console/common"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { Organization } from "@bitwarden/common/admin-console/models/domain/organization"; +import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { AutofillSettingsServiceAbstraction } from "@bitwarden/common/autofill/services/autofill-settings.service"; import { DomainSettingsService } from "@bitwarden/common/autofill/services/domain-settings.service"; import { ClientType } from "@bitwarden/common/enums"; @@ -183,6 +184,12 @@ export default { getClientType: () => ClientType.Browser, }, }, + { + provide: AccountService, + useValue: { + activeAccount$: new BehaviorSubject({ email: "test@example.com" }), + }, + }, ], }), componentWrapperDecorator( diff --git a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.html b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.html index 6c6bd8a801e..648539932de 100644 --- a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.html +++ b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.html @@ -27,9 +27,9 @@ {{ "owner" | i18n }} { let cipherFormProvider: MockProxy; let i18nService: MockProxy; + const activeAccount$ = new BehaviorSubject<{ email: string }>({ email: "test@example.com" }); + beforeEach(async () => { cipherFormProvider = mock(); i18nService = mock(); @@ -29,6 +35,7 @@ describe("ItemDetailsSectionComponent", () => { providers: [ { provide: CipherFormContainer, useValue: cipherFormProvider }, { provide: I18nService, useValue: i18nService }, + { provide: AccountService, useValue: { activeAccount$ } }, ], }).compileComponents(); @@ -207,6 +214,35 @@ describe("ItemDetailsSectionComponent", () => { }); }); + describe("showPersonalOwnerOption", () => { + it("should show personal ownership when the configuration allows", () => { + component.config.mode = "edit"; + component.config.allowPersonalOwnership = true; + component.config.organizations = [{ id: "134-433-22" } as Organization]; + fixture.detectChanges(); + + const select = fixture.debugElement.query(By.directive(SelectComponent)); + const { value, label } = select.componentInstance.items[0]; + + expect(value).toBeNull(); + expect(label).toBe("test@example.com"); + }); + + it("should show personal ownership when the control is disabled", async () => { + component.config.mode = "edit"; + component.config.allowPersonalOwnership = false; + component.config.organizations = [{ id: "134-433-22" } as Organization]; + await component.ngOnInit(); + fixture.detectChanges(); + + const select = fixture.debugElement.query(By.directive(SelectComponent)); + + const { value, label } = select.componentInstance.items[0]; + expect(value).toBeNull(); + expect(label).toBe("test@example.com"); + }); + }); + describe("showOwnership", () => { it("should return true if ownership change is allowed or in edit mode with at least one organization", () => { jest.spyOn(component, "allowOwnershipChange", "get").mockReturnValue(true); diff --git a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts index 06ce363a270..fb193dd3ddd 100644 --- a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts +++ b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts @@ -7,6 +7,7 @@ import { concatMap, map } from "rxjs"; import { CollectionView } from "@bitwarden/admin-console/common"; import { JslibModule } from "@bitwarden/angular/jslib.module"; import { Organization } from "@bitwarden/common/admin-console/models/domain/organization"; +import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { CollectionId, OrganizationId } from "@bitwarden/common/types/guid"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @@ -68,6 +69,9 @@ export class ItemDetailsSectionComponent implements OnInit { protected showCollectionsControl: boolean; + /** The email address associated with the active account */ + protected userEmail$ = this.accountService.activeAccount$.pipe(map((account) => account.email)); + @Input({ required: true }) config: CipherFormConfig; @@ -96,11 +100,23 @@ export class ItemDetailsSectionComponent implements OnInit { return this.config.initialValues; } + /** + * Show the personal ownership option in the Owner dropdown when: + * - Personal ownership is allowed + * - The `organizationId` control is disabled. This avoids the scenario + * where a the dropdown is empty because the user personally owns the cipher + * but cannot edit the ownership. + */ + get showPersonalOwnerOption() { + return this.allowPersonalOwnership || !this.itemDetailsForm.controls.organizationId.enabled; + } + constructor( private cipherFormContainer: CipherFormContainer, private formBuilder: FormBuilder, private i18nService: I18nService, private destroyRef: DestroyRef, + private accountService: AccountService, ) { this.cipherFormContainer.registerChildForm("itemDetails", this.itemDetailsForm); this.itemDetailsForm.valueChanges From 227e9c4c228ec57d42617e3d7d8c5bd329941506 Mon Sep 17 00:00:00 2001 From: Cesar Gonzalez Date: Fri, 1 Nov 2024 11:17:36 -0500 Subject: [PATCH 18/31] [PM-14349] Collection of page details on websites with ShadowDOM elements might not capture form elements (#11809) --- .../collect-autofill-content.service.ts | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/apps/browser/src/autofill/services/collect-autofill-content.service.ts b/apps/browser/src/autofill/services/collect-autofill-content.service.ts index fe7ebe61ee3..94d84997ee5 100644 --- a/apps/browser/src/autofill/services/collect-autofill-content.service.ts +++ b/apps/browser/src/autofill/services/collect-autofill-content.service.ts @@ -980,7 +980,7 @@ export class CollectAutofillContentService implements CollectAutofillContentServ const queueLength = this.mutationsQueue.length; if (!this.domQueryService.pageContainsShadowDomElements()) { - this.domQueryService.checkPageContainsShadowDom(); + this.checkPageContainsShadowDom(); } for (let queueIndex = 0; queueIndex < queueLength; queueIndex++) { @@ -999,6 +999,29 @@ export class CollectAutofillContentService implements CollectAutofillContentServ this.mutationsQueue = []; }; + /** + * Handles checking if the current page contains a ShadowDOM element and + * flags that a re-collection of page details is required if it does. + */ + private checkPageContainsShadowDom() { + this.domQueryService.checkPageContainsShadowDom(); + if (this.domQueryService.pageContainsShadowDomElements()) { + this.flagPageDetailsUpdateIsRequired(); + } + } + + /** + * Triggers several flags that indicate that a collection of page details should + * occur again on a subsequent call after a mutation has been observed in the DOM. + */ + private flagPageDetailsUpdateIsRequired() { + this.domRecentlyMutated = true; + if (this.autofillOverlayContentService) { + this.autofillOverlayContentService.pageDetailsUpdateRequired = true; + } + this.noFieldsFound = false; + } + /** * Processes all mutation records encountered by the mutation observer. * @@ -1023,11 +1046,7 @@ export class CollectAutofillContentService implements CollectAutofillContentServ (this.isAutofillElementNodeMutated(mutation.removedNodes, true) || this.isAutofillElementNodeMutated(mutation.addedNodes)) ) { - this.domRecentlyMutated = true; - if (this.autofillOverlayContentService) { - this.autofillOverlayContentService.pageDetailsUpdateRequired = true; - } - this.noFieldsFound = false; + this.flagPageDetailsUpdateIsRequired(); return; } From a4c6731021a0587a1e04341d1fad5f478d706ff1 Mon Sep 17 00:00:00 2001 From: Cesar Gonzalez Date: Fri, 1 Nov 2024 11:17:54 -0500 Subject: [PATCH 19/31] [PM-14054] Fixing scroll-based repositioning of the inline menu on ShadowDOM elements (#11803) * [PM-14054] Fixing scroll-based repositioning of inline menu when inline menu is focused * [PM-14054] Fixing scroll-based repositioning of the inline menu on ShadowDOM elements * [PM-14054] Fixing scroll-based repositioning of the inline menu on ShadowDOM elements * [PM-14054] Fixing scroll-based repositioning of the inline menu on ShadowDOM elements --- .../abstractions/overlay.background.ts | 1 - .../background/overlay.background.spec.ts | 6 +-- .../autofill/background/overlay.background.ts | 20 +-------- .../autofill-overlay-content.service.spec.ts | 4 ++ .../autofill-overlay-content.service.ts | 41 +++++++++++-------- 5 files changed, 31 insertions(+), 41 deletions(-) diff --git a/apps/browser/src/autofill/background/abstractions/overlay.background.ts b/apps/browser/src/autofill/background/abstractions/overlay.background.ts index db50b784453..68d3f32b80f 100644 --- a/apps/browser/src/autofill/background/abstractions/overlay.background.ts +++ b/apps/browser/src/autofill/background/abstractions/overlay.background.ts @@ -216,7 +216,6 @@ export type OverlayBackgroundExtensionMessageHandlers = { getCurrentTabFrameId: ({ sender }: BackgroundSenderParam) => number; updateSubFrameData: ({ message, sender }: BackgroundOnMessageHandlerParams) => void; triggerSubFrameFocusInRebuild: ({ sender }: BackgroundSenderParam) => void; - shouldRepositionSubFrameInlineMenuOnScroll: ({ sender }: BackgroundSenderParam) => void; destroyAutofillInlineMenuListeners: ({ message, sender, diff --git a/apps/browser/src/autofill/background/overlay.background.spec.ts b/apps/browser/src/autofill/background/overlay.background.spec.ts index d59ed447dde..29ae35d5cef 100644 --- a/apps/browser/src/autofill/background/overlay.background.spec.ts +++ b/apps/browser/src/autofill/background/overlay.background.spec.ts @@ -629,9 +629,7 @@ describe("OverlayBackground", () => { it("skips updating the inline menu list if the user has the inline menu set to open on button click", async () => { inlineMenuVisibilityMock$.next(AutofillOverlayVisibility.OnButtonClick); - jest - .spyOn(overlayBackground as any, "checkIsInlineMenuListVisible") - .mockReturnValue(false); + overlayBackground["inlineMenuListPort"] = null; tabsSendMessageSpy.mockImplementation((_tab, message, _options) => { if (message.command === "checkFocusedFieldHasValue") { return Promise.resolve(true); @@ -2267,7 +2265,7 @@ describe("OverlayBackground", () => { }); it("closes the list if the user has the inline menu set to show on button click and the list is open", async () => { - overlayBackground["isInlineMenuListVisible"] = true; + overlayBackground["inlineMenuListPort"] = listPortSpy; inlineMenuVisibilityMock$.next(AutofillOverlayVisibility.OnButtonClick); sendMockExtensionMessage({ command: "openAutofillInlineMenu" }, sender); diff --git a/apps/browser/src/autofill/background/overlay.background.ts b/apps/browser/src/autofill/background/overlay.background.ts index 41791b3b75f..a2b3e33d74f 100644 --- a/apps/browser/src/autofill/background/overlay.background.ts +++ b/apps/browser/src/autofill/background/overlay.background.ts @@ -168,8 +168,6 @@ export class OverlayBackground implements OverlayBackgroundInterface { getCurrentTabFrameId: ({ sender }) => this.getSenderFrameId(sender), updateSubFrameData: ({ message, sender }) => this.updateSubFrameData(message, sender), triggerSubFrameFocusInRebuild: ({ sender }) => this.triggerSubFrameFocusInRebuild(sender), - shouldRepositionSubFrameInlineMenuOnScroll: ({ sender }) => - this.shouldRepositionSubFrameInlineMenuOnScroll(sender), destroyAutofillInlineMenuListeners: ({ message, sender }) => this.triggerDestroyInlineMenuListeners(sender.tab, message.subFrameData.frameId), collectPageDetailsResponse: ({ message, sender }) => this.storePageDetails(message, sender), @@ -1010,7 +1008,7 @@ export class OverlayBackground implements OverlayBackgroundInterface { ); if ( - !this.checkIsInlineMenuListVisible() && + !this.inlineMenuListPort && (await this.getInlineMenuVisibility()) === AutofillOverlayVisibility.OnButtonClick ) { return; @@ -1819,7 +1817,7 @@ export class OverlayBackground implements OverlayBackgroundInterface { return; } - if (this.isInlineMenuListVisible) { + if (this.inlineMenuListPort) { this.closeInlineMenu(sender, { forceCloseInlineMenu: true, overlayElement: AutofillOverlayElement.List, @@ -2600,20 +2598,6 @@ export class OverlayBackground implements OverlayBackgroundInterface { this.repositionInlineMenu$.next(sender); } - /** - * Triggers on scroll of a frame within the tab. Will reposition the inline menu - * if the focused field is within a sub-frame and the inline menu is visible. - * - * @param sender - The sender of the message - */ - private shouldRepositionSubFrameInlineMenuOnScroll(sender: chrome.runtime.MessageSender) { - if (!this.isInlineMenuButtonVisible || sender.tab.id !== this.focusedFieldData?.tabId) { - return false; - } - - return this.focusedFieldData.frameId > 0; - } - /** * Handles determining if the inline menu should be repositioned or closed, and initiates * the process of calculating the new position of the inline menu. diff --git a/apps/browser/src/autofill/services/autofill-overlay-content.service.spec.ts b/apps/browser/src/autofill/services/autofill-overlay-content.service.spec.ts index 49a0b3ca844..8a77534d0d4 100644 --- a/apps/browser/src/autofill/services/autofill-overlay-content.service.spec.ts +++ b/apps/browser/src/autofill/services/autofill-overlay-content.service.spec.ts @@ -1703,6 +1703,10 @@ describe("AutofillOverlayContentService", () => { const repositionEvents = [EVENTS.SCROLL, EVENTS.RESIZE]; repositionEvents.forEach((repositionEvent) => { it(`sends a message trigger overlay reposition message to the background when a ${repositionEvent} event occurs`, async () => { + Object.defineProperty(globalThis, "scrollY", { + value: 10, + writable: true, + }); sendExtensionMessageSpy.mockResolvedValueOnce(true); globalThis.dispatchEvent(new Event(repositionEvent)); await flushPromises(); diff --git a/apps/browser/src/autofill/services/autofill-overlay-content.service.ts b/apps/browser/src/autofill/services/autofill-overlay-content.service.ts index ea3c5784949..511e5dd594b 100644 --- a/apps/browser/src/autofill/services/autofill-overlay-content.service.ts +++ b/apps/browser/src/autofill/services/autofill-overlay-content.service.ts @@ -1568,41 +1568,46 @@ export class AutofillOverlayContentService implements AutofillOverlayContentServ * the overlay elements on scroll or resize. */ private setOverlayRepositionEventListeners() { + let currentScrollY = globalThis.scrollY; + let currentScrollX = globalThis.scrollX; + let mostRecentTargetScrollY = 0; const repositionHandler = this.useEventHandlersMemo( throttle(this.handleOverlayRepositionEvent, 250), AUTOFILL_OVERLAY_HANDLE_REPOSITION, ); - const eventTargetContainsFocusedField = (eventTarget: Element | Document) => { - if (!eventTarget || !this.mostRecentlyFocusedField) { - return false; - } - - const activeElement = (eventTarget as Document).activeElement; - if (activeElement) { - return ( - activeElement === this.mostRecentlyFocusedField || - activeElement.contains(this.mostRecentlyFocusedField) || - this.inlineMenuContentService?.isElementInlineMenu(activeElement as HTMLElement) - ); - } - + const eventTargetContainsFocusedField = (eventTarget: Element) => { if (typeof eventTarget.contains !== "function") { return false; } - return ( + + const targetScrollY = eventTarget.scrollTop; + if (targetScrollY === mostRecentTargetScrollY) { + return false; + } + + if ( eventTarget === this.mostRecentlyFocusedField || eventTarget.contains(this.mostRecentlyFocusedField) - ); + ) { + mostRecentTargetScrollY = targetScrollY; + return true; + } + + return false; }; const scrollHandler = this.useEventHandlersMemo( throttle(async (event) => { if ( - eventTargetContainsFocusedField(event.target) || - (await this.shouldRepositionSubFrameInlineMenuOnScroll()) + currentScrollY !== globalThis.scrollY || + currentScrollX !== globalThis.scrollX || + eventTargetContainsFocusedField(event.target) ) { repositionHandler(event); } + + currentScrollY = globalThis.scrollY; + currentScrollX = globalThis.scrollX; }, 50), AUTOFILL_OVERLAY_HANDLE_SCROLL, ); From bb79fdbdb3d9ff219c5ae1ff44c1ad62ed6273aa Mon Sep 17 00:00:00 2001 From: Brandon Treston Date: Fri, 1 Nov 2024 13:43:55 -0400 Subject: [PATCH 20/31] [PM-11407] Fix story for danger zone component (#11817) * Fix story for danger zone component * fix linting --- apps/web/src/app/auth/settings/account/danger-zone.stories.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/web/src/app/auth/settings/account/danger-zone.stories.ts b/apps/web/src/app/auth/settings/account/danger-zone.stories.ts index 67e7f195f12..066fafaba79 100644 --- a/apps/web/src/app/auth/settings/account/danger-zone.stories.ts +++ b/apps/web/src/app/auth/settings/account/danger-zone.stories.ts @@ -1,3 +1,4 @@ +import { CommonModule } from "@angular/common"; import { importProvidersFrom } from "@angular/core"; import { Meta, StoryObj, applicationConfig, moduleMetadata } from "@storybook/angular"; @@ -13,7 +14,7 @@ export default { component: DangerZoneComponent, decorators: [ moduleMetadata({ - imports: [ButtonModule, JslibModule], + imports: [ButtonModule, JslibModule, CommonModule], }), applicationConfig({ providers: [importProvidersFrom(PreloadedEnglishI18nModule)], From 2539a1d45a545ba0ab1c025c94adaad5716f666a Mon Sep 17 00:00:00 2001 From: Jordan Aasen <166539328+jaasen-livefront@users.noreply.github.com> Date: Fri, 1 Nov 2024 11:48:07 -0700 Subject: [PATCH 21/31] [PM-14266] - access intelligence - application table (#11801) * add application table * add critical applications tab * add button. update copy --- .../access-intelligence.component.html | 24 ++-- .../access-intelligence.component.ts | 8 +- .../all-applications.component.html | 103 +++++++++++++++++ .../all-applications.component.ts | 106 ++++++++++++++++++ .../application-table.component.html | 11 -- .../application-table.component.ts | 19 ---- .../application-table.mock.ts | 50 +++++++++ .../critical-applications.component.html | 97 ++++++++++++++++ .../critical-applications.component.ts | 57 ++++++++++ .../no-priority-apps.component.html | 15 --- .../no-priority-apps.component.ts | 15 --- .../password-health-members.component.html | 3 - .../password-health-members.component.ts | 5 +- apps/web/src/locales/en/messages.json | 39 +++++-- 14 files changed, 460 insertions(+), 92 deletions(-) create mode 100644 apps/web/src/app/tools/access-intelligence/all-applications.component.html create mode 100644 apps/web/src/app/tools/access-intelligence/all-applications.component.ts delete mode 100644 apps/web/src/app/tools/access-intelligence/application-table.component.html delete mode 100644 apps/web/src/app/tools/access-intelligence/application-table.component.ts create mode 100644 apps/web/src/app/tools/access-intelligence/application-table.mock.ts create mode 100644 apps/web/src/app/tools/access-intelligence/critical-applications.component.html create mode 100644 apps/web/src/app/tools/access-intelligence/critical-applications.component.ts delete mode 100644 apps/web/src/app/tools/access-intelligence/no-priority-apps.component.html delete mode 100644 apps/web/src/app/tools/access-intelligence/no-priority-apps.component.ts diff --git a/apps/web/src/app/tools/access-intelligence/access-intelligence.component.html b/apps/web/src/app/tools/access-intelligence/access-intelligence.component.html index 520dd039d1d..738b3433890 100644 --- a/apps/web/src/app/tools/access-intelligence/access-intelligence.component.html +++ b/apps/web/src/app/tools/access-intelligence/access-intelligence.component.html @@ -16,6 +16,16 @@

+ + + + + + + {{ "criticalApplicationsWithCount" | i18n: criticalApps.length }} + + + @@ -25,19 +35,7 @@ - - - - {{ "application" | i18n }} - {{ "atRiskPasswords" | i18n }} - {{ "totalPasswords" | i18n }} - {{ "atRiskMembers" | i18n }} - {{ "totalMembers" | i18n }} - - - diff --git a/apps/web/src/app/tools/access-intelligence/application-table.component.ts b/apps/web/src/app/tools/access-intelligence/application-table.component.ts deleted file mode 100644 index 79b8500b8c7..00000000000 --- a/apps/web/src/app/tools/access-intelligence/application-table.component.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { CommonModule } from "@angular/common"; -import { Component } from "@angular/core"; - -import { JslibModule } from "@bitwarden/angular/jslib.module"; -import { TableDataSource, TableModule } from "@bitwarden/components"; - -@Component({ - standalone: true, - selector: "tools-application-table", - templateUrl: "./application-table.component.html", - imports: [CommonModule, JslibModule, TableModule], -}) -export class ApplicationTableComponent { - protected dataSource = new TableDataSource(); - - constructor() { - this.dataSource.data = []; - } -} diff --git a/apps/web/src/app/tools/access-intelligence/application-table.mock.ts b/apps/web/src/app/tools/access-intelligence/application-table.mock.ts new file mode 100644 index 00000000000..4df363ab2c7 --- /dev/null +++ b/apps/web/src/app/tools/access-intelligence/application-table.mock.ts @@ -0,0 +1,50 @@ +export const applicationTableMockData = [ + { + id: 1, + name: "google.com", + atRiskPasswords: 4, + totalPasswords: 10, + atRiskMembers: 2, + totalMembers: 5, + }, + { + id: 2, + name: "facebook.com", + atRiskPasswords: 3, + totalPasswords: 8, + atRiskMembers: 1, + totalMembers: 3, + }, + { + id: 3, + name: "twitter.com", + atRiskPasswords: 2, + totalPasswords: 6, + atRiskMembers: 0, + totalMembers: 2, + }, + { + id: 4, + name: "linkedin.com", + atRiskPasswords: 1, + totalPasswords: 4, + atRiskMembers: 0, + totalMembers: 1, + }, + { + id: 5, + name: "instagram.com", + atRiskPasswords: 0, + totalPasswords: 2, + atRiskMembers: 0, + totalMembers: 0, + }, + { + id: 6, + name: "tiktok.com", + atRiskPasswords: 0, + totalPasswords: 1, + atRiskMembers: 0, + totalMembers: 0, + }, +]; diff --git a/apps/web/src/app/tools/access-intelligence/critical-applications.component.html b/apps/web/src/app/tools/access-intelligence/critical-applications.component.html new file mode 100644 index 00000000000..e03988fbf9e --- /dev/null +++ b/apps/web/src/app/tools/access-intelligence/critical-applications.component.html @@ -0,0 +1,97 @@ +
+ + {{ "loading" | i18n }} +
+
+ + +

+ {{ "noCriticalAppsTitle" | i18n }} +

+
+ +

+ {{ "noCriticalAppsDescription" | i18n }} +

+
+ + + +
+
+
+
+

{{ "criticalApplications" | i18n }}

+ +
+
+ + + + +
+
+ +
+ + + + + {{ "application" | i18n }} + {{ "atRiskPasswords" | i18n }} + {{ "totalPasswords" | i18n }} + {{ "atRiskMembers" | i18n }} + {{ "totalMembers" | i18n }} + + + + + + + + + {{ r.name }} + + + + {{ r.atRiskPasswords }} + + + + + {{ r.totalPasswords }} + + + + + {{ r.atRiskMembers }} + + + + {{ r.totalMembers }} + + + + +
diff --git a/apps/web/src/app/tools/access-intelligence/critical-applications.component.ts b/apps/web/src/app/tools/access-intelligence/critical-applications.component.ts new file mode 100644 index 00000000000..545ba14d21c --- /dev/null +++ b/apps/web/src/app/tools/access-intelligence/critical-applications.component.ts @@ -0,0 +1,57 @@ +import { Component, DestroyRef, inject, OnInit } from "@angular/core"; +import { takeUntilDestroyed } from "@angular/core/rxjs-interop"; +import { FormControl } from "@angular/forms"; +import { ActivatedRoute } from "@angular/router"; +import { debounceTime, map } from "rxjs"; + +import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; +import { SearchModule, TableDataSource, NoItemsModule, Icons } from "@bitwarden/components"; +import { CardComponent } from "@bitwarden/tools-card"; + +import { HeaderModule } from "../../layouts/header/header.module"; +import { SharedModule } from "../../shared"; +import { PipesModule } from "../../vault/individual-vault/pipes/pipes.module"; + +import { applicationTableMockData } from "./application-table.mock"; + +@Component({ + standalone: true, + selector: "tools-critical-applications", + templateUrl: "./critical-applications.component.html", + imports: [CardComponent, HeaderModule, SearchModule, NoItemsModule, PipesModule, SharedModule], +}) +export class CriticalApplicationsComponent implements OnInit { + protected dataSource = new TableDataSource(); + protected selectedIds: Set = new Set(); + protected searchControl = new FormControl("", { nonNullable: true }); + private destroyRef = inject(DestroyRef); + protected loading = false; + noItemsIcon = Icons.Security; + // MOCK DATA + protected mockAtRiskMembersCount = 0; + protected mockAtRiskAppsCount = 0; + protected mockTotalMembersCount = 0; + protected mockTotalAppsCount = 0; + + ngOnInit() { + this.activatedRoute.paramMap + .pipe( + takeUntilDestroyed(this.destroyRef), + map(async (params) => { + // const organizationId = params.get("organizationId"); + // TODO: use organizationId to fetch data + }), + ) + .subscribe(); + } + + constructor( + protected i18nService: I18nService, + protected activatedRoute: ActivatedRoute, + ) { + this.dataSource.data = applicationTableMockData; + this.searchControl.valueChanges + .pipe(debounceTime(200), takeUntilDestroyed()) + .subscribe((v) => (this.dataSource.filter = v)); + } +} diff --git a/apps/web/src/app/tools/access-intelligence/no-priority-apps.component.html b/apps/web/src/app/tools/access-intelligence/no-priority-apps.component.html deleted file mode 100644 index 9c3b4f48916..00000000000 --- a/apps/web/src/app/tools/access-intelligence/no-priority-apps.component.html +++ /dev/null @@ -1,15 +0,0 @@ - - -

- {{ "noPriorityApplicationsTitle" | i18n }} -

-
- -

- {{ "noPriorityApplicationsDescription" | i18n }} -

-
- - - -
diff --git a/apps/web/src/app/tools/access-intelligence/no-priority-apps.component.ts b/apps/web/src/app/tools/access-intelligence/no-priority-apps.component.ts deleted file mode 100644 index d0f53d09422..00000000000 --- a/apps/web/src/app/tools/access-intelligence/no-priority-apps.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { CommonModule } from "@angular/common"; -import { Component } from "@angular/core"; - -import { JslibModule } from "@bitwarden/angular/jslib.module"; -import { ButtonModule, NoItemsModule, Icons } from "@bitwarden/components"; - -@Component({ - standalone: true, - selector: "tools-no-priority-apps", - templateUrl: "no-priority-apps.component.html", - imports: [ButtonModule, CommonModule, JslibModule, NoItemsModule], -}) -export class NoPriorityAppsComponent { - noItemsIcon = Icons.Security; -} diff --git a/apps/web/src/app/tools/access-intelligence/password-health-members.component.html b/apps/web/src/app/tools/access-intelligence/password-health-members.component.html index ca2936b282c..611443c993a 100644 --- a/apps/web/src/app/tools/access-intelligence/password-health-members.component.html +++ b/apps/web/src/app/tools/access-intelligence/password-health-members.component.html @@ -7,9 +7,6 @@ > {{ "loading" | i18n }}
-
- -
Date: Fri, 1 Nov 2024 14:05:53 -0500 Subject: [PATCH 22/31] fix:Add accountHolderName to the field names and values constants associated with the cardholder field. This update should help mitigate issues where the Amazon credit card pop-up is not auto-filling the cardholder name field. (#11780) --- apps/browser/src/autofill/services/autofill-constants.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/browser/src/autofill/services/autofill-constants.ts b/apps/browser/src/autofill/services/autofill-constants.ts index f1758b6491c..55c3cced726 100644 --- a/apps/browser/src/autofill/services/autofill-constants.ts +++ b/apps/browser/src/autofill/services/autofill-constants.ts @@ -104,6 +104,7 @@ export class CreditCardAutoFillConstants { ]; static readonly CardHolderFieldNames: string[] = [ + "accountholdername", "cc-name", "card-name", "cardholder-name", @@ -113,6 +114,7 @@ export class CreditCardAutoFillConstants { ]; static readonly CardHolderFieldNameValues: string[] = [ + "accountholdername", "cc-name", "card-name", "cardholder-name", From f416c3ed49da42243337803da16cc57a0e9346a2 Mon Sep 17 00:00:00 2001 From: Nick Krantz <125900171+nick-livefront@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:15:36 -0500 Subject: [PATCH 23/31] [PM-13449] Owner assignment/visibility in AC (#11588) * Revert "remove logic for personal ownership, not needed in AC" This reverts commit f04fef59f40ee986be2b6ea794d29ec0875b74c7. * allow for ownership to be controlled from the admin console when cloning a cipher --- ...console-cipher-form-config.service.spec.ts | 74 ++++++++++++++++++- ...dmin-console-cipher-form-config.service.ts | 46 ++++++++++-- .../cipher-form-config.service.ts | 3 + .../item-details-section.component.ts | 10 ++- 4 files changed, 119 insertions(+), 14 deletions(-) diff --git a/apps/web/src/app/vault/org-vault/services/admin-console-cipher-form-config.service.spec.ts b/apps/web/src/app/vault/org-vault/services/admin-console-cipher-form-config.service.spec.ts index f0624e6b2f2..02d280f5ff9 100644 --- a/apps/web/src/app/vault/org-vault/services/admin-console-cipher-form-config.service.spec.ts +++ b/apps/web/src/app/vault/org-vault/services/admin-console-cipher-form-config.service.spec.ts @@ -4,6 +4,8 @@ import { BehaviorSubject } from "rxjs"; import { CollectionAdminService } from "@bitwarden/admin-console/common"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; +import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; +import { OrganizationUserStatusType } from "@bitwarden/common/admin-console/enums"; import { Organization } from "@bitwarden/common/admin-console/models/domain/organization"; import { CipherId } from "@bitwarden/common/types/guid"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @@ -16,8 +18,25 @@ describe("AdminConsoleCipherFormConfigService", () => { let adminConsoleConfigService: AdminConsoleCipherFormConfigService; const cipherId = "333-444-555" as CipherId; - const testOrg = { id: "333-44-55", name: "Test Org", canEditAllCiphers: false }; + const testOrg = { + id: "333-44-55", + name: "Test Org", + canEditAllCiphers: false, + isMember: true, + enabled: true, + status: OrganizationUserStatusType.Confirmed, + }; + const testOrg2 = { + id: "333-999-888", + name: "Test Org 2", + canEditAllCiphers: false, + isMember: true, + enabled: true, + status: OrganizationUserStatusType.Confirmed, + }; + const policyAppliesToActiveUser$ = new BehaviorSubject(true); const organization$ = new BehaviorSubject(testOrg as Organization); + const organizations$ = new BehaviorSubject([testOrg, testOrg2] as Organization[]); const getCipherAdmin = jest.fn().mockResolvedValue(null); const getCipher = jest.fn().mockResolvedValue(null); @@ -30,7 +49,11 @@ describe("AdminConsoleCipherFormConfigService", () => { await TestBed.configureTestingModule({ providers: [ AdminConsoleCipherFormConfigService, - { provide: OrganizationService, useValue: { get$: () => organization$ } }, + { + provide: PolicyService, + useValue: { policyAppliesToActiveUser$: () => policyAppliesToActiveUser$ }, + }, + { provide: OrganizationService, useValue: { get$: () => organization$, organizations$ } }, { provide: CipherService, useValue: { get: getCipher } }, { provide: CollectionAdminService, useValue: { getAll: () => Promise.resolve([]) } }, { @@ -79,12 +102,55 @@ describe("AdminConsoleCipherFormConfigService", () => { expect(result.admin).toBe(true); }); - it("sets `allowPersonalOwnership` to false", async () => { + it("sets `allowPersonalOwnership`", async () => { adminConsoleConfigService = TestBed.inject(AdminConsoleCipherFormConfigService); - const result = await adminConsoleConfigService.buildConfig("clone", cipherId); + policyAppliesToActiveUser$.next(true); + + let result = await adminConsoleConfigService.buildConfig("clone", cipherId); expect(result.allowPersonalOwnership).toBe(false); + + policyAppliesToActiveUser$.next(false); + + result = await adminConsoleConfigService.buildConfig("clone", cipherId); + + expect(result.allowPersonalOwnership).toBe(true); + }); + + it("disables personal ownership when not cloning", async () => { + adminConsoleConfigService = TestBed.inject(AdminConsoleCipherFormConfigService); + + policyAppliesToActiveUser$.next(false); + + let result = await adminConsoleConfigService.buildConfig("add", cipherId); + + expect(result.allowPersonalOwnership).toBe(false); + + result = await adminConsoleConfigService.buildConfig("edit", cipherId); + + expect(result.allowPersonalOwnership).toBe(false); + + result = await adminConsoleConfigService.buildConfig("clone", cipherId); + + expect(result.allowPersonalOwnership).toBe(true); + }); + + it("returns all ciphers when cloning a cipher", async () => { + // Add cipher + let result = await adminConsoleConfigService.buildConfig("add", cipherId); + + expect(result.organizations).toEqual([testOrg]); + + // Edit cipher + result = await adminConsoleConfigService.buildConfig("edit", cipherId); + + expect(result.organizations).toEqual([testOrg]); + + // Clone cipher + result = await adminConsoleConfigService.buildConfig("clone", cipherId); + + expect(result.organizations).toEqual([testOrg, testOrg2]); }); describe("getCipher", () => { diff --git a/apps/web/src/app/vault/org-vault/services/admin-console-cipher-form-config.service.ts b/apps/web/src/app/vault/org-vault/services/admin-console-cipher-form-config.service.ts index fa5cbedfca8..328ab4475dc 100644 --- a/apps/web/src/app/vault/org-vault/services/admin-console-cipher-form-config.service.ts +++ b/apps/web/src/app/vault/org-vault/services/admin-console-cipher-form-config.service.ts @@ -4,6 +4,8 @@ import { combineLatest, filter, firstValueFrom, map, switchMap } from "rxjs"; import { CollectionAdminService } from "@bitwarden/admin-console/common"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; +import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; +import { PolicyType, OrganizationUserStatusType } from "@bitwarden/common/admin-console/enums"; import { Organization } from "@bitwarden/common/admin-console/models/domain/organization"; import { CipherId } from "@bitwarden/common/types/guid"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @@ -21,23 +23,40 @@ import { RoutedVaultFilterService } from "../../individual-vault/vault-filter/se /** Admin Console implementation of the `CipherFormConfigService`. */ @Injectable() export class AdminConsoleCipherFormConfigService implements CipherFormConfigService { + private policyService: PolicyService = inject(PolicyService); private organizationService: OrganizationService = inject(OrganizationService); private cipherService: CipherService = inject(CipherService); private routedVaultFilterService: RoutedVaultFilterService = inject(RoutedVaultFilterService); private collectionAdminService: CollectionAdminService = inject(CollectionAdminService); private apiService: ApiService = inject(ApiService); + private allowPersonalOwnership$ = this.policyService + .policyAppliesToActiveUser$(PolicyType.PersonalOwnership) + .pipe(map((p) => !p)); + private organizationId$ = this.routedVaultFilterService.filter$.pipe( map((filter) => filter.organizationId), filter((filter) => filter !== undefined), ); - private organization$ = this.organizationId$.pipe( - switchMap((organizationId) => this.organizationService.get$(organizationId)), + private allOrganizations$ = this.organizationService.organizations$.pipe( + map((orgs) => { + return orgs.filter( + (o) => o.isMember && o.enabled && o.status === OrganizationUserStatusType.Confirmed, + ); + }), + ); + + private organization$ = combineLatest([this.allOrganizations$, this.organizationId$]).pipe( + map(([orgs, orgId]) => orgs.find((o) => o.id === orgId)), ); private editableCollections$ = this.organization$.pipe( switchMap(async (org) => { + if (!org) { + return []; + } + const collections = await this.collectionAdminService.getAll(org.id); // Users that can edit all ciphers can implicitly add to / edit within any collection if (org.canEditAllCiphers) { @@ -53,26 +72,39 @@ export class AdminConsoleCipherFormConfigService implements CipherFormConfigServ cipherId?: CipherId, cipherType?: CipherType, ): Promise { - const [organization, allCollections] = await firstValueFrom( - combineLatest([this.organization$, this.editableCollections$]), - ); + const [organization, allowPersonalOwnership, allOrganizations, allCollections] = + await firstValueFrom( + combineLatest([ + this.organization$, + this.allowPersonalOwnership$, + this.allOrganizations$, + this.editableCollections$, + ]), + ); const cipher = await this.getCipher(organization, cipherId); const collections = allCollections.filter( (c) => c.organizationId === organization.id && c.assigned && !c.readOnly, ); + // When cloning from within the Admin Console, all organizations should be available. + // Otherwise only the one in context should be + const organizations = mode === "clone" ? allOrganizations : [organization]; + // Only allow the user to assign to their personal vault when cloning and + // the policies are enabled for it. + const allowPersonalOwnershipOnlyForClone = mode === "clone" ? allowPersonalOwnership : false; return { mode, cipherType: cipher?.type ?? cipherType ?? CipherType.Login, admin: organization.canEditAllCiphers ?? false, - allowPersonalOwnership: false, + allowPersonalOwnership: allowPersonalOwnershipOnlyForClone, originalCipher: cipher, collections, - organizations: [organization], // only a single org is in context at a time + organizations, folders: [], // folders not applicable in the admin console hideIndividualVaultFields: true, + isAdminConsole: true, }; } diff --git a/libs/vault/src/cipher-form/abstractions/cipher-form-config.service.ts b/libs/vault/src/cipher-form/abstractions/cipher-form-config.service.ts index f00aacf9631..3fc473c4465 100644 --- a/libs/vault/src/cipher-form/abstractions/cipher-form-config.service.ts +++ b/libs/vault/src/cipher-form/abstractions/cipher-form-config.service.ts @@ -82,6 +82,9 @@ type BaseCipherFormConfig = { /** Hides the fields that are only applicable to individuals, useful in the Admin Console where folders aren't applicable */ hideIndividualVaultFields?: true; + + /** True when the config is built within the context of the Admin Console */ + isAdminConsole?: true; }; /** diff --git a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts index fb193dd3ddd..86a8818bbe3 100644 --- a/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts +++ b/libs/vault/src/cipher-form/components/item-details/item-details-section.component.ts @@ -163,9 +163,13 @@ export class ItemDetailsSectionComponent implements OnInit { } get showOwnership() { - return ( - this.allowOwnershipChange || (this.organizations.length > 0 && this.config.mode === "edit") - ); + // Show ownership field when editing with available orgs + const isEditingWithOrgs = this.organizations.length > 0 && this.config.mode === "edit"; + + // When in admin console, ownership should not be shown unless cloning + const isAdminConsoleEdit = this.config.isAdminConsole && this.config.mode !== "clone"; + + return this.allowOwnershipChange || (isEditingWithOrgs && !isAdminConsoleEdit); } get defaultOwner() { From 94cefa1f93124c13592fb4ce3ee35fc94e3157b0 Mon Sep 17 00:00:00 2001 From: Brandon Treston Date: Fri, 1 Nov 2024 17:02:18 -0400 Subject: [PATCH 24/31] [pm-11407] fix UI story for danger zone component (#11828) * Fix story for danger zone component * fix linting * Fix UI Story for Danger Zone component --- .../app/auth/settings/account/danger-zone.stories.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/web/src/app/auth/settings/account/danger-zone.stories.ts b/apps/web/src/app/auth/settings/account/danger-zone.stories.ts index 066fafaba79..bbef5e6627d 100644 --- a/apps/web/src/app/auth/settings/account/danger-zone.stories.ts +++ b/apps/web/src/app/auth/settings/account/danger-zone.stories.ts @@ -3,12 +3,15 @@ import { importProvidersFrom } from "@angular/core"; import { Meta, StoryObj, applicationConfig, moduleMetadata } from "@storybook/angular"; import { JslibModule } from "@bitwarden/angular/jslib.module"; +import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; import { ButtonModule } from "@bitwarden/components"; import { PreloadedEnglishI18nModule } from "../../../core/tests"; import { DangerZoneComponent } from "./danger-zone.component"; +class MockConfigService implements Partial {} + export default { title: "Web/Danger Zone", component: DangerZoneComponent, @@ -17,7 +20,14 @@ export default { imports: [ButtonModule, JslibModule, CommonModule], }), applicationConfig({ - providers: [importProvidersFrom(PreloadedEnglishI18nModule)], + providers: [ + importProvidersFrom(PreloadedEnglishI18nModule), + { + provide: ConfigService, + useClass: MockConfigService, + multi: true, + }, + ], }), ], } as Meta; From c13cc56be392126f646416b7ffffd2af8eec403d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 09:34:37 +0000 Subject: [PATCH 25/31] Autosync the updated translations (#11837) Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com> --- apps/desktop/src/locales/sr/messages.json | 40 ++++++++++---------- apps/desktop/src/locales/zh_CN/messages.json | 32 ++++++++-------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/apps/desktop/src/locales/sr/messages.json b/apps/desktop/src/locales/sr/messages.json index 089ed84e6ab..fb1ad8e90f6 100644 --- a/apps/desktop/src/locales/sr/messages.json +++ b/apps/desktop/src/locales/sr/messages.json @@ -61,7 +61,7 @@ } }, "welcomeBack": { - "message": "Welcome back" + "message": "Добродошли назад" }, "moveToOrgDesc": { "message": "Изаберите организацију у коју желите да преместите ову ставку. Пребацивање у организацију преноси власништво над ставком тој организацији. Више нећете бити директни власник ове ставке када буде премештена." @@ -263,7 +263,7 @@ "message": "Генерисање лозинке" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "Генеришите приступну фразу" }, "type": { "message": "Тип" @@ -401,7 +401,7 @@ "message": "Копирај лозинку" }, "copyPassphrase": { - "message": "Copy passphrase", + "message": "Копирај приступну фразу", "description": "Copy passphrase to clipboard" }, "copyUri": { @@ -558,7 +558,7 @@ "message": "Креирај налог" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Нови сте у Bitwarden-у?" }, "setAStrongPassword": { "message": "Поставите јаку лозинку" @@ -570,16 +570,16 @@ "message": "Пријавите се" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "Пријавите се на Bitwarden" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Пријавите се са приступним кључем" }, "loginWithDevice": { - "message": "Log in with device" + "message": "Пријавите се са уређајем" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "Употребити једнократну пријаву" }, "submit": { "message": "Пошаљи" @@ -854,7 +854,7 @@ "message": "УРЛ Сервера" }, "selfHostBaseUrl": { - "message": "Self-host server URL", + "message": "УРЛ сервера који се самостално хостује", "description": "Label for field requesting a self-hosted integration service URL" }, "apiUrl": { @@ -1248,7 +1248,7 @@ "description": "Copy credit card number" }, "copyEmail": { - "message": "Copy email" + "message": "Копирати имејл" }, "copySecurityCode": { "message": "Копирај сигурносни код", @@ -1684,10 +1684,10 @@ "message": "Брисање налога је трајно. Не може се поништити." }, "cannotDeleteAccount": { - "message": "Cannot delete account" + "message": "Није могуће избрисати налог" }, "cannotDeleteAccountDesc": { - "message": "This action cannot be completed because your account is owned by an organization. Contact your organization administrator for additional details." + "message": "Ова радња се не може довршити јер је ваш налог у власништву организације. Обратите се администратору своје организације за додатне детаље." }, "accountDeleted": { "message": "Налог обрисан" @@ -2391,10 +2391,10 @@ "message": "Генериши име" }, "generateEmail": { - "message": "Generate email" + "message": "Генеришите имејл" }, "generatorBoundariesHint": { - "message": "Value must be between $MIN$ and $MAX$", + "message": "Вредност мора бити између $MIN$ и $MAX$", "description": "Explains spin box minimum and maximum values to the user", "placeholders": { "min": { @@ -2451,11 +2451,11 @@ "message": "Генеришите псеудоним е-поште помоћу екстерне услуге прослеђивања." }, "forwarderDomainName": { - "message": "Email domain", + "message": "Домен имејла", "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "Choose a domain that is supported by the selected service", + "message": "Изаберите домен који подржава изабрана услуга", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { @@ -2944,10 +2944,10 @@ "message": "Приступачни кључ" }, "passkeyNotCopied": { - "message": "Приступачни кључ се неће копирати" + "message": "Приступни кључ неће бити копиран" }, "passkeyNotCopiedAlert": { - "message": "Приступачни кључ неће бити копиран на клонирану ставку. Да ли желите да наставите са клонирањем ставке?" + "message": "Приступни кључ неће бити копиран на клонирану ставку. Да ли желите да наставите са клонирањем ставке?" }, "aliasDomain": { "message": "Домен алијаса" @@ -3168,10 +3168,10 @@ "message": "Омогућите хардверско убрзање и поново покрените" }, "removePasskey": { - "message": "Уклонити приступачни кључ" + "message": "Уклонити приступни кључ" }, "passkeyRemoved": { - "message": "Приступачни кључ је уклоњен" + "message": "Приступни кључ је уклоњен" }, "errorAssigningTargetCollection": { "message": "Грешка при додељивању циљне колекције." diff --git a/apps/desktop/src/locales/zh_CN/messages.json b/apps/desktop/src/locales/zh_CN/messages.json index fc0574cc006..1382becc6da 100644 --- a/apps/desktop/src/locales/zh_CN/messages.json +++ b/apps/desktop/src/locales/zh_CN/messages.json @@ -61,7 +61,7 @@ } }, "welcomeBack": { - "message": "Welcome back" + "message": "欢迎回来" }, "moveToOrgDesc": { "message": "选择一个您想将此项目移至的组织。移动到组织会将该项目的所有权转让给该组织。移动后,您将不再是此项目的直接所有者。" @@ -263,7 +263,7 @@ "message": "生成密码" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "生成密码短语" }, "type": { "message": "类型" @@ -401,7 +401,7 @@ "message": "复制密码" }, "copyPassphrase": { - "message": "Copy passphrase", + "message": "复制密码短语", "description": "Copy passphrase to clipboard" }, "copyUri": { @@ -558,7 +558,7 @@ "message": "创建账户" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Bitwarden 新手吗?" }, "setAStrongPassword": { "message": "设置强密码" @@ -570,16 +570,16 @@ "message": "登录" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "登录到 Bitwarden" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "使用通行密钥登录" }, "loginWithDevice": { - "message": "Log in with device" + "message": "使用设备登录" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "使用单点登录" }, "submit": { "message": "提交" @@ -854,7 +854,7 @@ "message": "服务器 URL" }, "selfHostBaseUrl": { - "message": "Self-host server URL", + "message": "自托管服务器 URL", "description": "Label for field requesting a self-hosted integration service URL" }, "apiUrl": { @@ -1248,7 +1248,7 @@ "description": "Copy credit card number" }, "copyEmail": { - "message": "Copy email" + "message": "复制电子邮件地址" }, "copySecurityCode": { "message": "复制安全码", @@ -1684,10 +1684,10 @@ "message": "删除账户是永久性操作,无法撤销!" }, "cannotDeleteAccount": { - "message": "Cannot delete account" + "message": "无法删除账户" }, "cannotDeleteAccountDesc": { - "message": "This action cannot be completed because your account is owned by an organization. Contact your organization administrator for additional details." + "message": "此操作无法完成,因为您的账户归组织所有。请联系您的组织管理员获取详细信息。" }, "accountDeleted": { "message": "账户已删除" @@ -2391,10 +2391,10 @@ "message": "生成用户名" }, "generateEmail": { - "message": "Generate email" + "message": "生成邮件地址" }, "generatorBoundariesHint": { - "message": "Value must be between $MIN$ and $MAX$", + "message": "值必须在 $MIN$ 和 $MAX$ 之间", "description": "Explains spin box minimum and maximum values to the user", "placeholders": { "min": { @@ -2451,11 +2451,11 @@ "message": "使用外部转发服务生成一个电子邮件别名。" }, "forwarderDomainName": { - "message": "Email domain", + "message": "邮件域名", "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "Choose a domain that is supported by the selected service", + "message": "选择一个所选服务支持的域名", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { From 1a88e510080057b479fb0b6bdc5440e21d722820 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 09:34:53 +0000 Subject: [PATCH 26/31] Autosync the updated translations (#11836) Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com> --- apps/browser/src/_locales/fi/messages.json | 2 +- apps/browser/src/_locales/nb/messages.json | 154 +++++++++--------- apps/browser/src/_locales/sr/messages.json | 108 ++++++------ apps/browser/src/_locales/sv/messages.json | 4 +- apps/browser/src/_locales/uk/messages.json | 2 +- apps/browser/src/_locales/zh_CN/messages.json | 118 +++++++------- apps/browser/store/locales/nb/copy.resx | 2 +- 7 files changed, 195 insertions(+), 195 deletions(-) diff --git a/apps/browser/src/_locales/fi/messages.json b/apps/browser/src/_locales/fi/messages.json index 5139207b9d7..96a10c167a2 100644 --- a/apps/browser/src/_locales/fi/messages.json +++ b/apps/browser/src/_locales/fi/messages.json @@ -2878,7 +2878,7 @@ "message": "Luo sähköpostiosoite" }, "generatorBoundariesHint": { - "message": "Arvon tulee olla väliltä $MIN$ - $MAX$", + "message": "Arvon tulee olla väliltä $MIN$—$MAX$", "description": "Explains spin box minimum and maximum values to the user", "placeholders": { "min": { diff --git a/apps/browser/src/_locales/nb/messages.json b/apps/browser/src/_locales/nb/messages.json index 2f32ab39000..9b647c650bf 100644 --- a/apps/browser/src/_locales/nb/messages.json +++ b/apps/browser/src/_locales/nb/messages.json @@ -3,7 +3,7 @@ "message": "Bitwarden" }, "extName": { - "message": "Bitwarden Password Manager", + "message": "Bitwarden passordbehandler", "description": "Extension name, MUST be less than 40 characters (Safari restriction)" }, "extDesc": { @@ -29,7 +29,7 @@ "message": "Use single sign-on" }, "welcomeBack": { - "message": "Welcome back" + "message": "Velkommen tilbake" }, "setAStrongPassword": { "message": "Set a strong password" @@ -168,7 +168,7 @@ "message": "Copy notes" }, "fill": { - "message": "Fill", + "message": "Fyll", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." }, "autoFill": { @@ -357,10 +357,10 @@ "message": "Rediger mappen" }, "newFolder": { - "message": "New folder" + "message": "Ny mappe" }, "folderName": { - "message": "Folder name" + "message": "Mappenavn" }, "folderHintText": { "message": "Nest a folder by adding the parent folder's name followed by a “/”. Example: Social/Forums" @@ -458,7 +458,7 @@ "description": "deprecated. Use specialCharactersLabel instead." }, "include": { - "message": "Include", + "message": "Inkluder", "description": "Card header for password generator include block" }, "uppercaseDescription": { @@ -466,7 +466,7 @@ "description": "Tooltip for the password generator uppercase character checkbox" }, "uppercaseLabel": { - "message": "A-Z", + "message": "A-Å", "description": "Label for the password generator uppercase character checkbox" }, "lowercaseDescription": { @@ -478,7 +478,7 @@ "description": "Label for the password generator lowercase character checkbox" }, "numbersDescription": { - "message": "Include numbers", + "message": "Inkluder tall", "description": "Full description for the password generator numbers checkbox" }, "numbersLabel": { @@ -627,7 +627,7 @@ "message": "Vault timeout" }, "otherOptions": { - "message": "Other options" + "message": "Andre valg" }, "rateExtension": { "message": "Gi denne utvidelsen en vurdering" @@ -676,7 +676,7 @@ "message": "Tidsavbrudd i hvelvet" }, "vaultTimeout1": { - "message": "Timeout" + "message": "Tidsavbrudd" }, "lockNow": { "message": "Lås nå" @@ -730,10 +730,10 @@ "message": "Sikkerhet" }, "confirmMasterPassword": { - "message": "Confirm master password" + "message": "Bekreft hovedpassord" }, "masterPassword": { - "message": "Master password" + "message": "Hovedpassord" }, "masterPassImportant": { "message": "Your master password cannot be recovered if you forget it!" @@ -843,7 +843,7 @@ "message": "Din innloggingsøkt har utløpt." }, "logIn": { - "message": "Log in" + "message": "Logg inn" }, "logInToBitwarden": { "message": "Log in to Bitwarden" @@ -928,7 +928,7 @@ "message": "Ny URI" }, "addDomain": { - "message": "Add domain", + "message": "Legg til domene", "description": "'Domain' here refers to an internet domain name (e.g. 'bitwarden.com') and the message in whole described the act of putting a domain value into the context." }, "addedItem": { @@ -1092,7 +1092,7 @@ "message": "This file export will be password protected and require the file password to decrypt." }, "filePassword": { - "message": "File password" + "message": "Filpassord" }, "exportPasswordDescription": { "message": "This password will be used to export and import this file" @@ -1917,10 +1917,10 @@ "message": "Det er ingen passord å liste opp." }, "clearHistory": { - "message": "Clear history" + "message": "Tøm historikk" }, "nothingToShow": { - "message": "Nothing to show" + "message": "Ingenting å vise" }, "nothingGeneratedRecently": { "message": "You haven't generated anything recently" @@ -1984,10 +1984,10 @@ "message": "Lås opp med PIN-kode" }, "setYourPinTitle": { - "message": "Set PIN" + "message": "Velg PIN" }, "setYourPinButton": { - "message": "Set PIN" + "message": "Velg PIN" }, "setYourPinCode": { "message": "Angi PIN-koden din for å låse opp Bitwarden. PIN-innstillingene tilbakestilles hvis du logger deg helt ut av programmet." @@ -2041,7 +2041,7 @@ "message": "Username generator" }, "useThisPassword": { - "message": "Use this password" + "message": "Bruk dette passordet" }, "useThisUsername": { "message": "Use this username" @@ -2186,7 +2186,7 @@ "message": "Get advice, announcements, and research opportunities from Bitwarden in your inbox." }, "unsubscribe": { - "message": "Unsubscribe" + "message": "Avslutt abonnement" }, "atAnyTime": { "message": "at any time." @@ -2195,7 +2195,7 @@ "message": "By continuing, you agree to the" }, "and": { - "message": "and" + "message": "og" }, "acceptPolicies": { "message": "Ved å merke av denne boksen sier du deg enig i følgende:" @@ -2315,7 +2315,7 @@ "message": "An organization policy has blocked importing items into your individual vault." }, "domainsTitle": { - "message": "Domains", + "message": "Domener", "description": "A category title describing the concept of web domains" }, "excludedDomains": { @@ -2411,7 +2411,7 @@ "message": "Passord beskyttet" }, "copyLink": { - "message": "Copy link" + "message": "Kopier lenke" }, "copySendLink": { "message": "Kopier Send-lenke", @@ -2668,7 +2668,7 @@ "message": "E-postbekreftelse kreves" }, "emailVerifiedV2": { - "message": "Email verified" + "message": "E-post bekreftet" }, "emailVerificationRequiredDesc": { "message": "Du må bekrefte e-posten din for å bruke denne funksjonen. Du kan bekrefte e-postadressen din i netthvelvet." @@ -3247,10 +3247,10 @@ "message": "Uncheck if using a public device" }, "approveFromYourOtherDevice": { - "message": "Approve from your other device" + "message": "Godkjenn fra en av dine andre enheter" }, "requestAdminApproval": { - "message": "Request admin approval" + "message": "Be om administratorgodkjennelse" }, "approveWithMasterPassword": { "message": "Godkjenn med hovedpassord" @@ -3274,7 +3274,7 @@ "message": "No email?" }, "goBack": { - "message": "Go back" + "message": "Gå tilbake" }, "toEditYourEmailAddress": { "message": "to edit your email address." @@ -3290,7 +3290,7 @@ "message": "Generelt" }, "display": { - "message": "Display" + "message": "Vis" }, "accountSuccessfullyCreated": { "message": "Account successfully created!" @@ -3416,7 +3416,7 @@ "message": "— Skriv for å filtrere —" }, "multiSelectLoading": { - "message": "Retrieving options..." + "message": "Innhenter alternativer..." }, "multiSelectNotFound": { "message": "Ingen gjenstander funnet" @@ -3542,7 +3542,7 @@ "description": "Screen reader text (aria-label) for new item button in overlay" }, "newLogin": { - "message": "New login", + "message": "Ny innlogging", "description": "Button text to display within inline menu when there are no matching items on a login field" }, "addNewLoginItemAria": { @@ -3558,7 +3558,7 @@ "description": "Screen reader text (aria-label) for new card button within inline menu" }, "newIdentity": { - "message": "New identity", + "message": "Ny identitet", "description": "Button text to display within inline menu when there are no matching items on an identity field" }, "addNewIdentityItemAria": { @@ -3592,7 +3592,7 @@ "message": "Beskrivelse" }, "importSuccess": { - "message": "Data successfully imported" + "message": "Dataene ble vellykket importert" }, "importSuccessNumberOfItems": { "message": "$AMOUNT$ gjenstander totalt ble importert.", @@ -3682,7 +3682,7 @@ "message": "Invalid file password, please use the password you entered when you created the export file." }, "destination": { - "message": "Destination" + "message": "Destinasjon" }, "learnAboutImportOptions": { "message": "Lær mer om importalternativene dine" @@ -3719,7 +3719,7 @@ "message": "Ingen fil er valgt" }, "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" + "message": "eller kopier/lim inn importfilens innhold" }, "instructionsFor": { "message": "$NAME$-instruksjoner", @@ -3810,7 +3810,7 @@ "message": "Multifaktorautentisering ble avbrutt" }, "noLastPassDataFound": { - "message": "No LastPass data found" + "message": "Ingen LastPass-data ble funnet" }, "incorrectUsernameOrPassword": { "message": "Feil brukernavn eller passord" @@ -3837,7 +3837,7 @@ "message": "Importerer kontoen din…" }, "lastPassMFARequired": { - "message": "LastPass multifactor authentication required" + "message": "LastPass-multifaktorautentisering kreves" }, "lastPassMFADesc": { "message": "Enter your one-time passcode from your authentication app" @@ -4003,7 +4003,7 @@ "description": "Notification message for when saving credentials has failed." }, "success": { - "message": "Success" + "message": "Suksess" }, "removePasskey": { "message": "Remove passkey" @@ -4105,13 +4105,13 @@ "message": "Admin Console" }, "accountSecurity": { - "message": "Account security" + "message": "Kontosikkerhet" }, "notifications": { - "message": "Notifications" + "message": "Varsler" }, "appearance": { - "message": "Appearance" + "message": "Utseende" }, "errorAssigningTargetCollection": { "message": "Error assigning target collection." @@ -4140,7 +4140,7 @@ } }, "new": { - "message": "New" + "message": "Ny" }, "removeItem": { "message": "Remove $NAME$", @@ -4174,17 +4174,17 @@ "message": "Organization is deactivated" }, "owner": { - "message": "Owner" + "message": "Eier" }, "selfOwnershipLabel": { - "message": "You", + "message": "Du", "description": "Used as a label to indicate that the user is the owner of an item." }, "contactYourOrgAdmin": { "message": "Items in deactivated organizations cannot be accessed. Contact your organization owner for assistance." }, "additionalInformation": { - "message": "Additional information" + "message": "Tilleggsinformasjon" }, "itemHistory": { "message": "Item history" @@ -4196,13 +4196,13 @@ "message": "Owner: You" }, "linked": { - "message": "Linked" + "message": "Tilknyttet" }, "copySuccessful": { "message": "Copy Successful" }, "upload": { - "message": "Upload" + "message": "Last opp" }, "addAttachment": { "message": "Add attachment" @@ -4238,7 +4238,7 @@ "message": "Free organizations cannot use attachments" }, "filters": { - "message": "Filters" + "message": "Filtre" }, "personalDetails": { "message": "Personal details" @@ -4247,7 +4247,7 @@ "message": "Identification" }, "contactInfo": { - "message": "Contact info" + "message": "Kontaktinfo" }, "downloadAttachment": { "message": "Download - $ITEMNAME$", @@ -4263,7 +4263,7 @@ "description": "Used within the inline menu to provide an aria description when users are attempting to fill a card cipher." }, "loginCredentials": { - "message": "Login credentials" + "message": "Legitimasjoner for innlogging" }, "authenticatorKey": { "message": "Authenticator key" @@ -4288,10 +4288,10 @@ "message": "Website added" }, "addWebsite": { - "message": "Add website" + "message": "Legg til nettsted" }, "deleteWebsite": { - "message": "Delete website" + "message": "Slett nettsted" }, "defaultLabel": { "message": "Default ($VALUE$)", @@ -4343,16 +4343,16 @@ } }, "enableAnimations": { - "message": "Enable animations" + "message": "Aktiver animasjoner" }, "showAnimations": { "message": "Show animations" }, "addAccount": { - "message": "Add account" + "message": "Legg til konto" }, "loading": { - "message": "Loading" + "message": "Laster" }, "data": { "message": "Data" @@ -4370,7 +4370,7 @@ "description": "ARIA label for the inline menu button that logs in with a passkey." }, "assign": { - "message": "Assign" + "message": "Knytt" }, "bulkCollectionAssignmentDialogDescriptionSingular": { "message": "Only organization members with access to these collections will be able to see the item." @@ -4394,7 +4394,7 @@ "message": "Add field" }, "add": { - "message": "Add" + "message": "Legg til" }, "fieldType": { "message": "Field type" @@ -4418,7 +4418,7 @@ "message": "Enter the the field's html id, name, aria-label, or placeholder." }, "editField": { - "message": "Edit field" + "message": "Rediger felt" }, "editFieldLabel": { "message": "Edit $LABEL$", @@ -4588,13 +4588,13 @@ "message": "Show number of login autofill suggestions on extension icon" }, "systemDefault": { - "message": "System default" + "message": "Systemforvalg" }, "enterprisePolicyRequirementsApplied": { "message": "Enterprise policy requirements have been applied to this setting" }, "retry": { - "message": "Retry" + "message": "Prøv igjen" }, "vaultCustomTimeoutMinimum": { "message": "Minimum custom timeout is 1 minute." @@ -4624,16 +4624,16 @@ "message": "Items that have been in trash more than 30 days will automatically be deleted" }, "restore": { - "message": "Restore" + "message": "Gjenopprett" }, "deleteForever": { - "message": "Delete forever" + "message": "Slett for alltid" }, "noEditPermissions": { "message": "You don't have permission to edit this item" }, "authenticating": { - "message": "Authenticating" + "message": "Autentiserer" }, "fillGeneratedPassword": { "message": "Fill generated password", @@ -4648,7 +4648,7 @@ "description": "Confirmation message for saving a login to Bitwarden" }, "spaceCharacterDescriptor": { - "message": "Space", + "message": "Mellomrom", "description": "Represents the space key in screen reader content as a readable word" }, "tildeCharacterDescriptor": { @@ -4656,15 +4656,15 @@ "description": "Represents the ~ key in screen reader content as a readable word" }, "backtickCharacterDescriptor": { - "message": "Backtick", + "message": "Baklengs apostrof", "description": "Represents the ` key in screen reader content as a readable word" }, "exclamationCharacterDescriptor": { - "message": "Exclamation mark", + "message": "Utropstegn", "description": "Represents the ! key in screen reader content as a readable word" }, "atSignCharacterDescriptor": { - "message": "At sign", + "message": "Alfakrøll", "description": "Represents the @ key in screen reader content as a readable word" }, "hashSignCharacterDescriptor": { @@ -4672,7 +4672,7 @@ "description": "Represents the # key in screen reader content as a readable word" }, "dollarSignCharacterDescriptor": { - "message": "Dollar sign", + "message": "Dollartegn", "description": "Represents the $ key in screen reader content as a readable word" }, "percentSignCharacterDescriptor": { @@ -4684,7 +4684,7 @@ "description": "Represents the ^ key in screen reader content as a readable word" }, "ampersandCharacterDescriptor": { - "message": "Ampersand", + "message": "Prosenttegn", "description": "Represents the & key in screen reader content as a readable word" }, "asteriskCharacterDescriptor": { @@ -4700,7 +4700,7 @@ "description": "Represents the ) key in screen reader content as a readable word" }, "hyphenCharacterDescriptor": { - "message": "Underscore", + "message": "Understrek", "description": "Represents the _ key in screen reader content as a readable word" }, "underscoreCharacterDescriptor": { @@ -4740,11 +4740,11 @@ "description": "Represents the back slash key in screen reader content as a readable word" }, "colonCharacterDescriptor": { - "message": "Colon", + "message": "Kolon", "description": "Represents the : key in screen reader content as a readable word" }, "semicolonCharacterDescriptor": { - "message": "Semicolon", + "message": "Semikolon", "description": "Represents the ; key in screen reader content as a readable word" }, "doubleQuoteCharacterDescriptor": { @@ -4756,7 +4756,7 @@ "description": "Represents the ' key in screen reader content as a readable word" }, "lessThanCharacterDescriptor": { - "message": "Less than", + "message": "Mindre enn", "description": "Represents the < key in screen reader content as a readable word" }, "greaterThanCharacterDescriptor": { @@ -4764,7 +4764,7 @@ "description": "Represents the > key in screen reader content as a readable word" }, "commaCharacterDescriptor": { - "message": "Comma", + "message": "Komma", "description": "Represents the , key in screen reader content as a readable word" }, "periodCharacterDescriptor": { @@ -4772,7 +4772,7 @@ "description": "Represents the . key in screen reader content as a readable word" }, "questionCharacterDescriptor": { - "message": "Question mark", + "message": "Spørsmålstegn", "description": "Represents the ? key in screen reader content as a readable word" }, "forwardSlashCharacterDescriptor": { @@ -4780,10 +4780,10 @@ "description": "Represents the / key in screen reader content as a readable word" }, "lowercaseAriaLabel": { - "message": "Lowercase" + "message": "Små bokstaver" }, "uppercaseAriaLabel": { - "message": "Uppercase" + "message": "Store bokstaver" }, "generatedPassword": { "message": "Generated password" diff --git a/apps/browser/src/_locales/sr/messages.json b/apps/browser/src/_locales/sr/messages.json index 377a70d3577..b1dcec00b1a 100644 --- a/apps/browser/src/_locales/sr/messages.json +++ b/apps/browser/src/_locales/sr/messages.json @@ -20,16 +20,16 @@ "message": "Креирај налог" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Нови сте у Bitwarden-у?" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Пријавите се са приступним кључем" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "Употребити једнократну пријаву" }, "welcomeBack": { - "message": "Welcome back" + "message": "Добродошли назад" }, "setAStrongPassword": { "message": "Поставите јаку лозинку" @@ -120,7 +120,7 @@ "message": "Копирај лозинку" }, "copyPassphrase": { - "message": "Copy passphrase" + "message": "Копирај приступну фразу" }, "copyNote": { "message": "Копирај белешку" @@ -168,7 +168,7 @@ "message": "Копирати белешке" }, "fill": { - "message": "Fill", + "message": "Попуни", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." }, "autoFill": { @@ -427,7 +427,7 @@ "message": "Генерисање лозинке" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "Генеришите приступну фразу" }, "regeneratePassword": { "message": "Поново генериши лозинку" @@ -591,7 +591,7 @@ "message": "Покрените веб локацију" }, "launchWebsiteName": { - "message": "Launch website $ITEMNAME$", + "message": "Покренути сајт $ITEMNAME$", "placeholders": { "itemname": { "content": "$1", @@ -846,7 +846,7 @@ "message": "Пријави се" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "Пријавите се на Bitwarden" }, "restartRegistration": { "message": "Поново покрените регистрацију" @@ -1424,7 +1424,7 @@ "message": "УРЛ Сервера" }, "selfHostBaseUrl": { - "message": "Self-host server URL", + "message": "УРЛ сервера који се самостално хостује", "description": "Label for field requesting a self-hosted integration service URL" }, "apiUrl": { @@ -1795,13 +1795,13 @@ "message": "Историја Лозинке" }, "generatorHistory": { - "message": "Generator history" + "message": "Генератор историје" }, "clearGeneratorHistoryTitle": { - "message": "Clear generator history" + "message": "Испразнити генератор историје" }, "cleargGeneratorHistoryDescription": { - "message": "If you continue, all entries will be permanently deleted from generator's history. Are you sure you want to continue?" + "message": "Ако наставите, сви уноси ће бити трајно избрисани из генератора историје. Да ли сте сигурни да желите да наставите?" }, "back": { "message": "Назад" @@ -1920,10 +1920,10 @@ "message": "Обриши историју" }, "nothingToShow": { - "message": "Nothing to show" + "message": "Нема шта да се прикаже" }, "nothingGeneratedRecently": { - "message": "You haven't generated anything recently" + "message": "Недавно нисте ништа генерисали" }, "remove": { "message": "Уклони" @@ -2183,7 +2183,7 @@ "message": "Ваша нова главна лозинка не испуњава захтеве смерница." }, "receiveMarketingEmailsV2": { - "message": "Get advice, announcements, and research opportunities from Bitwarden in your inbox." + "message": "Добијајте савете, најаве и могућности истраживања од Bitwarden-а у пријемном сандучету." }, "unsubscribe": { "message": "Одјави се" @@ -2512,7 +2512,7 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendPasswordDescV3": { - "message": "Add an optional password for recipients to access this Send.", + "message": "Додајте опционалну лозинку за примаоце да приступе овом Send.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { @@ -2875,10 +2875,10 @@ "message": "Генериши име" }, "generateEmail": { - "message": "Generate email" + "message": "Генеришите имејл" }, "generatorBoundariesHint": { - "message": "Value must be between $MIN$ and $MAX$", + "message": "Вредност мора бити између $MIN$ и $MAX$", "description": "Explains spin box minimum and maximum values to the user", "placeholders": { "min": { @@ -2932,11 +2932,11 @@ "message": "Генеришите псеудоним е-поште помоћу екстерне услуге прослеђивања." }, "forwarderDomainName": { - "message": "Email domain", + "message": "Домен имејла", "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "Choose a domain that is supported by the selected service", + "message": "Изаберите домен који подржава изабрана услуга", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { @@ -3664,7 +3664,7 @@ "message": "Искачући додатак да бисте довршили пријаву." }, "popoutExtension": { - "message": "Popout extension" + "message": "Искачући додатак" }, "launchDuo": { "message": "Покренути DUO" @@ -3744,25 +3744,25 @@ "message": "Подаци из сефа су извезени" }, "typePasskey": { - "message": "Приступачни кључ" + "message": "Приступни кључ" }, "accessing": { "message": "Приступ" }, "passkeyNotCopied": { - "message": "Приступачни кључ неће бити копиран" + "message": "Приступни кључ неће бити копиран" }, "passkeyNotCopiedAlert": { - "message": "Приступачни кључ неће бити копиран на клонирану ставку. Да ли желите да наставите са клонирањем ставке?" + "message": "Приступни кључ неће бити копиран на клонирану ставку. Да ли желите да наставите са клонирањем ставке?" }, "passkeyFeatureIsNotImplementedForAccountsWithoutMasterPassword": { "message": "Верификацију захтева сајт који покреће. Ова функција још увек није имплементирана за налоге без главне лозинке." }, "logInWithPasskeyQuestion": { - "message": "Пријавите се са приступачним кључем?" + "message": "Пријавите се са приступним кључем?" }, "passkeyAlreadyExists": { - "message": "За ову апликацију већ постоји приступачни кључ." + "message": "За ову апликацију већ постоји приступни кључ." }, "noPasskeysFoundForThisApplication": { "message": "Нису пронађени приступни кључеви за ову апликацију." @@ -3792,7 +3792,7 @@ "message": "Изаберите приступни кључ за пријаву" }, "passkeyItem": { - "message": "Ставка приступачног кључа" + "message": "Ставка приступног кључа" }, "overwritePasskey": { "message": "Заменити приступни кључ?" @@ -3910,7 +3910,7 @@ "message": "сервер" }, "hostedAt": { - "message": "hosted at" + "message": "хостиран на" }, "useDeviceOrHardwareKey": { "message": "Користите свој уређај или хардверски кључ" @@ -4006,10 +4006,10 @@ "message": "Успех" }, "removePasskey": { - "message": "Уклонити приступачни кључ" + "message": "Уклонити приступни кључ" }, "passkeyRemoved": { - "message": "Приступачни кључ је уклоњен" + "message": "Приступни кључ је уклоњен" }, "autofillSuggestions": { "message": "Предлози за ауто-попуњавање" @@ -4358,7 +4358,7 @@ "message": "Подаци" }, "passkeys": { - "message": "Приступачни кључеви", + "message": "Приступни кључеви", "description": "A section header for a list of passkeys." }, "passwords": { @@ -4366,7 +4366,7 @@ "description": "A section header for a list of passwords." }, "logInWithPasskeyAriaLabel": { - "message": "Пријавите се са приступачним кључем", + "message": "Пријавите се са приступним кључем", "description": "ARIA label for the inline menu button that logs in with a passkey." }, "assign": { @@ -4564,13 +4564,13 @@ "message": "Смештај ставке" }, "fileSend": { - "message": "File Send" + "message": "Датотека „Send“" }, "fileSends": { "message": "Датотека „Send“" }, "textSend": { - "message": "Text Send" + "message": "Текст „Send“" }, "textSends": { "message": "Текст „Send“" @@ -4603,7 +4603,7 @@ "message": "Додатни садржај је доступан" }, "fileSavedToDevice": { - "message": "File saved to device. Manage from your device downloads." + "message": "Датотека је сачувана на уређају. Управљајте преузимањима са свог уређаја." }, "showCharacterCount": { "message": "Прикажи бројање слова" @@ -4636,23 +4636,23 @@ "message": "Аутентификација" }, "fillGeneratedPassword": { - "message": "Fill generated password", + "message": "Попуните генерисану лозинку", "description": "Heading for the password generator within the inline menu" }, "passwordRegenerated": { - "message": "Password regenerated", + "message": "Лозинка поново генерисана", "description": "Notification message for when a password has been regenerated" }, "saveLoginToBitwarden": { - "message": "Save login to Bitwarden?", + "message": "Сачувати пријаву на Bitwarden?", "description": "Confirmation message for saving a login to Bitwarden" }, "spaceCharacterDescriptor": { - "message": "Space", + "message": "Простор", "description": "Represents the space key in screen reader content as a readable word" }, "tildeCharacterDescriptor": { - "message": "Tilde", + "message": "Тилда", "description": "Represents the ~ key in screen reader content as a readable word" }, "backtickCharacterDescriptor": { @@ -4660,55 +4660,55 @@ "description": "Represents the ` key in screen reader content as a readable word" }, "exclamationCharacterDescriptor": { - "message": "Exclamation mark", + "message": "Узвичник", "description": "Represents the ! key in screen reader content as a readable word" }, "atSignCharacterDescriptor": { - "message": "At sign", + "message": "Знак „ет“", "description": "Represents the @ key in screen reader content as a readable word" }, "hashSignCharacterDescriptor": { - "message": "Hash sign", + "message": "Знак „хеш“", "description": "Represents the # key in screen reader content as a readable word" }, "dollarSignCharacterDescriptor": { - "message": "Dollar sign", + "message": "Знак долар", "description": "Represents the $ key in screen reader content as a readable word" }, "percentSignCharacterDescriptor": { - "message": "Percent sign", + "message": "Знак постотак", "description": "Represents the % key in screen reader content as a readable word" }, "caretCharacterDescriptor": { - "message": "Caret", + "message": "Знак за уметање", "description": "Represents the ^ key in screen reader content as a readable word" }, "ampersandCharacterDescriptor": { - "message": "Ampersand", + "message": "Знак Ampersand", "description": "Represents the & key in screen reader content as a readable word" }, "asteriskCharacterDescriptor": { - "message": "Asterisk", + "message": "Знак звездица", "description": "Represents the * key in screen reader content as a readable word" }, "parenLeftCharacterDescriptor": { - "message": "Left parenthesis", + "message": "Отворена заграда", "description": "Represents the ( key in screen reader content as a readable word" }, "parenRightCharacterDescriptor": { - "message": "Right parenthesis", + "message": "Затворена заграда", "description": "Represents the ) key in screen reader content as a readable word" }, "hyphenCharacterDescriptor": { - "message": "Underscore", + "message": "Доња црта", "description": "Represents the _ key in screen reader content as a readable word" }, "underscoreCharacterDescriptor": { - "message": "Hyphen", + "message": "Цртица", "description": "Represents the - key in screen reader content as a readable word" }, "plusCharacterDescriptor": { - "message": "Plus", + "message": "Плус", "description": "Represents the + key in screen reader content as a readable word" }, "equalsCharacterDescriptor": { diff --git a/apps/browser/src/_locales/sv/messages.json b/apps/browser/src/_locales/sv/messages.json index 3b269caa76e..c05410956f2 100644 --- a/apps/browser/src/_locales/sv/messages.json +++ b/apps/browser/src/_locales/sv/messages.json @@ -1511,7 +1511,7 @@ "message": "Komprometterade eller ej betrodda webbplatser kan utnyttja automatisk ifyllnad vid sidladdning." }, "learnMoreAboutAutofillOnPageLoadLinkText": { - "message": "Learn more about risks" + "message": "Läs mer om risker" }, "learnMoreAboutAutofill": { "message": "Läs mer om automatisk ifyllnad" @@ -2411,7 +2411,7 @@ "message": "Lösenordsskyddad" }, "copyLink": { - "message": "Copy link" + "message": "Kopiera länk" }, "copySendLink": { "message": "Kopiera Send-länk", diff --git a/apps/browser/src/_locales/uk/messages.json b/apps/browser/src/_locales/uk/messages.json index 82cb02bf5d8..01cdc4cab9e 100644 --- a/apps/browser/src/_locales/uk/messages.json +++ b/apps/browser/src/_locales/uk/messages.json @@ -2878,7 +2878,7 @@ "message": "Генерувати е-пошту" }, "generatorBoundariesHint": { - "message": "Value must be between $MIN$ and $MAX$", + "message": "Значення має бути між $MIN$ та $MAX$", "description": "Explains spin box minimum and maximum values to the user", "placeholders": { "min": { diff --git a/apps/browser/src/_locales/zh_CN/messages.json b/apps/browser/src/_locales/zh_CN/messages.json index d5f00ecd2fa..e19cf428f42 100644 --- a/apps/browser/src/_locales/zh_CN/messages.json +++ b/apps/browser/src/_locales/zh_CN/messages.json @@ -20,16 +20,16 @@ "message": "创建账户" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Bitwarden 新手吗?" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "使用通行密钥登录" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "使用单点登录" }, "welcomeBack": { - "message": "Welcome back" + "message": "欢迎回来" }, "setAStrongPassword": { "message": "设置强密码" @@ -120,7 +120,7 @@ "message": "复制密码" }, "copyPassphrase": { - "message": "Copy passphrase" + "message": "复制密码短语" }, "copyNote": { "message": "复制备注" @@ -168,7 +168,7 @@ "message": "复制备注" }, "fill": { - "message": "Fill", + "message": "填充", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." }, "autoFill": { @@ -427,7 +427,7 @@ "message": "生成密码" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "生成密码短语" }, "regeneratePassword": { "message": "重新生成密码" @@ -591,7 +591,7 @@ "message": "启动网站" }, "launchWebsiteName": { - "message": "Launch website $ITEMNAME$", + "message": "前往 $ITEMNAME$ 的网站", "placeholders": { "itemname": { "content": "$1", @@ -846,7 +846,7 @@ "message": "登录" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "登录到 Bitwarden" }, "restartRegistration": { "message": "重新开始注册" @@ -1424,7 +1424,7 @@ "message": "服务器 URL" }, "selfHostBaseUrl": { - "message": "Self-host server URL", + "message": "自托管服务器 URL", "description": "Label for field requesting a self-hosted integration service URL" }, "apiUrl": { @@ -1795,13 +1795,13 @@ "message": "密码历史记录" }, "generatorHistory": { - "message": "Generator history" + "message": "生成器历史记录" }, "clearGeneratorHistoryTitle": { - "message": "Clear generator history" + "message": "清除生成器历史记录" }, "cleargGeneratorHistoryDescription": { - "message": "If you continue, all entries will be permanently deleted from generator's history. Are you sure you want to continue?" + "message": "若继续,所有条目将从生成器历史记录中永久删除。确定要继续吗?" }, "back": { "message": "后退" @@ -1920,10 +1920,10 @@ "message": "清除历史记录" }, "nothingToShow": { - "message": "Nothing to show" + "message": "没有可显示的内容" }, "nothingGeneratedRecently": { - "message": "You haven't generated anything recently" + "message": "您最近没有生成任何内容" }, "remove": { "message": "移除" @@ -2512,7 +2512,7 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendPasswordDescV3": { - "message": "Add an optional password for recipients to access this Send.", + "message": "添加一个用于收件人访问此 Send 的可选密码。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendNotesDesc": { @@ -2875,10 +2875,10 @@ "message": "生成用户名" }, "generateEmail": { - "message": "Generate email" + "message": "生成邮件地址" }, "generatorBoundariesHint": { - "message": "Value must be between $MIN$ and $MAX$", + "message": "值必须在 $MIN$ 和 $MAX$ 之间", "description": "Explains spin box minimum and maximum values to the user", "placeholders": { "min": { @@ -2932,11 +2932,11 @@ "message": "使用外部转发服务生成一个电子邮件别名。" }, "forwarderDomainName": { - "message": "Email domain", + "message": "邮件域名", "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "Choose a domain that is supported by the selected service", + "message": "选择一个所选服务支持的域名", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { @@ -4636,156 +4636,156 @@ "message": "正在验证" }, "fillGeneratedPassword": { - "message": "Fill generated password", + "message": "填充已生成的密码", "description": "Heading for the password generator within the inline menu" }, "passwordRegenerated": { - "message": "Password regenerated", + "message": "密码已重新生成", "description": "Notification message for when a password has been regenerated" }, "saveLoginToBitwarden": { - "message": "Save login to Bitwarden?", + "message": "将登录保存到 Bitwarden 吗?", "description": "Confirmation message for saving a login to Bitwarden" }, "spaceCharacterDescriptor": { - "message": "Space", + "message": "空格", "description": "Represents the space key in screen reader content as a readable word" }, "tildeCharacterDescriptor": { - "message": "Tilde", + "message": "波浪号", "description": "Represents the ~ key in screen reader content as a readable word" }, "backtickCharacterDescriptor": { - "message": "Backtick", + "message": "反引号", "description": "Represents the ` key in screen reader content as a readable word" }, "exclamationCharacterDescriptor": { - "message": "Exclamation mark", + "message": "感叹号", "description": "Represents the ! key in screen reader content as a readable word" }, "atSignCharacterDescriptor": { - "message": "At sign", + "message": "艾特号", "description": "Represents the @ key in screen reader content as a readable word" }, "hashSignCharacterDescriptor": { - "message": "Hash sign", + "message": "井号", "description": "Represents the # key in screen reader content as a readable word" }, "dollarSignCharacterDescriptor": { - "message": "Dollar sign", + "message": "美元符号", "description": "Represents the $ key in screen reader content as a readable word" }, "percentSignCharacterDescriptor": { - "message": "Percent sign", + "message": "百分号", "description": "Represents the % key in screen reader content as a readable word" }, "caretCharacterDescriptor": { - "message": "Caret", + "message": "脱字符", "description": "Represents the ^ key in screen reader content as a readable word" }, "ampersandCharacterDescriptor": { - "message": "Ampersand", + "message": "与和符", "description": "Represents the & key in screen reader content as a readable word" }, "asteriskCharacterDescriptor": { - "message": "Asterisk", + "message": "星号", "description": "Represents the * key in screen reader content as a readable word" }, "parenLeftCharacterDescriptor": { - "message": "Left parenthesis", + "message": "左括号", "description": "Represents the ( key in screen reader content as a readable word" }, "parenRightCharacterDescriptor": { - "message": "Right parenthesis", + "message": "右括号", "description": "Represents the ) key in screen reader content as a readable word" }, "hyphenCharacterDescriptor": { - "message": "Underscore", + "message": "下划线", "description": "Represents the _ key in screen reader content as a readable word" }, "underscoreCharacterDescriptor": { - "message": "Hyphen", + "message": "连字符", "description": "Represents the - key in screen reader content as a readable word" }, "plusCharacterDescriptor": { - "message": "Plus", + "message": "加号", "description": "Represents the + key in screen reader content as a readable word" }, "equalsCharacterDescriptor": { - "message": "Equals", + "message": "等号", "description": "Represents the = key in screen reader content as a readable word" }, "braceLeftCharacterDescriptor": { - "message": "Left brace", + "message": "左大括号", "description": "Represents the { key in screen reader content as a readable word" }, "braceRightCharacterDescriptor": { - "message": "Right brace", + "message": "右大括号", "description": "Represents the } key in screen reader content as a readable word" }, "bracketLeftCharacterDescriptor": { - "message": "Left bracket", + "message": "左中括号", "description": "Represents the [ key in screen reader content as a readable word" }, "bracketRightCharacterDescriptor": { - "message": "Right bracket", + "message": "右中括号", "description": "Represents the ] key in screen reader content as a readable word" }, "pipeCharacterDescriptor": { - "message": "Pipe", + "message": "竖线", "description": "Represents the | key in screen reader content as a readable word" }, "backSlashCharacterDescriptor": { - "message": "Back slash", + "message": "反斜杠", "description": "Represents the back slash key in screen reader content as a readable word" }, "colonCharacterDescriptor": { - "message": "Colon", + "message": "冒号", "description": "Represents the : key in screen reader content as a readable word" }, "semicolonCharacterDescriptor": { - "message": "Semicolon", + "message": "分号", "description": "Represents the ; key in screen reader content as a readable word" }, "doubleQuoteCharacterDescriptor": { - "message": "Double quote", + "message": "双引号", "description": "Represents the double quote key in screen reader content as a readable word" }, "singleQuoteCharacterDescriptor": { - "message": "Single quote", + "message": "单引号", "description": "Represents the ' key in screen reader content as a readable word" }, "lessThanCharacterDescriptor": { - "message": "Less than", + "message": "小于号", "description": "Represents the < key in screen reader content as a readable word" }, "greaterThanCharacterDescriptor": { - "message": "Greater than", + "message": "大于号", "description": "Represents the > key in screen reader content as a readable word" }, "commaCharacterDescriptor": { - "message": "Comma", + "message": "逗号", "description": "Represents the , key in screen reader content as a readable word" }, "periodCharacterDescriptor": { - "message": "Period", + "message": "句号", "description": "Represents the . key in screen reader content as a readable word" }, "questionCharacterDescriptor": { - "message": "Question mark", + "message": "问号", "description": "Represents the ? key in screen reader content as a readable word" }, "forwardSlashCharacterDescriptor": { - "message": "Forward slash", + "message": "正斜杠", "description": "Represents the / key in screen reader content as a readable word" }, "lowercaseAriaLabel": { - "message": "Lowercase" + "message": "小写" }, "uppercaseAriaLabel": { - "message": "Uppercase" + "message": "大写" }, "generatedPassword": { - "message": "Generated password" + "message": "生成密码" } } diff --git a/apps/browser/store/locales/nb/copy.resx b/apps/browser/store/locales/nb/copy.resx index 26a09cc855d..b496e223cbe 100644 --- a/apps/browser/store/locales/nb/copy.resx +++ b/apps/browser/store/locales/nb/copy.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Bitwarden Password Manager + Bitwarden passordbehandler At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information. From 6ca8e7df714b297444784cd427f4a5126475e4f5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 09:38:50 +0000 Subject: [PATCH 27/31] Autosync the updated translations (#11838) Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com> --- apps/web/src/locales/af/messages.json | 39 ++++++-- apps/web/src/locales/ar/messages.json | 39 ++++++-- apps/web/src/locales/az/messages.json | 39 ++++++-- apps/web/src/locales/be/messages.json | 39 ++++++-- apps/web/src/locales/bg/messages.json | 39 ++++++-- apps/web/src/locales/bn/messages.json | 39 ++++++-- apps/web/src/locales/bs/messages.json | 39 ++++++-- apps/web/src/locales/ca/messages.json | 39 ++++++-- apps/web/src/locales/cs/messages.json | 39 ++++++-- apps/web/src/locales/cy/messages.json | 39 ++++++-- apps/web/src/locales/da/messages.json | 41 ++++++-- apps/web/src/locales/de/messages.json | 39 ++++++-- apps/web/src/locales/el/messages.json | 39 ++++++-- apps/web/src/locales/en_GB/messages.json | 39 ++++++-- apps/web/src/locales/en_IN/messages.json | 39 ++++++-- apps/web/src/locales/eo/messages.json | 39 ++++++-- apps/web/src/locales/es/messages.json | 39 ++++++-- apps/web/src/locales/et/messages.json | 39 ++++++-- apps/web/src/locales/eu/messages.json | 39 ++++++-- apps/web/src/locales/fa/messages.json | 39 ++++++-- apps/web/src/locales/fi/messages.json | 101 +++++++++++-------- apps/web/src/locales/fil/messages.json | 39 ++++++-- apps/web/src/locales/fr/messages.json | 39 ++++++-- apps/web/src/locales/gl/messages.json | 39 ++++++-- apps/web/src/locales/he/messages.json | 39 ++++++-- apps/web/src/locales/hi/messages.json | 39 ++++++-- apps/web/src/locales/hr/messages.json | 39 ++++++-- apps/web/src/locales/hu/messages.json | 39 ++++++-- apps/web/src/locales/id/messages.json | 39 ++++++-- apps/web/src/locales/it/messages.json | 39 ++++++-- apps/web/src/locales/ja/messages.json | 39 ++++++-- apps/web/src/locales/ka/messages.json | 39 ++++++-- apps/web/src/locales/km/messages.json | 39 ++++++-- apps/web/src/locales/kn/messages.json | 39 ++++++-- apps/web/src/locales/ko/messages.json | 39 ++++++-- apps/web/src/locales/lv/messages.json | 39 ++++++-- apps/web/src/locales/ml/messages.json | 39 ++++++-- apps/web/src/locales/mr/messages.json | 39 ++++++-- apps/web/src/locales/my/messages.json | 39 ++++++-- apps/web/src/locales/nb/messages.json | 39 ++++++-- apps/web/src/locales/ne/messages.json | 39 ++++++-- apps/web/src/locales/nl/messages.json | 37 +++++-- apps/web/src/locales/nn/messages.json | 39 ++++++-- apps/web/src/locales/or/messages.json | 39 ++++++-- apps/web/src/locales/pl/messages.json | 39 ++++++-- apps/web/src/locales/pt_BR/messages.json | 39 ++++++-- apps/web/src/locales/pt_PT/messages.json | 39 ++++++-- apps/web/src/locales/ro/messages.json | 39 ++++++-- apps/web/src/locales/ru/messages.json | 39 ++++++-- apps/web/src/locales/si/messages.json | 39 ++++++-- apps/web/src/locales/sk/messages.json | 39 ++++++-- apps/web/src/locales/sl/messages.json | 39 ++++++-- apps/web/src/locales/sr/messages.json | 119 +++++++++++++---------- apps/web/src/locales/sr_CS/messages.json | 39 ++++++-- apps/web/src/locales/sv/messages.json | 39 ++++++-- apps/web/src/locales/te/messages.json | 39 ++++++-- apps/web/src/locales/th/messages.json | 39 ++++++-- apps/web/src/locales/tr/messages.json | 39 ++++++-- apps/web/src/locales/uk/messages.json | 57 +++++++---- apps/web/src/locales/vi/messages.json | 39 ++++++-- apps/web/src/locales/zh_CN/messages.json | 117 +++++++++++++--------- apps/web/src/locales/zh_TW/messages.json | 39 ++++++-- 62 files changed, 1979 insertions(+), 677 deletions(-) diff --git a/apps/web/src/locales/af/messages.json b/apps/web/src/locales/af/messages.json index 09b513d55ec..3310b38ba6f 100644 --- a/apps/web/src/locales/af/messages.json +++ b/apps/web/src/locales/af/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/ar/messages.json b/apps/web/src/locales/ar/messages.json index edabc15f8c4..5698a2fb1b5 100644 --- a/apps/web/src/locales/ar/messages.json +++ b/apps/web/src/locales/ar/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/az/messages.json b/apps/web/src/locales/az/messages.json index b9f8fc67e68..162954882f1 100644 --- a/apps/web/src/locales/az/messages.json +++ b/apps/web/src/locales/az/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Bütün tətbiqlər" }, - "priorityApplications": { - "message": "Prioritet tətbiqlər" + "criticalApplications": { + "message": "Kritik tətbiqlər" }, "accessIntelligence": { "message": "Müraciət Kəşfiyyatı" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Prioritet tətbiqlər ($COUNT$)", + "createNewLoginItem": { + "message": "Yeni giriş elementi yarat" + }, + "criticalApplicationsWithCount": { + "message": "Kritik tətbiqlər ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Heç bir tətbiqi prioritet olaraq işarələməmisiniz" + "noAppsInOrgTitle": { + "message": "$ORGNAME$ təşkilatında heç bir tətbiq tapılmadı", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "İstifadəçilər giriş məlumatlarını saxladıqda, tətbiqlər burada görünür və riskli parolları göstərir. Kritik tətbiqləri işarələyin və parollarını güncəlləməsi üçün istifadəçiləri məlumatlandırın." + }, + "noCriticalAppsTitle": { + "message": "Heç bir tətbiqi Kritik olaraq işarələməmisiniz" + }, + "noCriticalAppsDescription": { "message": "Riskli parolları kəşf etmək üçün ən kritik tətbiqlərinizi seçin və bu parolları dəyişdirməsi üçün istifadəçiləri məlumatlandırın." }, - "markPriorityApps": { - "message": "Prioritet tətbiqləri işarələ" + "markCriticalApps": { + "message": "Kritik tətbiqləri işarələ" }, "markAppAsCritical": { "message": "Tətbiqi kritik olaraq işarələ" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Riskli parollar" }, + "requestPasswordChange": { + "message": "Parol dəyişdirilməsini tələb et" + }, "totalPasswords": { "message": "Cəmi parol" }, + "searchApps": { + "message": "Tətbiq axtar" + }, "atRiskMembers": { "message": "Riskli üzvlər" }, diff --git a/apps/web/src/locales/be/messages.json b/apps/web/src/locales/be/messages.json index 90529619d3d..ee0537a86c1 100644 --- a/apps/web/src/locales/be/messages.json +++ b/apps/web/src/locales/be/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/bg/messages.json b/apps/web/src/locales/bg/messages.json index 46695f6ce43..3e48ade518c 100644 --- a/apps/web/src/locales/bg/messages.json +++ b/apps/web/src/locales/bg/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Всички приложения" }, - "priorityApplications": { - "message": "Приложения с приоритет" + "criticalApplications": { + "message": "Важни приложения" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Приложения с приоритет ($COUNT$)", + "createNewLoginItem": { + "message": "Създаване на нов елемент за вписване" + }, + "criticalApplicationsWithCount": { + "message": "Важни приложения ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Не сте отбелязали нито едно приложение като приоритетно" + "noAppsInOrgTitle": { + "message": "Няма намерени приложения в $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "Когато потребителите запазват данните си за вписване, тук ще се появяват приложения, а също и ще се показват паролите в риск. Можете да отбелязвате важните приложения и да напомняте на потребителите да сменят паролите си." + }, + "noCriticalAppsTitle": { + "message": "Не сте отбелязали нито едно приложение като важно" + }, + "noCriticalAppsDescription": { "message": "Изберете най-важните си приложения, за да откриете паролите, които може да са в риск, и да известите потребителите да ги сменят." }, - "markPriorityApps": { - "message": "Отбелязване на приоритетни приложения" + "markCriticalApps": { + "message": "Отбележете важните приложения" }, "markAppAsCritical": { "message": "Отбелязване на приложението като важно" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Пароли в риск" }, + "requestPasswordChange": { + "message": "Заявка за промяна на паролата" + }, "totalPasswords": { "message": "Общо пароли" }, + "searchApps": { + "message": "Търсене на приложения" + }, "atRiskMembers": { "message": "Членове в риск" }, diff --git a/apps/web/src/locales/bn/messages.json b/apps/web/src/locales/bn/messages.json index 0678d055c61..6eff6b5deb8 100644 --- a/apps/web/src/locales/bn/messages.json +++ b/apps/web/src/locales/bn/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/bs/messages.json b/apps/web/src/locales/bs/messages.json index f8521f4147e..b5785942675 100644 --- a/apps/web/src/locales/bs/messages.json +++ b/apps/web/src/locales/bs/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/ca/messages.json b/apps/web/src/locales/ca/messages.json index da688f2b831..ed831a39f8b 100644 --- a/apps/web/src/locales/ca/messages.json +++ b/apps/web/src/locales/ca/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/cs/messages.json b/apps/web/src/locales/cs/messages.json index 56eab924dee..7efd6d85959 100644 --- a/apps/web/src/locales/cs/messages.json +++ b/apps/web/src/locales/cs/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Všechny aplikace" }, - "priorityApplications": { - "message": "Prioritní aplikace" + "criticalApplications": { + "message": "Kritické aplikace" }, "accessIntelligence": { "message": "Přístup k inteligenci" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Prioritní aplikace ($COUNT$)", + "createNewLoginItem": { + "message": "Vytvořit novou položku přihlášení" + }, + "criticalApplicationsWithCount": { + "message": "Kritické aplikace ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Neoznačili jste žádné aplikace jako prioritu" + "noAppsInOrgTitle": { + "message": "V $ORG NAME$ nebyly nalezeny žádné aplikace", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "Jakmile uživatelé uloží přihlašovací údaje, zobrazí se zde aplikace, které zobrazují všechna ohrožená hesla. Označte kritické aplikace a upozorněte uživatele, aby hesla aktualizovali." + }, + "noCriticalAppsTitle": { + "message": "Neoznačili jste žádné aplikace jako kritické" + }, + "noCriticalAppsDescription": { "message": "Vyberte své nejkritičtější aplikace, abyste objevili riziková hesla a upozorněte uživatele na změnu těchto hesel." }, - "markPriorityApps": { - "message": "Označit prioritní aplikace" + "markCriticalApps": { + "message": "Označit kritické aplikace" }, "markAppAsCritical": { "message": "Označit aplikaci jako kritickou" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Ohrožená hesla" }, + "requestPasswordChange": { + "message": "Vyžádat změnu hesla" + }, "totalPasswords": { "message": "Celkem hesel" }, + "searchApps": { + "message": "Prohledat aplikace" + }, "atRiskMembers": { "message": "Ohrožení členové" }, diff --git a/apps/web/src/locales/cy/messages.json b/apps/web/src/locales/cy/messages.json index 5c713b81d7a..d8c96f419ab 100644 --- a/apps/web/src/locales/cy/messages.json +++ b/apps/web/src/locales/cy/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/da/messages.json b/apps/web/src/locales/da/messages.json index bfbb9a69b4b..4791cc3784a 100644 --- a/apps/web/src/locales/da/messages.json +++ b/apps/web/src/locales/da/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Alle applikationer" }, - "priorityApplications": { - "message": "Prioriterede applikationer" + "criticalApplications": { + "message": "Kritiske applikationer" }, "accessIntelligence": { "message": "Adgangsintelligens" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Prioriterede applikationer ($COUNT$)", + "createNewLoginItem": { + "message": "Opret nyt login-emne" + }, + "criticalApplicationsWithCount": { + "message": "Kritiske applikationer ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Ingen programmer er markret som en prioritet" + "noAppsInOrgTitle": { + "message": "Ingen applikationer fundet i $ORG NAVN$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { - "message": "Vælg de mest kritiske programmer for at afsløre risikable adgangskoder og give brugerne besked om at disse." + "noAppsInOrgDescription": { + "message": "Når brugerne gemmer logins, fremgår applikationer med udsatte adgangskoder her. Markér kritiske appikationer og giv brugerne besked om at opdatere adgangskoder." }, - "markPriorityApps": { - "message": "Markér prioriterede apps" + "noCriticalAppsTitle": { + "message": "Ingen applikationer markret som Kritisk" + }, + "noCriticalAppsDescription": { + "message": "Vælg de mest kritiske applikationer for at afsløre udsatte adgangskoder og give brugerne besked om at ændre disse." + }, + "markCriticalApps": { + "message": "Markér kritiske applikationer" }, "markAppAsCritical": { "message": "Markér app som kritisk" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Udsatte adgangskoder" }, + "requestPasswordChange": { + "message": "Anmod om adgangskodeskift" + }, "totalPasswords": { "message": "Adgangskoder i alt" }, + "searchApps": { + "message": "Søg i applikationer" + }, "atRiskMembers": { "message": "Udsatte medlemmer" }, diff --git a/apps/web/src/locales/de/messages.json b/apps/web/src/locales/de/messages.json index b6bfcb323d9..0667b0d7fbd 100644 --- a/apps/web/src/locales/de/messages.json +++ b/apps/web/src/locales/de/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Alle Anwendungen" }, - "priorityApplications": { - "message": "Vorrangige Anwendungen" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Vorrangige Anwendungen ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Risikoreiche Passwörter" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Passwörter insgesamt" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "Risikoreiche Mitglieder" }, diff --git a/apps/web/src/locales/el/messages.json b/apps/web/src/locales/el/messages.json index 38f1c8b13cf..30f1945600b 100644 --- a/apps/web/src/locales/el/messages.json +++ b/apps/web/src/locales/el/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Όλες οι εφαρμογές" }, - "priorityApplications": { - "message": "Εφαρμογές προτεραιότητας" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Εφαρμογές προτεραιότητας ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Σύνολο κωδικών πρόσβασης" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/en_GB/messages.json b/apps/web/src/locales/en_GB/messages.json index e00857f06b5..431eeeeebcd 100644 --- a/apps/web/src/locales/en_GB/messages.json +++ b/apps/web/src/locales/en_GB/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/en_IN/messages.json b/apps/web/src/locales/en_IN/messages.json index f0485a67f81..0e16ab3bd6e 100644 --- a/apps/web/src/locales/en_IN/messages.json +++ b/apps/web/src/locales/en_IN/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/eo/messages.json b/apps/web/src/locales/eo/messages.json index 10eb8f86e64..55bcef6cb15 100644 --- a/apps/web/src/locales/eo/messages.json +++ b/apps/web/src/locales/eo/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/es/messages.json b/apps/web/src/locales/es/messages.json index c793eae6614..20fe6ea933e 100644 --- a/apps/web/src/locales/es/messages.json +++ b/apps/web/src/locales/es/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/et/messages.json b/apps/web/src/locales/et/messages.json index abc55d42854..fff2bb8cd5d 100644 --- a/apps/web/src/locales/et/messages.json +++ b/apps/web/src/locales/et/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/eu/messages.json b/apps/web/src/locales/eu/messages.json index 32b9aaccbf3..ac7ea7b93af 100644 --- a/apps/web/src/locales/eu/messages.json +++ b/apps/web/src/locales/eu/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/fa/messages.json b/apps/web/src/locales/fa/messages.json index ed2b049c29a..f92ddcd9035 100644 --- a/apps/web/src/locales/fa/messages.json +++ b/apps/web/src/locales/fa/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/fi/messages.json b/apps/web/src/locales/fi/messages.json index 9a726b5577b..02238935f35 100644 --- a/apps/web/src/locales/fi/messages.json +++ b/apps/web/src/locales/fi/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Kaikki sovellukset" }, - "priorityApplications": { - "message": "Ensisijaiset sovellukset" + "criticalApplications": { + "message": "Kriittiset sovellukset" }, "accessIntelligence": { "message": "Access Intelligence" @@ -12,10 +12,10 @@ "message": "Salasanariski" }, "discoverAtRiskPasswords": { - "message": "Discover at-risk passwords and notify users to change those passwords." + "message": "Havaitse vaarantuneet salasanat ja ilmoita käyttäjille niiden vaihdosta." }, "dataLastUpdated": { - "message": "Data last updated: $DATE$", + "message": "Tiedot päivitetty viimeksi: $DATE$", "placeholders": { "date": { "content": "$1", @@ -24,7 +24,7 @@ } }, "notifiedMembers": { - "message": "Notified members" + "message": "Ilmoitetut jäsenet" }, "allApplicationsWithCount": { "message": "Kaikki sovellukset ($COUNT$)", @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Ensisijaiset sovellukset ($COUNT$)", + "createNewLoginItem": { + "message": "Luo uusi kirjautumiskohde" + }, + "criticalApplicationsWithCount": { + "message": "Kriittiset sovellukset ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -45,7 +48,7 @@ } }, "notifiedMembersWithCount": { - "message": "Notified members ($COUNT$)", + "message": "Ilmoitetut jäsenet ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,20 +56,32 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "Sovelluksia ei löytynyt organisaatiosta $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { - "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." + "noAppsInOrgDescription": { + "message": "Kun käyttäjät tallentavat kirjautumistietoja, näytetään sovellukset ja vaarantuneet salasanat täällä. Merkitse kriittiset sovellukset ja ilmoita käyttäjille salasanojen vaihdosta." }, - "markPriorityApps": { - "message": "Mark priority apps" + "noCriticalAppsTitle": { + "message": "Sovelluksia ei ole merkitty kriittisiksi" + }, + "noCriticalAppsDescription": { + "message": "Valitse kriittisimmät sovelluksesi havaitaksesi vaarantuneet salasanat ja ilmoita käyttäjille niiden vaihdosta." + }, + "markCriticalApps": { + "message": "Merkitse kriittiset sovellukset" }, "markAppAsCritical": { - "message": "Mark app as critical" + "message": "Merkitse sovellus kriittiseksi" }, "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "message": "Kriittisiksi merkityt sovellukset" }, "application": { "message": "Sovellus" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Riskialttiit salasanat" }, + "requestPasswordChange": { + "message": "Pyydä salasanan vaihtoa" + }, "totalPasswords": { "message": "Salasanoja yhteensä" }, + "searchApps": { + "message": "Etsi sovelluksia" + }, "atRiskMembers": { "message": "Riskialttiit jäsenet" }, @@ -1249,7 +1270,7 @@ "message": "Sinulla ei ole kokoelman kaikkien kohteiden tarkastelun sallivia käyttöoikeuksia." }, "youDoNotHavePermissions": { - "message": "You do not have permissions to this collection" + "message": "Sinulla ei ole kokoelman käyttöoikeutta" }, "noCollectionsInList": { "message": "Näytettäviä kokoelmia ei ole." @@ -1717,7 +1738,7 @@ "message": "Ole varovainen! Näitä toimintoja ei ole mahdollista kumota!" }, "dangerZoneDescSingular": { - "message": "Careful, this action is not reversible!" + "message": "Ole varoivainen. Tätä ei ole mahdollista perua!" }, "deauthorizeSessions": { "message": "Mitätöi kaikki istunnot" @@ -1732,7 +1753,7 @@ "message": "Kaikki istunnot mitätöitiin" }, "accountIsManagedMessage": { - "message": "This account is managed by $ORGANIZATIONNAME$", + "message": "Tiliä hallinnoi $ORGANIZATIONNAME$", "placeholders": { "organizationName": { "content": "$1", @@ -2701,7 +2722,7 @@ "message": "Lataa lisenssi" }, "viewBillingToken": { - "message": "View Billing Token" + "message": "Näytä laskutustunniste" }, "updateLicense": { "message": "Päivitä lisenssi" @@ -3198,7 +3219,7 @@ } }, "inviteSingleEmailDesc": { - "message": "You have 1 invite remaining." + "message": "Sinulla on yksi kutsu jäljellä." }, "userUsingTwoStep": { "message": "Käyttäjä on suojannut tilinsä kaksivaiheisella kirjautumisella." @@ -3820,7 +3841,7 @@ "message": "Liity organisaatioon" }, "joinOrganizationName": { - "message": "Join $ORGANIZATIONNAME$", + "message": "Liity organisaatioon $ORGANIZATIONNAME$", "placeholders": { "organizationName": { "content": "$1", @@ -4668,7 +4689,7 @@ "message": "Estä jäseniä liittymästä muihin organisaatioihin." }, "singleOrgPolicyDesc": { - "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + "message": "Estä jäseniä liittymästä muihin organisaatioihin. Tätä käytäntöä tarvitaan organisaatioille, jotka käyttävät verkkotunnustodennusta." }, "singleOrgBlockCreateMessage": { "message": "Nykyisen organisaatiosi käytäntö ei salli liittymistä yhtä useampaan organisaatioon. Ole yhteydessä organisaatiosi ylläpitoon tai liity eri Bitwarden-tilin kautta." @@ -4677,7 +4698,7 @@ "message": "Organisaation jäsenet, jotka eivät ole omistajia tai ylläpitäjiä ja jotka ovat jo toisen organisaation jäseniä, poistetaan organisaatiostasi." }, "singleOrgPolicyMemberWarning": { - "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + "message": "Käytännöstä poikkeavat jäsenet asetetaan mitätöityyn tilaan, kunnes he poistuvat kaikista muista organisaatioista. Poikkeuksena ylläpitäjät, jotka voivat palauttaa jäsenten tilan vaatimusten täytyttyä." }, "requireSso": { "message": "Vaadi todennus kertakirjautumisella" @@ -6159,7 +6180,7 @@ "message": "Näytä laskutuksen synkronointitunniste" }, "generateBillingToken": { - "message": "Generate billing token" + "message": "Luo laskutustunniste" }, "copyPasteBillingSync": { "message": "Kopioi ja liitä tämä tunniste itse ylläpitämäsi organisaation laskutuksen synkronoinnin asetuksiin." @@ -6168,7 +6189,7 @@ "message": "Laskutuksen synkronointitunniste mahdollistaa organisaation tilausasetusten tarkastelun ja muokkauksen." }, "manageBillingTokenSync": { - "message": "Manage Billing Token" + "message": "Hallitse laskutustunnistetta" }, "setUpBillingSync": { "message": "Määritä laskutuksen synkronointi" @@ -6234,7 +6255,7 @@ "message": "Laskutuksen synkronointitunniste" }, "automaticBillingSyncDesc": { - "message": "Automatic sync unlocks Families sponsorships and allows you to sync your license without uploading a file. After making updates in the Bitwarden cloud server, select Sync License to apply changes." + "message": "Automaattinen synkronointi avaa Families-sponsoroinnin ja mahdollistaa lisenssisi automaattisen synkronoinnin ilman tiedostolatausta. Tehtyäsi muutokset Bitwardenin pilvipalvelimelle, ota ne käyttöön valitsemalla \"Synkronoi lisenssi\"." }, "active": { "message": "Aktiivinen" @@ -6519,7 +6540,7 @@ "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "Choose a domain that is supported by the selected service", + "message": "Valitse verkkotunnus, jota valittu palvelu tukee", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { @@ -7672,7 +7693,7 @@ "message": "Manuaalinen tallennus" }, "manualBillingTokenUploadDesc": { - "message": "If you do not want to opt into billing sync, manually upload your license here. This will not automatically unlock Families sponsorships." + "message": "Jos et halua käyttää laskutuksen synkronointia, lisää lisenssisi manuaalisesti tästä. Tämä ei avaa Families-sponsorointia automaattisesti." }, "syncLicense": { "message": "Synkronoi lisenssi" @@ -8001,7 +8022,7 @@ "description": "Used as a card title description on the set password page to explain why the user is there" }, "cardMetrics": { - "message": "out of $TOTAL$", + "message": "/$TOTAL$", "placeholders": { "total": { "content": "$1", @@ -8271,10 +8292,10 @@ "message": "Rajoita kokoelmien luonti ja poisto omistajille ja ylläpitäjille" }, "limitCollectionCreationDesc": { - "message": "Limit collection creation to owners and admins" + "message": "Rajoita kokoelmien luonti omistajille ja ylläpitäjille" }, "limitCollectionDeletionDesc": { - "message": "Limit collection deletion to owners and admins" + "message": "Rajoita kokoelmien poisto omistajille ja ylläpitäjille" }, "allowAdminAccessToAllCollectionItemsDesc": { "message": "Omistajat ja ylläpitäjät voivat hallita kaikkia kokoelmia ja kohteita" @@ -8322,7 +8343,7 @@ "message": "Palvelimen URL" }, "selfHostBaseUrl": { - "message": "Self-host server URL", + "message": "Itse ylläpidetyn palvelimen URL-osoite", "description": "Label for field requesting a self-hosted integration service URL" }, "aliasDomain": { @@ -9466,19 +9487,19 @@ "message": "Muokkaa käyttöoikeuksia" }, "textHelpText": { - "message": "Use text fields for data like security questions" + "message": "Käytä tekstikenttiä esimerkiksi turvakysymysten kaltaisille tiedoille." }, "hiddenHelpText": { - "message": "Use hidden fields for sensitive data like a password" + "message": "Käytä piilotettuja kenttiä esimerkiksi salasanojen kaltaisille arkaluontoisille tiedoille." }, "checkBoxHelpText": { - "message": "Use checkboxes if you'd like to autofill a form's checkbox, like a remember email" + "message": "Käytä valintaruutuja esimerkiksi sähköpostiosoitteen muistamisen kaltaisten valintaruutujen automaattiseen merkintään." }, "linkedHelpText": { - "message": "Use a linked field when you are experiencing autofill issues for a specific website." + "message": "Käytä linkitettyjä kenttiä kohdatessasi sivustokohtaisia automaattitäytön ongelmia." }, "linkedLabelHelpText": { - "message": "Enter the the field's html id, name, aria-label, or placeholder." + "message": "Syötä kentän HTML-koodista löytyvä id-, name-, aria-label- tai placeholder-arvo." }, "uppercaseDescription": { "message": "Sisällytä isoja kirjaimia", @@ -9522,14 +9543,14 @@ "message": "Haluatko varmasti poistaa liitteen pysyvästi?" }, "manageSubscriptionFromThe": { - "message": "Manage subscription from the", + "message": "Hallitse tilausta sivulta", "description": "This represents the beginning of a sentence. The full sentence will be 'Manage subscription from the Provider Portal', but 'Provider Portal' will be a link and thus cannot be included in the translation file." }, "toHostBitwardenOnYourOwnServer": { "message": "To host Bitwarden on your own server, you will need to upload your license file. To support Free Families plans and advanced billing capabilities for your self-hosted organization, you will need to set up automatic sync in your self-hosted organization." }, "selfHostingTitleProper": { - "message": "Self-Hosting" + "message": "Itse ylläpidetty" }, "verified-domain-single-org-warning": { "message": "Verifying a domain will turn on the single organization policy." diff --git a/apps/web/src/locales/fil/messages.json b/apps/web/src/locales/fil/messages.json index 3323935f0f0..119381538b4 100644 --- a/apps/web/src/locales/fil/messages.json +++ b/apps/web/src/locales/fil/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/fr/messages.json b/apps/web/src/locales/fr/messages.json index de1c12d4715..f1a1ffbf4a4 100644 --- a/apps/web/src/locales/fr/messages.json +++ b/apps/web/src/locales/fr/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Toutes les applications" }, - "priorityApplications": { - "message": "Applications prioritaires" + "criticalApplications": { + "message": "Applications critiques" }, "accessIntelligence": { "message": "Accéder à l'Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Applications prioritaires ($COUNT$)", + "createNewLoginItem": { + "message": "Créer un nouvel élément de connexion" + }, + "criticalApplicationsWithCount": { + "message": "Applications critiques ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Vous n'avez marqué aucune application comme prioritaire" + "noAppsInOrgTitle": { + "message": "Aucune application trouvée dans $ORG NOM$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "Au fur et à mesure que les utilisateurs enregistrent des identifiants, les applications apparaissent ici, montrant les mots de passe à risque. Marquez les applications critiques et avertissez les utilisateurs de mettre à jour les mots de passe." + }, + "noCriticalAppsTitle": { + "message": "Vous n'avez marqué aucune application comme Critique" + }, + "noCriticalAppsDescription": { "message": "Sélectionnez vos applications les plus critiques pour découvrir les mots de passe à risque et avertissez les utilisateurs de modifier ces mots de passe." }, - "markPriorityApps": { - "message": "Marquer les applications prioritaires" + "markCriticalApps": { + "message": "Marquer les applications critiques" }, "markAppAsCritical": { "message": "Marquer l'application comme critique" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Mots de passes à risque" }, + "requestPasswordChange": { + "message": "Demander un changement de mot de passe" + }, "totalPasswords": { "message": "Total des mots de passe" }, + "searchApps": { + "message": "Rechercher des applications" + }, "atRiskMembers": { "message": "Membres à risque" }, diff --git a/apps/web/src/locales/gl/messages.json b/apps/web/src/locales/gl/messages.json index 9a17bed76be..dda5e85f4cb 100644 --- a/apps/web/src/locales/gl/messages.json +++ b/apps/web/src/locales/gl/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/he/messages.json b/apps/web/src/locales/he/messages.json index 943726ec844..768e877cd2e 100644 --- a/apps/web/src/locales/he/messages.json +++ b/apps/web/src/locales/he/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/hi/messages.json b/apps/web/src/locales/hi/messages.json index 467f98dfa6e..a20f1ec13bf 100644 --- a/apps/web/src/locales/hi/messages.json +++ b/apps/web/src/locales/hi/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/hr/messages.json b/apps/web/src/locales/hr/messages.json index 9f311971757..ef64895f899 100644 --- a/apps/web/src/locales/hr/messages.json +++ b/apps/web/src/locales/hr/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/hu/messages.json b/apps/web/src/locales/hu/messages.json index 1821e7e8fe9..0ee0f1c5370 100644 --- a/apps/web/src/locales/hu/messages.json +++ b/apps/web/src/locales/hu/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Összes alkalmazás" }, - "priorityApplications": { - "message": "Prioritás alkalmazások" + "criticalApplications": { + "message": "Kritikus alkalmazások" }, "accessIntelligence": { "message": "Elérés intelligencia" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Prioriitás alkalmazások ($COUNT$)", + "createNewLoginItem": { + "message": "Új bejelentkezési elem létrehozása" + }, + "criticalApplicationsWithCount": { + "message": "Kritikus alkalmazások ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Egyetlen alkalmazás sem lett megjelölve kiemeltként." + "noAppsInOrgTitle": { + "message": "Nem találhatók alkalmazások: $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "Amint a felhasználók elmentik a bejelentkezéseket, itt megjelennek az alkalmazások és megjelenítik a veszélyeztetett jelszavakat. Jelöljük meg a kritikus alkalmazásokat és értesítsük a felhasználókat a jelszavak frissítéséről." + }, + "noCriticalAppsTitle": { + "message": "Egyetlen alkalmazás sem lett megjelölve kritikusként." + }, + "noCriticalAppsDescription": { "message": "Válasszuk ki a legkritikusabb alkalmazásokat a veszélyeztetett jelszavak felfedezéséhez és értesítsük a felhasználókat a jelszavak megváltoztatásáról." }, - "markPriorityApps": { - "message": "Kiemelt alkalmazások megjelölése" + "markCriticalApps": { + "message": "Kritikus alkalmazások megjelölése" }, "markAppAsCritical": { "message": "Alkalmazások megjelölése kritikusként" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Veszélyes jelszavak" }, + "requestPasswordChange": { + "message": "Jelszó változtatás kérése" + }, "totalPasswords": { "message": "Összes jelszavak száma" }, + "searchApps": { + "message": "Alkalmazások keresése" + }, "atRiskMembers": { "message": "Veszélyes tagok" }, diff --git a/apps/web/src/locales/id/messages.json b/apps/web/src/locales/id/messages.json index 0bd8583d222..f29e7780f73 100644 --- a/apps/web/src/locales/id/messages.json +++ b/apps/web/src/locales/id/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/it/messages.json b/apps/web/src/locales/it/messages.json index d820c75b2d7..906e3e41078 100644 --- a/apps/web/src/locales/it/messages.json +++ b/apps/web/src/locales/it/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Tutte le applicazioni" }, - "priorityApplications": { - "message": "Applicazioni prioritarie" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Intelligence sugli accessi" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Applicazioni prioritarie ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Non hai impostato nessuna applicazione come prioritaria" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/ja/messages.json b/apps/web/src/locales/ja/messages.json index 52d161ed21b..c9bd116eb69 100644 --- a/apps/web/src/locales/ja/messages.json +++ b/apps/web/src/locales/ja/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "すべてのアプリ" }, - "priorityApplications": { - "message": "優先アプリ" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "インテリジェンスへのアクセス" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "優先アプリ ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "リスクがあるパスワード" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "合計パスワード数" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "リスクがあるメンバー" }, diff --git a/apps/web/src/locales/ka/messages.json b/apps/web/src/locales/ka/messages.json index 5077edce522..af3f8f4edd1 100644 --- a/apps/web/src/locales/ka/messages.json +++ b/apps/web/src/locales/ka/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/km/messages.json b/apps/web/src/locales/km/messages.json index 3c207dd6c28..99e5f7bcf32 100644 --- a/apps/web/src/locales/km/messages.json +++ b/apps/web/src/locales/km/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/kn/messages.json b/apps/web/src/locales/kn/messages.json index 39326186fd1..b3df003e79b 100644 --- a/apps/web/src/locales/kn/messages.json +++ b/apps/web/src/locales/kn/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/ko/messages.json b/apps/web/src/locales/ko/messages.json index 2976d8161e8..2be44401f9e 100644 --- a/apps/web/src/locales/ko/messages.json +++ b/apps/web/src/locales/ko/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/lv/messages.json b/apps/web/src/locales/lv/messages.json index 6a836f05536..07f92f54970 100644 --- a/apps/web/src/locales/lv/messages.json +++ b/apps/web/src/locales/lv/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Visas lietotnes" }, - "priorityApplications": { - "message": "Svarīgas lietotnes" + "criticalApplications": { + "message": "Kritiskas lietotnes" }, "accessIntelligence": { "message": "Piekļuves inteliģence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Svarīgas lietotnes ($COUNT$)", + "createNewLoginItem": { + "message": "Izveidot jaunu pieteikšanās vienumu" + }, + "criticalApplicationsWithCount": { + "message": "Kritiskas lietotnes ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Neviena lietotne nav atzīmēta kā būtiska" + "noAppsInOrgTitle": { + "message": "$ORG NAME$ netika atrasta neviena lietotne", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "Tiklīdz lietotāji saglabā pieteikšanās vienumus, šeit parādās lietotnes, norādot uz jebkurām riskam pakļautām parolēm. Atzīmēt kritiskās lietotnēs un apziņot lietotājus, lai atjaunina paroles." + }, + "noCriticalAppsTitle": { + "message": "Neviena lietotne nav atzīmēta kā kritiska" + }, + "noCriticalAppsDescription": { "message": "Atlasi kritiskākās lietotnes, la iatklātu riskam pakļautas paroles un apziņotu lietotājus, lai tās nomaina!" }, - "markPriorityApps": { - "message": "Atzīmēt būtiskās lietotnes" + "markCriticalApps": { + "message": "Atzīmēt kritiskas lietotnes" }, "markAppAsCritical": { "message": "Atzīmēt lietotni kā kritisku" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Riskam pakļautās paroles" }, + "requestPasswordChange": { + "message": "Pieprasīt paroles nomaiņu" + }, "totalPasswords": { "message": "Kopējais paroļu skaits" }, + "searchApps": { + "message": "Meklēt lietotnes" + }, "atRiskMembers": { "message": "Riskam pakļautie dalībnieki" }, diff --git a/apps/web/src/locales/ml/messages.json b/apps/web/src/locales/ml/messages.json index c37e4740a40..0a2ec292d8a 100644 --- a/apps/web/src/locales/ml/messages.json +++ b/apps/web/src/locales/ml/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/mr/messages.json b/apps/web/src/locales/mr/messages.json index 3c207dd6c28..99e5f7bcf32 100644 --- a/apps/web/src/locales/mr/messages.json +++ b/apps/web/src/locales/mr/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/my/messages.json b/apps/web/src/locales/my/messages.json index 3c207dd6c28..99e5f7bcf32 100644 --- a/apps/web/src/locales/my/messages.json +++ b/apps/web/src/locales/my/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/nb/messages.json b/apps/web/src/locales/nb/messages.json index 7395681eaa6..b4baaa41e12 100644 --- a/apps/web/src/locales/nb/messages.json +++ b/apps/web/src/locales/nb/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/ne/messages.json b/apps/web/src/locales/ne/messages.json index 0df52ef79e0..828b477d70b 100644 --- a/apps/web/src/locales/ne/messages.json +++ b/apps/web/src/locales/ne/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/nl/messages.json b/apps/web/src/locales/nl/messages.json index 886fdb99793..6ed2bf68a7b 100644 --- a/apps/web/src/locales/nl/messages.json +++ b/apps/web/src/locales/nl/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Alle applicaties" }, - "priorityApplications": { - "message": "Applicaties met prioriteit" + "criticalApplications": { + "message": "Belangrijke applicaties" }, "accessIntelligence": { "message": "Toegangsintelligentie" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Applicaties met prioriteit ($COUNT$)", + "createNewLoginItem": { + "message": "Nieuw login item aanmaken" + }, + "criticalApplicationsWithCount": { + "message": "Belangrijke applicaties ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { + "noAppsInOrgTitle": { + "message": "Nieuwe applicaties gevonden in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } + }, + "noAppsInOrgDescription": { + "message": "Als gebruikers inloggegevens opslaan, verschijnen hier applicaties met wachtwoorden die risico lopen. Markeer belangrijke applicaties en attendeer gebruikers op het bijwerken van wachtwoorden." + }, + "noCriticalAppsTitle": { "message": "Je hebt nog geen applicaties als belangrijk aangewezen" }, - "noPriorityApplicationsDescription": { + "noCriticalAppsDescription": { "message": "Wijs je meest belangrijke applicaties aan om risicovolle wachtwoorden te ontdekken en gebruikers te attenderen deze te wijzigen." }, - "markPriorityApps": { - "message": "Belangrijke apps aanwijzen" + "markCriticalApps": { + "message": "Markeer belangrijke apps" }, "markAppAsCritical": { "message": "App aanwijzen als belangrijk" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Wachtwoorden in gevaar" }, + "requestPasswordChange": { + "message": "Hoofdwachtwijziging vragen" + }, "totalPasswords": { "message": "Totaal wachtwoorden" }, + "searchApps": { + "message": "Applicaties zoeken" + }, "atRiskMembers": { "message": "Leden in gevaar" }, diff --git a/apps/web/src/locales/nn/messages.json b/apps/web/src/locales/nn/messages.json index d8316ef3273..1611c91135d 100644 --- a/apps/web/src/locales/nn/messages.json +++ b/apps/web/src/locales/nn/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/or/messages.json b/apps/web/src/locales/or/messages.json index 3c207dd6c28..99e5f7bcf32 100644 --- a/apps/web/src/locales/or/messages.json +++ b/apps/web/src/locales/or/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/pl/messages.json b/apps/web/src/locales/pl/messages.json index 6f9acb04be9..2ca3fd14060 100644 --- a/apps/web/src/locales/pl/messages.json +++ b/apps/web/src/locales/pl/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/pt_BR/messages.json b/apps/web/src/locales/pt_BR/messages.json index aa81fc5a063..75b86c3720f 100644 --- a/apps/web/src/locales/pt_BR/messages.json +++ b/apps/web/src/locales/pt_BR/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Todos os aplicativos" }, - "priorityApplications": { - "message": "Aplicações prioritárias" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Acessar a Inteligência" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Aplicações prioritárias ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Senhas de risco" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total de senhas" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "Membros de risco" }, diff --git a/apps/web/src/locales/pt_PT/messages.json b/apps/web/src/locales/pt_PT/messages.json index f9120e1eb6c..ddde15005b2 100644 --- a/apps/web/src/locales/pt_PT/messages.json +++ b/apps/web/src/locales/pt_PT/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Todas as aplicações" }, - "priorityApplications": { - "message": "Aplicações prioritárias" + "criticalApplications": { + "message": "Aplicações críticas" }, "accessIntelligence": { "message": "Acesso à informação" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Aplicações prioritárias ($COUNT$)", + "createNewLoginItem": { + "message": "Criar novo item de credencial" + }, + "criticalApplicationsWithCount": { + "message": "Aplicações críticas ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Não marcou nenhuma aplicação como prioritária" + "noAppsInOrgTitle": { + "message": "Não foram encontradas aplicações em $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "À medida que os utilizadores guardam as credenciais, as aplicações aparecem aqui, mostrando quaisquer palavras-passe em risco. Marque as aplicações críticas e notifique os utilizadores para atualizarem as palavras-passe." + }, + "noCriticalAppsTitle": { + "message": "Não marcou nenhuma aplicação como crítica" + }, + "noCriticalAppsDescription": { "message": "Selecione as suas aplicações mais críticas para descobrir palavras-passe em risco e notifique os utilizadores para alterarem essas palavras-passe." }, - "markPriorityApps": { - "message": "Marcar aplicações prioritárias" + "markCriticalApps": { + "message": "Marcar aplicações críticas" }, "markAppAsCritical": { "message": "Marcar a aplicação como crítica" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Palavras-passe em risco" }, + "requestPasswordChange": { + "message": "Pedir alteração da palavra-passe" + }, "totalPasswords": { "message": "Total de palavras-passe" }, + "searchApps": { + "message": "Procurar aplicações" + }, "atRiskMembers": { "message": "Membros em risco" }, diff --git a/apps/web/src/locales/ro/messages.json b/apps/web/src/locales/ro/messages.json index ad322920b34..d925bf1003f 100644 --- a/apps/web/src/locales/ro/messages.json +++ b/apps/web/src/locales/ro/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/ru/messages.json b/apps/web/src/locales/ru/messages.json index d18aa658d21..ef6c6607778 100644 --- a/apps/web/src/locales/ru/messages.json +++ b/apps/web/src/locales/ru/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Все приложения" }, - "priorityApplications": { - "message": "Приоритетные приложения" + "criticalApplications": { + "message": "Критичные приложения" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Приоритетные приложения ($COUNT$)", + "createNewLoginItem": { + "message": "Создать новый логин" + }, + "criticalApplicationsWithCount": { + "message": "Критичные приложения ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Вы не отметили ни одного приложения в качестве приоритетного" + "noAppsInOrgTitle": { + "message": "Не найдено приложений в $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "По мере сохранения пользователями логинов, здесь отображаются приложения, с подверженными риску паролями. Отметьте критичные приложения и уведомите пользователей об необходимости обновления пароля." + }, + "noCriticalAppsTitle": { + "message": "Вы не отметили ни одного приложения в качестве критичного" + }, + "noCriticalAppsDescription": { "message": "Выберите наиболее важные приложения, чтобы обнаружить пароли, подверженные риску, и уведомить пользователей о необходимости сменить эти пароли." }, - "markPriorityApps": { - "message": "Отметьте приоритетные приложения" + "markCriticalApps": { + "message": "Отметить критичные приложения" }, "markAppAsCritical": { "message": "Пометить приложение как критическое" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Пароли, подверженные риску" }, + "requestPasswordChange": { + "message": "Запросить смену пароля" + }, "totalPasswords": { "message": "Всего паролей" }, + "searchApps": { + "message": "Поиск приложений" + }, "atRiskMembers": { "message": "Участники группы риска" }, diff --git a/apps/web/src/locales/si/messages.json b/apps/web/src/locales/si/messages.json index 201480d6410..cd1f0c408d8 100644 --- a/apps/web/src/locales/si/messages.json +++ b/apps/web/src/locales/si/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/sk/messages.json b/apps/web/src/locales/sk/messages.json index fbe9f7f517f..8d7de3775d8 100644 --- a/apps/web/src/locales/sk/messages.json +++ b/apps/web/src/locales/sk/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Všetky aplikácie" }, - "priorityApplications": { - "message": "Prioritné aplikácie" + "criticalApplications": { + "message": "Kritické aplikácie" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Prioritné aplikácie ($COUNT$)", + "createNewLoginItem": { + "message": "Pridať novu položku s prihlásením" + }, + "criticalApplicationsWithCount": { + "message": "Kritické aplikácie ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Neoznačili ste žiadne aplikácie ako prioritné" + "noAppsInOrgTitle": { + "message": "Neboli nájdené žiadne aplikácie v $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "Keď používatelia uložia prihlasovacie údaje, tu sa zobrazia aplikácie a ohrozené heslá. Označte kritické aplikácie a upozornite používateľov, aby si aktualizovali heslá." + }, + "noCriticalAppsTitle": { + "message": "Neoznačili ste žiadne aplikácie ako kritické" + }, + "noCriticalAppsDescription": { "message": "Pre odhalenie ohrozených hesiel a upozornenie používateľov aby si ich zmenili vyberte vaše najkritickejšie aplikácie." }, - "markPriorityApps": { - "message": "Označiť prioritné aplikácie" + "markCriticalApps": { + "message": "Označiť kritické aplikácie" }, "markAppAsCritical": { "message": "Označiť aplikáciu ako kritickú" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Ohrozených hesiel" }, + "requestPasswordChange": { + "message": "Požiadať o zmenu hesla" + }, "totalPasswords": { "message": "Celkom hesiel" }, + "searchApps": { + "message": "Vyhľadať aplikácie" + }, "atRiskMembers": { "message": "Ohrozených členov" }, diff --git a/apps/web/src/locales/sl/messages.json b/apps/web/src/locales/sl/messages.json index 6ba44bd96d8..d827f4cec4c 100644 --- a/apps/web/src/locales/sl/messages.json +++ b/apps/web/src/locales/sl/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/sr/messages.json b/apps/web/src/locales/sr/messages.json index 3a9a9c68cae..78f298b9406 100644 --- a/apps/web/src/locales/sr/messages.json +++ b/apps/web/src/locales/sr/messages.json @@ -2,20 +2,20 @@ "allApplications": { "message": "Све апликације" }, - "priorityApplications": { - "message": "Приоритетне апликације" + "criticalApplications": { + "message": "Критичне апликације" }, "accessIntelligence": { "message": "Access Intelligence" }, "passwordRisk": { - "message": "Password Risk" + "message": "Ризик од лозинке" }, "discoverAtRiskPasswords": { - "message": "Discover at-risk passwords and notify users to change those passwords." + "message": "Откријте ризичне лозинке и обавестите кориснике да промене те лозинке." }, "dataLastUpdated": { - "message": "Data last updated: $DATE$", + "message": "Подаци су последњи пут ажурирани: $DATE$", "placeholders": { "date": { "content": "$1", @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Приоритетне апликације ($COUNT$)", + "createNewLoginItem": { + "message": "Креирајте нову ставку за пријаву" + }, + "criticalApplicationsWithCount": { + "message": "Критичне апликације ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,20 +56,32 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "Није пронађена ниједна апликација у $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { - "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { + "message": "Изаберите своје најкритичније апликације да бисте открили ризичне лозинке и обавестите кориснике да промене те лозинке." + }, + "markCriticalApps": { + "message": "Означите критичне апликације" }, "markAppAsCritical": { - "message": "Mark app as critical" + "message": "Означите апликацију као критичну" }, "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "message": "Апликације означене као критичне" }, "application": { "message": "Апликација" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Лозинке под ризиком" }, + "requestPasswordChange": { + "message": "Затражити промену лозинке" + }, "totalPasswords": { "message": "Укупне лозинке" }, + "searchApps": { + "message": "Претражите апликације" + }, "atRiskMembers": { "message": "Чланови под ризиком" }, @@ -436,7 +457,7 @@ "message": "Генерисање лозинке" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "Генеришите приступну фразу" }, "checkPassword": { "message": "Проверите да ли је лозинка изложена." @@ -697,11 +718,11 @@ "description": "Copy password to clipboard" }, "copyPassphrase": { - "message": "Copy passphrase", + "message": "Копирај приступну фразу", "description": "Copy passphrase to clipboard" }, "passwordCopied": { - "message": "Password copied" + "message": "Лозинка копирана" }, "copyUsername": { "message": "Копирај име", @@ -970,13 +991,13 @@ "message": "Користи други начин пријављивања" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "Пријавите се са приступним кључем" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "Употребити једнократну пријаву" }, "welcomeBack": { - "message": "Welcome back" + "message": "Добродошли назад" }, "invalidPasskeyPleaseTryAgain": { "message": "Неважећи приступни кључ. Молим вас, покушајте поново." @@ -988,7 +1009,7 @@ "message": "Користите генерисан passkey који ће вас аутоматски пријавити без лозинке. Биометрија, као што је препознавање лица или отисак прста, или неки други FIDO2 метод за проверу идентитета." }, "newPasskey": { - "message": "Нов приступачни кључ" + "message": "Нов приступни кључ" }, "learnMoreAboutPasswordless": { "message": "Сазнајте више о пријављивању без лозинке" @@ -1000,16 +1021,16 @@ "message": "Држите овај прозор отворен и пратите упутства из прегледача." }, "errorCreatingPasskey": { - "message": "Грешка у креацији приступачног кључа" + "message": "Грешка у креацији приступног кључа" }, "errorCreatingPasskeyInfo": { - "message": "Дошло је до проблема приликом креирања вашег приступачниг кључа." + "message": "Дошло је до проблема приликом креирања вашег приступног кључа." }, "passkeySuccessfullyCreated": { - "message": "Приступачни кључ је успешно креиран!" + "message": "Приступни кључ је успешно креиран!" }, "customPasskeyNameInfo": { - "message": "Именујте Ваш приступачни кључ за лакшу идентификацију." + "message": "Именујте Ваш приступни кључ за лакшу идентификацију." }, "useForVaultEncryption": { "message": "Користи се за шифровање сефа" @@ -1042,16 +1063,16 @@ } }, "passkeyRemoved": { - "message": "Приступачни кључ је уклоњен" + "message": "Приступни кључ је уклоњен" }, "removePasskey": { - "message": "Уклонити приступачни кључ" + "message": "Уклонити приступни кључ" }, "removePasskeyInfo": { - "message": "Ако су сви приступачни кључеви уклоњени, нећете моћи да се пријавите на нове уређаје без ваше главне лозинке." + "message": "Ако су сви приступни кључеви уклоњени, нећете моћи да се пријавите на нове уређаје без ваше главне лозинке." }, "passkeyLimitReachedInfo": { - "message": "Достугнут лимит приступачног кључа. Уклонити један да би додали други." + "message": "Достугнут лимит приступног кључа. Уклонити један да би додали други." }, "tryAgain": { "message": "Покушај поново" @@ -1060,7 +1081,7 @@ "message": "Креирај налог" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "Нови сте у Bitwarden-у?" }, "setAStrongPassword": { "message": "Поставите јаку лозинку" @@ -1078,7 +1099,7 @@ "message": "Пријавите се" }, "logInToBitwarden": { - "message": "Log in to Bitwarden" + "message": "Пријавите се на Bitwarden" }, "verifyIdentity": { "message": "Потврдите идентитет" @@ -1717,7 +1738,7 @@ "message": "Пажљиво, ове акције су крајне!" }, "dangerZoneDescSingular": { - "message": "Careful, this action is not reversible!" + "message": "Пажљиво, ова акција није реверзибилна!" }, "deauthorizeSessions": { "message": "Одузели овлашћење сесије" @@ -1732,7 +1753,7 @@ "message": "Одузето овлашћење свих сесија" }, "accountIsManagedMessage": { - "message": "This account is managed by $ORGANIZATIONNAME$", + "message": "Овим налогом управља $ORGANIZATIONNAME$", "placeholders": { "organizationName": { "content": "$1", @@ -3198,7 +3219,7 @@ } }, "inviteSingleEmailDesc": { - "message": "You have 1 invite remaining." + "message": "Имате још 1 позивницу." }, "userUsingTwoStep": { "message": "Овај корисник користи пријаву у два корака за заштиту свог налога." @@ -4198,7 +4219,7 @@ "message": "Нисте ништа изабрали." }, "receiveMarketingEmailsV2": { - "message": "Get advice, announcements, and research opportunities from Bitwarden in your inbox." + "message": "Добијајте савете, најаве и могућности истраживања од Bitwarden-а у пријемном сандучету." }, "unsubscribe": { "message": "Одјави се" @@ -4668,7 +4689,7 @@ "message": "Ограничите корисницима могућност придруживања било којој другој организацији." }, "singleOrgPolicyDesc": { - "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + "message": "Ограничите чланове да се придруже другим организацијама. Ова смерница је неопходна за организације које су омогућиле верификацију домена." }, "singleOrgBlockCreateMessage": { "message": "Ваша тренутна организација има смернице које не дозвољавају да се придружите више организација. Молимо контактирајте администраторе своје организације или се пријавите са другим Bitwarden налога." @@ -4677,7 +4698,7 @@ "message": "Чланови организације који нису власници или администратори и који су већ чланови друге организације биће уклоњени из ваше организације." }, "singleOrgPolicyMemberWarning": { - "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + "message": "Чланови који не испуњавају услове биће стављени у статус опозива док не напусте све друге организације. Администратори су изузети и могу да поврате чланове када се испоштује усаглашеност." }, "requireSso": { "message": "Аутентификација једнократном пријавом" @@ -5190,7 +5211,7 @@ "description": "This will be used as part of a larger sentence, broken up to include links. The full sentence will read 'Learn more, see how it works, **or** try it now.'" }, "developmentDevOpsAndITTeamsChooseBWSecret": { - "message": "Development, DevOps, and IT teams choose Bitwarden Secrets Manager to securely manage and deploy their infrastructure and machine secrets." + "message": "Развојни, ДевОпс и ИТ тимови бирају Bitwarden Secrets Manager да безбедно управљају и примењују своју инфраструктуру и машинске тајне." }, "centralizeSecretsManagement": { "message": "Централизујте управљање тајнама." @@ -5835,10 +5856,10 @@ "message": "Типови захтева за корисничко име" }, "acrValues": { - "message": "Requested authentication context class reference values" + "message": "Захтеване референтне вредности класе контекста аутентикације" }, "expectedReturnAcrValue": { - "message": "Expected \"acr\" claim value in response" + "message": "Очекивано \"acr\" захтевају вредност у одговору" }, "spEntityId": { "message": "SP entity ID" @@ -6515,11 +6536,11 @@ "message": "Генеришите псеудоним е-поште помоћу екстерне услуге прослеђивања." }, "forwarderDomainName": { - "message": "Email domain", + "message": "Домен имејла", "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "Choose a domain that is supported by the selected service", + "message": "Изаберите домен који подржава изабрана услуга", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { @@ -8341,13 +8362,13 @@ "message": "Најмање један члан или група мора имати могућност управљања дозволом." }, "typePasskey": { - "message": "Приступачни кључ" + "message": "Приступни кључ" }, "passkeyNotCopied": { - "message": "Приступачни кључ неће бити копиран" + "message": "Приступни кључ неће бити копиран" }, "passkeyNotCopiedAlert": { - "message": "Приступачни кључ неће бити копиран на клонирану ставку. Да ли желите да наставите са клонирањем ставке?" + "message": "Приступни кључ неће бити копиран на клонирану ставку. Да ли желите да наставите са клонирањем ставке?" }, "modifiedCollectionManagement": { "message": "Измењено подешавање управљања колекцијом $ID$.", @@ -9529,12 +9550,12 @@ "message": "To host Bitwarden on your own server, you will need to upload your license file. To support Free Families plans and advanced billing capabilities for your self-hosted organization, you will need to set up automatic sync in your self-hosted organization." }, "selfHostingTitleProper": { - "message": "Self-Hosting" + "message": "Селф-Хостинг" }, "verified-domain-single-org-warning": { - "message": "Verifying a domain will turn on the single organization policy." + "message": "Верификација домена ће укључити политику једне организације." }, "single-org-revoked-user-warning": { - "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." + "message": "Чланови који не испуњавају услове биће опозвани. Администратори могу вратити чланове када напусте све друге организације." } } diff --git a/apps/web/src/locales/sr_CS/messages.json b/apps/web/src/locales/sr_CS/messages.json index 6f84999c97b..fd22d2d8cf4 100644 --- a/apps/web/src/locales/sr_CS/messages.json +++ b/apps/web/src/locales/sr_CS/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/sv/messages.json b/apps/web/src/locales/sv/messages.json index 71de6c04d07..8eacf15fb31 100644 --- a/apps/web/src/locales/sv/messages.json +++ b/apps/web/src/locales/sv/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Kritiska applikationer" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Kritiska applikationer ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "Inga applikationer hittades i $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Markera kritiska applikationer" }, "markAppAsCritical": { "message": "Markera app som kritisk" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/te/messages.json b/apps/web/src/locales/te/messages.json index 3c207dd6c28..99e5f7bcf32 100644 --- a/apps/web/src/locales/te/messages.json +++ b/apps/web/src/locales/te/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/th/messages.json b/apps/web/src/locales/th/messages.json index a80fbcd7c82..e5f976ffe15 100644 --- a/apps/web/src/locales/th/messages.json +++ b/apps/web/src/locales/th/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/tr/messages.json b/apps/web/src/locales/tr/messages.json index fa26e936be7..5650fb5e082 100644 --- a/apps/web/src/locales/tr/messages.json +++ b/apps/web/src/locales/tr/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Tüm uygulamalar" }, - "priorityApplications": { - "message": "Öncelikli uygulamalar" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Öncelikli uygulamalar ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Hiçbir uygulamayı öncelikli olarak işaretlemediniz" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Riskli parolalar" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Toplam parola" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "Riskli üyeler" }, diff --git a/apps/web/src/locales/uk/messages.json b/apps/web/src/locales/uk/messages.json index 261214d08f2..c6aad6ceb28 100644 --- a/apps/web/src/locales/uk/messages.json +++ b/apps/web/src/locales/uk/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "Всі програми" }, - "priorityApplications": { - "message": "Пріоритетні програми" + "criticalApplications": { + "message": "Критичні програми" }, "accessIntelligence": { "message": "Керування доступом" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Пріоритетні програми ($COUNT$)", + "createNewLoginItem": { + "message": "Створити новий запис" + }, + "criticalApplicationsWithCount": { + "message": "Критичні програми ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,20 +56,32 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "Ви не позначили жодної пріоритетної програми" + "noAppsInOrgTitle": { + "message": "Не знайдено програм в $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "Коли користувачі зберігатимуть записи, тут з'являтимуться програми з ризикованими паролями. Позначте критичні програми та сповіщайте користувачів про необхідність зміни паролів." + }, + "noCriticalAppsTitle": { + "message": "Ви не позначили жодної критичної програми" + }, + "noCriticalAppsDescription": { "message": "Виберіть найбільш критичні програми, для яких виявлятимуться ризиковані паролі, та сповіщайте користувачів про необхідність їх заміни." }, - "markPriorityApps": { - "message": "Позначити пріоритетні програми" + "markCriticalApps": { + "message": "Позначити критичні програми" }, "markAppAsCritical": { "message": "Позначити програму критичною" }, "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "message": "Позначені критичні програми" }, "application": { "message": "Програма" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "Ризиковані паролі" }, + "requestPasswordChange": { + "message": "Подати запит на зміну пароля" + }, "totalPasswords": { "message": "Всього паролів" }, + "searchApps": { + "message": "Пошук програм" + }, "atRiskMembers": { "message": "Ризиковані учасники" }, @@ -1717,7 +1738,7 @@ "message": "Обережно, ці дії неможливо скасувати!" }, "dangerZoneDescSingular": { - "message": "Careful, this action is not reversible!" + "message": "Обережно, цю дію неможливо скасувати!" }, "deauthorizeSessions": { "message": "Завершити сеанси" @@ -1732,7 +1753,7 @@ "message": "Усі сеанси завершено" }, "accountIsManagedMessage": { - "message": "This account is managed by $ORGANIZATIONNAME$", + "message": "Цим обліковим записом керує $ORGANIZATIONNAME$", "placeholders": { "organizationName": { "content": "$1", @@ -3198,7 +3219,7 @@ } }, "inviteSingleEmailDesc": { - "message": "You have 1 invite remaining." + "message": "У вас залишилось 1 запрошення." }, "userUsingTwoStep": { "message": "Цей користувач використовує двоетапну перевірку для захисту свого облікового запису." @@ -4668,7 +4689,7 @@ "message": "Заборонити користувачам приєднуватися до інших організацій." }, "singleOrgPolicyDesc": { - "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + "message": "Обмежте можливість учасників приєднуватися до інших організацій. Ця політика є обов'язковою для організацій, які активували перевірку доменів." }, "singleOrgBlockCreateMessage": { "message": "Ваша організація має політику, що не дозволяє вам приєднуватися до більш, ніж однієї організації. Будь ласка, зв'яжіться з адміністратором вашої організації, або увійдіть з іншим обліковим записом Bitwarden." @@ -4677,7 +4698,7 @@ "message": "Учасники організації, які не є власниками чи адміністраторами, але вже є учасниками іншої організації, будуть вилучені з вашої організації." }, "singleOrgPolicyMemberWarning": { - "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + "message": "Учасникам, які не відповідають вимогам, буде призначено стан \"відкликано\" доки вони не покинуть інші організації. Адміністратори є винятком і можуть відновити учасників у разі відповідності вимогам." }, "requireSso": { "message": "Вимагати автентифікацію з використанням єдиного входу (SSO)" @@ -6396,7 +6417,7 @@ "message": "Генерувати е-пошту" }, "generatorBoundariesHint": { - "message": "Value must be between $MIN$ and $MAX$", + "message": "Значення має бути між $MIN$ та $MAX$", "description": "Explains spin box minimum and maximum values to the user", "placeholders": { "min": { @@ -9532,9 +9553,9 @@ "message": "Власне розміщення" }, "verified-domain-single-org-warning": { - "message": "Verifying a domain will turn on the single organization policy." + "message": "Підтвердження домену ввімкне політику єдиної організації." }, "single-org-revoked-user-warning": { - "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." + "message": "Невідповідних учасників буде відкликано. Адміністратори зможуть відновити учасників, коли ті покинуть всі інші організації." } } diff --git a/apps/web/src/locales/vi/messages.json b/apps/web/src/locales/vi/messages.json index 454cc2fd145..83e54637b79 100644 --- a/apps/web/src/locales/vi/messages.json +++ b/apps/web/src/locales/vi/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, diff --git a/apps/web/src/locales/zh_CN/messages.json b/apps/web/src/locales/zh_CN/messages.json index fe6a4c0d9eb..56fddc0db41 100644 --- a/apps/web/src/locales/zh_CN/messages.json +++ b/apps/web/src/locales/zh_CN/messages.json @@ -1,21 +1,21 @@ { "allApplications": { - "message": "All applications" + "message": "所有应用程序" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "关键应用程序" }, "accessIntelligence": { "message": "Access Intelligence" }, "passwordRisk": { - "message": "Password Risk" + "message": "密码风险" }, "discoverAtRiskPasswords": { - "message": "Discover at-risk passwords and notify users to change those passwords." + "message": "发现有风险的密码并通知用户更改这些密码。" }, "dataLastUpdated": { - "message": "Data last updated: $DATE$", + "message": "数据最后更新于:$DATE$", "placeholders": { "date": { "content": "$1", @@ -24,10 +24,10 @@ } }, "notifiedMembers": { - "message": "Notified members" + "message": "已通知的成员" }, "allApplicationsWithCount": { - "message": "All applications ($COUNT$)", + "message": "所有应用程序($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "创建新的登录项目" + }, + "criticalApplicationsWithCount": { + "message": "关键应用程序($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -45,7 +48,7 @@ } }, "notifiedMembersWithCount": { - "message": "Notified members ($COUNT$)", + "message": "已通知的成员($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,41 +56,59 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "在 $ORG NAME$ 中未发现任何应用程序", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { - "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." + "noAppsInOrgDescription": { + "message": "当用户保存登录信息时,应用程序会出现在这里,显示所有有风险的密码。标记关键应用程序并通知用户更新密码。" }, - "markPriorityApps": { - "message": "Mark priority apps" + "noCriticalAppsTitle": { + "message": "您未将任何应用程序标记为关键" + }, + "noCriticalAppsDescription": { + "message": "选择最关键的应用程序来发现有风险的密码,并通知用户更改这些密码。" + }, + "markCriticalApps": { + "message": "标记关键应用程序" }, "markAppAsCritical": { - "message": "Mark app as critical" + "message": "标记应用程序为关键" }, "appsMarkedAsCritical": { - "message": "Apps marked as critical" + "message": "应用程序已标记为关键" }, "application": { - "message": "Application" + "message": "应用程序" }, "atRiskPasswords": { - "message": "At-risk passwords" + "message": "有风险的密码" + }, + "requestPasswordChange": { + "message": "请求更改密码" }, "totalPasswords": { - "message": "Total passwords" + "message": "总的密码" + }, + "searchApps": { + "message": "搜索应用程序" }, "atRiskMembers": { - "message": "At-risk members" + "message": "有风险的成员" }, "totalMembers": { - "message": "Total members" + "message": "总的成员" }, "atRiskApplications": { - "message": "At-risk applications" + "message": "有风险的应用程序" }, "totalApplications": { - "message": "Total applications" + "message": "总的应用程序" }, "whatTypeOfItem": { "message": "这是什么类型的项目?" @@ -436,7 +457,7 @@ "message": "生成密码" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "生成密码短语" }, "checkPassword": { "message": "检查密码是否已暴露。" @@ -697,7 +718,7 @@ "description": "Copy password to clipboard" }, "copyPassphrase": { - "message": "Copy passphrase", + "message": "复制密码短语", "description": "Copy passphrase to clipboard" }, "passwordCopied": { @@ -970,10 +991,10 @@ "message": "使用不同的登录方式" }, "logInWithPasskey": { - "message": "Log in with passkey" + "message": "使用通行密钥登录" }, "useSingleSignOn": { - "message": "Use single sign-on" + "message": "使用单点登录" }, "welcomeBack": { "message": "欢迎回来" @@ -1714,10 +1735,10 @@ "message": "危险操作区" }, "dangerZoneDesc": { - "message": "当心,这些操作是不可逆的!" + "message": "当心,这些操作无法撤销!" }, "dangerZoneDescSingular": { - "message": "Careful, this action is not reversible!" + "message": "当心,此操作无法撤销!" }, "deauthorizeSessions": { "message": "取消会话授权" @@ -1732,7 +1753,7 @@ "message": "已取消所有会话授权" }, "accountIsManagedMessage": { - "message": "This account is managed by $ORGANIZATIONNAME$", + "message": "此账户由 $ORGANIZATIONNAME$ 管理", "placeholders": { "organizationName": { "content": "$1", @@ -2373,7 +2394,7 @@ "message": "您的密码库中没有带弱密码的项目。" }, "weakness": { - "message": "Weakness" + "message": "弱" }, "reusedPasswordsReport": { "message": "重复使用的密码" @@ -3135,7 +3156,7 @@ "message": "确实要移除此用户吗?" }, "removeOrgUserConfirmation": { - "message": "移除成员后,他们将不再具有对组织数据的访问权限,并且此操作是不可逆的。要将此成员添加回组织,必须再次邀请他们并加入。" + "message": "移除成员后,他们将不再具有对组织数据的访问权限,并且此操作无法撤销。要将此成员添加回组织,必须再次邀请他们并加入。" }, "revokeUserConfirmation": { "message": "撤销成员后,他们将不再具有对组织数据的访问权限。要快速恢复此成员的访问权限,请转到「已撤销」标签页。" @@ -3198,7 +3219,7 @@ } }, "inviteSingleEmailDesc": { - "message": "You have 1 invite remaining." + "message": "您还剩下 1 个邀请。" }, "userUsingTwoStep": { "message": "此用户正在使用两步登录来保护他们的账户。" @@ -3243,7 +3264,7 @@ "message": "添加访问权限" }, "addAccessFilter": { - "message": "添加访问过滤器" + "message": "添加访问权限筛选" }, "refresh": { "message": "刷新" @@ -4668,7 +4689,7 @@ "message": "限制成员加入其他组织。" }, "singleOrgPolicyDesc": { - "message": "Restrict members from joining other organizations. This policy is required for organizations that have enabled domain verification." + "message": "限制成员加入其他组织。对于已启用域名验证的组织来说,该策略是必需的。" }, "singleOrgBlockCreateMessage": { "message": "您当前的组织策略禁止您加入多个组织。请联系您的组织管理员,或从其他 Bitwarden 账户注册。" @@ -4677,7 +4698,7 @@ "message": "不是所有者或管理员并且已是其他组织的成员的组织成员将从您的组织中移除。" }, "singleOrgPolicyMemberWarning": { - "message": "Non-compliant members will be placed in revoked status until they leave all other organizations. Administrators are exempt and can restore members once compliance is met." + "message": "不符合要求的成员将被置于撤销状态,直到他们离开所有其他组织。管理员可以豁免,达到要求后,管理员可以恢复他们的成员资格。" }, "requireSso": { "message": "要求单点登录身份验证" @@ -5460,7 +5481,7 @@ "message": "确定要移除以下用户吗?该过程可能需要几秒钟才能完成,并且不能中断或取消。" }, "removeOrgUsersConfirmation": { - "message": "移除成员后,他们将不再具有对组织数据的访问权限,并且此操作是不可逆的。要将成员添加回组织,必须再次邀请他们并加入。该过程可能需要几秒钟才能完成,并且不能被中断或取消。" + "message": "移除成员后,他们将不再具有对组织数据的访问权限,并且此操作无法撤销。要将成员添加回组织,必须再次邀请他们并加入。该过程可能需要几秒钟才能完成,并且不能被中断或取消。" }, "revokeUsersWarning": { "message": "撤销成员后,他们将不再具有对组织数据的访问权限。要快速恢复成员的访问权限,请转到「已撤销」标签页。该过程可能需要几秒钟才能完成,并且不能被中断或取消。" @@ -6393,10 +6414,10 @@ "message": "生成用户名" }, "generateEmail": { - "message": "Generate email" + "message": "生成邮件地址" }, "generatorBoundariesHint": { - "message": "Value must be between $MIN$ and $MAX$", + "message": "值必须在 $MIN$ 和 $MAX$ 之间", "description": "Explains spin box minimum and maximum values to the user", "placeholders": { "min": { @@ -6515,11 +6536,11 @@ "message": "使用外部转发服务生成一个电子邮件别名。" }, "forwarderDomainName": { - "message": "Email domain", + "message": "邮件域名", "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "Choose a domain that is supported by the selected service", + "message": "选择一个所选服务支持的域名", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { @@ -9522,19 +9543,19 @@ "message": "您确定要永久删除此附件吗?" }, "manageSubscriptionFromThe": { - "message": "Manage subscription from the", + "message": "管理订阅,通过", "description": "This represents the beginning of a sentence. The full sentence will be 'Manage subscription from the Provider Portal', but 'Provider Portal' will be a link and thus cannot be included in the translation file." }, "toHostBitwardenOnYourOwnServer": { - "message": "To host Bitwarden on your own server, you will need to upload your license file. To support Free Families plans and advanced billing capabilities for your self-hosted organization, you will need to set up automatic sync in your self-hosted organization." + "message": "要在您自己的服务器上托管 Bitwarden,您需要上传许可证文件。要支持自托管组织的免费家庭计划和高级计费功能,您需要在自托管组织中设置自动同步。" }, "selfHostingTitleProper": { "message": "自托管" }, "verified-domain-single-org-warning": { - "message": "Verifying a domain will turn on the single organization policy." + "message": "验证域名将启用单一组织策略。" }, "single-org-revoked-user-warning": { - "message": "Non-compliant members will be revoked. Administrators can restore members once they leave all other organizations." + "message": "不符合要求的成员将被撤销。管理员可以在他们离开所有其他组织后恢复其成员资格。" } } diff --git a/apps/web/src/locales/zh_TW/messages.json b/apps/web/src/locales/zh_TW/messages.json index c899f01e68e..571116f4bc1 100644 --- a/apps/web/src/locales/zh_TW/messages.json +++ b/apps/web/src/locales/zh_TW/messages.json @@ -2,8 +2,8 @@ "allApplications": { "message": "All applications" }, - "priorityApplications": { - "message": "Priority applications" + "criticalApplications": { + "message": "Critical applications" }, "accessIntelligence": { "message": "Access Intelligence" @@ -35,8 +35,11 @@ } } }, - "priorityApplicationsWithCount": { - "message": "Priority applications ($COUNT$)", + "createNewLoginItem": { + "message": "Create new login item" + }, + "criticalApplicationsWithCount": { + "message": "Critical applications ($COUNT$)", "placeholders": { "count": { "content": "$1", @@ -53,14 +56,26 @@ } } }, - "noPriorityApplicationsTitle": { - "message": "You haven’t marked any applications as a priority" + "noAppsInOrgTitle": { + "message": "No applications found in $ORG NAME$", + "placeholders": { + "org name": { + "content": "$1", + "example": "Company Name" + } + } }, - "noPriorityApplicationsDescription": { + "noAppsInOrgDescription": { + "message": "As users save logins, applications appear here, showing any at-risk passwords. Mark critical apps and notify users to update passwords." + }, + "noCriticalAppsTitle": { + "message": "You haven't marked any applications as a Critical" + }, + "noCriticalAppsDescription": { "message": "Select your most critical applications to discover at-risk passwords, and notify users to change those passwords." }, - "markPriorityApps": { - "message": "Mark priority apps" + "markCriticalApps": { + "message": "Mark critical apps" }, "markAppAsCritical": { "message": "Mark app as critical" @@ -74,9 +89,15 @@ "atRiskPasswords": { "message": "At-risk passwords" }, + "requestPasswordChange": { + "message": "Request password change" + }, "totalPasswords": { "message": "Total passwords" }, + "searchApps": { + "message": "Search applications" + }, "atRiskMembers": { "message": "At-risk members" }, From 343fb28010a5778dc3b2862a371b0c8c5ffea679 Mon Sep 17 00:00:00 2001 From: Andreas Coroiu Date: Mon, 4 Nov 2024 13:29:07 +0100 Subject: [PATCH 28/31] chore: bump SDK to 0.1.7 (#11839) This version contains: - GPL license - Function to get SDK version --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a9b978b8554..e5849c3110b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "@angular/platform-browser": "16.2.12", "@angular/platform-browser-dynamic": "16.2.12", "@angular/router": "16.2.12", - "@bitwarden/sdk-internal": "0.1.6", + "@bitwarden/sdk-internal": "0.1.7", "@electron/fuses": "1.8.0", "@koa/multer": "3.0.2", "@koa/router": "13.1.0", @@ -4696,9 +4696,9 @@ "link": true }, "node_modules/@bitwarden/sdk-internal": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@bitwarden/sdk-internal/-/sdk-internal-0.1.6.tgz", - "integrity": "sha512-YUOOcXnK004mAwE+vfy7AgeLYCtTyafYaXEWED3PNRaSun/a5elrAD//h2yuF9u8Dn5jg1VDkssMPpuG9+2VxA==" + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@bitwarden/sdk-internal/-/sdk-internal-0.1.7.tgz", + "integrity": "sha512-bpcY4rMipUtNSuhMQBAIdPR/Cz1Fx501yG5Vfsp7CuG28g3eQhkIRQsc07s/HAoKlT20senWbMGdHMM0q1IAGw==" }, "node_modules/@bitwarden/vault": { "resolved": "libs/vault", diff --git a/package.json b/package.json index c5d963bef14..fc9e9870f62 100644 --- a/package.json +++ b/package.json @@ -158,7 +158,7 @@ "@angular/platform-browser": "16.2.12", "@angular/platform-browser-dynamic": "16.2.12", "@angular/router": "16.2.12", - "@bitwarden/sdk-internal": "0.1.6", + "@bitwarden/sdk-internal": "0.1.7", "@electron/fuses": "1.8.0", "@koa/multer": "3.0.2", "@koa/router": "13.1.0", From 80d36f4135869cc720b5183f81cebae94ca00180 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 14:09:51 +0100 Subject: [PATCH 29/31] [deps] Platform: Update argon2 to v0.41.1 (#11065) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- apps/cli/package.json | 2 +- apps/desktop/src/package-lock.json | 23 +++++++++++++---------- apps/desktop/src/package.json | 2 +- package-lock.json | 25 ++++++++++++++----------- package.json | 2 +- 5 files changed, 30 insertions(+), 24 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index fb9f682f961..6aa48d5d4a5 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -58,7 +58,7 @@ "dependencies": { "@koa/multer": "3.0.2", "@koa/router": "13.1.0", - "argon2": "0.40.1", + "argon2": "0.41.1", "big-integer": "1.6.52", "browser-hrtime": "1.1.8", "chalk": "4.1.2", diff --git a/apps/desktop/src/package-lock.json b/apps/desktop/src/package-lock.json index 092a8c97618..669467d3569 100644 --- a/apps/desktop/src/package-lock.json +++ b/apps/desktop/src/package-lock.json @@ -10,7 +10,7 @@ "license": "GPL-3.0", "dependencies": { "@bitwarden/desktop-napi": "file:../desktop_native/napi", - "argon2": "0.40.1" + "argon2": "0.41.1" } }, "../desktop_native/napi": { @@ -35,25 +35,28 @@ } }, "node_modules/argon2": { - "version": "0.40.1", - "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.40.1.tgz", - "integrity": "sha512-DjtHDwd7pm12qeWyfihHoM8Bn5vGcgH6sKwgPqwNYroRmxlrzadHEvMyuvQxN/V8YSyRRKD5x6ito09q1e9OyA==", + "version": "0.41.1", + "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.41.1.tgz", + "integrity": "sha512-dqCW8kJXke8Ik+McUcMDltrbuAWETPyU6iq+4AhxqKphWi7pChB/Zgd/Tp/o8xRLbg8ksMj46F/vph9wnxpTzQ==", "hasInstallScript": true, "license": "MIT", "dependencies": { "@phc/format": "^1.0.0", - "node-addon-api": "^7.1.0", - "node-gyp-build": "^4.8.0" + "node-addon-api": "^8.1.0", + "node-gyp-build": "^4.8.1" }, "engines": { "node": ">=16.17.0" } }, "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "license": "MIT" + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.2.1.tgz", + "integrity": "sha512-vmEOvxwiH8tlOcv4SyE8RH34rI5/nWVaigUeAUPawC6f0+HoDthwI0vkMu4tbtsZrXq6QXFfrkhjofzKEs5tpA==", + "license": "MIT", + "engines": { + "node": "^18 || ^20 || >= 21" + } }, "node_modules/node-gyp-build": { "version": "4.8.2", diff --git a/apps/desktop/src/package.json b/apps/desktop/src/package.json index 5e27de5f415..bc711455185 100644 --- a/apps/desktop/src/package.json +++ b/apps/desktop/src/package.json @@ -13,6 +13,6 @@ }, "dependencies": { "@bitwarden/desktop-napi": "file:../desktop_native/napi", - "argon2": "0.40.1" + "argon2": "0.41.1" } } diff --git a/package-lock.json b/package-lock.json index e5849c3110b..b5c24a5eafd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "@microsoft/signalr": "8.0.7", "@microsoft/signalr-protocol-msgpack": "8.0.7", "@ng-select/ng-select": "11.2.0", - "argon2": "0.40.1", + "argon2": "0.41.1", "argon2-browser": "1.18.0", "big-integer": "1.6.52", "bootstrap": "4.6.0", @@ -203,7 +203,7 @@ "dependencies": { "@koa/multer": "3.0.2", "@koa/router": "13.1.0", - "argon2": "0.40.1", + "argon2": "0.41.1", "big-integer": "1.6.52", "browser-hrtime": "1.1.8", "chalk": "4.1.2", @@ -11981,15 +11981,15 @@ "license": "MIT" }, "node_modules/argon2": { - "version": "0.40.1", - "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.40.1.tgz", - "integrity": "sha512-DjtHDwd7pm12qeWyfihHoM8Bn5vGcgH6sKwgPqwNYroRmxlrzadHEvMyuvQxN/V8YSyRRKD5x6ito09q1e9OyA==", + "version": "0.41.1", + "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.41.1.tgz", + "integrity": "sha512-dqCW8kJXke8Ik+McUcMDltrbuAWETPyU6iq+4AhxqKphWi7pChB/Zgd/Tp/o8xRLbg8ksMj46F/vph9wnxpTzQ==", "hasInstallScript": true, "license": "MIT", "dependencies": { "@phc/format": "^1.0.0", - "node-addon-api": "^7.1.0", - "node-gyp-build": "^4.8.0" + "node-addon-api": "^8.1.0", + "node-gyp-build": "^4.8.1" }, "engines": { "node": ">=16.17.0" @@ -28588,10 +28588,13 @@ "license": "MIT" }, "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "license": "MIT" + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.2.1.tgz", + "integrity": "sha512-vmEOvxwiH8tlOcv4SyE8RH34rI5/nWVaigUeAUPawC6f0+HoDthwI0vkMu4tbtsZrXq6QXFfrkhjofzKEs5tpA==", + "license": "MIT", + "engines": { + "node": "^18 || ^20 || >= 21" + } }, "node_modules/node-api-version": { "version": "0.2.0", diff --git a/package.json b/package.json index fc9e9870f62..37cd7fc120b 100644 --- a/package.json +++ b/package.json @@ -165,7 +165,7 @@ "@microsoft/signalr": "8.0.7", "@microsoft/signalr-protocol-msgpack": "8.0.7", "@ng-select/ng-select": "11.2.0", - "argon2": "0.40.1", + "argon2": "0.41.1", "argon2-browser": "1.18.0", "big-integer": "1.6.52", "bootstrap": "4.6.0", From f6755da15ba7d935aea5cbb3d0954702329df17a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Nov 2024 14:10:54 +0100 Subject: [PATCH 30/31] [deps] Platform: Update Rust crate tokio to v1.41.0 (#10848) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- apps/desktop/desktop_native/Cargo.lock | 28 +++++++-------------- apps/desktop/desktop_native/core/Cargo.toml | 2 +- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/apps/desktop/desktop_native/Cargo.lock b/apps/desktop/desktop_native/Cargo.lock index a730ee36f87..02ebe8ec1f3 100644 --- a/apps/desktop/desktop_native/Cargo.lock +++ b/apps/desktop/desktop_native/Cargo.lock @@ -1150,13 +1150,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.11" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ + "hermit-abi 0.3.9", "libc", "wasi", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1258,16 +1259,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - [[package]] name = "num_threads" version = "0.1.7" @@ -1937,26 +1928,25 @@ dependencies = [ [[package]] name = "tokio" -version = "1.38.0" +version = "1.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "pin-project-lite", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", diff --git a/apps/desktop/desktop_native/core/Cargo.toml b/apps/desktop/desktop_native/core/Cargo.toml index 7df096d2494..7c9c5de1554 100644 --- a/apps/desktop/desktop_native/core/Cargo.toml +++ b/apps/desktop/desktop_native/core/Cargo.toml @@ -39,7 +39,7 @@ retry = "=2.0.0" scopeguard = "=1.2.0" sha2 = "=0.10.8" thiserror = "=1.0.61" -tokio = { version = "=1.38.0", features = ["io-util", "sync", "macros"] } +tokio = { version = "=1.41.0", features = ["io-util", "sync", "macros"] } tokio-util = "=0.7.12" typenum = "=1.17.0" From 2e6ed4a4fc7daeadaf89dbb6c5ee3471c596f416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa?= Date: Mon, 4 Nov 2024 14:50:05 +0100 Subject: [PATCH 31/31] [PM-14270] Use rust to access windows registry (#11413) --- .github/renovate.json | 4 +- apps/desktop/desktop_native/Cargo.lock | 32 ++++++++- apps/desktop/desktop_native/napi/Cargo.toml | 3 + apps/desktop/desktop_native/napi/index.d.ts | 4 ++ apps/desktop/desktop_native/napi/src/lib.rs | 18 +++++ .../desktop_native/napi/src/registry/dummy.rs | 9 +++ .../desktop_native/napi/src/registry/mod.rs | 4 ++ .../napi/src/registry/windows.rs | 29 ++++++++ apps/desktop/electron-builder.json | 7 -- .../desktop/src/main/native-messaging.main.ts | 70 ++++--------------- package-lock.json | 66 ----------------- package.json | 1 - 12 files changed, 113 insertions(+), 134 deletions(-) create mode 100644 apps/desktop/desktop_native/napi/src/registry/dummy.rs create mode 100644 apps/desktop/desktop_native/napi/src/registry/mod.rs create mode 100644 apps/desktop/desktop_native/napi/src/registry/windows.rs diff --git a/.github/renovate.json b/.github/renovate.json index b044212e58a..f4631804583 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -73,7 +73,7 @@ "reviewers": ["team:team-admin-console-dev"] }, { - "matchPackageNames": ["@types/node-ipc", "node-ipc", "qrious", "regedit"], + "matchPackageNames": ["@types/node-ipc", "node-ipc", "qrious"], "description": "Auth owned dependencies", "commitMessagePrefix": "[deps] Auth:", "reviewers": ["team:team-auth-dev"] @@ -258,5 +258,5 @@ "reviewers": ["team:team-vault-dev"] } ], - "ignoreDeps": ["@types/koa-bodyparser", "bootstrap", "node-ipc", "node", "npm", "regedit"] + "ignoreDeps": ["@types/koa-bodyparser", "bootstrap", "node-ipc", "node", "npm"] } diff --git a/apps/desktop/desktop_native/Cargo.lock b/apps/desktop/desktop_native/Cargo.lock index 02ebe8ec1f3..1f7607b0d23 100644 --- a/apps/desktop/desktop_native/Cargo.lock +++ b/apps/desktop/desktop_native/Cargo.lock @@ -546,6 +546,7 @@ dependencies = [ "napi-derive", "tokio", "tokio-util", + "windows-registry", ] [[package]] @@ -2226,7 +2227,7 @@ checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ "windows-implement", "windows-interface", - "windows-result", + "windows-result 0.1.2", "windows-targets 0.52.6", ] @@ -2252,6 +2253,17 @@ dependencies = [ "syn", ] +[[package]] +name = "windows-registry" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bafa604f2104cf5ae2cc2db1dee84b7e6a5d11b05f737b60def0ffdc398cbc0a" +dependencies = [ + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.1.2" @@ -2261,6 +2273,24 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978d65aedf914c664c510d9de43c8fd85ca745eaff1ed53edf409b479e441663" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" diff --git a/apps/desktop/desktop_native/napi/Cargo.toml b/apps/desktop/desktop_native/napi/Cargo.toml index 787f22ef37d..6da4fcb0153 100644 --- a/apps/desktop/desktop_native/napi/Cargo.toml +++ b/apps/desktop/desktop_native/napi/Cargo.toml @@ -21,5 +21,8 @@ napi-derive = "=2.16.12" tokio = { version = "1.38.0" } tokio-util = "0.7.11" +[target.'cfg(windows)'.dependencies] +windows-registry = "=0.3.0" + [build-dependencies] napi-build = "=2.1.3" diff --git a/apps/desktop/desktop_native/napi/index.d.ts b/apps/desktop/desktop_native/napi/index.d.ts index 45191a48eb0..8e1c1381b5f 100644 --- a/apps/desktop/desktop_native/napi/index.d.ts +++ b/apps/desktop/desktop_native/napi/index.d.ts @@ -51,6 +51,10 @@ export declare namespace powermonitors { export function onLock(callback: (err: Error | null, ) => any): Promise export function isLockMonitorAvailable(): Promise } +export declare namespace windows_registry { + export function createKey(key: string, subkey: string, value: string): Promise + export function deleteKey(key: string, subkey: string): Promise +} export declare namespace ipc { export interface IpcMessage { clientId: number diff --git a/apps/desktop/desktop_native/napi/src/lib.rs b/apps/desktop/desktop_native/napi/src/lib.rs index 838eb651244..face07f2f4e 100644 --- a/apps/desktop/desktop_native/napi/src/lib.rs +++ b/apps/desktop/desktop_native/napi/src/lib.rs @@ -1,5 +1,8 @@ #[macro_use] extern crate napi_derive; + +mod registry; + #[napi] pub mod passwords { /// Fetch the stored password from the keychain. @@ -190,6 +193,21 @@ pub mod powermonitors { } +#[napi] +pub mod windows_registry { + #[napi] + pub async fn create_key(key: String, subkey: String, value: String) -> napi::Result<()> { + crate::registry::create_key(&key, &subkey, &value) + .map_err(|e| napi::Error::from_reason(e.to_string())) + } + + #[napi] + pub async fn delete_key(key: String, subkey: String) -> napi::Result<()> { + crate::registry::delete_key(&key, &subkey) + .map_err(|e| napi::Error::from_reason(e.to_string())) + } +} + #[napi] pub mod ipc { use desktop_core::ipc::server::{Message, MessageType}; diff --git a/apps/desktop/desktop_native/napi/src/registry/dummy.rs b/apps/desktop/desktop_native/napi/src/registry/dummy.rs new file mode 100644 index 00000000000..8cef50f3aaf --- /dev/null +++ b/apps/desktop/desktop_native/napi/src/registry/dummy.rs @@ -0,0 +1,9 @@ +use anyhow::{bail, Result}; + +pub fn create_key(_key: &str, _subkey: &str, _value: &str) -> Result<()> { + bail!("Not implemented") +} + +pub fn delete_key(_key: &str, _subkey: &str) -> Result<()> { + bail!("Not implemented") +} diff --git a/apps/desktop/desktop_native/napi/src/registry/mod.rs b/apps/desktop/desktop_native/napi/src/registry/mod.rs new file mode 100644 index 00000000000..68929408ec7 --- /dev/null +++ b/apps/desktop/desktop_native/napi/src/registry/mod.rs @@ -0,0 +1,4 @@ +#[cfg_attr(target_os = "windows", path = "windows.rs")] +#[cfg_attr(not(target_os = "windows"), path = "dummy.rs")] +mod internal; +pub use internal::*; diff --git a/apps/desktop/desktop_native/napi/src/registry/windows.rs b/apps/desktop/desktop_native/napi/src/registry/windows.rs new file mode 100644 index 00000000000..481dfb5dc49 --- /dev/null +++ b/apps/desktop/desktop_native/napi/src/registry/windows.rs @@ -0,0 +1,29 @@ +use anyhow::{bail, Result}; + +fn convert_key(key: &str) -> Result<&'static windows_registry::Key> { + Ok(match key.to_uppercase().as_str() { + "HKEY_CURRENT_USER" | "HKCU" => windows_registry::CURRENT_USER, + "HKEY_LOCAL_MACHINE" | "HKLM" => windows_registry::LOCAL_MACHINE, + "HKEY_CLASSES_ROOT" | "HKCR" => windows_registry::CLASSES_ROOT, + _ => bail!("Invalid key"), + }) +} + +pub fn create_key(key: &str, subkey: &str, value: &str) -> Result<()> { + let key = convert_key(key)?; + + let subkey = key.create(subkey)?; + + const DEFAULT: &str = ""; + subkey.set_string(DEFAULT, value)?; + + Ok(()) +} + +pub fn delete_key(key: &str, subkey: &str) -> Result<()> { + let key = convert_key(key)?; + + key.remove_tree(subkey)?; + + Ok(()) +} diff --git a/apps/desktop/electron-builder.json b/apps/desktop/electron-builder.json index 21f09453189..53c20b7faf0 100644 --- a/apps/desktop/electron-builder.json +++ b/apps/desktop/electron-builder.json @@ -90,13 +90,6 @@ "electronUpdaterCompatibility": ">=0.0.1", "target": ["portable", "nsis-web", "appx"], "sign": "./sign.js", - "extraResources": [ - { - "from": "../../node_modules/regedit/vbs", - "to": "regedit/vbs", - "filter": ["**/*"] - } - ], "extraFiles": [ { "from": "desktop_native/dist/desktop_proxy.${platform}-${arch}.exe", diff --git a/apps/desktop/src/main/native-messaging.main.ts b/apps/desktop/src/main/native-messaging.main.ts index e383c1e1d3a..16594792f71 100644 --- a/apps/desktop/src/main/native-messaging.main.ts +++ b/apps/desktop/src/main/native-messaging.main.ts @@ -1,12 +1,11 @@ import { existsSync, promises as fs } from "fs"; import { homedir, userInfo } from "os"; import * as path from "path"; -import * as util from "util"; import { ipcMain } from "electron"; import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; -import { ipc } from "@bitwarden/desktop-napi"; +import { ipc, windows_registry } from "@bitwarden/desktop-napi"; import { isDev } from "../utils"; @@ -142,12 +141,12 @@ export class NativeMessagingMain { await this.writeManifest(path.join(destination, "chrome.json"), chromeJson); const nmhs = this.getWindowsNMHS(); - for (const [key, value] of Object.entries(nmhs)) { + for (const [name, [key, subkey]] of Object.entries(nmhs)) { let manifestPath = path.join(destination, "chrome.json"); - if (key === "Firefox") { + if (name === "Firefox") { manifestPath = path.join(destination, "firefox.json"); } - await this.createWindowsRegistry(value, manifestPath); + await windows_registry.createKey(key, subkey, manifestPath); } break; } @@ -225,8 +224,8 @@ export class NativeMessagingMain { await this.removeIfExists(path.join(this.userPath, "browsers", "chrome.json")); const nmhs = this.getWindowsNMHS(); - for (const [, value] of Object.entries(nmhs)) { - await this.deleteWindowsRegistry(value); + for (const [, [key, subkey]] of Object.entries(nmhs)) { + await windows_registry.deleteKey(key, subkey); } break; } @@ -274,11 +273,14 @@ export class NativeMessagingMain { private getWindowsNMHS() { return { - Firefox: "HKCU\\SOFTWARE\\Mozilla\\NativeMessagingHosts\\com.8bit.bitwarden", - Chrome: "HKCU\\SOFTWARE\\Google\\Chrome\\NativeMessagingHosts\\com.8bit.bitwarden", - Chromium: "HKCU\\SOFTWARE\\Chromium\\NativeMessagingHosts\\com.8bit.bitwarden", + Firefox: ["HKCU", "SOFTWARE\\Mozilla\\NativeMessagingHosts\\com.8bit.bitwarden"], + Chrome: ["HKCU", "SOFTWARE\\Google\\Chrome\\NativeMessagingHosts\\com.8bit.bitwarden"], + Chromium: ["HKCU", "SOFTWARE\\Chromium\\NativeMessagingHosts\\com.8bit.bitwarden"], // Edge uses the same registry key as Chrome as a fallback, but it's has its own separate key as well. - "Microsoft Edge": "HKCU\\SOFTWARE\\Microsoft\\Edge\\NativeMessagingHosts\\com.8bit.bitwarden", + "Microsoft Edge": [ + "HKCU", + "SOFTWARE\\Microsoft\\Edge\\NativeMessagingHosts\\com.8bit.bitwarden", + ], }; } @@ -419,52 +421,6 @@ export class NativeMessagingMain { return path.join(path.dirname(this.exePath), `desktop_proxy${ext}`); } - private getRegeditInstance() { - // eslint-disable-next-line - const regedit = require("regedit"); - regedit.setExternalVBSLocation(path.join(path.dirname(this.exePath), "resources/regedit/vbs")); - - return regedit; - } - - private async createWindowsRegistry(location: string, jsonFile: string) { - const regedit = this.getRegeditInstance(); - - const createKey = util.promisify(regedit.createKey); - const putValue = util.promisify(regedit.putValue); - - this.logService.debug(`Adding registry: ${location}`); - - await createKey(location); - - // Insert path to manifest - const obj: any = {}; - obj[location] = { - default: { - value: jsonFile, - type: "REG_DEFAULT", - }, - }; - - return putValue(obj); - } - - private async deleteWindowsRegistry(key: string) { - const regedit = this.getRegeditInstance(); - - const list = util.promisify(regedit.list); - const deleteKey = util.promisify(regedit.deleteKey); - - this.logService.debug(`Removing registry: ${key}`); - - try { - await list(key); - await deleteKey(key); - } catch { - this.logService.error(`Unable to delete registry key: ${key}`); - } - } - private homedir() { if (process.platform === "darwin") { return userInfo().homedir; diff --git a/package-lock.json b/package-lock.json index b5c24a5eafd..a3efe3d2224 100644 --- a/package-lock.json +++ b/package-lock.json @@ -166,7 +166,6 @@ "prettier": "3.3.3", "prettier-plugin-tailwindcss": "0.6.8", "process": "0.11.10", - "regedit": "3.0.3", "remark-gfm": "4.0.0", "rimraf": "6.0.1", "sass": "1.74.1", @@ -21943,13 +21942,6 @@ ], "license": "BSD-3-Clause" }, - "node_modules/if-async": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/if-async/-/if-async-3.7.4.tgz", - "integrity": "sha512-BFEH2mZyeF6KZKaKLVPZ0wMjIiWOdjvZ7zbx8ENec0qfZhJwKFbX/4jKM5LTKyJEc/GOqUKiiJ2IFKT9yWrZqA==", - "dev": true, - "license": "MIT" - }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -32402,57 +32394,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/regedit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/regedit/-/regedit-3.0.3.tgz", - "integrity": "sha512-SpHmMKOtiEYx0MiRRC48apBsmThoZ4svZNsYoK8leHd5bdUHV1nYb8pk8gh6Moou7/S9EDi1QsjBTpyXVQrPuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "if-async": "^3.7.4", - "stream-slicer": "0.0.6", - "through2": "^0.6.3" - } - }, - "node_modules/regedit/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/regedit/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/regedit/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/regedit/node_modules/through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -35247,13 +35188,6 @@ "dev": true, "license": "MIT" }, - "node_modules/stream-slicer": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/stream-slicer/-/stream-slicer-0.0.6.tgz", - "integrity": "sha512-QsY0LbweYE5L+e+iBQgtkM5WUIf7+kCMA/m2VULv8rEEDDnlDPsPvOHH4nli6uaZOKQEt64u65h0l/eeZo7lCw==", - "dev": true, - "license": "MIT" - }, "node_modules/streaming-json-stringify": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/streaming-json-stringify/-/streaming-json-stringify-3.1.0.tgz", diff --git a/package.json b/package.json index 37cd7fc120b..ba94a3ca45f 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,6 @@ "prettier": "3.3.3", "prettier-plugin-tailwindcss": "0.6.8", "process": "0.11.10", - "regedit": "3.0.3", "remark-gfm": "4.0.0", "rimraf": "6.0.1", "sass": "1.74.1",