From 63927d6ba16f18dffd4dbacba8add0883b2682fa Mon Sep 17 00:00:00 2001 From: Jordan Aasen <166539328+jaasen-livefront@users.noreply.github.com> Date: Thu, 20 Feb 2025 14:18:43 -0800 Subject: [PATCH 01/20] [PM-17094] - Vault and Collection filters pop in after Vault content causing content to shift (#13165) * add loading state service for vault list filters and apply to vault * remove call to delay and requestAnimationFrame * use shareReplay * update loading state to also check for filters * remove reassignment * add sharereplay to vault list filters. --- .../vault-list-filters/vault-list-filters.component.ts | 3 ++- .../popup/components/vault-v2/vault-v2.component.ts | 9 ++++++--- .../popup/services/vault-popup-list-filters.service.ts | 3 +++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/browser/src/vault/popup/components/vault-v2/vault-list-filters/vault-list-filters.component.ts b/apps/browser/src/vault/popup/components/vault-v2/vault-list-filters/vault-list-filters.component.ts index 53c3cb2287d..feccf92cec2 100644 --- a/apps/browser/src/vault/popup/components/vault-v2/vault-list-filters/vault-list-filters.component.ts +++ b/apps/browser/src/vault/popup/components/vault-v2/vault-list-filters/vault-list-filters.component.ts @@ -1,7 +1,7 @@ import { CommonModule } from "@angular/common"; import { Component } from "@angular/core"; import { ReactiveFormsModule } from "@angular/forms"; -import { combineLatest, map } from "rxjs"; +import { combineLatest, map, shareReplay } from "rxjs"; import { JslibModule } from "@bitwarden/angular/jslib.module"; import { ChipSelectComponent } from "@bitwarden/components"; @@ -34,6 +34,7 @@ export class VaultListFiltersComponent { folders, }; }), + shareReplay({ bufferSize: 1, refCount: false }), ); constructor(private vaultPopupListFiltersService: VaultPopupListFiltersService) {} diff --git a/apps/browser/src/vault/popup/components/vault-v2/vault-v2.component.ts b/apps/browser/src/vault/popup/components/vault-v2/vault-v2.component.ts index be5c33aab70..73b691bc4ac 100644 --- a/apps/browser/src/vault/popup/components/vault-v2/vault-v2.component.ts +++ b/apps/browser/src/vault/popup/components/vault-v2/vault-v2.component.ts @@ -86,7 +86,12 @@ export class VaultV2Component implements OnInit, AfterViewInit, OnDestroy { protected favoriteCiphers$ = this.vaultPopupItemsService.favoriteCiphers$; protected remainingCiphers$ = this.vaultPopupItemsService.remainingCiphers$; - protected loading$ = this.vaultPopupItemsService.loading$; + protected allFilters$ = this.vaultPopupListFiltersService.allFilters$; + + protected loading$ = combineLatest([this.vaultPopupItemsService.loading$, this.allFilters$]).pipe( + map(([itemsLoading, filters]) => itemsLoading || !filters), + shareReplay({ bufferSize: 1, refCount: true }), + ); protected newItemItemValues$: Observable = this.vaultPopupListFiltersService.filters$.pipe( @@ -111,8 +116,6 @@ export class VaultV2Component implements OnInit, AfterViewInit, OnDestroy { protected VaultStateEnum = VaultState; - private allFilters$ = this.vaultPopupListFiltersService.allFilters$; - constructor( private vaultPopupItemsService: VaultPopupItemsService, private vaultPopupListFiltersService: VaultPopupListFiltersService, diff --git a/apps/browser/src/vault/popup/services/vault-popup-list-filters.service.ts b/apps/browser/src/vault/popup/services/vault-popup-list-filters.service.ts index b1451318499..59ccde3bd44 100644 --- a/apps/browser/src/vault/popup/services/vault-popup-list-filters.service.ts +++ b/apps/browser/src/vault/popup/services/vault-popup-list-filters.service.ts @@ -255,6 +255,7 @@ export class VaultPopupListFiltersService { }), ]; }), + shareReplay({ refCount: true, bufferSize: 1 }), ); /** @@ -330,6 +331,7 @@ export class VaultPopupListFiltersService { ), ); }), + shareReplay({ refCount: true, bufferSize: 1 }), ); /** @@ -366,6 +368,7 @@ export class VaultPopupListFiltersService { map((collections) => collections.nestedList.map((c) => this.convertToChipSelectOption(c, "bwi-collection")), ), + shareReplay({ refCount: true, bufferSize: 1 }), ); /** Organizations, collection, folders filters. */ From ef34b30cc1c4c67260c055d21fd89ef0e2a6c2d9 Mon Sep 17 00:00:00 2001 From: Vijay Oommen Date: Thu, 20 Feb 2025 16:23:05 -0600 Subject: [PATCH 02/20] pm-18441 add loading icon to member details (#13494) --- .../member-access-report.component.html | 21 +++++++++++++++++-- .../member-access-report.component.ts | 7 ++++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.html b/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.html index b50f197a110..011bc752684 100644 --- a/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.html +++ b/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.html @@ -5,7 +5,13 @@ class="tw-grow" > - @@ -17,7 +23,18 @@

- + +
+ +

{{ "loading" | i18n }}

+
+
+ + {{ "members" | i18n }} diff --git a/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.ts b/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.ts index 52ec2901031..a05f0e6d4d3 100644 --- a/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.ts +++ b/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.ts @@ -4,7 +4,7 @@ import { Component, OnInit } from "@angular/core"; import { takeUntilDestroyed } from "@angular/core/rxjs-interop"; import { FormControl } from "@angular/forms"; import { ActivatedRoute } from "@angular/router"; -import { debounceTime, firstValueFrom, lastValueFrom } from "rxjs"; +import { BehaviorSubject, debounceTime, firstValueFrom, lastValueFrom } from "rxjs"; import { UserNamePipe } from "@bitwarden/angular/pipes/user-name.pipe"; import { safeProvider } from "@bitwarden/angular/platform/utils/safe-provider"; @@ -48,6 +48,7 @@ export class MemberAccessReportComponent implements OnInit { protected searchControl = new FormControl("", { nonNullable: true }); protected organizationId: OrganizationId; protected orgIsOnSecretsManagerStandalone: boolean; + protected isLoading$ = new BehaviorSubject(true); constructor( private route: ActivatedRoute, @@ -64,6 +65,8 @@ export class MemberAccessReportComponent implements OnInit { } async ngOnInit() { + this.isLoading$.next(true); + const params = await firstValueFrom(this.route.params); this.organizationId = params.organizationId; @@ -74,6 +77,8 @@ export class MemberAccessReportComponent implements OnInit { this.orgIsOnSecretsManagerStandalone = billingMetadata.isOnSecretsManagerStandalone; await this.load(); + + this.isLoading$.next(false); } async load() { From b591c053ca1cfa8070ed3eed99eb688ee1760012 Mon Sep 17 00:00:00 2001 From: Vijay Oommen Date: Thu, 20 Feb 2025 16:23:26 -0600 Subject: [PATCH 03/20] PM-18401 apply scroll tables across all tables (#13474) --- .../all-applications.component.html | 62 +++--------- .../all-applications.component.ts | 10 +- .../app-table-row-scrollable.component.html | 98 +++++++++++++++++++ .../app-table-row-scrollable.component.ts | 26 +++++ .../critical-applications.component.html | 67 ++----------- .../critical-applications.component.ts | 14 ++- ...password-health-members-uri.component.html | 74 +++++++------- .../password-health-members.component.html | 96 +++++++++--------- .../password-health.component.html | 78 +++++++-------- 9 files changed, 283 insertions(+), 242 deletions(-) create mode 100644 bitwarden_license/bit-web/src/app/tools/access-intelligence/app-table-row-scrollable.component.html create mode 100644 bitwarden_license/bit-web/src/app/tools/access-intelligence/app-table-row-scrollable.component.ts diff --git a/bitwarden_license/bit-web/src/app/tools/access-intelligence/all-applications.component.html b/bitwarden_license/bit-web/src/app/tools/access-intelligence/all-applications.component.html index 4ef5453478e..c9d0ba11eee 100644 --- a/bitwarden_license/bit-web/src/app/tools/access-intelligence/all-applications.component.html +++ b/bitwarden_license/bit-web/src/app/tools/access-intelligence/all-applications.component.html @@ -69,55 +69,15 @@

{{ "allApplications" | i18n }}

{{ "markAppAsCritical" | i18n }} - - - - - {{ "application" | i18n }} - {{ "atRiskPasswords" | i18n }} - {{ "totalPasswords" | i18n }} - {{ "atRiskMembers" | i18n }} - {{ "totalMembers" | i18n }} - - - - - - - - - - {{ r.applicationName }} - - - - {{ r.atRiskPasswordCount }} - - - - - {{ r.passwordCount }} - - - - - {{ r.atRiskMemberCount }} - - - - {{ r.memberCount }} - - - - + + diff --git a/bitwarden_license/bit-web/src/app/tools/access-intelligence/all-applications.component.ts b/bitwarden_license/bit-web/src/app/tools/access-intelligence/all-applications.component.ts index 5c45733cabb..ee51a134e31 100644 --- a/bitwarden_license/bit-web/src/app/tools/access-intelligence/all-applications.component.ts +++ b/bitwarden_license/bit-web/src/app/tools/access-intelligence/all-applications.component.ts @@ -37,6 +37,7 @@ import { HeaderModule } from "@bitwarden/web-vault/app/layouts/header/header.mod import { SharedModule } from "@bitwarden/web-vault/app/shared"; import { PipesModule } from "@bitwarden/web-vault/app/vault/individual-vault/pipes/pipes.module"; +import { AppTableRowScrollableComponent } from "./app-table-row-scrollable.component"; import { ApplicationsLoadingComponent } from "./risk-insights-loading.component"; @Component({ @@ -51,6 +52,7 @@ import { ApplicationsLoadingComponent } from "./risk-insights-loading.component" PipesModule, NoItemsModule, SharedModule, + AppTableRowScrollableComponent, ], }) export class AllApplicationsComponent implements OnInit { @@ -190,14 +192,18 @@ export class AllApplicationsComponent implements OnInit { this.dataService.setDrawerForOrgAtRiskApps(data, invokerId); }; - onCheckboxChange(applicationName: string, event: Event) { + onCheckboxChange = (applicationName: string, event: Event) => { const isChecked = (event.target as HTMLInputElement).checked; if (isChecked) { this.selectedUrls.add(applicationName); } else { this.selectedUrls.delete(applicationName); } - } + }; getSelectedUrls = () => Array.from(this.selectedUrls); + + isDrawerOpenForTableRow = (applicationName: string): boolean => { + return this.dataService.drawerInvokerId === applicationName; + }; } diff --git a/bitwarden_license/bit-web/src/app/tools/access-intelligence/app-table-row-scrollable.component.html b/bitwarden_license/bit-web/src/app/tools/access-intelligence/app-table-row-scrollable.component.html new file mode 100644 index 00000000000..e89acf1ac66 --- /dev/null +++ b/bitwarden_license/bit-web/src/app/tools/access-intelligence/app-table-row-scrollable.component.html @@ -0,0 +1,98 @@ + + + + + {{ "application" | i18n }} + {{ "atRiskPasswords" | i18n }} + {{ "totalPasswords" | i18n }} + {{ "atRiskMembers" | i18n }} + {{ "totalMembers" | i18n }} + + + + + + + + + + + {{ row.applicationName }} + + + + {{ row.atRiskPasswordCount }} + + + + + {{ row.passwordCount }} + + + + + {{ row.atRiskMemberCount }} + + + + {{ row.memberCount }} + + + + + + + + + + + diff --git a/bitwarden_license/bit-web/src/app/tools/access-intelligence/app-table-row-scrollable.component.ts b/bitwarden_license/bit-web/src/app/tools/access-intelligence/app-table-row-scrollable.component.ts new file mode 100644 index 00000000000..b0e99580919 --- /dev/null +++ b/bitwarden_license/bit-web/src/app/tools/access-intelligence/app-table-row-scrollable.component.ts @@ -0,0 +1,26 @@ +import { CommonModule } from "@angular/common"; +import { Component, Input } from "@angular/core"; + +import { JslibModule } from "@bitwarden/angular/jslib.module"; +import { ApplicationHealthReportDetailWithCriticalFlag } from "@bitwarden/bit-common/tools/reports/risk-insights/models/password-health"; +import { MenuModule, TableDataSource, TableModule } from "@bitwarden/components"; +import { SharedModule } from "@bitwarden/web-vault/app/shared"; +import { PipesModule } from "@bitwarden/web-vault/app/vault/individual-vault/pipes/pipes.module"; + +@Component({ + selector: "app-table-row-scrollable", + standalone: true, + imports: [CommonModule, JslibModule, TableModule, SharedModule, PipesModule, MenuModule], + templateUrl: "./app-table-row-scrollable.component.html", +}) +export class AppTableRowScrollableComponent { + @Input() dataSource!: TableDataSource; + @Input() showRowMenuForCriticalApps: boolean = false; + @Input() showRowCheckBox: boolean = false; + @Input() selectedUrls: Set = new Set(); + @Input() isCriticalAppsFeatureEnabled: boolean = false; + @Input() isDrawerIsOpenForThisRecord!: (applicationName: string) => boolean; + @Input() showAppAtRiskMembers!: (applicationName: string) => void; + @Input() unmarkAsCriticalApp!: (applicationName: string) => void; + @Input() checkboxChange!: (applicationName: string, $event: Event) => void; +} diff --git a/bitwarden_license/bit-web/src/app/tools/access-intelligence/critical-applications.component.html b/bitwarden_license/bit-web/src/app/tools/access-intelligence/critical-applications.component.html index 3eb7831c7f8..73b0af312b6 100644 --- a/bitwarden_license/bit-web/src/app/tools/access-intelligence/critical-applications.component.html +++ b/bitwarden_license/bit-web/src/app/tools/access-intelligence/critical-applications.component.html @@ -73,63 +73,14 @@

{{ "criticalApplications" | i18n }}

[formControl]="searchControl" > - - - - - {{ "application" | i18n }} - {{ "atRiskPasswords" | i18n }} - {{ "totalPasswords" | i18n }} - {{ "atRiskMembers" | i18n }} - {{ "totalMembers" | i18n }} - - - - - - - - - {{ r.applicationName }} - - - - {{ r.atRiskPasswordCount }} - - - - - {{ r.passwordCount }} - - - - - {{ r.atRiskMemberCount }} - - - - {{ r.memberCount }} - - - - - - - - - - + diff --git a/bitwarden_license/bit-web/src/app/tools/access-intelligence/critical-applications.component.ts b/bitwarden_license/bit-web/src/app/tools/access-intelligence/critical-applications.component.ts index 42c1c62a437..af5c9a90015 100644 --- a/bitwarden_license/bit-web/src/app/tools/access-intelligence/critical-applications.component.ts +++ b/bitwarden_license/bit-web/src/app/tools/access-intelligence/critical-applications.component.ts @@ -35,13 +35,22 @@ import { PipesModule } from "@bitwarden/web-vault/app/vault/individual-vault/pip import { CreateTasksRequest } from "../../vault/services/abstractions/admin-task.abstraction"; import { DefaultAdminTaskService } from "../../vault/services/default-admin-task.service"; +import { AppTableRowScrollableComponent } from "./app-table-row-scrollable.component"; import { RiskInsightsTabType } from "./risk-insights.component"; @Component({ standalone: true, selector: "tools-critical-applications", templateUrl: "./critical-applications.component.html", - imports: [CardComponent, HeaderModule, SearchModule, NoItemsModule, PipesModule, SharedModule], + imports: [ + CardComponent, + HeaderModule, + SearchModule, + NoItemsModule, + PipesModule, + SharedModule, + AppTableRowScrollableComponent, + ], providers: [DefaultAdminTaskService], }) export class CriticalApplicationsComponent implements OnInit { @@ -181,4 +190,7 @@ export class CriticalApplicationsComponent implements OnInit { trackByFunction(_: number, item: ApplicationHealthReportDetailWithCriticalFlag) { return item.applicationName; } + isDrawerOpenForTableRow = (applicationName: string) => { + return this.dataService.drawerInvokerId === applicationName; + }; } diff --git a/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health-members-uri.component.html b/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health-members-uri.component.html index bdccc523e76..936d92d8701 100644 --- a/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health-members-uri.component.html +++ b/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health-members-uri.component.html @@ -9,47 +9,43 @@ {{ "loading" | i18n }}
- + - - {{ "application" | i18n }} - {{ "weakness" | i18n }} - {{ "timesReused" | i18n }} - {{ "timesExposed" | i18n }} - {{ "totalMembers" | i18n }} - + {{ "application" | i18n }} + {{ "weakness" | i18n }} + {{ "timesReused" | i18n }} + {{ "timesExposed" | i18n }} + {{ "totalMembers" | i18n }} - - - - - {{ r.hostURI }} - - - - - {{ passwordStrengthMap.get(r.id)[0] | i18n }} - - - - - {{ "reusedXTimes" | i18n: passwordUseMap.get(r.login.password) }} - - - - - {{ "exposedXTimes" | i18n: exposedPasswordMap.get(r.id) }} - - - - {{ totalMembersMap.get(r.id) || 0 }} - - + + + + {{ row.hostURI }} + + + + + {{ passwordStrengthMap.get(row.id)[0] | i18n }} + + + + + {{ "reusedXTimes" | i18n: passwordUseMap.get(row.login.password) }} + + + + + {{ "exposedXTimes" | i18n: exposedPasswordMap.get(row.id) }} + + + + {{ totalMembersMap.get(row.id) || 0 }} + - +
diff --git a/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health-members.component.html b/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health-members.component.html index 7f9b37f2a82..5c980f75a81 100644 --- a/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health-members.component.html +++ b/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health-members.component.html @@ -8,57 +8,53 @@ {{ "loading" | i18n }}
- + - - - {{ "name" | i18n }} - {{ "weakness" | i18n }} - {{ "timesReused" | i18n }} - {{ "timesExposed" | i18n }} - {{ "totalMembers" | i18n }} - + + {{ "name" | i18n }} + {{ "weakness" | i18n }} + {{ "timesReused" | i18n }} + {{ "timesExposed" | i18n }} + {{ "totalMembers" | i18n }} - - - - - - - - {{ r.name }} - -
- {{ r.subTitle }} - - - - {{ passwordStrengthMap.get(r.id)[0] | i18n }} - - - - - {{ "reusedXTimes" | i18n: passwordUseMap.get(r.login.password) }} - - - - - {{ "exposedXTimes" | i18n: exposedPasswordMap.get(r.id) }} - - - - {{ totalMembersMap.get(r.id) || 0 }} - - + + + + + + + {{ row.name }} + +
+ {{ row.subTitle }} + + + + {{ passwordStrengthMap.get(row.id)[0] | i18n }} + + + + + {{ "reusedXTimes" | i18n: passwordUseMap.get(row.login.password) }} + + + + + {{ "exposedXTimes" | i18n: exposedPasswordMap.get(row.id) }} + + + + {{ totalMembersMap.get(row.id) || 0 }} +
-
+
diff --git a/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health.component.html b/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health.component.html index aeaa9f33197..b798a75ab3a 100644 --- a/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health.component.html +++ b/bitwarden_license/bit-web/src/app/tools/access-intelligence/password-health.component.html @@ -9,49 +9,45 @@ {{ "loading" | i18n }}
- + - - - {{ "name" | i18n }} - {{ "weakness" | i18n }} - {{ "timesReused" | i18n }} - {{ "timesExposed" | i18n }} - + + {{ "name" | i18n }} + {{ "weakness" | i18n }} + {{ "timesReused" | i18n }} + {{ "timesExposed" | i18n }} - - - - - - - - {{ r.name }} - -
- {{ r.subTitle }} - - - - {{ r.weakPasswordDetail?.detailValue.label | i18n }} - - - - - {{ "reusedXTimes" | i18n: passwordUseMap.get(r.login.password) }} - - - - - {{ "exposedXTimes" | i18n: r.exposedPasswordDetail?.exposedXTimes }} - - - + + + + + + + {{ row.name }} + +
+ {{ row.subTitle }} + + + + {{ row.weakPasswordDetail?.detailValue.label | i18n }} + + + + + {{ "reusedXTimes" | i18n: passwordUseMap.get(row.login.password) }} + + + + + {{ "exposedXTimes" | i18n: row.exposedPasswordDetail?.exposedXTimes }} + +
-
+
From 49dc3e0d28dad700015ecd62c5104bb709c55154 Mon Sep 17 00:00:00 2001 From: Jordan Aasen <166539328+jaasen-livefront@users.noreply.github.com> Date: Thu, 20 Feb 2025 15:16:49 -0800 Subject: [PATCH 04/20] [PM-16270] - allow full width for owner and folder select (#13418) * allow full width for owner and folder select * remove unecessary css class * move folder under collection * move prop to correct component --- .../item-details-section.component.html | 62 ++++++++----------- 1 file changed, 26 insertions(+), 36 deletions(-) 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 9750983bba1..c68df5bbfac 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 @@ -18,43 +18,23 @@

{{ "itemDetails" | i18n }}

{{ "itemName" | i18n }} -
- - {{ "owner" | i18n }} - - - - - - - {{ "folder" | i18n }} - - - - -
+ + {{ "owner" | i18n }} + + + + + - + {{ "collections" | i18n }} {{ "itemDetails" | i18n }} + + {{ "folder" | i18n }} + + + + From a19c860a142c929ad5438ee01bbe16f331d8ef72 Mon Sep 17 00:00:00 2001 From: Jonathan Prusik Date: Thu, 20 Feb 2025 18:44:18 -0500 Subject: [PATCH 05/20] [PM-18287] Bugfix - Vault autofill suggestions view hangs on load when the current tab is on the blocked domains list (#13496) * Fix vault autofill suggestions view hanging on load when the current tab is on the blocked domains list Co-authored-by: Justin Baur * fix broken tests * use blockedInteractionsUris$ observable instead of currentTabIsOnBlocklist$ in _currentPageDetails$ --------- Co-authored-by: Justin Baur --- .../vault-popup-autofill.service.spec.ts | 1 + .../services/vault-popup-autofill.service.ts | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/apps/browser/src/vault/popup/services/vault-popup-autofill.service.spec.ts b/apps/browser/src/vault/popup/services/vault-popup-autofill.service.spec.ts index 75352c1331a..415aeb31081 100644 --- a/apps/browser/src/vault/popup/services/vault-popup-autofill.service.spec.ts +++ b/apps/browser/src/vault/popup/services/vault-popup-autofill.service.spec.ts @@ -67,6 +67,7 @@ describe("VaultPopupAutofillService", () => { .mockReturnValue(true); mockAutofillService.collectPageDetailsFromTab$.mockReturnValue(new BehaviorSubject([])); + mockDomainSettingsService.blockedInteractionsUris$ = new BehaviorSubject({}); testBed = TestBed.configureTestingModule({ providers: [ diff --git a/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts b/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts index 82188ef823b..c65661fdfb2 100644 --- a/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts +++ b/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts @@ -145,7 +145,22 @@ export class VaultPopupAutofillService { if (!tab) { return of([]); } - return this.autofillService.collectPageDetailsFromTab$(tab); + + return this.domainSettingsService.blockedInteractionsUris$.pipe( + switchMap((blockedURIs) => { + // This blocked URI logic will be updated to use the common util in PM-18219 + if (blockedURIs && tab?.url?.length) { + const tabURL = new URL(tab.url); + const tabIsBlocked = Object.keys(blockedURIs).includes(tabURL.hostname); + + if (tabIsBlocked) { + return of([]); + } + } + + return this.autofillService.collectPageDetailsFromTab$(tab); + }), + ); }), shareReplay({ refCount: false, bufferSize: 1 }), ); From f0ce87708c491c5928353ac8fc702163745d7b67 Mon Sep 17 00:00:00 2001 From: "bw-ghapp[bot]" <178206702+bw-ghapp[bot]@users.noreply.github.com> Date: Fri, 21 Feb 2025 08:56:55 +0100 Subject: [PATCH 06/20] Autosync the updated translations (#13502) Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com> --- apps/desktop/src/locales/af/messages.json | 24 + apps/desktop/src/locales/ar/messages.json | 24 + apps/desktop/src/locales/az/messages.json | 24 + apps/desktop/src/locales/be/messages.json | 24 + apps/desktop/src/locales/bg/messages.json | 24 + apps/desktop/src/locales/bn/messages.json | 24 + apps/desktop/src/locales/bs/messages.json | 24 + apps/desktop/src/locales/ca/messages.json | 24 + apps/desktop/src/locales/cs/messages.json | 24 + apps/desktop/src/locales/cy/messages.json | 24 + apps/desktop/src/locales/da/messages.json | 24 + apps/desktop/src/locales/de/messages.json | 24 + apps/desktop/src/locales/el/messages.json | 24 + apps/desktop/src/locales/en_GB/messages.json | 24 + apps/desktop/src/locales/en_IN/messages.json | 24 + apps/desktop/src/locales/eo/messages.json | 24 + apps/desktop/src/locales/es/messages.json | 24 + apps/desktop/src/locales/et/messages.json | 24 + apps/desktop/src/locales/eu/messages.json | 24 + apps/desktop/src/locales/fa/messages.json | 24 + apps/desktop/src/locales/fi/messages.json | 24 + apps/desktop/src/locales/fil/messages.json | 24 + apps/desktop/src/locales/fr/messages.json | 26 +- apps/desktop/src/locales/gl/messages.json | 24 + apps/desktop/src/locales/he/messages.json | 704 ++++++++++--------- apps/desktop/src/locales/hi/messages.json | 24 + apps/desktop/src/locales/hr/messages.json | 24 + apps/desktop/src/locales/hu/messages.json | 24 + apps/desktop/src/locales/id/messages.json | 24 + apps/desktop/src/locales/it/messages.json | 24 + apps/desktop/src/locales/ja/messages.json | 24 + apps/desktop/src/locales/ka/messages.json | 24 + apps/desktop/src/locales/km/messages.json | 24 + apps/desktop/src/locales/kn/messages.json | 24 + apps/desktop/src/locales/ko/messages.json | 24 + apps/desktop/src/locales/lt/messages.json | 24 + apps/desktop/src/locales/lv/messages.json | 24 + apps/desktop/src/locales/me/messages.json | 24 + apps/desktop/src/locales/ml/messages.json | 24 + apps/desktop/src/locales/mr/messages.json | 24 + apps/desktop/src/locales/my/messages.json | 24 + apps/desktop/src/locales/nb/messages.json | 24 + apps/desktop/src/locales/ne/messages.json | 24 + apps/desktop/src/locales/nl/messages.json | 24 + apps/desktop/src/locales/nn/messages.json | 24 + apps/desktop/src/locales/or/messages.json | 24 + apps/desktop/src/locales/pl/messages.json | 24 + apps/desktop/src/locales/pt_BR/messages.json | 24 + apps/desktop/src/locales/pt_PT/messages.json | 24 + apps/desktop/src/locales/ro/messages.json | 24 + apps/desktop/src/locales/ru/messages.json | 24 + apps/desktop/src/locales/si/messages.json | 24 + apps/desktop/src/locales/sk/messages.json | 24 + apps/desktop/src/locales/sl/messages.json | 24 + apps/desktop/src/locales/sr/messages.json | 24 + apps/desktop/src/locales/sv/messages.json | 24 + apps/desktop/src/locales/te/messages.json | 24 + apps/desktop/src/locales/th/messages.json | 24 + apps/desktop/src/locales/tr/messages.json | 24 + apps/desktop/src/locales/uk/messages.json | 24 + apps/desktop/src/locales/vi/messages.json | 24 + apps/desktop/src/locales/zh_CN/messages.json | 26 +- apps/desktop/src/locales/zh_TW/messages.json | 24 + 63 files changed, 1854 insertions(+), 342 deletions(-) diff --git a/apps/desktop/src/locales/af/messages.json b/apps/desktop/src/locales/af/messages.json index aa36987bb82..e1968a216b9 100644 --- a/apps/desktop/src/locales/af/messages.json +++ b/apps/desktop/src/locales/af/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/ar/messages.json b/apps/desktop/src/locales/ar/messages.json index ae4667fa98c..e71d75ed10f 100644 --- a/apps/desktop/src/locales/ar/messages.json +++ b/apps/desktop/src/locales/ar/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "غير قادر على الحصول على معرف البريد الإلكتروني المحجوب $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/az/messages.json b/apps/desktop/src/locales/az/messages.json index 409bdf038b4..6e26eed43a7 100644 --- a/apps/desktop/src/locales/az/messages.json +++ b/apps/desktop/src/locales/az/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "$SERVICENAME$ maskalı e-poçt hesab kimliyi alına bilmir.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/be/messages.json b/apps/desktop/src/locales/be/messages.json index 7eb27fc3494..da7f70dc88c 100644 --- a/apps/desktop/src/locales/be/messages.json +++ b/apps/desktop/src/locales/be/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/bg/messages.json b/apps/desktop/src/locales/bg/messages.json index 1fe796a9a9f..7a4193f5f86 100644 --- a/apps/desktop/src/locales/bg/messages.json +++ b/apps/desktop/src/locales/bg/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Не може да бъде получен идентификатор на маскиран чрез е-поща акаунт от $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/bn/messages.json b/apps/desktop/src/locales/bn/messages.json index ddfefa11e13..19da2c21bd1 100644 --- a/apps/desktop/src/locales/bn/messages.json +++ b/apps/desktop/src/locales/bn/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/bs/messages.json b/apps/desktop/src/locales/bs/messages.json index 083eac2eb08..8ace0cb45b1 100644 --- a/apps/desktop/src/locales/bs/messages.json +++ b/apps/desktop/src/locales/bs/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/ca/messages.json b/apps/desktop/src/locales/ca/messages.json index 0abdfd4724e..ee530e970be 100644 --- a/apps/desktop/src/locales/ca/messages.json +++ b/apps/desktop/src/locales/ca/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/cs/messages.json b/apps/desktop/src/locales/cs/messages.json index 70811e5e8df..0ed12709dd6 100644 --- a/apps/desktop/src/locales/cs/messages.json +++ b/apps/desktop/src/locales/cs/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ odmítl Váš požadavek. Kontaktujte svého poskytovatele služeb o pomoc.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ odmítl Váš požadavek: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nelze získat maskované ID e-mailového účtu $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/cy/messages.json b/apps/desktop/src/locales/cy/messages.json index 7e7f5ce943f..3a049b15134 100644 --- a/apps/desktop/src/locales/cy/messages.json +++ b/apps/desktop/src/locales/cy/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/da/messages.json b/apps/desktop/src/locales/da/messages.json index e4a4460dcc7..8af3257a86e 100644 --- a/apps/desktop/src/locales/da/messages.json +++ b/apps/desktop/src/locales/da/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Kan ikke få $SERVICENAME$ maskeret e-mailkonto-ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/de/messages.json b/apps/desktop/src/locales/de/messages.json index bd71c4bc363..daba0ad0669 100644 --- a/apps/desktop/src/locales/de/messages.json +++ b/apps/desktop/src/locales/de/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Maskierte E-Mail-Konto-ID für $SERVICENAME$ konnte nicht abgerufen werden.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/el/messages.json b/apps/desktop/src/locales/el/messages.json index de62cd02434..831446c77d7 100644 --- a/apps/desktop/src/locales/el/messages.json +++ b/apps/desktop/src/locales/el/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Αδύνατη η απόκτηση του $SERVICENAME$ καμουφλαρισμένου ID διεύθυνσης ηλ. ταχυδρομείου.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/en_GB/messages.json b/apps/desktop/src/locales/en_GB/messages.json index fd12fbe1a30..0eff6e4b16a 100644 --- a/apps/desktop/src/locales/en_GB/messages.json +++ b/apps/desktop/src/locales/en_GB/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/en_IN/messages.json b/apps/desktop/src/locales/en_IN/messages.json index 5aaa0918551..5704084916b 100644 --- a/apps/desktop/src/locales/en_IN/messages.json +++ b/apps/desktop/src/locales/en_IN/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/eo/messages.json b/apps/desktop/src/locales/eo/messages.json index c8616957a93..09a4e065749 100644 --- a/apps/desktop/src/locales/eo/messages.json +++ b/apps/desktop/src/locales/eo/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/es/messages.json b/apps/desktop/src/locales/es/messages.json index 49ca15bfed2..7d4be2967ef 100644 --- a/apps/desktop/src/locales/es/messages.json +++ b/apps/desktop/src/locales/es/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "No se puede obtener el ID de la cuenta de correo electrónico enmascarado de $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/et/messages.json b/apps/desktop/src/locales/et/messages.json index a39e9d5d93b..668e742c582 100644 --- a/apps/desktop/src/locales/et/messages.json +++ b/apps/desktop/src/locales/et/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Ei õnnestunud hankida pakkuja $SERVICENAME$ maskeeritud emaili konto ID-d.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/eu/messages.json b/apps/desktop/src/locales/eu/messages.json index 2c842c561e5..af9ade9c0cb 100644 --- a/apps/desktop/src/locales/eu/messages.json +++ b/apps/desktop/src/locales/eu/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/fa/messages.json b/apps/desktop/src/locales/fa/messages.json index 182cbc11da0..26fc6e0e8a9 100644 --- a/apps/desktop/src/locales/fa/messages.json +++ b/apps/desktop/src/locales/fa/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/fi/messages.json b/apps/desktop/src/locales/fi/messages.json index f182343f11e..fb33c591447 100644 --- a/apps/desktop/src/locales/fi/messages.json +++ b/apps/desktop/src/locales/fi/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "$SERVICENAME$ -palvelun peittämän sähköpostitilin tunnusta ei saatu.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/fil/messages.json b/apps/desktop/src/locales/fil/messages.json index 51ed7ba776d..70b333c1805 100644 --- a/apps/desktop/src/locales/fil/messages.json +++ b/apps/desktop/src/locales/fil/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/fr/messages.json b/apps/desktop/src/locales/fr/messages.json index 31113ef5142..24c9e80a3b9 100644 --- a/apps/desktop/src/locales/fr/messages.json +++ b/apps/desktop/src/locales/fr/messages.json @@ -250,7 +250,7 @@ "message": "Erreur" }, "decryptionError": { - "message": "Decryption error" + "message": "Erreur de déchiffrement" }, "couldNotDecryptVaultItemsBelow": { "message": "Bitwarden could not decrypt the vault item(s) listed below." @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Impossible d'obtenir l'ID de compte de messagerie masqué de $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/gl/messages.json b/apps/desktop/src/locales/gl/messages.json index 5bc1f216880..1e8e63912a7 100644 --- a/apps/desktop/src/locales/gl/messages.json +++ b/apps/desktop/src/locales/gl/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/he/messages.json b/apps/desktop/src/locales/he/messages.json index d5113b3a29f..7931d6989de 100644 --- a/apps/desktop/src/locales/he/messages.json +++ b/apps/desktop/src/locales/he/messages.json @@ -208,34 +208,34 @@ "message": "נוצר מפתח SSH חדש" }, "sshKeyWrongPassword": { - "message": "The password you entered is incorrect." + "message": "הסיסמה שהזנת שגויה." }, "importSshKey": { - "message": "Import" + "message": "ייבוא" }, "confirmSshKeyPassword": { - "message": "Confirm password" + "message": "אשר סיסמה" }, "enterSshKeyPasswordDesc": { - "message": "Enter the password for the SSH key." + "message": "הזן את הסיסמה עבור מפתח ה־SSH." }, "enterSshKeyPassword": { - "message": "Enter password" + "message": "הזן סיסמה" }, "sshAgentUnlockRequired": { - "message": "Please unlock your vault to approve the SSH key request." + "message": "נא לפתוח את הכספת שלך על מנת לאשר את בקשת מפתח ה־SSH." }, "sshAgentUnlockTimeout": { - "message": "SSH key request timed out." + "message": "תם פסק הזמן לבקשת מפתח SSH." }, "enableSshAgent": { - "message": "הפעלת סוכן SSH" + "message": "אפשר סוכן SSH" }, "enableSshAgentDesc": { - "message": "Enable the SSH agent to sign SSH requests right from your Bitwarden vault." + "message": "אפשר את סוכן ה־SSH על מנת לחתום בקשות SSH היישר מכספת ה־Bitwarden שלך." }, "enableSshAgentHelp": { - "message": "The SSH agent is a service targeted at developers that allows you to sign SSH requests directly from your Bitwarden vault." + "message": "סוכן ה־SSH הוא שירות המיועד למפתחים שמאפשר לך לחתום בקשות SSH היישר מכספת ה־Bitwarden שלך." }, "premiumRequired": { "message": "נדרש חשבון פרימיום" @@ -250,17 +250,17 @@ "message": "שגיאה" }, "decryptionError": { - "message": "Decryption error" + "message": "שגיאת פענוח" }, "couldNotDecryptVaultItemsBelow": { - "message": "Bitwarden could not decrypt the vault item(s) listed below." + "message": "Bitwarden לא יכל לפענח את פריט(י) הכספת המפורט(ים) להלן." }, "contactCSToAvoidDataLossPart1": { - "message": "Contact customer success", + "message": "צור קשר עם הצלחת לקוחות", "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'" }, "contactCSToAvoidDataLossPart2": { - "message": "to avoid additional data loss.", + "message": "כדי להימנע מאובדן מידע נוסף.", "description": "This is part of a larger sentence. The full sentence will read 'Contact customer success to avoid additional data loss.'" }, "january": { @@ -316,7 +316,7 @@ "message": "העלמה" }, "mx": { - "message": "Mx" + "message": "מיקס" }, "dr": { "message": "דוקטור" @@ -337,7 +337,7 @@ "message": "צור סיסמה" }, "generatePassphrase": { - "message": "Generate passphrase" + "message": "צור ביטוי סיסמה" }, "type": { "message": "סוג" @@ -475,13 +475,13 @@ "message": "העתק סיסמה" }, "regenerateSshKey": { - "message": "Regenerate SSH key" + "message": "צור מחדש מפתח SSH" }, "copySshPrivateKey": { - "message": "Copy SSH private key" + "message": "העתק מפתח SSH פרטי" }, "copyPassphrase": { - "message": "Copy passphrase", + "message": "העתק ביטוי סיסמה", "description": "Copy passphrase to clipboard" }, "copyUri": { @@ -494,7 +494,7 @@ "message": "אורך" }, "passwordMinLength": { - "message": "אורך סיסמה מזערי" + "message": "אורך סיסמא מינימלי" }, "uppercase": { "message": "אותיות גדולות (A-Z)", @@ -512,11 +512,11 @@ "message": "תווים מיוחדים (!@#$%^&*)" }, "include": { - "message": "Include", + "message": "כלול", "description": "Card header for password generator include block" }, "uppercaseDescription": { - "message": "Include uppercase characters", + "message": "כלול תווי אות גדולה", "description": "Tooltip for the password generator uppercase character checkbox" }, "uppercaseLabel": { @@ -524,7 +524,7 @@ "description": "Label for the password generator uppercase character checkbox" }, "lowercaseDescription": { - "message": "Include lowercase characters", + "message": "כלול תווי אות קטנה", "description": "Full description for the password generator lowercase character checkbox" }, "lowercaseLabel": { @@ -532,7 +532,7 @@ "description": "Label for the password generator lowercase character checkbox" }, "numbersDescription": { - "message": "Include numbers", + "message": "העתק מספרים", "description": "Full description for the password generator numbers checkbox" }, "numbersLabel": { @@ -540,11 +540,11 @@ "description": "Label for the password generator numbers checkbox" }, "specialCharactersDescription": { - "message": "Include special characters", + "message": "כלול תווים מיוחדים", "description": "Full description for the password generator special characters checkbox" }, "specialCharactersLabel": { - "message": "!@#$%^&*", + "message": "*&^%$#@!", "description": "Label for the password generator special characters checkbox" }, "numWords": { @@ -575,11 +575,11 @@ "description": "deprecated. Use avoidAmbiguous instead." }, "avoidAmbiguous": { - "message": "Avoid ambiguous characters", + "message": "הימנע מתווים דו-משמעיים", "description": "Label for the avoid ambiguous characters checkbox." }, "generatorPolicyInEffect": { - "message": "Enterprise policy requirements have been applied to your generator options.", + "message": "דרישות מדיניות ארגונית הוחלו על אפשרויות המחולל שלך.", "description": "Indicates that a policy limits the credential generator screen." }, "searchCollection": { @@ -617,7 +617,7 @@ "message": "גודל הקובץ המירבי הוא 500 מגה." }, "encryptionKeyMigrationRequired": { - "message": "נדרשת הסבת מפתח הצפנה. נא להיכנס דרך הכספת לאתרים כדי לעדכן את מפתח ההצפנה שלך." + "message": "דרושה הגירת מפתח הצפנה. נא להתחבר דרך כספת הרשת כדי לעדכן את מפתח ההצפנה שלך." }, "editedFolder": { "message": "תיקייה שנשמרה" @@ -638,28 +638,28 @@ "message": "צור חשבון" }, "newToBitwarden": { - "message": "New to Bitwarden?" + "message": "חדש ב־Bitwarden?" }, "setAStrongPassword": { - "message": "הגדרת סיסמה חזקה" + "message": "הגדר סיסמה חזקה" }, "finishCreatingYourAccountBySettingAPassword": { - "message": "Finish creating your account by setting a password" + "message": "סיים ליצור את החשבון שלך על ידי הגדרת סיסמה" }, "logIn": { "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": "שלח" @@ -680,7 +680,7 @@ "message": "רמז לסיסמה ראשית (אופציונאלי)" }, "masterPassHintText": { - "message": "If you forget your password, the password hint can be sent to your email. $CURRENT$/$MAXIMUM$ character maximum.", + "message": "אם תשכח את הסיסמה שלך, רמז לסיסמה יכול להישלח לדוא\"ל שלך. $CURRENT$/$MAXIMUM$ תווים לכל היותר.", "placeholders": { "current": { "content": "$1", @@ -693,22 +693,22 @@ } }, "masterPassword": { - "message": "Master password" + "message": "סיסמה ראשית" }, "masterPassImportant": { - "message": "Your master password cannot be recovered if you forget it!" + "message": "הסיסמה הראשית שלך לא ניתנת לשחזור אם שחכת אותה!" }, "confirmMasterPassword": { - "message": "Confirm master password" + "message": "אמת סיסמה ראשית" }, "masterPassHintLabel": { - "message": "Master password hint" + "message": "רמז לסיסמה ראשית" }, "joinOrganization": { - "message": "הצטרפות לארגון" + "message": "הצטרף לארגון" }, "joinOrganizationName": { - "message": "הצטרפות אל $ORGANIZATIONNAME$", + "message": "הצטרף אל $ORGANIZATIONNAME$", "placeholders": { "organizationName": { "content": "$1", @@ -717,22 +717,22 @@ } }, "finishJoiningThisOrganizationBySettingAMasterPassword": { - "message": "Finish joining this organization by setting a master password." + "message": "סיים להצטרף לארגון זה על ידי הגדרת סיסמה ראשית." }, "settings": { "message": "הגדרות" }, "accountEmail": { - "message": "Account email" + "message": "דוא\"ל חשבון" }, "requestHint": { - "message": "Request hint" + "message": "בקש רמז" }, "requestPasswordHint": { - "message": "Request password hint" + "message": "בקש רמז לסיסמה" }, "enterYourAccountEmailAddressAndYourPasswordHintWillBeSentToYou": { - "message": "Enter your account email address and your password hint will be sent to you" + "message": "הזן את כתובת דוא\"ל החשבון שלך והרמז לסיסמה שלך יישלח אליך" }, "passwordHint": { "message": "רמז לסיסמה" @@ -769,7 +769,7 @@ "message": "נכנסת בהצלחה" }, "youMayCloseThisWindow": { - "message": "אפשר לסגור את החלון הזה" + "message": "אתה רשאי לסגור חלון זה" }, "masterPassDoesntMatch": { "message": "אימות סיסמה ראשית אינו תואם." @@ -778,10 +778,10 @@ "message": "החשבון החדש שלך נוצר בהצלחה! כעת ניתן להתחבר למערכת." }, "newAccountCreated2": { - "message": "Your new account has been created!" + "message": "החשבון החדש שלך נוצר!" }, "youHaveBeenLoggedIn": { - "message": "You have been logged in!" + "message": "התחברת!" }, "masterPassSent": { "message": "שלחנו לך אימייל עם רמז לסיסמה הראשית." @@ -814,7 +814,7 @@ "message": "נדרש קוד אימות." }, "webauthnCancelOrTimeout": { - "message": "The authentication was cancelled or took too long. Please try again." + "message": "האימות בוטל או לקח זמן רב מדי. נא לנסות שוב." }, "invalidVerificationCode": { "message": "קוד אימות שגוי" @@ -868,17 +868,17 @@ "message": "אפליקציית אימות" }, "authenticatorAppDescV2": { - "message": "Enter a code generated by an authenticator app like Bitwarden Authenticator.", + "message": "הזן קוד שנוצר על ידי יישום מאמת כמו מאמת Bitwarden.", "description": "'Bitwarden Authenticator' is a product name and should not be translated." }, "yubiKeyTitleV2": { - "message": "Yubico OTP security key" + "message": "מפתח אבטחה OTP של YubiKey" }, "yubiKeyDesc": { "message": "השתמש בYubiKey עבור גישה לחשבון שלך. עובד עם YubiKey בגירסאות 4, 4C, 4Nano, ומכשירי NEO." }, "duoDescV2": { - "message": "Enter a code generated by Duo Security.", + "message": "הזן קוד שנוצר על ידי Duo Security.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { @@ -886,13 +886,13 @@ "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "verifyIdentity": { - "message": "Verify your Identity" + "message": "אמת את זהותך" }, "weDontRecognizeThisDevice": { - "message": "We don't recognize this device. Enter the code sent to your email to verify your identity." + "message": "אנחנו לא מזהים את המכשיר הזה. הזן את הקוד שנשלח לדוא\"ל שלך כדי לאמת את זהותך." }, "continueLoggingIn": { - "message": "Continue logging in" + "message": "המשך להתחבר" }, "webAuthnTitle": { "message": "FIDO2 WebAuthn" @@ -904,7 +904,7 @@ "message": "אימייל" }, "emailDescV2": { - "message": "Enter a code sent to your email." + "message": "הזן קוד שנשלח לדוא\"ל שלך." }, "loginUnavailable": { "message": "פרטי כניסה לא זמינים" @@ -925,13 +925,13 @@ "message": "הזן את כתובת השרת המקומי של Bitwarden." }, "selfHostedBaseUrlHint": { - "message": "Specify the base URL of your on-premises hosted Bitwarden installation. Example: https://bitwarden.company.com" + "message": "ציין את בסיס ה־URL של התקנת Bitwarden באירוח מקומי שלך. דוגמה: https://bitwarden.company.com" }, "selfHostedCustomEnvHeader": { - "message": "For advanced configuration, you can specify the base URL of each service independently." + "message": "עבור תצורה מתקדמת, באפשרותך לציין את בסיס ה־URL של כל שירות בנפרד." }, "selfHostedEnvFormInvalid": { - "message": "You must add either the base Server URL or at least one custom environment." + "message": "אתה מוכרח להוסיף או את בסיס ה־URL של השרת או לפחות סביבה מותאמת אישית אחת." }, "customEnvironment": { "message": "סביבה מותאמת אישית" @@ -943,13 +943,13 @@ "message": "כתובת שרת" }, "authenticationTimeout": { - "message": "Authentication timeout" + "message": "פסק זמן לאימות" }, "authenticationSessionTimedOut": { - "message": "The authentication session timed out. Please restart the login process." + "message": "תם פסק הזמן לאימות ההפעלה. נא להתחיל מחדש את תהליך הכניסה." }, "selfHostBaseUrl": { - "message": "Self-host server URL", + "message": "URL של שרת אירוח עצמי", "description": "Label for field requesting a self-hosted integration service URL" }, "apiUrl": { @@ -992,22 +992,22 @@ "message": "בוצעה יציאה" }, "loggedOutDesc": { - "message": "You have been logged out of your account." + "message": "התנתקת מהחשבון שלך." }, "loginExpired": { "message": "תוקף החיבור שלך הסתיים." }, "restartRegistration": { - "message": "Restart registration" + "message": "התחל הרשמה מחדש" }, "expiredLink": { - "message": "Expired link" + "message": "קישור פג תוקף" }, "pleaseRestartRegistrationOrTryLoggingIn": { - "message": "Please restart registration or try logging in." + "message": "נא להתחיל הרשמה מחדש או לנסות להתחבר." }, "youMayAlreadyHaveAnAccount": { - "message": "You may already have an account" + "message": "ייתכן שכבר יש לך חשבון" }, "logOutConfirmation": { "message": "האם אתה בטוח שברצונך להתנתק?" @@ -1064,10 +1064,10 @@ "message": "החלף סיסמה ראשית" }, "continueToWebApp": { - "message": "Continue to web app?" + "message": "להמשיך ליישום רשת?" }, "changeMasterPasswordOnWebConfirmation": { - "message": "You can change your master password on the Bitwarden web app." + "message": "אתה יכול לשנות את הסיסמה הראשית שלך ביישום הרשת של Bitwarden." }, "fingerprintPhrase": { "message": "סיסמת טביעת אצבע", @@ -1096,16 +1096,16 @@ "message": "הכספת שלך נעולה. אמת את זהותך כדי להמשיך." }, "yourAccountIsLocked": { - "message": "Your account is locked" + "message": "החשבון שלך נעול" }, "or": { - "message": "or" + "message": "או" }, "unlockWithBiometrics": { - "message": "Unlock with biometrics" + "message": "בטל נעילה עם זיהוי ביומטרי" }, "unlockWithMasterPassword": { - "message": "Unlock with master password" + "message": "בטל נעילה עם סיסמה ראשית" }, "unlock": { "message": "בטל נעילה" @@ -1136,7 +1136,7 @@ "message": "סגירת כספת אוטומטית" }, "vaultTimeout1": { - "message": "Timeout" + "message": "פסק זמן" }, "vaultTimeoutDesc": { "message": "בחר כמה זמן יעבור כדי שהכספת תסגר לאחר חוסר פעילות ותבצע את הפעולה שנבחרה." @@ -1343,7 +1343,7 @@ "description": "Copy credit card number" }, "copyEmail": { - "message": "Copy email" + "message": "העתק דוא\"ל" }, "copySecurityCode": { "message": "העתק קוד אבטחה", @@ -1389,7 +1389,7 @@ "message": "רכוש פרימיום" }, "premiumPurchaseAlertV2": { - "message": "You can purchase Premium from your account settings on the Bitwarden web app." + "message": "אתה יכול לרכוש פרימיום מהגדרות החשבון שלך ביישום הרשת של Bitwarden." }, "premiumCurrentMember": { "message": "אתה מנוי פרימיום!" @@ -1413,13 +1413,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": "אם תמשיך, כל הרשומות יימחקו לצמיתות מהיסטוריית המחולל. האם אתה בטוח שברצונך להמשיך?" }, "clear": { "message": "נקה", @@ -1429,13 +1429,13 @@ "message": "אין סיסמאות להצגה ברשימה." }, "clearHistory": { - "message": "Clear history" + "message": "נקה היסטוריה" }, "nothingToShow": { - "message": "Nothing to show" + "message": "אין מה להראות" }, "nothingGeneratedRecently": { - "message": "You haven't generated anything recently" + "message": "לא יצרת שום דבר לאחרונה" }, "undo": { "message": "בטל" @@ -1512,13 +1512,13 @@ } }, "copySuccessful": { - "message": "Copy Successful" + "message": "העתקה מוצלחת" }, "errorRefreshingAccessToken": { - "message": "Access Token Refresh Error" + "message": "שגיאת רענון אסימון גישה" }, "errorRefreshingAccessTokenDesc": { - "message": "No refresh token or API keys found. Please try logging out and logging back in." + "message": "לא נמצאו אסימון רענון או מפתחות API. נא לנסות לצאת ולהיכנס חזרה." }, "help": { "message": "עזרה" @@ -1608,7 +1608,7 @@ "description": "ex. Date this password was updated" }, "exportFrom": { - "message": "Export from" + "message": "ייצוא מ-" }, "exportVault": { "message": "יצוא כספת" @@ -1617,31 +1617,31 @@ "message": "תבנית קובץ" }, "fileEncryptedExportWarningDesc": { - "message": "This file export will be password protected and require the file password to decrypt." + "message": "קובץ ייצוא זה יהיה מוגן סיסמה ודורש את סיסמת הקובץ כדי לפענח." }, "filePassword": { - "message": "File password" + "message": "סיסמת קובץ" }, "exportPasswordDescription": { - "message": "This password will be used to export and import this file" + "message": "סיסמה זו תשמש כדי לייצא ולייבא קובץ זה" }, "accountRestrictedOptionDescription": { - "message": "Use your account encryption key, derived from your account's username and Master Password, to encrypt the export and restrict import to only the current Bitwarden account." + "message": "השתמש במפתח הצפנת החשבון שלך, הנגזר משם המשתמש שלך והסיסמה הראשית, כדי להצפין את הייצוא ולהגביל את הייבוא רק לחשבון Bitwarden הנוכחי." }, "passwordProtected": { - "message": "Password protected" + "message": "מוגן סיסמה" }, "passwordProtectedOptionDescription": { - "message": "Set a file password to encrypt the export and import it to any Bitwarden account using the password for decryption." + "message": "הגדר סיסמת קובץ כדי להצפין את הייצוא ולייבא אותו לכל חשבון Bitwarden באמצעות הסיסמה לפענוח." }, "exportTypeHeading": { - "message": "Export type" + "message": "סוג ייצוא" }, "accountRestricted": { - "message": "Account restricted" + "message": "מוגבל חשבון" }, "filePasswordAndConfirmFilePasswordDoNotMatch": { - "message": "“File password” and “Confirm file password“ do not match." + "message": "\"סיסמת קובץ\" ו-\"אשר סיסמת קובץ\" אינם תואמים." }, "hCaptchaUrl": { "message": "כתובת אתר hCaptcha", @@ -1749,7 +1749,7 @@ "message": "הגדרות נוספות של Windows Hello" }, "unlockWithPolkit": { - "message": "Unlock with system authentication" + "message": "בטל נעילה עם אימות מערכת" }, "windowsHelloConsentMessage": { "message": "אימות עבור Bitwarden." @@ -1767,7 +1767,7 @@ "message": "הצג את Windows Hello בפתיחת האפליקציה" }, "autoPromptPolkit": { - "message": "Ask for system authentication on launch" + "message": "בקש אימות מערכת בפתיחה" }, "autoPromptTouchId": { "message": "הצג בקשה של Touch ID בפתיחת האפליקציה" @@ -1779,7 +1779,7 @@ "message": "מומלץ לשיפור אבטחת מידע." }, "lockWithMasterPassOnRestart1": { - "message": "Lock with master password on restart" + "message": "נעל בעזרת הסיסמה הראשית בהפעלה מחדש" }, "deleteAccount": { "message": "מחק חשבון" @@ -1791,10 +1791,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": "החשבון נמחק" @@ -1899,15 +1899,15 @@ "message": "הגדרת סיסמה ראשית" }, "orgPermissionsUpdatedMustSetPassword": { - "message": "Your organization permissions were updated, requiring you to set a master password.", + "message": "הרשאות הארגון שלך עודכנו, מה שמאלץ אותך להגדיר סיסמה ראשית.", "description": "Used as a card title description on the set password page to explain why the user is there" }, "orgRequiresYouToSetPassword": { - "message": "Your organization requires you to set a master password.", + "message": "הארגון שלך דורש ממך להגדיר סיסמה ראשית.", "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", @@ -1920,7 +1920,7 @@ "description": "Default title for the user verification dialog." }, "currentMasterPass": { - "message": "Current master password" + "message": "סיסמה ראשית נוכחית" }, "newMasterPass": { "message": "סיסמה ראשית חדשה" @@ -1971,19 +1971,19 @@ "message": "הסיסמה הראשית החדשה השלך לא עומדת בדרישות המדיניות." }, "receiveMarketingEmailsV2": { - "message": "Get advice, announcements, and research opportunities from Bitwarden in your inbox." + "message": "קבל עצות, הכרזות, והזדמנויות מחקר מאת Bitwarden בדואר הנכנס שלך." }, "unsubscribe": { - "message": "Unsubscribe" + "message": "בטל הרשמה" }, "atAnyTime": { - "message": "at any time." + "message": "בכל זמן." }, "byContinuingYouAgreeToThe": { - "message": "By continuing, you agree to the" + "message": "על ידי המשך, אתה מסכים ל" }, "and": { - "message": "and" + "message": "ו" }, "acceptPolicies": { "message": "סימון תיבה זו מהווה את הסכמתך לתנאים הבאים:" @@ -2007,10 +2007,10 @@ "message": "שילוב הדפדפן אינו נתמך" }, "browserIntegrationErrorTitle": { - "message": "Error enabling browser integration" + "message": "שגיאה באפשור שילוב דפדפן" }, "browserIntegrationErrorDesc": { - "message": "An error has occurred while enabling browser integration." + "message": "אירעה שגיאה בעת אפשור שילוב דפדפן." }, "browserIntegrationMasOnlyDesc": { "message": "למצער, אינטגרצייה עם הדפדפן בשלב זה נתמכת רק על ידי גרסת חנות האפליקציות של מקינטוש." @@ -2064,10 +2064,10 @@ "message": "בכדי להשתמש באמצעי אימות ביומטריים בדפדפן, אפשר תכונה זו באפליקציה בשולחן העבודה." }, "biometricsManualSetupTitle": { - "message": "Automatic setup not available" + "message": "הגדרה אוטומטית אינה זמינה" }, "biometricsManualSetupDesc": { - "message": "Due to the installation method, biometrics support could not be automatically enabled. Would you like to open the documentation on how to do this manually?" + "message": "בגלל שיטת ההתקנה, לא היה ניתן לאפשר תמיכת זיהוי ביומטרי באופן אוטומטי. האם תרצה לפתוח את התיעוד על איך לעשות זאת ידנית?" }, "personalOwnershipSubmitError": { "message": "בשל מדיניות ארגונית, אתה מוגבל לשמירת פריטים בכספת האישית שלך. שנה את ההגדרות בעלות החשבון לחשבון ארגוני ובחר מתוך האוספים הזמינים." @@ -2079,7 +2079,7 @@ "message": "מדיניות ארגון מסויימת משפיעה על אפשרויות הבעלות." }, "personalOwnershipPolicyInEffectImports": { - "message": "An organization policy has blocked importing items into your individual vault." + "message": "מדיניות ארגון חסמה ייבוא פריטים אל תוך הכספת האישית שלך." }, "allSends": { "message": "כל השליחות", @@ -2254,7 +2254,7 @@ "message": "נדרש כתובת אימייל לאימות" }, "emailVerifiedV2": { - "message": "Email verified" + "message": "דוא\"ל אומת" }, "emailVerificationRequiredDesc": { "message": "נדרש אישור אימות בדוא\"ל כדי לאפשר שימוש בתכונה זו." @@ -2278,10 +2278,10 @@ "message": "הסיסמה הראשית שלך שונתה לאחרונה על ידי מנהל הארגון שלך. כדי לגשת לכספת, עליך לעדכן אותה כעת. בהמשך תנותק מההפעלה הנוכחית שלך ותידרש להיכנס שוב. הפעלות אחרות הפתוחות במכשירים שונים ימשיכו להיות פעילים עד משך שעה אחת." }, "updateWeakMasterPasswordWarning": { - "message": "Your master password does not meet one or more of your organization policies. In order to access the vault, you must update your master password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." + "message": "הסיסמה הראשית שלך אינה עומדת באחת או יותר ממדיניויות הארגון שלך. כדי לגשת לכספת, אתה מוכרח לעדכן את הסיסמה הראשית שלך עכשיו. בהמשך תנותק מההפעלה הנוכחית שלך, מה שידרוש ממך להיכנס חזרה. הפעלות פעילות במכשירים אחרים עלולות להישאר פעילות למשך עד שעה אחת." }, "tdeDisabledMasterPasswordRequired": { - "message": "Your organization has disabled trusted device encryption. Please set a master password to access your vault." + "message": "הארגון שלך השבית הצפנת מכשיר מהימן. נא להגדיר סיסמה ראשית כדי לגשת לכספת שלך." }, "tryAgain": { "message": "לנסות שוב" @@ -2326,7 +2326,7 @@ "message": "דקות" }, "vaultTimeoutPolicyInEffect1": { - "message": "$HOURS$ hour(s) and $MINUTES$ minute(s) maximum.", + "message": "$HOURS$ שעות ו-$MINUTES$ דקות לכל היותר.", "placeholders": { "hours": { "content": "$1", @@ -2339,7 +2339,7 @@ } }, "vaultTimeoutPolicyWithActionInEffect": { - "message": "Your organization policies are affecting your vault timeout. Maximum allowed vault timeout is $HOURS$ hour(s) and $MINUTES$ minute(s). Your vault timeout action is set to $ACTION$.", + "message": "מדיניויות הארגון שלך משפיעות על פסק הזמן לכספת שלך. פסק זמן מרבי המותר הוא $HOURS$ שעות ו-$MINUTES$ דקות. פעולת פסק הזמן לכספת שלך מוגדרת ל$ACTION$.", "placeholders": { "hours": { "content": "$1", @@ -2356,7 +2356,7 @@ } }, "vaultTimeoutActionPolicyInEffect": { - "message": "Your organization policies have set your vault timeout action to $ACTION$.", + "message": "מדיניויות הארגון שלך הגדירו את פעולת פסק הזמן לכספת שלך ל$ACTION$.", "placeholders": { "action": { "content": "$1", @@ -2368,7 +2368,7 @@ "message": "הזמן הקצוב לכספת שלך חורג מהמגבלות שנקבעו על ידי הארגון שלך." }, "inviteAccepted": { - "message": "Invitation accepted" + "message": "ההזמנה התקבלה" }, "resetPasswordPolicyAutoEnroll": { "message": "רישום אוטומטי" @@ -2440,7 +2440,7 @@ "message": "החלף חשבון" }, "alreadyHaveAccount": { - "message": "Already have an account?" + "message": "כבר יש לך חשבון?" }, "options": { "message": "אפשרויות" @@ -2452,7 +2452,7 @@ "message": "הכספת האישית מיוצאת" }, "exportingIndividualVaultDescription": { - "message": "Only the individual vault items associated with $EMAIL$ will be exported. Organization vault items will not be included. Only vault item information will be exported and will not include associated attachments.", + "message": "רק פריטי הכספת האישית המשויכת עם $EMAIL$ ייוצאו. פריטי כספת ארגון לא יכללו. רק פרטי פריט כספת ייוצאו ולא יכללו קבצים מצורפים משויכים.", "placeholders": { "email": { "content": "$1", @@ -2461,10 +2461,10 @@ } }, "exportingOrganizationVaultTitle": { - "message": "Exporting organization vault" + "message": "מייצא כספת ארגון" }, "exportingOrganizationVaultDesc": { - "message": "Only the organization vault associated with $ORGANIZATION$ will be exported. Items in individual vaults or other organizations will not be included.", + "message": "רק כספת הארגון המשויכת עם $ORGANIZATION$ ייוצאו. פריטים בכספת אישית או ארגונים אחרים לא יכללו.", "placeholders": { "organization": { "content": "$1", @@ -2476,7 +2476,7 @@ "message": "נָעוּל" }, "yourVaultIsLockedV2": { - "message": "Your vault is locked" + "message": "הכספת שלך נעולה" }, "unlocked": { "message": "לא נעול" @@ -2498,10 +2498,10 @@ "message": "חולל שם משתמש" }, "generateEmail": { - "message": "Generate email" + "message": "צור דוא\"ל" }, "spinboxBoundariesHint": { - "message": "Value must be between $MIN$ and $MAX$.", + "message": "הערך חייב להיות בין $MIN$ ל־$MAX$.", "description": "Explains spin box minimum and maximum values to the user", "placeholders": { "min": { @@ -2515,7 +2515,7 @@ } }, "passwordLengthRecommendationHint": { - "message": " Use $RECOMMENDED$ characters or more to generate a strong password.", + "message": " השתמש ב־$RECOMMENDED$ תווים או יותר כדי ליצור סיסמה חזקה.", "description": "Appended to `spinboxBoundariesHint` to recommend a length to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).", "placeholders": { "recommended": { @@ -2525,7 +2525,7 @@ } }, "passphraseNumWordsRecommendationHint": { - "message": " Use $RECOMMENDED$ words or more to generate a strong passphrase.", + "message": " השתמש ב־$RECOMMENDED$ מילים או יותר כדי ליצור ביטוי סיסמה חזק.", "description": "Appended to `spinboxBoundariesHint` to recommend a number of words to the user. This must include any language-specific 'sentence' separator characters (e.g. a space in english).", "placeholders": { "recommended": { @@ -2551,7 +2551,7 @@ "message": "השתמש בתכונת ה-catch-all המוגדרת בדומיין שלך." }, "useThisEmail": { - "message": "Use this email" + "message": "השתמש בדוא\"ל זה" }, "random": { "message": "אקראי" @@ -2581,15 +2581,15 @@ "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": { - "message": "$SERVICENAME$ error: $ERRORMESSAGE$", + "message": "$SERVICENAME$ שגיאה: $ERRORMESSAGE$", "description": "Reports an error returned by a forwarding service to the user.", "placeholders": { "servicename": { @@ -2603,11 +2603,11 @@ } }, "forwarderGeneratedBy": { - "message": "Generated by Bitwarden.", + "message": "נוצר על ידי Bitwarden.", "description": "Displayed with the address on the forwarding service's configuration screen." }, "forwarderGeneratedByWithWebsite": { - "message": "Website: $WEBSITE$. Generated by Bitwarden.", + "message": "אתר: $WEBSITE$. נוצר על ידי Bitwarden.", "description": "Displayed with the address on the forwarding service's configuration screen.", "placeholders": { "WEBSITE": { @@ -2617,7 +2617,7 @@ } }, "forwaderInvalidToken": { - "message": "Invalid $SERVICENAME$ API token", + "message": "אסימון API של $SERVICENAME$ לא חוקי", "description": "Displayed when the user's API token is empty or rejected by the forwarding service.", "placeholders": { "servicename": { @@ -2627,7 +2627,7 @@ } }, "forwaderInvalidTokenWithMessage": { - "message": "Invalid $SERVICENAME$ API token: $ERRORMESSAGE$", + "message": "אסימון API של $SERVICENAME$ לא חוקי: $ERRORMESSAGE$", "description": "Displayed when the user's API token is rejected by the forwarding service with an error message.", "placeholders": { "servicename": { @@ -2640,8 +2640,32 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ סירב לבקשה שלך. נא ליצור קשר עם נותן השירות שלך לקבלת סיוע.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ סירב לבקשה שלך: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { - "message": "Unable to obtain $SERVICENAME$ masked email account ID.", + "message": "לא ניתן להשיג מזהה חשבון דוא\"ל מסווה של $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", "placeholders": { "servicename": { @@ -2651,7 +2675,7 @@ } }, "forwarderNoDomain": { - "message": "Invalid $SERVICENAME$ domain.", + "message": "דומיין $SERVICENAME$ לא חוקי.", "description": "Displayed when the domain is empty or domain authorization failed at the forwarding service.", "placeholders": { "servicename": { @@ -2661,7 +2685,7 @@ } }, "forwarderNoUrl": { - "message": "Invalid $SERVICENAME$ url.", + "message": "כתובת url של $SERVICENAME$ לא חוקית.", "description": "Displayed when the url of the forwarding service wasn't supplied.", "placeholders": { "servicename": { @@ -2671,7 +2695,7 @@ } }, "forwarderUnknownError": { - "message": "Unknown $SERVICENAME$ error occurred.", + "message": "התרחשה שגיאת $SERVICENAME$ לא ידועה.", "description": "Displayed when the forwarding service failed due to an unknown error.", "placeholders": { "servicename": { @@ -2681,7 +2705,7 @@ } }, "forwarderUnknownForwarder": { - "message": "Unknown forwarder: '$SERVICENAME$'.", + "message": "משלח לא ידוע: '$SERVICENAME$'.", "description": "Displayed when the forwarding service is not supported.", "placeholders": { "servicename": { @@ -2743,28 +2767,28 @@ "message": "התחבר עם מכשיר אחר" }, "loginInitiated": { - "message": "Login initiated" + "message": "כניסה החלה" }, "logInRequestSent": { - "message": "Request sent" + "message": "בקשה נשלחה" }, "notificationSentDevice": { "message": "התראה נשלחה למכשירך." }, "aNotificationWasSentToYourDevice": { - "message": "A notification was sent to your device" + "message": "התראה נשלחה למכשיר שלך" }, "notificationSentDevicePart1": { - "message": "Unlock Bitwarden on your device or on the " + "message": "בטל נעילת Bitwarden במכשיר שלך או ב" }, "notificationSentDeviceAnchor": { - "message": "web app" + "message": "יישום הרשת" }, "notificationSentDevicePart2": { - "message": "Make sure the Fingerprint phrase matches the one below before approving." + "message": "ודא שביטוי טביעת האצבע תואם את זה שלמטה לפני שתאשר." }, "needAnotherOptionV1": { - "message": "Need another option?" + "message": "צריך אפשרות אחרת?" }, "fingerprintMatchInfo": { "message": "וודא שהכספת שלך לא נעולה ושם המזהה שלך מתאים למכשיר השני." @@ -2773,13 +2797,13 @@ "message": "שם מזהה" }, "youWillBeNotifiedOnceTheRequestIsApproved": { - "message": "You will be notified once the request is approved" + "message": "תקבל התראה כאשר הבקשה תאושר" }, "needAnotherOption": { "message": "התחברות עם מכשיר צריכה להיות מוגדרת בהגדרות האפליקציה. זקוק/ה לאפשרות נוספת?" }, "viewAllLogInOptions": { - "message": "View all log in options" + "message": "הצג את כל אפשרויות הכניסה" }, "viewAllLoginOptions": { "message": "צפייה בכל אפשרות ההתחברות" @@ -2792,10 +2816,10 @@ "description": "'Character count' describes a feature that displays a number next to each character of the password." }, "areYouTryingToAccessYourAccount": { - "message": "Are you trying to access your account?" + "message": "האם אתה מנסה לגשת לחשבון שלך?" }, "accessAttemptBy": { - "message": "Access attempt by $EMAIL$", + "message": "ניסיון גישה באמצעות על ידי $EMAIL$", "placeholders": { "email": { "content": "$1", @@ -2813,10 +2837,10 @@ "message": "זמן" }, "confirmAccess": { - "message": "Confirm access" + "message": "אשר גישה" }, "denyAccess": { - "message": "Deny access" + "message": "דחה גישה" }, "logInConfirmedForEmailOnDevice": { "message": "התחברות אושרה עבור $EMAIL$ במכשיר $DEVICE$", @@ -2832,13 +2856,13 @@ } }, "youDeniedALogInAttemptFromAnotherDevice": { - "message": "You denied a login attempt from another device. If this really was you, try to log in with the device again." + "message": "דחית ניסיון כניסה ממכשיר אחר. אם זה באמת היית אתה, נסה להתחבר עם המכשיר שוב." }, "justNow": { - "message": "Just now" + "message": "זה עתה" }, "requestedXMinutesAgo": { - "message": "Requested $MINUTES$ minutes ago", + "message": "התבקשה לפני $MINUTES$ דקות", "placeholders": { "minutes": { "content": "$1", @@ -2847,13 +2871,13 @@ } }, "loginRequestHasAlreadyExpired": { - "message": "Login request has already expired." + "message": "כבר פג תוקפה של בקשת הכניסה." }, "thisRequestIsNoLongerValid": { - "message": "This request is no longer valid." + "message": "בקשה זו אינה תקפה עוד." }, "confirmAccessAttempt": { - "message": "Confirm access attempt for $EMAIL$", + "message": "אשר ניסיון גישה עבור $EMAIL$", "placeholders": { "email": { "content": "$1", @@ -2862,73 +2886,73 @@ } }, "logInRequested": { - "message": "Log in requested" + "message": "התבקשה כניסה" }, "accountAccessRequested": { - "message": "Account access requested" + "message": "התבקשה גישה לחשבון" }, "creatingAccountOn": { - "message": "Creating account on" + "message": "יוצר חשבון ב־" }, "checkYourEmail": { - "message": "Check your email" + "message": "בדוק את הדוא\"ל שלך" }, "followTheLinkInTheEmailSentTo": { - "message": "Follow the link in the email sent to" + "message": "עקוב אחר הקישור בדוא\"ל הנשלח אל" }, "andContinueCreatingYourAccount": { - "message": "and continue creating your account." + "message": "והמשך ליצור את החשבון שלך." }, "noEmail": { - "message": "No email?" + "message": "אין דוא\"ל?" }, "goBack": { - "message": "Go back" + "message": "חזור" }, "toEditYourEmailAddress": { - "message": "to edit your email address." + "message": "כדי לערוך את כתובת הדוא\"ל שלך." }, "exposedMasterPassword": { - "message": "Exposed Master Password" + "message": "סיסמה ראשית חשופה" }, "exposedMasterPasswordDesc": { - "message": "Password found in a data breach. Use a unique password to protect your account. Are you sure you want to use an exposed password?" + "message": "הסיסמה נמצאה בפרצת נתונים. השתמש בסיסמה ייחודית כדי להגן על חשבונך. האם אתה בטוח שברצונך להשתמש בסיסמה חשופה?" }, "weakAndExposedMasterPassword": { - "message": "Weak and Exposed Master Password" + "message": "סיסמה ראשית חלשה וחשופה" }, "weakAndBreachedMasterPasswordDesc": { - "message": "Weak password identified and found in a data breach. Use a strong and unique password to protect your account. Are you sure you want to use this password?" + "message": "סיסמה חלשה זוהתה ונמצאה בפרצת נתונים. השתמש בסיסמה חזקה וייחודית כדי להגן על חשבונך. האם אתה בטוח שאתה רוצה להשתמש בסיסמה זו?" }, "useThisPassword": { - "message": "Use this password" + "message": "השתמש בסיסמה זו" }, "useThisUsername": { - "message": "Use this username" + "message": "השתמש בשם משתמש זה" }, "checkForBreaches": { - "message": "Check known data breaches for this password" + "message": "בדוק פרצות נתונים ידועות עבור סיסמה זו" }, "loggedInExclamation": { - "message": "Logged in!" + "message": "נכנסת!" }, "important": { "message": "חשוב:" }, "accessing": { - "message": "Accessing" + "message": "ניגש אל" }, "accessTokenUnableToBeDecrypted": { - "message": "You have been logged out because your access token could not be decrypted. Please log in again to resolve this issue." + "message": "נותקת בגלל שלא היה ניתן לפענח את אסימון הגישה שלך. נא להיכנס שוב כדי לפתור בעיה זו." }, "refreshTokenSecureStorageRetrievalFailure": { - "message": "You have been logged out because your refresh token could not be retrieved. Please log in again to resolve this issue." + "message": "נותקת בגלל שלא היה ניתן לאחזר את אסימון הרענון שלך. נא להיכנס שוב כדי לפתור בעיה זו." }, "masterPasswordHint": { - "message": "Your master password cannot be recovered if you forget it!" + "message": "הסיסמה הראשית שלך לא ניתנת לשחזור אם שחכת אותה!" }, "characterMinimum": { - "message": "$LENGTH$ character minimum", + "message": "$LENGTH$ תווים לכל הפחות", "placeholders": { "length": { "content": "$1", @@ -2937,92 +2961,92 @@ } }, "windowsBiometricUpdateWarning": { - "message": "Bitwarden recommends updating your biometric settings to require your master password (or PIN) on the first unlock. Would you like to update your settings now?" + "message": "Bitwarden ממליץ לעדכן את הגדרות הזיהוי הביומטרי שלך כך שתדרש סיסמה ראשית (או PIN) בכניסה הראשונית. האם ברצונך לעדכן את ההגדרות שלך עכשיו?" }, "windowsBiometricUpdateWarningTitle": { - "message": "Recommended Settings Update" + "message": "עדכון הגדרות מומלץ" }, "rememberThisDeviceToMakeFutureLoginsSeamless": { - "message": "Remember this device to make future logins seamless" + "message": "זכור מכשיר זה כדי להפוך כניסות עתידיות לחלקות" }, "deviceApprovalRequired": { - "message": "Device approval required. Select an approval option below:" + "message": "נדרש אישור מכשיר. בחר אפשרות אישור למטה:" }, "deviceApprovalRequiredV2": { - "message": "Device approval required" + "message": "נדרש אישור מכשיר" }, "selectAnApprovalOptionBelow": { - "message": "Select an approval option below" + "message": "בחר אפשרות אישור למטה" }, "rememberThisDevice": { - "message": "Remember this device" + "message": "זכור מכשיר זה" }, "uncheckIfPublicDevice": { - "message": "Uncheck if using a public device" + "message": "בטל את הסימון אם אתה משתמש במכשיר ציבורי" }, "approveFromYourOtherDevice": { - "message": "Approve from your other device" + "message": "אשר מהמכשיר האחר שלך" }, "requestAdminApproval": { - "message": "Request admin approval" + "message": "בקש אישור מנהל" }, "approveWithMasterPassword": { - "message": "Approve with master password" + "message": "אשר עם סיסמה ראשית" }, "region": { - "message": "Region" + "message": "אזור" }, "ssoIdentifierRequired": { - "message": "Organization SSO identifier is required." + "message": "נדרש מזהה SSO של הארגון." }, "eu": { - "message": "EU", + "message": "האיחוד האירופי", "description": "European Union" }, "selfHostedServer": { - "message": "self-hosted" + "message": "אירוח עצמי" }, "accessDenied": { - "message": "Access denied. You do not have permission to view this page." + "message": "גישה נדחתה. אין לך הרשאות כדי לצפות בדף זה." }, "accountSuccessfullyCreated": { - "message": "Account successfully created!" + "message": "החשבון נוצר בהצלחה!" }, "adminApprovalRequested": { - "message": "Admin approval requested" + "message": "התבקש אישור מנהל" }, "adminApprovalRequestSentToAdmins": { - "message": "Your request has been sent to your admin." + "message": "הבקשה שלך נשלחה למנהל שלך." }, "youWillBeNotifiedOnceApproved": { - "message": "You will be notified once approved." + "message": "תקבל התראה כשתאושר." }, "troubleLoggingIn": { - "message": "Trouble logging in?" + "message": "בעיות בכניסה?" }, "loginApproved": { - "message": "Login approved" + "message": "כניסה אושרה" }, "userEmailMissing": { - "message": "User email missing" + "message": "חסר דוא\"ל משתמש" }, "activeUserEmailNotFoundLoggingYouOut": { - "message": "Active user email not found. Logging you out." + "message": "דוא\"ל משתמש פעיל לא נמצא. מנתק אותך." }, "deviceTrusted": { - "message": "Device trusted" + "message": "מכשיר מהימן" }, "inputRequired": { - "message": "Input is required." + "message": "נדרש קלט." }, "required": { - "message": "required" + "message": "נדרש" }, "search": { - "message": "Search" + "message": "חיפוש" }, "inputMinLength": { - "message": "Input must be at least $COUNT$ characters long.", + "message": "אורך הקלט חייב להיות לפחות $COUNT$ תווים.", "placeholders": { "count": { "content": "$1", @@ -3031,7 +3055,7 @@ } }, "inputMaxLength": { - "message": "Input must not exceed $COUNT$ characters in length.", + "message": "אורך הקלט לא יעלה על $COUNT$ תווים.", "placeholders": { "count": { "content": "$1", @@ -3040,7 +3064,7 @@ } }, "inputForbiddenCharacters": { - "message": "The following characters are not allowed: $CHARACTERS$", + "message": "התווים הבאים אינם מותרים: $CHARACTERS$", "placeholders": { "characters": { "content": "$1", @@ -3049,7 +3073,7 @@ } }, "inputMinValue": { - "message": "Input value must be at least $MIN$.", + "message": "ערך הקלט חייב להיות לפחות $MIN$.", "placeholders": { "min": { "content": "$1", @@ -3058,7 +3082,7 @@ } }, "inputMaxValue": { - "message": "Input value must not exceed $MAX$.", + "message": "ערך הקלט לא יעלה על $MAX$.", "placeholders": { "max": { "content": "$1", @@ -3067,17 +3091,17 @@ } }, "multipleInputEmails": { - "message": "1 or more emails are invalid" + "message": "1 או יותר דוא\"לים אינם חוקיים" }, "inputTrimValidator": { - "message": "Input must not contain only whitespace.", + "message": "אסור שקלט יכיל רק רווח לבן.", "description": "Notification to inform the user that a form's input can't contain only whitespace." }, "inputEmail": { - "message": "Input is not an email address." + "message": "קלט הוא לא כתובת דוא\"ל." }, "fieldsNeedAttention": { - "message": "$COUNT$ field(s) above need your attention.", + "message": "$COUNT$ שדות למעלה צריכות את תשומת לבך.", "placeholders": { "count": { "content": "$1", @@ -3086,22 +3110,22 @@ } }, "selectPlaceholder": { - "message": "-- Select --" + "message": "-- בחר --" }, "multiSelectPlaceholder": { - "message": "-- Type to filter --" + "message": "-- הקלד כדי לסנן --" }, "multiSelectLoading": { - "message": "Retrieving options..." + "message": "מאחזר אפשרויות..." }, "multiSelectNotFound": { - "message": "No items found" + "message": "לא נמצאו פריטים" }, "multiSelectClearAll": { - "message": "Clear all" + "message": "נקה הכל" }, "plusNMore": { - "message": "+ $QUANTITY$ more", + "message": "+ עוד $QUANTITY$", "placeholders": { "quantity": { "content": "$1", @@ -3110,47 +3134,47 @@ } }, "submenu": { - "message": "Submenu" + "message": "תפריט משנה" }, "toggleSideNavigation": { - "message": "Toggle side navigation" + "message": "פתח או סגור ניווט צדדי" }, "skipToContent": { - "message": "Skip to content" + "message": "דלג לתוכן" }, "typePasskey": { - "message": "Passkey" + "message": "מפתח גישה" }, "passkeyNotCopied": { - "message": "Passkey will not be copied" + "message": "מפתח גישה לא יועתק" }, "passkeyNotCopiedAlert": { - "message": "The passkey will not be copied to the cloned item. Do you want to continue cloning this item?" + "message": "מפתח הגישה לא יועתק לפריט המשוכפל. האם ברצונך להמשיך לשכפל פריט זה?" }, "aliasDomain": { - "message": "Alias domain" + "message": "דומיין כינוי" }, "importData": { - "message": "Import data", + "message": "ייבוא נתונים", "description": "Used for the desktop menu item and the header of the import dialog" }, "importError": { - "message": "Import error" + "message": "שגיאת ייבוא" }, "importErrorDesc": { - "message": "There was a problem with the data you tried to import. Please resolve the errors listed below in your source file and try again." + "message": "הייתה בעיה עם הנתונים שאתה מנסה לייבא. נא לפתור את השגיאות הרשומות למטה בקובץ המקור שלך ולנסות שוב." }, "resolveTheErrorsBelowAndTryAgain": { - "message": "Resolve the errors below and try again." + "message": "פתור את השגיאות למטה ונסה שוב." }, "description": { - "message": "Description" + "message": "תיאור" }, "importSuccess": { - "message": "Data successfully imported" + "message": "הנתונים יובאו בהצלחה" }, "importSuccessNumberOfItems": { - "message": "A total of $AMOUNT$ items were imported.", + "message": "סך הכל יובאו $AMOUNT$ פריטים.", "placeholders": { "amount": { "content": "$1", @@ -3159,10 +3183,10 @@ } }, "total": { - "message": "Total" + "message": "סך הכל" }, "importWarning": { - "message": "You are importing data to $ORGANIZATION$. Your data may be shared with members of this organization. Do you want to proceed?", + "message": "אתה מייבא נתונים אל $ORGANIZATION$. ייתכן שהנתונים שלך ישותפו עם חברים של הארגון הזה. האם אתה רוצה להמשיך?", "placeholders": { "organization": { "content": "$1", @@ -3171,43 +3195,43 @@ } }, "duoHealthCheckResultsInNullAuthUrlError": { - "message": "Error connecting with the Duo service. Use a different two-step login method or contact Duo for assistance." + "message": "שגיאה בהתחברות עם השירות Duo. השתמש בשיטת כניסה דו־שלבית אחרת או פנה אל Duo לסיוע." }, "launchDuoAndFollowStepsToFinishLoggingIn": { - "message": "Launch Duo and follow the steps to finish logging in." + "message": "פתח את Duo ועקוב אחר השלבים כדי לסיים את ההתחברות." }, "duoRequiredByOrgForAccount": { - "message": "Duo two-step login is required for your account." + "message": "נדרשת כניסה דו־שלבית של Duo עבור החשבון שלך." }, "launchDuo": { - "message": "Launch Duo in Browser" + "message": "פתח את Duo בדפדפן" }, "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." + "message": "הנתונים אינם מעוצבים כראוי. נא לבדוק את קובץ הייבוא שלך ולנסות שוב." }, "importNothingError": { - "message": "Nothing was imported." + "message": "לא יובא דבר." }, "importEncKeyError": { - "message": "Error decrypting the exported file. Your encryption key does not match the encryption key used export the data." + "message": "שגיאה בפענוח הקובץ המיוצא. מפתח ההצפנה שלך אינו תואם את מפתח ההצפנה המשמש לייצוא הנתונים." }, "invalidFilePassword": { - "message": "Invalid file password, please use the password you entered when you created the export file." + "message": "סיסמת קובץ שגויה, נא להשתמש בסיסמה שהזנת כשיצרת את קובץ הייצוא." }, "destination": { - "message": "Destination" + "message": "יעד" }, "learnAboutImportOptions": { - "message": "Learn about your import options" + "message": "למד על אפשרויות הייבוא שלך" }, "selectImportFolder": { - "message": "Select a folder" + "message": "בחר תיקיה" }, "selectImportCollection": { - "message": "Select a collection" + "message": "בחר אוסף" }, "importTargetHint": { - "message": "Select this option if you want the imported file contents moved to a $DESTINATION$", + "message": "בחר באפשרות זו אם ברצונך להעביר את תוכן הקובץ המיובא אל $DESTINATION$", "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", "placeholders": { "destination": { @@ -3217,25 +3241,25 @@ } }, "importUnassignedItemsError": { - "message": "File contains unassigned items." + "message": "קובץ מכיל פריטים לא מוקצים." }, "selectFormat": { - "message": "Select the format of the import file" + "message": "בחר את הפורמט של קובץ הייבוא" }, "selectImportFile": { - "message": "Select the import file" + "message": "בחר את קובץ הייבוא" }, "chooseFile": { - "message": "Choose File" + "message": "בחר קובץ" }, "noFileChosen": { - "message": "No file chosen" + "message": "לא נבחר קובץ" }, "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" + "message": "או העתק/הדבק את תוכן קובץ הייבוא" }, "instructionsFor": { - "message": "$NAME$ Instructions", + "message": "הוראות עבור $NAME$", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -3245,25 +3269,25 @@ } }, "confirmVaultImport": { - "message": "Confirm vault import" + "message": "אשר ייבוא כספת" }, "confirmVaultImportDesc": { - "message": "This file is password-protected. Please enter the file password to import data." + "message": "קובץ זה מוגן סיסמה. נא להזין את סיסמת הקובץ כדי לייבא נתונים." }, "confirmFilePassword": { - "message": "Confirm file password" + "message": "אשר סיסמת קובץ" }, "exportSuccess": { - "message": "Vault data exported" + "message": "נתוני כספת יוצאו" }, "multifactorAuthenticationCancelled": { - "message": "Multifactor authentication cancelled" + "message": "אימות רב-שלבי בוטל" }, "noLastPassDataFound": { - "message": "No LastPass data found" + "message": "לא נמצאו נתוני LastPass" }, "incorrectUsernameOrPassword": { - "message": "Incorrect username or password" + "message": "שם משתמש או סיסמה שגויים" }, "incorrectPassword": { "message": "סיסמה שגויה" @@ -3275,90 +3299,90 @@ "message": "קוד אישי שגוי" }, "multifactorAuthenticationFailed": { - "message": "Multifactor authentication failed" + "message": "אימות רב-שלבי נכשל" }, "includeSharedFolders": { - "message": "Include shared folders" + "message": "כלול תיקיות משותפות" }, "lastPassEmail": { - "message": "LastPass Email" + "message": "דוא\"ל LastPass" }, "importingYourAccount": { - "message": "Importing your account..." + "message": "מייבא את החשבון שלך..." }, "lastPassMFARequired": { - "message": "LastPass multifactor authentication required" + "message": "נדרש אימות רב-שלבי של LastPass" }, "lastPassMFADesc": { - "message": "Enter your one-time passcode from your authentication app" + "message": "הזן את קוד הגישה החד פעמי שלך מיישום האימות שלך" }, "lastPassOOBDesc": { - "message": "Approve the login request in your authentication app or enter a one-time passcode." + "message": "אשר את בקשת הכניסה ביישום האימות שלך או הזן קוד גישה חד פעמי." }, "passcode": { - "message": "Passcode" + "message": "קוד גישה" }, "lastPassMasterPassword": { - "message": "LastPass master password" + "message": "סיסמה ראשית של LastPass" }, "lastPassAuthRequired": { - "message": "LastPass authentication required" + "message": "נדרש אימות של LastPass" }, "awaitingSSO": { - "message": "Awaiting SSO authentication" + "message": "ממתין לאימות SSO" }, "awaitingSSODesc": { - "message": "Please continue to log in using your company credentials." + "message": "נא להמשיך להתחבר באמצעות פרטי החברה שלך." }, "seeDetailedInstructions": { - "message": "See detailed instructions on our help site at", + "message": "ראה הוראות מפורטות באתר העזרה שלנו ב־", "description": "This is followed a by a hyperlink to the help website." }, "importDirectlyFromLastPass": { - "message": "Import directly from LastPass" + "message": "ייבא ישירות מ־LastPass" }, "importFromCSV": { - "message": "Import from CSV" + "message": "ייבא מ־CSV" }, "lastPassTryAgainCheckEmail": { - "message": "Try again or look for an email from LastPass to verify it's you." + "message": "נסה שוב או חפש דוא\"ל מ־LastPass כדי לאמת שזה אתה." }, "collection": { - "message": "Collection" + "message": "אוסף" }, "lastPassYubikeyDesc": { - "message": "Insert the YubiKey associated with your LastPass account into your computer's USB port, then touch its button." + "message": "הכנס את ה־YubiKey המשויך עם חשבון ה־LastPass שלך אל תוך יציאת USB של המחשב שלך, לאחר מכן גע בכפתור שלו." }, "commonImportFormats": { "message": "תסדירים נפוצים", "description": "Label indicating the most common import formats" }, "success": { - "message": "Success" + "message": "הצלחה" }, "troubleshooting": { - "message": "Troubleshooting" + "message": "פתרון בעיות" }, "disableHardwareAccelerationRestart": { - "message": "Disable hardware acceleration and restart" + "message": "בטל האצת חומרה והתחל מחדש" }, "enableHardwareAccelerationRestart": { - "message": "Enable hardware acceleration and restart" + "message": "אפשר האצת חומרה והתחל מחדש" }, "removePasskey": { - "message": "Remove passkey" + "message": "הסר מפתח גישה" }, "passkeyRemoved": { - "message": "Passkey removed" + "message": "מפתח גישה הוסר" }, "errorAssigningTargetCollection": { - "message": "Error assigning target collection." + "message": "שגיאה בהקצאת אוסף יעד." }, "errorAssigningTargetFolder": { - "message": "Error assigning target folder." + "message": "שגיאה בהקצאת תיקיית יעד." }, "viewItemsIn": { - "message": "View items in $NAME$", + "message": "הצג פריטים ב־$NAME$", "description": "Button to view the contents of a folder or collection", "placeholders": { "name": { @@ -3368,7 +3392,7 @@ } }, "backTo": { - "message": "Back to $NAME$", + "message": "חזרה אל $NAME$", "description": "Navigate back to a previous folder or collection", "placeholders": { "name": { @@ -3378,11 +3402,11 @@ } }, "back": { - "message": "Back", + "message": "הקודם", "description": "Button text to navigate back" }, "removeItem": { - "message": "Remove $NAME$", + "message": "הסר $NAME$", "description": "Remove a selected option, such as a folder or collection", "placeholders": { "name": { @@ -3392,31 +3416,31 @@ } }, "data": { - "message": "Data" + "message": "נתונים" }, "fileSends": { - "message": "File Sends" + "message": "סנדים של קובץ" }, "textSends": { - "message": "Text Sends" + "message": "סנדים של טקסט" }, "ssoError": { - "message": "No free ports could be found for the sso login." + "message": "לא נמצאו יציאות פנויות עבור כניסת ה־sso." }, "biometricsStatusHelptextUnlockNeeded": { - "message": "Biometric unlock is unavailable because PIN or password unlock is required first." + "message": "ביטול נעילה ביומטרי אינו זמין בגלל שביטול נעילה עם PIN או סיסמה נדרש תחילה." }, "biometricsStatusHelptextHardwareUnavailable": { - "message": "Biometric unlock is currently unavailable." + "message": "ביטול נעילה ביומטרי אינו זמין כעת." }, "biometricsStatusHelptextAutoSetupNeeded": { - "message": "Biometric unlock is unavailable due to misconfigured system files." + "message": "ביטול נעילה ביומטרי אינו זמין בשל קבצי מערכת המוגדרים באופן שגוי." }, "biometricsStatusHelptextManualSetupNeeded": { - "message": "Biometric unlock is unavailable due to misconfigured system files." + "message": "ביטול נעילה ביומטרי אינו זמין בשל קבצי מערכת המוגדרים באופן שגוי." }, "biometricsStatusHelptextNotEnabledLocally": { - "message": "Biometric unlock is unavailable because it is not enabled for $EMAIL$ in the Bitwarden desktop app.", + "message": "ביטול נעילה ביומטרי אינו זמין בגלל שהוא לא מאופשר עבור $EMAIL$ ביישום שולחן העבודה של Bitwarden.", "placeholders": { "email": { "content": "$1", @@ -3425,58 +3449,58 @@ } }, "biometricsStatusHelptextUnavailableReasonUnknown": { - "message": "Biometric unlock is currently unavailable for an unknown reason." + "message": "ביטול נעילה ביומטרי אינו זמין כעת מסיבה לא ידועה." }, "authorize": { - "message": "Authorize" + "message": "אשר" }, "deny": { - "message": "Deny" + "message": "דחה" }, "sshkeyApprovalTitle": { - "message": "Confirm SSH key usage" + "message": "אשר שימוש במפתח SSH" }, "sshkeyApprovalMessageInfix": { - "message": "is requesting access to" + "message": "מבקש גישה אל" }, "unknownApplication": { - "message": "An application" + "message": "יישום" }, "sshKeyPasswordUnsupported": { - "message": "Importing password protected SSH keys is not yet supported" + "message": "ייבוא מפתחות SSH מוגנים בסיסמה עדיין לא נתמך" }, "invalidSshKey": { - "message": "The SSH key is invalid" + "message": "מפתח ה־SSH אינו תקין" }, "sshKeyTypeUnsupported": { - "message": "The SSH key type is not supported" + "message": "סוג מפתח ה־SSH אינו נתמך" }, "importSshKeyFromClipboard": { - "message": "Import key from clipboard" + "message": "ייבא מפתח מלוח ההעתקה" }, "sshKeyPasted": { - "message": "SSH key imported successfully" + "message": "מפתח SSH יובא בהצלחה" }, "fileSavedToDevice": { - "message": "File saved to device. Manage from your device downloads." + "message": "קובץ נשמר למכשיר. נהל מהורדות המכשיר שלך." }, "importantNotice": { - "message": "Important notice" + "message": "הודעה חשובה" }, "setupTwoStepLogin": { - "message": "Set up two-step login" + "message": "הגדר כניסה דו-שלבית" }, "newDeviceVerificationNoticeContentPage1": { - "message": "Bitwarden will send a code to your account email to verify logins from new devices starting in February 2025." + "message": "Bitwarden ישלח קוד לדוא\"ל החשבון שלך כדי לאמת כניסות ממכשירים חדשים החל מפברואר 2025." }, "newDeviceVerificationNoticeContentPage2": { - "message": "You can set up two-step login as an alternative way to protect your account or change your email to one you can access." + "message": "אתה יכול להגדיר כניסה דו-שלבית כדרך חלופית להגן על החשבון שלך או לשנות את הדוא\"ל שלך לאחד שתוכל לגשת אליו." }, "remindMeLater": { - "message": "Remind me later" + "message": "הזכר לי מאוחר יותר" }, "newDeviceVerificationNoticePageOneFormContent": { - "message": "Do you have reliable access to your email, $EMAIL$?", + "message": "יש לך גישה מהימנה לדוא\"ל שלך, $EMAIL$?", "placeholders": { "email": { "content": "$1", @@ -3485,33 +3509,33 @@ } }, "newDeviceVerificationNoticePageOneEmailAccessNo": { - "message": "No, I do not" + "message": "לא, אין לי" }, "newDeviceVerificationNoticePageOneEmailAccessYes": { - "message": "Yes, I can reliably access my email" + "message": "כן, אני יכול לגשת לדוא\"ל שלי באופן מהימן" }, "turnOnTwoStepLogin": { - "message": "Turn on two-step login" + "message": "הפעל כניסה דו-שלבית" }, "changeAcctEmail": { - "message": "Change account email" + "message": "שנה את דוא\"ל החשבון" }, "allowScreenshots": { - "message": "Allow screen capture" + "message": "אפשר לכידת מסך" }, "allowScreenshotsDesc": { - "message": "Allow the Bitwarden desktop application to be captured in screenshots and viewed in remote desktop sessions. Disabling this will prevent access on some external displays." + "message": "אפשר ליישום שולחן העבודה של Bitwarden להילכד בצילומי מסך ולהיות מוצג בהפעלות שולחן עבודה מרוחק. השבתה תמנע גישה בצגים חיצוניים מסוימים." }, "confirmWindowStillVisibleTitle": { - "message": "Confirm window still visible" + "message": "אשר שהחלון עדיין גלוי" }, "confirmWindowStillVisibleContent": { - "message": "Please confirm that the window is still visible." + "message": "נא לאשר שהחלון עדיין גלוי." }, "updateBrowserOrDisableFingerprintDialogTitle": { - "message": "Extension update required" + "message": "נדרש עדכון הרחבה" }, "updateBrowserOrDisableFingerprintDialogMessage": { - "message": "The browser extension you are using is out of date. Please update it or disable browser integration fingerprint validation in the desktop app settings." + "message": "הרחבת הדפדפן בה אתה משתמש היא מיושנת. נא לעדכן אותה או להשבית תיקוף טביעת אצבע של שילוב דפדפן בהגדרות יישום שולחן העבודה." } } diff --git a/apps/desktop/src/locales/hi/messages.json b/apps/desktop/src/locales/hi/messages.json index cc5ee64e2d4..bc171def787 100644 --- a/apps/desktop/src/locales/hi/messages.json +++ b/apps/desktop/src/locales/hi/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/hr/messages.json b/apps/desktop/src/locales/hr/messages.json index b8aa5b1f160..9d19443d40f 100644 --- a/apps/desktop/src/locales/hr/messages.json +++ b/apps/desktop/src/locales/hr/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nije moguće dobiti $SERVICENAME$ maskirani ID računa e-pošte.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/hu/messages.json b/apps/desktop/src/locales/hu/messages.json index 4bcc210f671..22dbaaffab7 100644 --- a/apps/desktop/src/locales/hu/messages.json +++ b/apps/desktop/src/locales/hu/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ elutasította a kérést. Vegyük fel a kapcsolatot szolgáltatóval segítségért.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ elutasította a kérést: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nem lehet beolvasni $SERVICENAME$ maszkolt email fiók azonosítót.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/id/messages.json b/apps/desktop/src/locales/id/messages.json index a74a65ed00a..cd2595ee2c2 100644 --- a/apps/desktop/src/locales/id/messages.json +++ b/apps/desktop/src/locales/id/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/it/messages.json b/apps/desktop/src/locales/it/messages.json index a6d3fe6fda6..c58ccde85bb 100644 --- a/apps/desktop/src/locales/it/messages.json +++ b/apps/desktop/src/locales/it/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ ha rifiutato la tua richiesta. Contatta il tuo fornitore di servizi per assistenza.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ ha respinto la tua richiesta: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Impossibile ottenere l'ID dell'account email mascherato di $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/ja/messages.json b/apps/desktop/src/locales/ja/messages.json index fa4c6e7e641..bfe9bed4bc3 100644 --- a/apps/desktop/src/locales/ja/messages.json +++ b/apps/desktop/src/locales/ja/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "$SERVICENAME$ マスク済みメールアカウント ID を取得できませんでした。", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/ka/messages.json b/apps/desktop/src/locales/ka/messages.json index f5155cd7ccb..09cb700eed2 100644 --- a/apps/desktop/src/locales/ka/messages.json +++ b/apps/desktop/src/locales/ka/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/km/messages.json b/apps/desktop/src/locales/km/messages.json index 5bc1f216880..1e8e63912a7 100644 --- a/apps/desktop/src/locales/km/messages.json +++ b/apps/desktop/src/locales/km/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/kn/messages.json b/apps/desktop/src/locales/kn/messages.json index a4ca8863c44..088cb0b0ec5 100644 --- a/apps/desktop/src/locales/kn/messages.json +++ b/apps/desktop/src/locales/kn/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/ko/messages.json b/apps/desktop/src/locales/ko/messages.json index 956f44281f6..d9d31836ca5 100644 --- a/apps/desktop/src/locales/ko/messages.json +++ b/apps/desktop/src/locales/ko/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/lt/messages.json b/apps/desktop/src/locales/lt/messages.json index 06c60f174ab..1c73781137e 100644 --- a/apps/desktop/src/locales/lt/messages.json +++ b/apps/desktop/src/locales/lt/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/lv/messages.json b/apps/desktop/src/locales/lv/messages.json index 8d9cc316b43..0c8c692f9b7 100644 --- a/apps/desktop/src/locales/lv/messages.json +++ b/apps/desktop/src/locales/lv/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Neizdevās iegūt $SERVICENAME$ aizsegta e-pasta konta Id.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/me/messages.json b/apps/desktop/src/locales/me/messages.json index 4f3ade1e189..32d48558248 100644 --- a/apps/desktop/src/locales/me/messages.json +++ b/apps/desktop/src/locales/me/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/ml/messages.json b/apps/desktop/src/locales/ml/messages.json index 86ca9d83daf..84e67435ad8 100644 --- a/apps/desktop/src/locales/ml/messages.json +++ b/apps/desktop/src/locales/ml/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/mr/messages.json b/apps/desktop/src/locales/mr/messages.json index 5bc1f216880..1e8e63912a7 100644 --- a/apps/desktop/src/locales/mr/messages.json +++ b/apps/desktop/src/locales/mr/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/my/messages.json b/apps/desktop/src/locales/my/messages.json index 6d48d60407c..2b5331dc559 100644 --- a/apps/desktop/src/locales/my/messages.json +++ b/apps/desktop/src/locales/my/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/nb/messages.json b/apps/desktop/src/locales/nb/messages.json index 51e2e7fc742..951a0db9bba 100644 --- a/apps/desktop/src/locales/nb/messages.json +++ b/apps/desktop/src/locales/nb/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/ne/messages.json b/apps/desktop/src/locales/ne/messages.json index f3c4a910d6f..5ba42f2deba 100644 --- a/apps/desktop/src/locales/ne/messages.json +++ b/apps/desktop/src/locales/ne/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/nl/messages.json b/apps/desktop/src/locales/nl/messages.json index 32335e98538..9e099af85a7 100644 --- a/apps/desktop/src/locales/nl/messages.json +++ b/apps/desktop/src/locales/nl/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ heeft je aanvraag geweigerd. Neem contact op met je serviceprovider voor hulp.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ heeft je aanvraag geweigerd: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Kan $SERVICENAME$ gemaskerde e-mailaccount-ID niet verkrijgen.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/nn/messages.json b/apps/desktop/src/locales/nn/messages.json index 63d30ea49a1..1822aeafb22 100644 --- a/apps/desktop/src/locales/nn/messages.json +++ b/apps/desktop/src/locales/nn/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/or/messages.json b/apps/desktop/src/locales/or/messages.json index 7b6006b8f5d..49d12e6fe3c 100644 --- a/apps/desktop/src/locales/or/messages.json +++ b/apps/desktop/src/locales/or/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/pl/messages.json b/apps/desktop/src/locales/pl/messages.json index c3d2a347df2..5f1ae5b8d06 100644 --- a/apps/desktop/src/locales/pl/messages.json +++ b/apps/desktop/src/locales/pl/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nie można uzyskać ID maskowanego konta e-mail dla $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/pt_BR/messages.json b/apps/desktop/src/locales/pt_BR/messages.json index 7404b5d9e48..0ca662d5f95 100644 --- a/apps/desktop/src/locales/pt_BR/messages.json +++ b/apps/desktop/src/locales/pt_BR/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Não foi possível obter a máscara do ID da conta de email $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/pt_PT/messages.json b/apps/desktop/src/locales/pt_PT/messages.json index 909f43175c0..8e4ca94e994 100644 --- a/apps/desktop/src/locales/pt_PT/messages.json +++ b/apps/desktop/src/locales/pt_PT/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ recusou o seu pedido. Por favor, contacte o seu fornecedor de serviços para obter assistência.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ recusou o seu pedido: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Não foi possível obter o ID da conta de e-mail mascarada de $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/ro/messages.json b/apps/desktop/src/locales/ro/messages.json index 52a05028351..81d58016e5f 100644 --- a/apps/desktop/src/locales/ro/messages.json +++ b/apps/desktop/src/locales/ro/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/ru/messages.json b/apps/desktop/src/locales/ru/messages.json index de864627bd3..f1653d4da8a 100644 --- a/apps/desktop/src/locales/ru/messages.json +++ b/apps/desktop/src/locales/ru/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ отклонил(а) ваш запрос. Обратитесь за помощью к своему провайдеру.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ отклонил(а) ваш запрос: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Не удалось получить скрытый идентификатор email аккаунта $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/si/messages.json b/apps/desktop/src/locales/si/messages.json index 7f26d586cf4..c5dc6c6f1e6 100644 --- a/apps/desktop/src/locales/si/messages.json +++ b/apps/desktop/src/locales/si/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/sk/messages.json b/apps/desktop/src/locales/sk/messages.json index 14ec7d125bc..fd414134793 100644 --- a/apps/desktop/src/locales/sk/messages.json +++ b/apps/desktop/src/locales/sk/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "Služba $SERVICENAME$ odmietla vašu žiadosť. Obráťte sa na svojho poskytovateľa služieb a požiadajte o pomoc.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "Služba $SERVICENAME$ odmietla vašu žiadosť: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nepodarilo sa získať ID maskovaného e-mailového účtu $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/sl/messages.json b/apps/desktop/src/locales/sl/messages.json index 1f272bc7040..8202be9e0eb 100644 --- a/apps/desktop/src/locales/sl/messages.json +++ b/apps/desktop/src/locales/sl/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/sr/messages.json b/apps/desktop/src/locales/sr/messages.json index 5f4a3fa8c4d..7799a03fac7 100644 --- a/apps/desktop/src/locales/sr/messages.json +++ b/apps/desktop/src/locales/sr/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Није могуће добити ИД налога маскираног имејла $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/sv/messages.json b/apps/desktop/src/locales/sv/messages.json index a7eee510c5c..13ad107fa83 100644 --- a/apps/desktop/src/locales/sv/messages.json +++ b/apps/desktop/src/locales/sv/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Gick inte att få $SERVICENAME$ maskerat e-postkonto-ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/te/messages.json b/apps/desktop/src/locales/te/messages.json index 5bc1f216880..1e8e63912a7 100644 --- a/apps/desktop/src/locales/te/messages.json +++ b/apps/desktop/src/locales/te/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/th/messages.json b/apps/desktop/src/locales/th/messages.json index 8cb62fbe7f9..e22c538d1fc 100644 --- a/apps/desktop/src/locales/th/messages.json +++ b/apps/desktop/src/locales/th/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/tr/messages.json b/apps/desktop/src/locales/tr/messages.json index 9f73a16c52c..817ef8e6244 100644 --- a/apps/desktop/src/locales/tr/messages.json +++ b/apps/desktop/src/locales/tr/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/uk/messages.json b/apps/desktop/src/locales/uk/messages.json index 445185142b8..68011d2f3da 100644 --- a/apps/desktop/src/locales/uk/messages.json +++ b/apps/desktop/src/locales/uk/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ відхилив ваш запит. Зверніться до провайдера послуг по допомогу.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ відхилив ваш запит: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Не вдалося отримати ідентифікатор замаскованої е-пошти облікового запису для $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/vi/messages.json b/apps/desktop/src/locales/vi/messages.json index 0f799871dfd..9a267da3741 100644 --- a/apps/desktop/src/locales/vi/messages.json +++ b/apps/desktop/src/locales/vi/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Không thể lấy ID tài khoản email ẩn từ $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/desktop/src/locales/zh_CN/messages.json b/apps/desktop/src/locales/zh_CN/messages.json index 21d3dd4284f..8d695034c88 100644 --- a/apps/desktop/src/locales/zh_CN/messages.json +++ b/apps/desktop/src/locales/zh_CN/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ 拒绝了您的请求。请联系您的服务提供商获取协助。", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ 拒绝了您的请求:$ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "无法获取 $SERVICENAME$ 电子邮箱账户 ID。", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -3171,7 +3195,7 @@ } }, "duoHealthCheckResultsInNullAuthUrlError": { - "message": "与 Duo 服务连接时出错。请使用不同的两步登录方式或联系 Duo 获取协助。" + "message": "与 Duo 服务连接时出错。请使用其他两步登录方式或联系 Duo 获取协助。" }, "launchDuoAndFollowStepsToFinishLoggingIn": { "message": "启动 Duo 然后按照步骤完成登录。" diff --git a/apps/desktop/src/locales/zh_TW/messages.json b/apps/desktop/src/locales/zh_TW/messages.json index 86ddf5f707e..510aeb385be 100644 --- a/apps/desktop/src/locales/zh_TW/messages.json +++ b/apps/desktop/src/locales/zh_TW/messages.json @@ -2640,6 +2640,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", From fd3cc90df8a2f6638d622e172f1649104cafcd9a Mon Sep 17 00:00:00 2001 From: "bw-ghapp[bot]" <178206702+bw-ghapp[bot]@users.noreply.github.com> Date: Fri, 21 Feb 2025 14:02:03 +0100 Subject: [PATCH 07/20] Autosync the updated translations (#13500) Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com> --- apps/browser/src/_locales/ar/messages.json | 31 +++ apps/browser/src/_locales/az/messages.json | 55 ++++- apps/browser/src/_locales/be/messages.json | 31 +++ apps/browser/src/_locales/bg/messages.json | 31 +++ apps/browser/src/_locales/bn/messages.json | 31 +++ apps/browser/src/_locales/bs/messages.json | 31 +++ apps/browser/src/_locales/ca/messages.json | 31 +++ apps/browser/src/_locales/cs/messages.json | 31 +++ apps/browser/src/_locales/cy/messages.json | 31 +++ apps/browser/src/_locales/da/messages.json | 31 +++ apps/browser/src/_locales/de/messages.json | 41 +++- apps/browser/src/_locales/el/messages.json | 49 ++++- apps/browser/src/_locales/en_GB/messages.json | 31 +++ apps/browser/src/_locales/en_IN/messages.json | 31 +++ apps/browser/src/_locales/es/messages.json | 31 +++ apps/browser/src/_locales/et/messages.json | 31 +++ apps/browser/src/_locales/eu/messages.json | 31 +++ apps/browser/src/_locales/fa/messages.json | 31 +++ apps/browser/src/_locales/fi/messages.json | 31 +++ apps/browser/src/_locales/fil/messages.json | 31 +++ apps/browser/src/_locales/fr/messages.json | 31 +++ apps/browser/src/_locales/gl/messages.json | 31 +++ apps/browser/src/_locales/he/messages.json | 205 ++++++++++-------- apps/browser/src/_locales/hi/messages.json | 31 +++ apps/browser/src/_locales/hr/messages.json | 55 ++++- apps/browser/src/_locales/hu/messages.json | 31 +++ apps/browser/src/_locales/id/messages.json | 31 +++ apps/browser/src/_locales/it/messages.json | 31 +++ apps/browser/src/_locales/ja/messages.json | 31 +++ apps/browser/src/_locales/ka/messages.json | 31 +++ apps/browser/src/_locales/km/messages.json | 31 +++ apps/browser/src/_locales/kn/messages.json | 31 +++ apps/browser/src/_locales/ko/messages.json | 31 +++ apps/browser/src/_locales/lt/messages.json | 31 +++ apps/browser/src/_locales/lv/messages.json | 31 +++ apps/browser/src/_locales/ml/messages.json | 31 +++ apps/browser/src/_locales/mr/messages.json | 31 +++ apps/browser/src/_locales/my/messages.json | 31 +++ apps/browser/src/_locales/nb/messages.json | 31 +++ apps/browser/src/_locales/ne/messages.json | 31 +++ apps/browser/src/_locales/nl/messages.json | 31 +++ apps/browser/src/_locales/nn/messages.json | 31 +++ apps/browser/src/_locales/or/messages.json | 31 +++ apps/browser/src/_locales/pl/messages.json | 31 +++ apps/browser/src/_locales/pt_BR/messages.json | 31 +++ apps/browser/src/_locales/pt_PT/messages.json | 31 +++ apps/browser/src/_locales/ro/messages.json | 31 +++ apps/browser/src/_locales/ru/messages.json | 31 +++ apps/browser/src/_locales/si/messages.json | 31 +++ apps/browser/src/_locales/sk/messages.json | 31 +++ apps/browser/src/_locales/sl/messages.json | 31 +++ apps/browser/src/_locales/sr/messages.json | 31 +++ apps/browser/src/_locales/sv/messages.json | 33 ++- apps/browser/src/_locales/te/messages.json | 31 +++ apps/browser/src/_locales/th/messages.json | 31 +++ apps/browser/src/_locales/tr/messages.json | 31 +++ apps/browser/src/_locales/uk/messages.json | 31 +++ apps/browser/src/_locales/vi/messages.json | 31 +++ apps/browser/src/_locales/zh_CN/messages.json | 35 ++- apps/browser/src/_locales/zh_TW/messages.json | 31 +++ 60 files changed, 1988 insertions(+), 128 deletions(-) diff --git a/apps/browser/src/_locales/ar/messages.json b/apps/browser/src/_locales/ar/messages.json index de432971e83..52f35eab7d7 100644 --- a/apps/browser/src/_locales/ar/messages.json +++ b/apps/browser/src/_locales/ar/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "نسخ الملاحظات" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "ملء", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "النطاقات المستبعدة" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/az/messages.json b/apps/browser/src/_locales/az/messages.json index 00f2a9e4253..666d094831d 100644 --- a/apps/browser/src/_locales/az/messages.json +++ b/apps/browser/src/_locales/az/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Notları kopyala" }, + "copy": { + "message": "Kopyala", + "description": "Copy to clipboard" + }, "fill": { "message": "Doldur", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Əngəllənmiş domenlər" }, + "learnMoreAboutBlockedDomains": { + "message": "Əngəllənmiş domenlər barədə daha ətraflı" + }, "excludedDomains": { "message": "İstisna edilən domenlər" }, @@ -2364,10 +2371,10 @@ "message": "Bunu ayarlarda dəyişdir" }, "change": { - "message": "Change" + "message": "Dəyişdir" }, "changeButtonTitle": { - "message": "Change password - $ITEMNAME$", + "message": "Parolu dəyişdir - $ITEMNAME$", "placeholders": { "itemname": { "content": "$1", @@ -2376,10 +2383,10 @@ } }, "atRiskPasswords": { - "message": "At-risk passwords" + "message": "Riskli parollar" }, "atRiskPasswordsDescSingleOrg": { - "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at risk.", + "message": "$ORGANIZATION$, sizdən $COUNT$ parolu dəyişdirməyinizi tələb edir, çünki risk altındadır.", "placeholders": { "organization": { "content": "$1", @@ -2392,7 +2399,7 @@ } }, "atRiskPasswordsDescMultiOrg": { - "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at risk.", + "message": "Təşkilatlarınız, sizdən $COUNT$ parolu dəyişdirməyinizi tələb edir, çünki risk altındadır.", "placeholders": { "count": { "content": "$1", @@ -2401,10 +2408,10 @@ } }, "reviewAndChangeAtRiskPassword": { - "message": "Review and change one at-risk password" + "message": "Riskli bir parolu incələ və dəyişdir" }, "reviewAndChangeAtRiskPasswordsPlural": { - "message": "Review and change $COUNT$ at-risk passwords", + "message": "Riskli $COUNT$ parolu incələ və dəyişdir", "placeholders": { "count": { "content": "$1", @@ -2413,19 +2420,19 @@ } }, "changeAtRiskPasswordsFaster": { - "message": "Change at-risk passwords faster" + "message": "Riskli parolları daha tez dəyişdir" }, "changeAtRiskPasswordsFasterDesc": { - "message": "Update your settings so you can quickly autofill your passwords and generate new ones" + "message": "Cəld şəkildə parollarınızı avto-doldura və yenilərini yarada bilməyiniz üçün ayarlarınızı güncəlləyin" }, "turnOnAutofill": { - "message": "Turn on autofill" + "message": "Avto-doldurmanı işə sal" }, "turnedOnAutofill": { - "message": "Turned on autofill" + "message": "Avto-doldurma işə salındı" }, "dismiss": { - "message": "Dismiss" + "message": "Rədd et" }, "websiteItemLabel": { "message": "Veb sayt $number$ (URI)", @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "$SERVICENAME$ maskalı e-poçt hesab kimliyi alına bilmir.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/be/messages.json b/apps/browser/src/_locales/be/messages.json index 075afecde51..55ef4638b32 100644 --- a/apps/browser/src/_locales/be/messages.json +++ b/apps/browser/src/_locales/be/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Скапіяваць нататкі" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Запоўніць", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Выключаныя дамены" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/bg/messages.json b/apps/browser/src/_locales/bg/messages.json index d1006e85d49..9c62afe365c 100644 --- a/apps/browser/src/_locales/bg/messages.json +++ b/apps/browser/src/_locales/bg/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Копиране на бележките" }, + "copy": { + "message": "Копиране", + "description": "Copy to clipboard" + }, "fill": { "message": "Попълване", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Блокирани домейни" }, + "learnMoreAboutBlockedDomains": { + "message": "Научете повече за блокираните домейни" + }, "excludedDomains": { "message": "Изключени домейни" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ отказа заявката Ви. Свържете се с доставчика на услугата за съдействие.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ отказа заявката Ви: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Не може да бъде получен идентификатор на маскиран чрез е-поща акаунт от $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/bn/messages.json b/apps/browser/src/_locales/bn/messages.json index 4ab178cc021..bcc4fb769cb 100644 --- a/apps/browser/src/_locales/bn/messages.json +++ b/apps/browser/src/_locales/bn/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/bs/messages.json b/apps/browser/src/_locales/bs/messages.json index f95512b0952..1b978fa25cc 100644 --- a/apps/browser/src/_locales/bs/messages.json +++ b/apps/browser/src/_locales/bs/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/ca/messages.json b/apps/browser/src/_locales/ca/messages.json index 5349e244c45..5bd7800adf6 100644 --- a/apps/browser/src/_locales/ca/messages.json +++ b/apps/browser/src/_locales/ca/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copia notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Emplena", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Dominis bloquejats" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Dominis exclosos" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/cs/messages.json b/apps/browser/src/_locales/cs/messages.json index 389a74e42fd..349a6fde4a0 100644 --- a/apps/browser/src/_locales/cs/messages.json +++ b/apps/browser/src/_locales/cs/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Kopírovat poznámky" }, + "copy": { + "message": "Kopírovat", + "description": "Copy to clipboard" + }, "fill": { "message": "Vyplnit", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blokované domény" }, + "learnMoreAboutBlockedDomains": { + "message": "Zjistěte více o blokovaných doménách" + }, "excludedDomains": { "message": "Vyloučené domény" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ odmítl Váš požadavek. Kontaktujte svého poskytovatele služeb o pomoc.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ odmítl Váš požadavek: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nelze získat maskované ID e-mailového účtu $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/cy/messages.json b/apps/browser/src/_locales/cy/messages.json index b44bfa3ce6d..6100329e105 100644 --- a/apps/browser/src/_locales/cy/messages.json +++ b/apps/browser/src/_locales/cy/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Parthau wedi'u heithrio" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/da/messages.json b/apps/browser/src/_locales/da/messages.json index 009864512a8..02a4fb05044 100644 --- a/apps/browser/src/_locales/da/messages.json +++ b/apps/browser/src/_locales/da/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Kopiér notater" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Udfyld", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blokerede domæner" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Ekskluderede domæner" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Kan ikke få $SERVICENAME$ maskeret e-mailkonto-ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/de/messages.json b/apps/browser/src/_locales/de/messages.json index c27bc1ec862..0d77d762876 100644 --- a/apps/browser/src/_locales/de/messages.json +++ b/apps/browser/src/_locales/de/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Notizen kopieren" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Ausfüllen", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Gesperrte Domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Ausgeschlossene Domains" }, @@ -2376,10 +2383,10 @@ } }, "atRiskPasswords": { - "message": "Risikoreiche Passwörter" + "message": "Gefährdete Passwörter" }, "atRiskPasswordsDescSingleOrg": { - "message": "$ORGANIZATION$ fordert dich auf, diese $COUNT$ Passwörter zu ändern, da diese in risikoreich sind.", + "message": "$ORGANIZATION$ fordert dich auf, diese $COUNT$ Passwörter zu ändern, da diese gefährdet sind.", "placeholders": { "organization": { "content": "$1", @@ -2392,7 +2399,7 @@ } }, "atRiskPasswordsDescMultiOrg": { - "message": "Deine Organisationen fordern dich auf, diese $COUNT$ Passwörter zu ändern, da diese risikoreich sind.", + "message": "Deine Organisationen fordern dich auf, diese $COUNT$ Passwörter zu ändern, da diese gefährdet sind.", "placeholders": { "count": { "content": "$1", @@ -2401,7 +2408,7 @@ } }, "reviewAndChangeAtRiskPassword": { - "message": "Überprüfe und ändere ein risikoreiches Passwort" + "message": "Überprüfe und ändere ein gefährdetes Passwort" }, "reviewAndChangeAtRiskPasswordsPlural": { "message": "Überprüfe und ändere $COUNT$ risikoreiche Passwörter", @@ -2413,7 +2420,7 @@ } }, "changeAtRiskPasswordsFaster": { - "message": "Ändere risikoreiche Passwörter schneller" + "message": "Ändere gefährdete Passwörter schneller" }, "changeAtRiskPasswordsFasterDesc": { "message": "Aktualisiere deine Einstellungen, damit du deine Passwörter schnell automatisch ausfüllen kannst und neue generieren kannst" @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Maskierte E-Mail-Konto-ID für $SERVICENAME$ konnte nicht abgerufen werden.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/el/messages.json b/apps/browser/src/_locales/el/messages.json index b659718b412..3c2b14038a0 100644 --- a/apps/browser/src/_locales/el/messages.json +++ b/apps/browser/src/_locales/el/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Αντιγραφή σημειώσεων" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Συμπλήρωση", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -2062,7 +2066,7 @@ "message": "Γεννήτρια ονόματος χρήστη" }, "useThisEmail": { - "message": "Use this email" + "message": "Χρήση αυτού του email" }, "useThisPassword": { "message": "Χρήση αυτού του κωδικού πρόσβασης" @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Αποκλεισμένοι τομείς" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Εξαιρούμενοι Τομείς" }, @@ -2364,10 +2371,10 @@ "message": "Change this in settings" }, "change": { - "message": "Change" + "message": "Αλλαγή" }, "changeButtonTitle": { - "message": "Change password - $ITEMNAME$", + "message": "Αλλαγή κωδικού πρόσβασης - $ITEMNAME$", "placeholders": { "itemname": { "content": "$1", @@ -2376,7 +2383,7 @@ } }, "atRiskPasswords": { - "message": "At-risk passwords" + "message": "Κωδικοί πρόσβασης σε κίνδυνο" }, "atRiskPasswordsDescSingleOrg": { "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at risk.", @@ -2419,13 +2426,13 @@ "message": "Update your settings so you can quickly autofill your passwords and generate new ones" }, "turnOnAutofill": { - "message": "Turn on autofill" + "message": "Ενεργοποίηση αυτόματης συμπλήρωσης" }, "turnedOnAutofill": { - "message": "Turned on autofill" + "message": "Απενεργοποίηση αυτόματης συμπλήρωσης" }, "dismiss": { - "message": "Dismiss" + "message": "Απόρριψη" }, "websiteItemLabel": { "message": "Ιστοσελίδα $number$ (URI)", @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Αδύνατη η απόκτηση του $SERVICENAME$ καμουφλαρισμένου ID διεύθυνσης ηλ. ταχυδρομείου.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -4067,10 +4098,10 @@ "message": "Το κλειδί πρόσβασης αφαιρέθηκε" }, "autofillSuggestions": { - "message": "Autofill suggestions" + "message": "Προτάσεις αυτόματης συμπλήρωσης" }, "itemSuggestions": { - "message": "Suggested items" + "message": "Προτεινόμενα στοιχεία" }, "autofillSuggestionsTip": { "message": "Αποθηκεύστε ένα αντικείμενο σύνδεσης για την αυτόματη συμπλήρωση αυτού του ιστοτόπου" diff --git a/apps/browser/src/_locales/en_GB/messages.json b/apps/browser/src/_locales/en_GB/messages.json index 8a7e0a10afd..a1da2285fe9 100644 --- a/apps/browser/src/_locales/en_GB/messages.json +++ b/apps/browser/src/_locales/en_GB/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/en_IN/messages.json b/apps/browser/src/_locales/en_IN/messages.json index 0189404c002..6724f721089 100644 --- a/apps/browser/src/_locales/en_IN/messages.json +++ b/apps/browser/src/_locales/en_IN/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded Domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/es/messages.json b/apps/browser/src/_locales/es/messages.json index 9fcdc4acf2b..a11adf399ae 100644 --- a/apps/browser/src/_locales/es/messages.json +++ b/apps/browser/src/_locales/es/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copiar notas" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Dominios excluidos" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "No se puede obtener el ID de la cuenta de correo electrónico enmascarado de $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/et/messages.json b/apps/browser/src/_locales/et/messages.json index ac6945461fa..03a21821483 100644 --- a/apps/browser/src/_locales/et/messages.json +++ b/apps/browser/src/_locales/et/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Väljajäetud domeenid" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/eu/messages.json b/apps/browser/src/_locales/eu/messages.json index 23060f7b5c3..84ea61478aa 100644 --- a/apps/browser/src/_locales/eu/messages.json +++ b/apps/browser/src/_locales/eu/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Kanporatutako domeinuak" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/fa/messages.json b/apps/browser/src/_locales/fa/messages.json index 3ee7770dcfe..445f92a403f 100644 --- a/apps/browser/src/_locales/fa/messages.json +++ b/apps/browser/src/_locales/fa/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "دامنه های مستثنی" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/fi/messages.json b/apps/browser/src/_locales/fi/messages.json index ae6e780a00f..929f33b8f46 100644 --- a/apps/browser/src/_locales/fi/messages.json +++ b/apps/browser/src/_locales/fi/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Kopioi merkinnät" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Estetyt verkkotunnukset" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Ohitettavat verkkotunnukset" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "$SERVICENAME$ -palvelun peittämän sähköpostitilin tunnusta ei saatu.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/fil/messages.json b/apps/browser/src/_locales/fil/messages.json index 01587793c32..7493ce87976 100644 --- a/apps/browser/src/_locales/fil/messages.json +++ b/apps/browser/src/_locales/fil/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Inilayo na Domain" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/fr/messages.json b/apps/browser/src/_locales/fr/messages.json index 270499ab506..e3944a29bc6 100644 --- a/apps/browser/src/_locales/fr/messages.json +++ b/apps/browser/src/_locales/fr/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copier les notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Remplir", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Domaines bloqués" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Domaines exclus" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Impossible d'obtenir l'ID du compte de courriel masqué $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/gl/messages.json b/apps/browser/src/_locales/gl/messages.json index a5b22ae7932..4bf9f50a7fa 100644 --- a/apps/browser/src/_locales/gl/messages.json +++ b/apps/browser/src/_locales/gl/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copiar notas" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Encher", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Dominios bloqueados" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Dominios excluídos" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Non foi posible obter o ID de correo enmascarado de $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/he/messages.json b/apps/browser/src/_locales/he/messages.json index 58e8cd1e36a..e0dca1a3a5d 100644 --- a/apps/browser/src/_locales/he/messages.json +++ b/apps/browser/src/_locales/he/messages.json @@ -84,7 +84,7 @@ "message": "הצטרף לארגון" }, "joinOrganizationName": { - "message": "הצטרפות אל $ORGANIZATIONNAME$", + "message": "הצטרף אל $ORGANIZATIONNAME$", "placeholders": { "organizationName": { "content": "$1", @@ -176,6 +176,10 @@ "copyNotes": { "message": "העתק הערות" }, + "copy": { + "message": "העתק", + "description": "Copy to clipboard" + }, "fill": { "message": "מילוי", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -431,7 +435,7 @@ "message": "צור אוטומטית סיסמאות חזקות ויחודיות עבור פרטי הכניסה שלך." }, "bitWebVaultApp": { - "message": "יישום רשת Bitwarden" + "message": "יישום הרשת של Bitwarden" }, "importItems": { "message": "ייבא פריטים" @@ -467,11 +471,11 @@ "message": "אורך" }, "uppercase": { - "message": "אות גדולה (A-Z)", + "message": "אותיות גדולות (A-Z)", "description": "deprecated. Use uppercaseLabel instead." }, "lowercase": { - "message": "אות קטנה (a-z)", + "message": "אותיות קטנות (a-z)", "description": "deprecated. Use lowercaseLabel instead." }, "numbers": { @@ -532,7 +536,7 @@ "message": "כלול מספרים" }, "minNumbers": { - "message": "מינימום ספרות" + "message": "מינימום מספרים" }, "minSpecial": { "message": "מינימום מיוחדים" @@ -624,7 +628,7 @@ "message": "אתר" }, "toggleVisibility": { - "message": "שנה נראות" + "message": "שנה מצב נראות" }, "manage": { "message": "נהל" @@ -636,16 +640,16 @@ "message": "אפשרויות ביטול נעילה" }, "unlockMethodNeededToChangeTimeoutActionDesc": { - "message": "הגדר שיטת ביטול נעילה כדי לשנות את פעולת פסק זמן הכספת שלך." + "message": "הגדר שיטת ביטול נעילה כדי לשנות את פעולת פסק הזמן לכספת שלך." }, "unlockMethodNeeded": { "message": "הגדר שיטת ביטול נעילה בהגדרות" }, "sessionTimeoutHeader": { - "message": "זמן קצוב להפעלה" + "message": "פסק זמן להפעלה" }, "vaultTimeoutHeader": { - "message": "זמן קצוב לכספת" + "message": "פסק זמן לכספת" }, "otherOptions": { "message": "אפשרויות אחרות" @@ -697,7 +701,7 @@ "message": "סיסמה ראשית שגויה" }, "vaultTimeout": { - "message": "פסק זמן כספת" + "message": "פסק זמן לכספת" }, "vaultTimeout1": { "message": "פסק זמן" @@ -760,10 +764,10 @@ "message": "סיסמה ראשית" }, "masterPassImportant": { - "message": "לא ניתן לשחזר את הסיסמה הראשית שלך אם אתה שוכח אותה!" + "message": "הסיסמה הראשית שלך לא ניתנת לשחזור אם שחכת אותה!" }, "masterPassHintLabel": { - "message": "רמז סיסמה ראשית" + "message": "רמז לסיסמה ראשית" }, "errorOccurred": { "message": "אירעה שגיאה" @@ -778,7 +782,7 @@ "message": "דרושה סיסמה ראשית." }, "confirmMasterPasswordRequired": { - "message": "דרושה הקלדה מחדש של הסיסמה הראשית." + "message": "דרושה הזנה מחדש של הסיסמה הראשית." }, "masterPasswordMinlength": { "message": "סיסמה ראשית חייבת להיות לפחות באורך $VALUE$ תווים.", @@ -800,10 +804,10 @@ "message": "החשבון החדש שלך נוצר!" }, "youHaveBeenLoggedIn": { - "message": "התחברת!" + "message": "נכנסת!" }, "youSuccessfullyLoggedIn": { - "message": "התחברת בהצלחה" + "message": "נכנסת בהצלחה" }, "youMayCloseThisWindow": { "message": "אתה רשאי לסגור חלון זה" @@ -815,7 +819,7 @@ "message": "נדרש קוד אימות." }, "webauthnCancelOrTimeout": { - "message": "האימות בוטל או לקח יותר מדי זמן. נא לנסות שוב." + "message": "האימות בוטל או לקח זמן רב מדי. נא לנסות שוב." }, "invalidVerificationCode": { "message": "קוד אימות שגוי" @@ -870,16 +874,16 @@ "message": "התחבר" }, "logInToBitwarden": { - "message": "התחבר ל־Bitwarden" + "message": "כניסה אל Bitwarden" }, "restartRegistration": { - "message": "אתחל הרשמה" + "message": "התחל הרשמה מחדש" }, "expiredLink": { "message": "קישור פג תוקף" }, "pleaseRestartRegistrationOrTryLoggingIn": { - "message": "נא לאתחל הרשמה או לנסות להתחבר." + "message": "נא להתחיל הרשמה מחדש או לנסות להתחבר." }, "youMayAlreadyHaveAnAccount": { "message": "ייתכן שכבר יש לך חשבון" @@ -900,19 +904,19 @@ "message": "דרוש שם." }, "addedFolder": { - "message": "התיקייה נוספה" + "message": "תיקייה נוספה" }, "twoStepLoginConfirmation": { "message": "כניסה דו-שלבית הופכת את החשבון שלך למאובטח יותר בכך שאתה נדרש לאמת את הכניסה שלך עם מכשיר אחר כמו מפתח אבטחה, יישום מאמת, מסרון, שיחת טלפון, או דוא\"ל. ניתן להגדיר כניסה דו-שלבית בכספת הרשת bitwarden.com. האם ברצונך לבקר באתר כעת?" }, "twoStepLoginConfirmationContent": { - "message": "הפוך את החשבון שלך לבטוח יותר על ידי הגדרת התחברות דו-שלבית ביישום הרשת Bitwarden." + "message": "הפוך את החשבון שלך למאובטח יותר על ידי הגדרת כניסה דו-שלבית ביישום הרשת של Bitwarden." }, "twoStepLoginConfirmationTitle": { "message": "להמשיך ביישום הרשת?" }, "editedFolder": { - "message": "התיקייה נשמרה" + "message": "תיקייה נשמרה" }, "deleteFolderConfirmation": { "message": "האם אתה בטוח שברצונך למחוק את התיקייה?" @@ -974,10 +978,10 @@ "message": "האם אתה בטוח שברצונך לדרוס את הסיסמה הנוכחית?" }, "overwriteUsername": { - "message": "החלף שם משתמש" + "message": "דרוס שם משתמש" }, "overwriteUsernameConfirmation": { - "message": "האם אתה בטוח שברצונך להחליף את שם המשתמש הנוכחי?" + "message": "האם אתה בטוח שברצונך לדרוס את שם המשתמש הנוכחי?" }, "searchFolder": { "message": "חפש תיקייה" @@ -1052,7 +1056,7 @@ "message": "שאל אם לשמור ולהשתמש במפתחות גישה" }, "usePasskeysDesc": { - "message": "שאל אם לשמור מפתחות גישה חדשים או להתחבר עם מפתחות גישה השמורים בכספת שלך. חל על כל המשתמשים המחוברים." + "message": "שאל אם לשמור מפתחות גישה חדשים או להיכנס עם מפתחות גישה השמורים בכספת שלך. חל על כל המשתמשים המחוברים." }, "notificationChangeDesc": { "message": "האם ברצונך לעדכן את הסיסמה הזו בתוכנת Bitwarden?" @@ -1212,7 +1216,7 @@ "message": "הקובץ המצורף נמחק" }, "newAttachment": { - "message": "צרף קובץ מצורף חדש" + "message": "צרף קובץ חדש" }, "noAttachments": { "message": "אין קבצים מצורפים." @@ -1281,7 +1285,7 @@ "message": "רכוש פרימיום" }, "premiumPurchaseAlertV2": { - "message": "אתה יכול לרכוש פרימיום מהגדרות החשבון שלך ביישום הרשת Bitwarden." + "message": "אתה יכול לרכוש פרימיום מהגדרות החשבון שלך ביישום הרשת של Bitwarden." }, "premiumCurrentMember": { "message": "אתה חבר פרימיום!" @@ -1326,13 +1330,13 @@ "message": "נדרש פרימיום" }, "premiumRequiredDesc": { - "message": "יש צורך בחברות פרימיום כדי להשתמש בתכונה זו." + "message": "נדרשת חברות פרימיום כדי להשתמש בתכונה זו." }, "enterVerificationCodeApp": { "message": "הכנס את קוד האימות בן 6 הספרות מאפליקציית האימות שלך." }, "authenticationTimeout": { - "message": "זמן קצוב לאימות" + "message": "פסק זמן לאימות" }, "authenticationSessionTimedOut": { "message": "תם הזמן הקצוב לאימות ההפעלה. נא להתחיל מחדש את תהליך הכניסה." @@ -1440,7 +1444,7 @@ "message": "ציין את בסיס ה־URL של התקנת Bitwarden באירוח מקומי שלך. דוגמה: https://bitwarden.company.com" }, "selfHostedCustomEnvHeader": { - "message": "עבור תצורות מתקדמות, באפשרותך לציין את בסיס ה־URL של כל שירות בנפרד." + "message": "עבור תצורה מתקדמת, באפשרותך לציין את בסיס ה־URL של כל שירות בנפרד." }, "selfHostedEnvFormInvalid": { "message": "אתה מוכרח להוסיף או את בסיס ה־URL של השרת או לפחות סביבה מותאמת אישית אחת." @@ -1455,7 +1459,7 @@ "message": "כתובת שרת" }, "selfHostBaseUrl": { - "message": "URL שרת אירוח עצמי", + "message": "URL של שרת אירוח עצמי", "description": "Label for field requesting a self-hosted integration service URL" }, "apiUrl": { @@ -1822,7 +1826,7 @@ "message": "נקה היסטוריית מחולל" }, "cleargGeneratorHistoryDescription": { - "message": "אם תמשיך, כל הרשומות יימחקו מהיסטוריית המחולל. האם אתה בטוח שברצונך להמשיך?" + "message": "אם תמשיך, כל הרשומות יימחקו לצמיתות מהיסטוריית המחולל. האם אתה בטוח שברצונך להמשיך?" }, "back": { "message": "הקודם" @@ -1947,7 +1951,7 @@ "message": "אין מה להראות" }, "nothingGeneratedRecently": { - "message": "לא חוללת כלום לאחרונה" + "message": "לא יצרת שום דבר לאחרונה" }, "remove": { "message": "הסר" @@ -2038,7 +2042,7 @@ "message": "ממתין לאישור משולחן העבודה" }, "awaitDesktopDesc": { - "message": "אנא אשר באמצעות זיהוי ביומטרי ביישום Bitwarden של שולחן העבודה בכדי להגדיר זיהוי ביומטרי עבור דפדפן." + "message": "אנא אשר באמצעות זיהוי ביומטרי ביישום שולחן העבודה של Bitwarden בכדי להגדיר זיהוי ביומטרי עבור דפדפן." }, "lockWithMasterPassOnRestart": { "message": "נעל בעזרת הסיסמה הראשית בהפעלת הדפדפן מחדש" @@ -2082,7 +2086,7 @@ "description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'" }, "vaultTimeoutAction": { - "message": "פעולת פסק זמן כספת" + "message": "פעולת פסק זמן לכספת" }, "vaultTimeoutAction1": { "message": "פעולת פסק זמן" @@ -2216,7 +2220,7 @@ "message": "בכל זמן." }, "byContinuingYouAgreeToThe": { - "message": "על ידי המשך אתה מסכים ל" + "message": "על ידי המשך, אתה מסכים ל" }, "and": { "message": "ו" @@ -2255,13 +2259,13 @@ "message": "שילוב הדפדפן אינו מוגדר" }, "desktopIntegrationDisabledDesc": { - "message": "שילוב הדפדפן אינו מוגדר ביישום Bitwarden של שולחן העבודה. אנא הגדר אותו בהגדרות שבתוך יישום שולחן העבודה." + "message": "שילוב הדפדפן אינו מוגדר ביישום שולחן העבודה של Bitwarden. אנא הגדר אותו בהגדרות שבתוך יישום שולחן העבודה." }, "startDesktopTitle": { - "message": "הפעל את יישום Bitwarden של שולחן העבודה" + "message": "הפעל את יישום שולחן העבודה של Bitwarden" }, "startDesktopDesc": { - "message": "היישום Bitwarden של שולחן העבודה צריך להיות מופעל לפני שניתן לבטל נעילה עם זיהוי ביומטרי." + "message": "יישום שולחן העבודה של Bitwarden צריך להיות מופעל לפני שניתן לבטל נעילה עם זיהוי ביומטרי." }, "errorEnableBiometricTitle": { "message": "לא ניתן להגדיר זיהוי ביומטרי" @@ -2336,7 +2340,7 @@ "message": "מדיניות ארגונית משפיעה על אפשרויות הבעלות שלך." }, "personalOwnershipPolicyInEffectImports": { - "message": "פוליסת ארגון חסמה ייבוא פריטים אל תוך הכספת האישית שלך." + "message": "מדיניות ארגון חסמה ייבוא פריטים אל תוך הכספת האישית שלך." }, "domainsTitle": { "message": "דומיינים", @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "דומיינים חסומים" }, + "learnMoreAboutBlockedDomains": { + "message": "למד עוד על דומיינים חסומים" + }, "excludedDomains": { "message": "דומיינים מוחרגים" }, @@ -2701,7 +2708,7 @@ "message": "הסיסמה הראשית שלך שונתה לאחרונה על ידי מנהל הארגון שלך. כדי לגשת לכספת, עליך לעדכן אותה כעת. בהמשך תנותק מההפעלה הנוכחית שלך ותידרש להיכנס חזרה. הפעלות פעילות במכשירים אחרים עלולות להישאר פעילות למשך עד שעה אחת." }, "updateWeakMasterPasswordWarning": { - "message": "הסיסמה הראשית שלך אינה עומדת באחת או יותר ממדיניות הארגון שלך. כדי לגשת לכספת, אתה מוכרח לעדכן את הסיסמה הראשית שלך עכשיו. בהמשך תנותק מההפעלה הנוכחית שלך ותידרש להיכנס חזרה. הפעלות פעילות במכשירים אחרים עלולות להישאר פעילות למשך עד שעה אחת." + "message": "הסיסמה הראשית שלך אינה עומדת באחת או יותר ממדיניויות הארגון שלך. כדי לגשת לכספת, אתה מוכרח לעדכן את הסיסמה הראשית שלך עכשיו. בהמשך תנותק מההפעלה הנוכחית שלך, מה שידרוש ממך להיכנס חזרה. הפעלות פעילות במכשירים אחרים עלולות להישאר פעילות למשך עד שעה אחת." }, "tdeDisabledMasterPasswordRequired": { "message": "הארגון שלך השבית הצפנת מכשיר מהימן. נא להגדיר סיסמה ראשית כדי לגשת לכספת שלך." @@ -2750,7 +2757,7 @@ "message": "דרישות מדיניות ארגונית הוחלו על אפשרויות פסק הזמן שלך" }, "vaultTimeoutPolicyInEffect": { - "message": "מדיניות הארגון שלך הגדירו את פסק זמן הכספת המרבי שלך ל-$HOURS$ שעות ו-$MINUTES$ דקות.", + "message": "מדיניויות הארגון שלך הגדירו את פסק הזמן לכספת המרבי שלך ל-$HOURS$ שעות ו-$MINUTES$ דקות.", "placeholders": { "hours": { "content": "$1", @@ -2789,7 +2796,7 @@ } }, "vaultTimeoutPolicyWithActionInEffect": { - "message": "מדיניות הארגון שלך משפיעה על פסק זמן הכספת שלך. פסק הזמן המרבי המותר הוא $HOURS$ שעות ו-$MINUTES$ דקות. פעולת פסק זמן הכספת שלך מוגדרת ל$ACTION$.", + "message": "מדיניויות הארגון שלך משפיעות על פסק הזמן לכספת שלך. פסק זמן מרבי המותר הוא $HOURS$ שעות ו-$MINUTES$ דקות. פעולת פסק הזמן לכספת שלך מוגדרת ל$ACTION$.", "placeholders": { "hours": { "content": "$1", @@ -2806,7 +2813,7 @@ } }, "vaultTimeoutActionPolicyInEffect": { - "message": "מדיניות הארגון שלך הגדירה את פעולת פסק זמן הכספת שלך ל$ACTION$.", + "message": "מדיניויות הארגון שלך הגדירו את פעולת פסק הזמן לכספת שלך ל$ACTION$.", "placeholders": { "action": { "content": "$1", @@ -2815,7 +2822,7 @@ } }, "vaultTimeoutTooLarge": { - "message": "פסק הזמן של הכספת שלך חורג מהמגבלות שנקבעו על ידי הארגון שלך." + "message": "פסק הזמן לכספת שלך חורג מהמגבלות שנקבעו על ידי הארגון שלך." }, "vaultExportDisabled": { "message": "ייצוא כספת לא זמין" @@ -2857,13 +2864,13 @@ "message": "הצג או הסתר מונה תווים" }, "sessionTimeout": { - "message": "תם הזמן הקצוב להפעלה שלך. בבקשה לחזור ולנסות להיכנס שוב." + "message": "תם פסק הזמן להפעלה שלך. נא לחזור ולנסות להיכנס שוב." }, "exportingPersonalVaultTitle": { "message": "מייצא כספת אישית" }, "exportingIndividualVaultDescription": { - "message": "רק פריטי הכספת האישית המשויכת עם $EMAIL$ ייוצאו. כספת ארגון לא תיכלל. רק פרטי פריט כספת ייוצאו ולא יכללו קבצים מצורפים משויכים.", + "message": "רק פריטי הכספת האישית המשויכת עם $EMAIL$ ייוצאו. פריטי כספת ארגון לא יכללו. רק פרטי פריט כספת ייוצאו ולא יכללו קבצים מצורפים משויכים.", "placeholders": { "email": { "content": "$1", @@ -2875,7 +2882,7 @@ "message": "מייצא כספת ארגון" }, "exportingOrganizationVaultDesc": { - "message": "רק פריטי הכספת הארגונים המשויכת עם $ORGANIZATION$ ייוצאו. פריטים בכספת אישית או ארגונים אחרים לא יכללו.", + "message": "רק כספת הארגון המשויכת עם $ORGANIZATION$ ייוצאו. פריטים בכספת אישית או ארגונים אחרים לא יכללו.", "placeholders": { "organization": { "content": "$1", @@ -2890,7 +2897,7 @@ "message": "שגיאת פענוח" }, "couldNotDecryptVaultItemsBelow": { - "message": "Bitwarden לא יכל לפענח את פריט(י) הכספת הרשומ(ים) למטה." + "message": "Bitwarden לא יכל לפענח את פריט(י) הכספת המפורט(ים) להלן." }, "contactCSToAvoidDataLossPart1": { "message": "צור קשר עם הצלחת לקוחות", @@ -2976,11 +2983,11 @@ "description": "Labels the domain name email forwarder service option" }, "forwarderDomainNameHint": { - "message": "השתמש בדומיין שנתמך על ידי השירות שנבחר", + "message": "בחר דומיין שנתמך על ידי השירות הנבחר", "description": "Guidance provided for email forwarding services that support multiple email domains." }, "forwarderError": { - "message": "שגיאת $SERVICENAME$: $ERRORMESSAGE$", + "message": "$SERVICENAME$ שגיאה: $ERRORMESSAGE$", "description": "Reports an error returned by a forwarding service to the user.", "placeholders": { "servicename": { @@ -3008,7 +3015,7 @@ } }, "forwaderInvalidToken": { - "message": "אסימון $SERVICENAME$ API לא חוקי", + "message": "אסימון API של $SERVICENAME$ לא חוקי", "description": "Displayed when the user's API token is empty or rejected by the forwarding service.", "placeholders": { "servicename": { @@ -3018,7 +3025,7 @@ } }, "forwaderInvalidTokenWithMessage": { - "message": "אסימון $SERVICENAME$ API לא חוקי: $ERRORMESSAGE$", + "message": "אסימון API של $SERVICENAME$ לא חוקי: $ERRORMESSAGE$", "description": "Displayed when the user's API token is rejected by the forwarding service with an error message.", "placeholders": { "servicename": { @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ סירב לבקשה שלך. נא ליצור קשר עם נותן השירות שלך לקבלת סיוע.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ סירב לבקשה שלך: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "לא ניתן להשיג מזהה חשבון דוא\"ל מסווה של $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -3052,7 +3083,7 @@ } }, "forwarderNoUrl": { - "message": "ה־url של $SERVICENAME$ לא חוקי.", + "message": "כתובת url של $SERVICENAME$ לא חוקית.", "description": "Displayed when the url of the forwarding service wasn't supplied.", "placeholders": { "servicename": { @@ -3194,7 +3225,7 @@ "message": "יישום הרשת" }, "notificationSentDevicePart2": { - "message": "ודא שביטוי טביעת אצבע תואם את זה שלמטה לפני אישור." + "message": "ודא שביטוי טביעת האצבע תואם את זה שלמטה לפני שתאשר." }, "aNotificationWasSentToYourDevice": { "message": "התראה נשלחה למכשיר שלך" @@ -3206,7 +3237,7 @@ "message": "צריך אפשרות אחרת?" }, "loginInitiated": { - "message": "הכניסה החלה" + "message": "כניסה החלה" }, "logInRequestSent": { "message": "בקשה נשלחה" @@ -3215,22 +3246,22 @@ "message": "סיסמה ראשית חשופה" }, "exposedMasterPasswordDesc": { - "message": "הסיסמה נמצאה בפרצת מידע. השתמש בסיסמה ייחודית כדי לשמור על חשבונך. האם אתה בטוח שברצונך להשתמש בסיסמה חשופה?" + "message": "הסיסמה נמצאה בפרצת נתונים. השתמש בסיסמה ייחודית כדי להגן על חשבונך. האם אתה בטוח שברצונך להשתמש בסיסמה חשופה?" }, "weakAndExposedMasterPassword": { "message": "סיסמה ראשית חלשה וחשופה" }, "weakAndBreachedMasterPasswordDesc": { - "message": "סיסמה חלשה זוהתה ונמצאה בפרצת מידע. השתמש בסיסמה חזקה וייחודית כדי להגן על חשבונך. האם אתה בטוח שאתה רוצה להשתמש בסיסמה הזאת?" + "message": "סיסמה חלשה זוהתה ונמצאה בפרצת נתונים. השתמש בסיסמה חזקה וייחודית כדי להגן על חשבונך. האם אתה בטוח שאתה רוצה להשתמש בסיסמה זו?" }, "checkForBreaches": { - "message": "בדוק פרצות מידע ידועות עבור סיסמה זו" + "message": "בדוק פרצות נתונים ידועות עבור סיסמה זו" }, "important": { "message": "חשוב:" }, "masterPasswordHint": { - "message": "לא ניתן לשחזר את הסיסמה הראשית שלך אם אתה שוכח אותה!" + "message": "הסיסמה הראשית שלך לא ניתנת לשחזור אם שחכת אותה!" }, "characterMinimum": { "message": "$LENGTH$ תווים לכל הפחות", @@ -3242,7 +3273,7 @@ } }, "autofillPageLoadPolicyActivated": { - "message": "מדיניות הארגון של הפעילה מילוי אוטומטי בעת טעינת עמוד." + "message": "מדיניויות הארגון שלך הפעילו מילוי אוטומטי בעת טעינת עמוד." }, "howToAutofill": { "message": "כיצד למלא אוטומטית" @@ -3347,7 +3378,7 @@ "message": "אין דוא\"ל?" }, "goBack": { - "message": "חזור אחורה" + "message": "חזור" }, "toEditYourEmailAddress": { "message": "כדי לערוך את כתובת הדוא\"ל שלך." @@ -3378,7 +3409,7 @@ "message": "תקבל התראה כשתאושר." }, "troubleLoggingIn": { - "message": "בעיות בהתחברות?" + "message": "בעיות בכניסה?" }, "loginApproved": { "message": "כניסה אושרה" @@ -3410,7 +3441,7 @@ "message": "חיפוש" }, "inputMinLength": { - "message": "קלט חייב להיות באורך $COUNT$ תווים לכל הפחות.", + "message": "אורך הקלט חייב להיות לפחות $COUNT$ תווים.", "placeholders": { "count": { "content": "$1", @@ -3419,7 +3450,7 @@ } }, "inputMaxLength": { - "message": "קלט חייב להיות באורך $COUNT$ תווים לכל היותר.", + "message": "אורך הקלט לא יעלה על $COUNT$ תווים.", "placeholders": { "count": { "content": "$1", @@ -3513,7 +3544,7 @@ "message": "תפריט משנה" }, "toggleCollapse": { - "message": "החלף מצב כיווץ", + "message": "שנה מצב כיווץ", "description": "Toggling an expand/collapse state." }, "aliasDomain": { @@ -3704,13 +3735,13 @@ } }, "duoHealthCheckResultsInNullAuthUrlError": { - "message": "שגיאה בהתחברות עם שירות ה־Duo. השתמש בשיטת כניסה דו־שלבית אחרת או פנה אל Duo לסיוע." + "message": "שגיאה בהתחברות עם השירות Duo. השתמש בשיטת כניסה דו־שלבית אחרת או פנה אל Duo לסיוע." }, "launchDuoAndFollowStepsToFinishLoggingIn": { - "message": "פתח את Duo ועקוב אחר השלבים לסיום הכניסה." + "message": "פתח את Duo ועקוב אחר השלבים כדי לסיים את ההתחברות." }, "duoRequiredForAccount": { - "message": "דרושה כניסה דו־שלבים של Duo עבור החשבון שלך." + "message": "נדרשת כניסה דו־שלבית של Duo עבור החשבון שלך." }, "popoutTheExtensionToCompleteLogin": { "message": "נתק את ההרחבה כדי להשלים כניסה." @@ -3722,16 +3753,16 @@ "message": "פתח את Duo" }, "importFormatError": { - "message": "נתונים לא מעוצבים כראוי. נא לבדוק את קובץ הייבוא שלך ולנסות שוב." + "message": "הנתונים אינם מעוצבים כראוי. נא לבדוק את קובץ הייבוא שלך ולנסות שוב." }, "importNothingError": { "message": "לא יובא דבר." }, "importEncKeyError": { - "message": "שגיאה בפענוח הקובץ המיוצא. מפתח ההצפנה שלך אינו תואם למפתח ההצפנה המשמש לייצוא הנתונים." + "message": "שגיאה בפענוח הקובץ המיוצא. מפתח ההצפנה שלך אינו תואם את מפתח ההצפנה המשמש לייצוא הנתונים." }, "invalidFilePassword": { - "message": "סיסמת קובץ שגויה." + "message": "סיסמת קובץ שגויה, נא להשתמש בסיסמה שהזנת כשיצרת את קובץ הייצוא." }, "destination": { "message": "יעד" @@ -3746,7 +3777,7 @@ "message": "בחר אוסף" }, "importTargetHint": { - "message": "בחר באפשרות זו אם ברצונך להעביר את הקובץ המיובא אל $DESTINATION$", + "message": "בחר באפשרות זו אם ברצונך להעביר את תוכן הקובץ המיובא אל $DESTINATION$", "description": "Located as a hint under the import target. Will be appended by either folder or collection, depending if the user is importing into an individual or an organizational vault.", "placeholders": { "destination": { @@ -3799,7 +3830,7 @@ "message": "מפתח גישה" }, "accessing": { - "message": "ניגש" + "message": "ניגש אל" }, "loggedInExclamation": { "message": "מחובר!" @@ -3814,7 +3845,7 @@ "message": "נדרש אימות על ידי האתר היוזם. תכונה זו עדיין לא מיושמת עבור חשבונות ללא סיסמה ראשית." }, "logInWithPasskeyQuestion": { - "message": "אימות עם מפתח גישה?" + "message": "להיכנס עם מפתח גישה?" }, "passkeyAlreadyExists": { "message": "מפתח גישה כבר קיים ביישום זה." @@ -3844,7 +3875,7 @@ "message": "בחר כניסה אליה יישמר מפתח כניסה זה" }, "chooseCipherForPasskeyAuth": { - "message": "בחר מפתח גישה כדי להיכנס באמצעותה" + "message": "בחר מפתח גישה כדי להיכנס בעזרתו" }, "passkeyItem": { "message": "פריט מפתח גישה" @@ -3913,7 +3944,7 @@ "message": "ממתין לאימות SSO" }, "awaitingSSODesc": { - "message": "נא להמשיך להתחבר אמצעות פרטי החברה שלך." + "message": "נא להמשיך להתחבר באמצעות פרטי החברה שלך." }, "seeDetailedInstructions": { "message": "ראה הוראות מפורטות באתר העזרה שלנו ב־", @@ -3932,7 +3963,7 @@ "message": "אוסף" }, "lastPassYubikeyDesc": { - "message": "הכנס את ה־YubiKey המשויך עם חשבון ה־LastPass שלך אל תוך יציאת USB של המחשב שלך, לאחר מכן לחץ על הכפתור שלו." + "message": "הכנס את ה־YubiKey המשויך עם חשבון ה־LastPass שלך אל תוך יציאת USB של המחשב שלך, לאחר מכן גע בכפתור שלו." }, "switchAccount": { "message": "החלף חשבון" @@ -4430,7 +4461,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": { @@ -4631,13 +4662,13 @@ "message": "קובץ סנד" }, "fileSends": { - "message": "קובץ סנדים" + "message": "סנדים של קובץ" }, "textSend": { "message": "טקסט סנד" }, "textSends": { - "message": "טקסט סנדים" + "message": "סנדים של טקסט" }, "accountActions": { "message": "פעולות חשבון" @@ -4682,13 +4713,13 @@ "message": "נסה שוב" }, "vaultCustomTimeoutMinimum": { - "message": "פסק זמן מינימלי הוא דקה 1." + "message": "פסק זמן מותאם אישית מינימלי הוא דקה 1." }, "additionalContentAvailable": { "message": "תוכן נוסף זמין" }, "fileSavedToDevice": { - "message": "קובץ נשמר למכשיר. נהל מההורדות של המכשיר שלך." + "message": "קובץ נשמר למכשיר. נהל מהורדות המכשיר שלך." }, "showCharacterCount": { "message": "הצג מונה תווים" @@ -4718,7 +4749,7 @@ "message": "אין לך הרשאות לערוך פריט זה" }, "biometricsStatusHelptextUnlockNeeded": { - "message": "ביטול נעילה ביומטרי אינו זמין בגלל שקודם צריך לבטל את הנעילה עם PIN או סיסמה." + "message": "ביטול נעילה ביומטרי אינו זמין בגלל שביטול נעילה עם PIN או סיסמה נדרש תחילה." }, "biometricsStatusHelptextHardwareUnavailable": { "message": "ביטול נעילה ביומטרי אינו זמין כעת." @@ -4730,10 +4761,10 @@ "message": "ביטול נעילה ביומטרי אינו זמין בשל קבצי מערכת המוגדרים באופן שגוי." }, "biometricsStatusHelptextDesktopDisconnected": { - "message": "ביטול נעילה ביומטרי אינו זמין בגלל שיישום שולחן העבודה Bitwarden סגור." + "message": "ביטול נעילה ביומטרי אינו זמין בגלל שיישום שולחן העבודה של Bitwarden סגור." }, "biometricsStatusHelptextNotEnabledInDesktop": { - "message": "ביטול נעילה ביומטרי אינו זמין בגלל שהוא לא מאופשר עבור $EMAIL$ ביישום שולחן העבודה Bitwarden.", + "message": "ביטול נעילה ביומטרי אינו זמין בגלל שהוא לא מאופשר עבור $EMAIL$ ביישום שולחן העבודה של Bitwarden.", "placeholders": { "email": { "content": "$1", @@ -4934,7 +4965,7 @@ "message": "לא, אין לי" }, "newDeviceVerificationNoticePageOneEmailAccessYes": { - "message": "כן, אני יכול לגשת לדוא\"ל באופן מהימן" + "message": "כן, אני יכול לגשת לדוא\"ל שלי באופן מהימן" }, "turnOnTwoStepLogin": { "message": "הפעל כניסה דו-שלבית" diff --git a/apps/browser/src/_locales/hi/messages.json b/apps/browser/src/_locales/hi/messages.json index 8d6340c9727..e00fcfe108e 100644 --- a/apps/browser/src/_locales/hi/messages.json +++ b/apps/browser/src/_locales/hi/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "बहिष्कृत डोमेन" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/hr/messages.json b/apps/browser/src/_locales/hr/messages.json index 56778b96bcc..cb2d66db672 100644 --- a/apps/browser/src/_locales/hr/messages.json +++ b/apps/browser/src/_locales/hr/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Kopiraj bilješke" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Ispuni", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blokirane domene" }, + "learnMoreAboutBlockedDomains": { + "message": "Saznaj više o blokiranim domenama" + }, "excludedDomains": { "message": "Izuzete domene" }, @@ -2364,10 +2371,10 @@ "message": "Promijeni ovo u postavkama" }, "change": { - "message": "Change" + "message": "Promijeni" }, "changeButtonTitle": { - "message": "Change password - $ITEMNAME$", + "message": "Promijeni lozinku - $ITEMNAME$", "placeholders": { "itemname": { "content": "$1", @@ -2376,10 +2383,10 @@ } }, "atRiskPasswords": { - "message": "At-risk passwords" + "message": "Rizične lozinke" }, "atRiskPasswordsDescSingleOrg": { - "message": "$ORGANIZATION$ is requesting you change the $COUNT$ passwords because they are at risk.", + "message": "Broj rizičnih lozinki koje $ORGANIZATION$ traži da promijeniš: $COUNT$.", "placeholders": { "organization": { "content": "$1", @@ -2392,7 +2399,7 @@ } }, "atRiskPasswordsDescMultiOrg": { - "message": "Your organizations are requesting you change the $COUNT$ passwords because they are at risk.", + "message": "Broj rizičnih lozinki koje tvoja organizacija traži da promijeniš: $COUNT$.", "placeholders": { "count": { "content": "$1", @@ -2401,10 +2408,10 @@ } }, "reviewAndChangeAtRiskPassword": { - "message": "Review and change one at-risk password" + "message": "Pregledaj i promijeni jednu rizičnu lozinku" }, "reviewAndChangeAtRiskPasswordsPlural": { - "message": "Review and change $COUNT$ at-risk passwords", + "message": "Broj rizičnih lozinki za pregled i promjenu: $COUNT$", "placeholders": { "count": { "content": "$1", @@ -2413,19 +2420,19 @@ } }, "changeAtRiskPasswordsFaster": { - "message": "Change at-risk passwords faster" + "message": "Brže promijeni rizične lozinke" }, "changeAtRiskPasswordsFasterDesc": { - "message": "Update your settings so you can quickly autofill your passwords and generate new ones" + "message": "Ažuriraj svoje postavke kako za brzu auto-ispunu svojih lozinki i generiranje novih" }, "turnOnAutofill": { - "message": "Turn on autofill" + "message": "Uključi auto-ispunu" }, "turnedOnAutofill": { - "message": "Turned on autofill" + "message": "Auto-ispuna uključena" }, "dismiss": { - "message": "Dismiss" + "message": "Odbaci" }, "websiteItemLabel": { "message": "Web stranica $number$ (URI)", @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nije moguće dobiti $SERVICENAME$ maskirani ID računa e-pošte.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/hu/messages.json b/apps/browser/src/_locales/hu/messages.json index 4a56787d919..ff7ca7cf27d 100644 --- a/apps/browser/src/_locales/hu/messages.json +++ b/apps/browser/src/_locales/hu/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Jegyzet másolása" }, + "copy": { + "message": "Másolás", + "description": "Copy to clipboard" + }, "fill": { "message": "Kitöltés", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Letiltott tartományok" }, + "learnMoreAboutBlockedDomains": { + "message": "További információ a letiltott tartományokról" + }, "excludedDomains": { "message": "Kizárt domainek" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ elutasította a kérést. Vegyük fel a kapcsolatot szolgáltatóval segítségért.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ elutasította a kérést: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nem lehet beolvasni $SERVICENAME$ maszkolt email fiók azonosítót.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/id/messages.json b/apps/browser/src/_locales/id/messages.json index 8f3a8d5a49b..420c019793c 100644 --- a/apps/browser/src/_locales/id/messages.json +++ b/apps/browser/src/_locales/id/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Salin catatan" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Isikan", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Domain yang Dikecualikan" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Gagal mendapatkan akun ID surel bertopeng dari $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/it/messages.json b/apps/browser/src/_locales/it/messages.json index 62303f90021..fe20b9c5afa 100644 --- a/apps/browser/src/_locales/it/messages.json +++ b/apps/browser/src/_locales/it/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copia note" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Domini bloccati" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Domini esclusi" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ ha rifiutato la tua richiesta. Contatta il tuo fornitore di servizi per assistenza.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ ha respinto la tua richiesta: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Impossibile ottenere l'ID dell'account email mascherato di $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/ja/messages.json b/apps/browser/src/_locales/ja/messages.json index 706fe156879..ca65ebb3f0c 100644 --- a/apps/browser/src/_locales/ja/messages.json +++ b/apps/browser/src/_locales/ja/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "メモをコピー" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "入力", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "除外するドメイン" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "$SERVICENAME$ マスク済みメールアカウント ID を取得できませんでした。", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/ka/messages.json b/apps/browser/src/_locales/ka/messages.json index e7f8f721640..84acb49312e 100644 --- a/apps/browser/src/_locales/ka/messages.json +++ b/apps/browser/src/_locales/ka/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/km/messages.json b/apps/browser/src/_locales/km/messages.json index 33ba50ddab4..ae1a993b600 100644 --- a/apps/browser/src/_locales/km/messages.json +++ b/apps/browser/src/_locales/km/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/kn/messages.json b/apps/browser/src/_locales/kn/messages.json index 83ed983db46..32fe6f26e1c 100644 --- a/apps/browser/src/_locales/kn/messages.json +++ b/apps/browser/src/_locales/kn/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "ಹೊರತುಪಡಿಸಿದ ಡೊಮೇನ್ಗಳು" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/ko/messages.json b/apps/browser/src/_locales/ko/messages.json index 305580ad0d3..d9800868da5 100644 --- a/apps/browser/src/_locales/ko/messages.json +++ b/apps/browser/src/_locales/ko/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "노트 복사" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "채우기", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "제외된 도메인" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "$SERVICENAME$ 마스크된 이메일 계정 ID를 얻을 수 없습니다.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/lt/messages.json b/apps/browser/src/_locales/lt/messages.json index 8e0e0124c85..a0d28256c46 100644 --- a/apps/browser/src/_locales/lt/messages.json +++ b/apps/browser/src/_locales/lt/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Išskirti domenai" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nepavyksta gauti „$SERVICENAME$“ užmaskuoto el. pašto paskyros ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/lv/messages.json b/apps/browser/src/_locales/lv/messages.json index 0a9904e23c4..c8784720768 100644 --- a/apps/browser/src/_locales/lv/messages.json +++ b/apps/browser/src/_locales/lv/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Ievietot piezīmes starpliktuvē" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Aizpildīt", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Liegtie domēna vārdi" }, + "learnMoreAboutBlockedDomains": { + "message": "Uzzināt vairāk par liegtajiem domēna vārdiem" + }, "excludedDomains": { "message": "Izņēmuma domēni" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Neizdevās iegūt $SERVICENAME$ aizsegta e-pasta konta Id.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/ml/messages.json b/apps/browser/src/_locales/ml/messages.json index e33dd435847..26b6568940c 100644 --- a/apps/browser/src/_locales/ml/messages.json +++ b/apps/browser/src/_locales/ml/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/mr/messages.json b/apps/browser/src/_locales/mr/messages.json index 9af8fb24289..5507b4432d1 100644 --- a/apps/browser/src/_locales/mr/messages.json +++ b/apps/browser/src/_locales/mr/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/my/messages.json b/apps/browser/src/_locales/my/messages.json index 33ba50ddab4..ae1a993b600 100644 --- a/apps/browser/src/_locales/my/messages.json +++ b/apps/browser/src/_locales/my/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/nb/messages.json b/apps/browser/src/_locales/nb/messages.json index 3eb30df99d5..bb766799d8f 100644 --- a/apps/browser/src/_locales/nb/messages.json +++ b/apps/browser/src/_locales/nb/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Kopiér notater" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blokkerte domener" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Ekskluderte domener" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/ne/messages.json b/apps/browser/src/_locales/ne/messages.json index 33ba50ddab4..ae1a993b600 100644 --- a/apps/browser/src/_locales/ne/messages.json +++ b/apps/browser/src/_locales/ne/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/nl/messages.json b/apps/browser/src/_locales/nl/messages.json index 915ae7163f6..86075f75e6d 100644 --- a/apps/browser/src/_locales/nl/messages.json +++ b/apps/browser/src/_locales/nl/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Notities kopiëren" }, + "copy": { + "message": "Kopiëren", + "description": "Copy to clipboard" + }, "fill": { "message": "Invullen", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Geblokkeerde domeinen" }, + "learnMoreAboutBlockedDomains": { + "message": "Meer informatie over geblokkeerde domeinen" + }, "excludedDomains": { "message": "Uitgesloten domeinen" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ heeft je aanvraag geweigerd. Neem contact op met je serviceprovider voor hulp.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ heeft je aanvraag geweigerd: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Kan $SERVICENAME$ gemaskeerde e-mailaccount-ID niet verkrijgen.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/nn/messages.json b/apps/browser/src/_locales/nn/messages.json index 33ba50ddab4..ae1a993b600 100644 --- a/apps/browser/src/_locales/nn/messages.json +++ b/apps/browser/src/_locales/nn/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/or/messages.json b/apps/browser/src/_locales/or/messages.json index 33ba50ddab4..ae1a993b600 100644 --- a/apps/browser/src/_locales/or/messages.json +++ b/apps/browser/src/_locales/or/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/pl/messages.json b/apps/browser/src/_locales/pl/messages.json index 044a22d6863..3f76ccae17a 100644 --- a/apps/browser/src/_locales/pl/messages.json +++ b/apps/browser/src/_locales/pl/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Kopiuj notatki" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Wypełnij", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Zablokowane domeny" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Wykluczone domeny" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nie można uzyskać ID maskowanego konta e-mail dla $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/pt_BR/messages.json b/apps/browser/src/_locales/pt_BR/messages.json index d0002a7f419..f6191df3c19 100644 --- a/apps/browser/src/_locales/pt_BR/messages.json +++ b/apps/browser/src/_locales/pt_BR/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copiar Notas" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Preencher", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Domínios Excluídos" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Não foi possível obter a máscara do ID da conta de email $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/pt_PT/messages.json b/apps/browser/src/_locales/pt_PT/messages.json index 5e6a8e54701..970630d972b 100644 --- a/apps/browser/src/_locales/pt_PT/messages.json +++ b/apps/browser/src/_locales/pt_PT/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copiar notas" }, + "copy": { + "message": "Copiar", + "description": "Copy to clipboard" + }, "fill": { "message": "Preencher", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Domínios bloqueados" }, + "learnMoreAboutBlockedDomains": { + "message": "Saiba mais sobre domínios bloqueados" + }, "excludedDomains": { "message": "Domínios excluídos" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ recusou o seu pedido. Por favor, contacte o seu fornecedor de serviços para obter assistência.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ recusou o seu pedido: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Não foi possível obter o ID da conta de e-mail mascarada de $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/ro/messages.json b/apps/browser/src/_locales/ro/messages.json index b61afdf9c2c..e677e73e471 100644 --- a/apps/browser/src/_locales/ro/messages.json +++ b/apps/browser/src/_locales/ro/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copiază notițele" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Domenii excluse" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/ru/messages.json b/apps/browser/src/_locales/ru/messages.json index de00e2ceb25..c32becd07f6 100644 --- a/apps/browser/src/_locales/ru/messages.json +++ b/apps/browser/src/_locales/ru/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Скопировать заметки" }, + "copy": { + "message": "Скопировать", + "description": "Copy to clipboard" + }, "fill": { "message": "Заполнить", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Заблокированные домены" }, + "learnMoreAboutBlockedDomains": { + "message": "Узнайте больше о заблокированных доменах" + }, "excludedDomains": { "message": "Исключенные домены" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ отклонил(а) ваш запрос. Обратитесь за помощью к своему провайдеру.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ отклонил(а) ваш запрос: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Не удалось получить скрытый идентификатор email аккаунта $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/si/messages.json b/apps/browser/src/_locales/si/messages.json index 651f40eb404..76614fea092 100644 --- a/apps/browser/src/_locales/si/messages.json +++ b/apps/browser/src/_locales/si/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "බැහැර වසම්" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/sk/messages.json b/apps/browser/src/_locales/sk/messages.json index e4d221e02a6..26e20059b24 100644 --- a/apps/browser/src/_locales/sk/messages.json +++ b/apps/browser/src/_locales/sk/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Kopírovať poznámky" }, + "copy": { + "message": "Kopírovať", + "description": "Copy to clipboard" + }, "fill": { "message": "Vyplniť", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blokované domény" }, + "learnMoreAboutBlockedDomains": { + "message": "Viac informácií o blokovaných doménach" + }, "excludedDomains": { "message": "Vylúčené domény" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "Služba $SERVICENAME$ odmietla vašu žiadosť. Obráťte sa na svojho poskytovateľa služieb a požiadajte o pomoc.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "Služba $SERVICENAME$ odmietla vašu žiadosť: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nepodarilo sa získať ID maskovaného e-mailového účtu $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/sl/messages.json b/apps/browser/src/_locales/sl/messages.json index 757ea673a9a..a4c66406b60 100644 --- a/apps/browser/src/_locales/sl/messages.json +++ b/apps/browser/src/_locales/sl/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Izključene domene" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/sr/messages.json b/apps/browser/src/_locales/sr/messages.json index f694f8f3bde..22448a3260b 100644 --- a/apps/browser/src/_locales/sr/messages.json +++ b/apps/browser/src/_locales/sr/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Копирати белешке" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Попуни", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Блокирани домени" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Изузети домени" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Није могуће добити ИД налога маскираног имејла $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/sv/messages.json b/apps/browser/src/_locales/sv/messages.json index de10dbabbe8..ae06b072020 100644 --- a/apps/browser/src/_locales/sv/messages.json +++ b/apps/browser/src/_locales/sv/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Kopiera anteckningar" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "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." @@ -196,7 +200,7 @@ "message": "Fyll i verifieringskod" }, "fillVerificationCodeAria": { - "message": "Fill Verification Code", + "message": "Fyll i verifieringskod", "description": "Aria label for the heading displayed the inline menu for totp code autofill" }, "generatePasswordCopied": { @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Exkluderade domäner" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/te/messages.json b/apps/browser/src/_locales/te/messages.json index 33ba50ddab4..ae1a993b600 100644 --- a/apps/browser/src/_locales/te/messages.json +++ b/apps/browser/src/_locales/te/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/th/messages.json b/apps/browser/src/_locales/th/messages.json index 9cb50903730..a8a6c677e3b 100644 --- a/apps/browser/src/_locales/th/messages.json +++ b/apps/browser/src/_locales/th/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Excluded domains" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/tr/messages.json b/apps/browser/src/_locales/tr/messages.json index 82485207575..7799501f066 100644 --- a/apps/browser/src/_locales/tr/messages.json +++ b/apps/browser/src/_locales/tr/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Notları kopyala" }, + "copy": { + "message": "Kopyala", + "description": "Copy to clipboard" + }, "fill": { "message": "Doldur", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Engellenen alan adları" }, + "learnMoreAboutBlockedDomains": { + "message": "Engellenmiş alan adları hakkında bilgi alın" + }, "excludedDomains": { "message": "Hariç tutulan alan adları" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/uk/messages.json b/apps/browser/src/_locales/uk/messages.json index b81c32ac569..2f90a768199 100644 --- a/apps/browser/src/_locales/uk/messages.json +++ b/apps/browser/src/_locales/uk/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Копіювати нотатки" }, + "copy": { + "message": "Копіювати", + "description": "Copy to clipboard" + }, "fill": { "message": "Заповнити", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Заблоковані домени" }, + "learnMoreAboutBlockedDomains": { + "message": "Докладніше про заблоковані домени" + }, "excludedDomains": { "message": "Виключені домени" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ відхилив ваш запит. Зверніться до провайдера послуг по допомогу.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ відхилив ваш запит: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Не вдалося отримати ідентифікатор замаскованої е-пошти облікового запису для $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/vi/messages.json b/apps/browser/src/_locales/vi/messages.json index 92a37d53bd9..e8b50897627 100644 --- a/apps/browser/src/_locales/vi/messages.json +++ b/apps/browser/src/_locales/vi/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "Copy notes" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "Fill", "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." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "Blocked domains" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "Tên miền đã loại trừ" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Không thể lấy ID tài khoản email ẩn từ $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", diff --git a/apps/browser/src/_locales/zh_CN/messages.json b/apps/browser/src/_locales/zh_CN/messages.json index 9de6683a609..0718bca51f3 100644 --- a/apps/browser/src/_locales/zh_CN/messages.json +++ b/apps/browser/src/_locales/zh_CN/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "复制备注" }, + "copy": { + "message": "复制", + "description": "Copy to clipboard" + }, "fill": { "message": "填充", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -1422,7 +1426,7 @@ "message": "FIDO2 WebAuthn" }, "webAuthnDesc": { - "message": "使用任何 WebAuthn 兼容的安全钥匙访问您的帐户。" + "message": "使用任何 WebAuthn 兼容的安全钥匙访问您的账户。" }, "emailTitle": { "message": "电子邮箱" @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "屏蔽的域名" }, + "learnMoreAboutBlockedDomains": { + "message": "了解更多关于被屏蔽域名的信息" + }, "excludedDomains": { "message": "排除域名" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ 拒绝了您的请求。请联系您的服务提供商获取协助。", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ 拒绝了您的请求:$ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "无法获取 $SERVICENAME$ 电子邮箱账户 ID。", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -3704,7 +3735,7 @@ } }, "duoHealthCheckResultsInNullAuthUrlError": { - "message": "与 Duo 服务连接时出错。请使用不同的两步登录方式或联系 Duo 获取协助。" + "message": "与 Duo 服务连接时出错。请使用其他两步登录方式或联系 Duo 获取协助。" }, "launchDuoAndFollowStepsToFinishLoggingIn": { "message": "启动 DUO 并按照步骤完成登录。" diff --git a/apps/browser/src/_locales/zh_TW/messages.json b/apps/browser/src/_locales/zh_TW/messages.json index 274da967618..4d47740583b 100644 --- a/apps/browser/src/_locales/zh_TW/messages.json +++ b/apps/browser/src/_locales/zh_TW/messages.json @@ -176,6 +176,10 @@ "copyNotes": { "message": "複製備註" }, + "copy": { + "message": "Copy", + "description": "Copy to clipboard" + }, "fill": { "message": "填入", "description": "This string is used on the vault page to indicate autofilling. Horizontal space is limited in the interface here so try and keep translations as concise as possible." @@ -2345,6 +2349,9 @@ "blockedDomains": { "message": "已封鎖的網域" }, + "learnMoreAboutBlockedDomains": { + "message": "Learn more about blocked domains" + }, "excludedDomains": { "message": "排除網域" }, @@ -3031,6 +3038,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "無法獲得 $SERVICENAME$ 的轉送電子郵件帳號。", "description": "Displayed when the forwarding service fails to return an account ID.", From 05f25f305c2f87745a413dfcd066dd48a718fa71 Mon Sep 17 00:00:00 2001 From: "bw-ghapp[bot]" <178206702+bw-ghapp[bot]@users.noreply.github.com> Date: Fri, 21 Feb 2025 14:05:38 +0100 Subject: [PATCH 08/20] Autosync the updated translations (#13501) Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com> --- apps/web/src/locales/af/messages.json | 86 +++++++++++ apps/web/src/locales/ar/messages.json | 86 +++++++++++ apps/web/src/locales/az/messages.json | 86 +++++++++++ apps/web/src/locales/be/messages.json | 86 +++++++++++ apps/web/src/locales/bg/messages.json | 86 +++++++++++ apps/web/src/locales/bn/messages.json | 86 +++++++++++ apps/web/src/locales/bs/messages.json | 86 +++++++++++ apps/web/src/locales/ca/messages.json | 86 +++++++++++ apps/web/src/locales/cs/messages.json | 86 +++++++++++ apps/web/src/locales/cy/messages.json | 86 +++++++++++ apps/web/src/locales/da/messages.json | 86 +++++++++++ apps/web/src/locales/de/messages.json | 86 +++++++++++ apps/web/src/locales/el/messages.json | 86 +++++++++++ apps/web/src/locales/en_GB/messages.json | 86 +++++++++++ apps/web/src/locales/en_IN/messages.json | 86 +++++++++++ apps/web/src/locales/eo/messages.json | 86 +++++++++++ apps/web/src/locales/es/messages.json | 86 +++++++++++ apps/web/src/locales/et/messages.json | 86 +++++++++++ apps/web/src/locales/eu/messages.json | 86 +++++++++++ apps/web/src/locales/fa/messages.json | 86 +++++++++++ apps/web/src/locales/fi/messages.json | 86 +++++++++++ apps/web/src/locales/fil/messages.json | 86 +++++++++++ apps/web/src/locales/fr/messages.json | 86 +++++++++++ apps/web/src/locales/gl/messages.json | 86 +++++++++++ apps/web/src/locales/he/messages.json | 86 +++++++++++ apps/web/src/locales/hi/messages.json | 86 +++++++++++ apps/web/src/locales/hr/messages.json | 86 +++++++++++ apps/web/src/locales/hu/messages.json | 162 ++++++++++++++++----- apps/web/src/locales/id/messages.json | 86 +++++++++++ apps/web/src/locales/it/messages.json | 86 +++++++++++ apps/web/src/locales/ja/messages.json | 86 +++++++++++ apps/web/src/locales/ka/messages.json | 86 +++++++++++ apps/web/src/locales/km/messages.json | 86 +++++++++++ apps/web/src/locales/kn/messages.json | 86 +++++++++++ apps/web/src/locales/ko/messages.json | 86 +++++++++++ apps/web/src/locales/lv/messages.json | 86 +++++++++++ apps/web/src/locales/ml/messages.json | 86 +++++++++++ apps/web/src/locales/mr/messages.json | 86 +++++++++++ apps/web/src/locales/my/messages.json | 86 +++++++++++ apps/web/src/locales/nb/messages.json | 86 +++++++++++ apps/web/src/locales/ne/messages.json | 86 +++++++++++ apps/web/src/locales/nl/messages.json | 86 +++++++++++ apps/web/src/locales/nn/messages.json | 86 +++++++++++ apps/web/src/locales/or/messages.json | 86 +++++++++++ apps/web/src/locales/pl/messages.json | 178 +++++++++++++++++------ apps/web/src/locales/pt_BR/messages.json | 86 +++++++++++ apps/web/src/locales/pt_PT/messages.json | 88 ++++++++++- apps/web/src/locales/ro/messages.json | 86 +++++++++++ apps/web/src/locales/ru/messages.json | 86 +++++++++++ apps/web/src/locales/si/messages.json | 86 +++++++++++ apps/web/src/locales/sk/messages.json | 88 ++++++++++- apps/web/src/locales/sl/messages.json | 86 +++++++++++ apps/web/src/locales/sr/messages.json | 86 +++++++++++ apps/web/src/locales/sr_CS/messages.json | 86 +++++++++++ apps/web/src/locales/sv/messages.json | 86 +++++++++++ apps/web/src/locales/te/messages.json | 86 +++++++++++ apps/web/src/locales/th/messages.json | 86 +++++++++++ apps/web/src/locales/tr/messages.json | 88 ++++++++++- apps/web/src/locales/uk/messages.json | 86 +++++++++++ apps/web/src/locales/vi/messages.json | 86 +++++++++++ apps/web/src/locales/zh_CN/messages.json | 98 ++++++++++++- apps/web/src/locales/zh_TW/messages.json | 86 +++++++++++ 62 files changed, 5425 insertions(+), 93 deletions(-) diff --git a/apps/web/src/locales/af/messages.json b/apps/web/src/locales/af/messages.json index 6addd540801..c5ec34b2bf0 100644 --- a/apps/web/src/locales/af/messages.json +++ b/apps/web/src/locales/af/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Bekyk terugstelkode" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/ar/messages.json b/apps/web/src/locales/ar/messages.json index 7cd5b2eef01..df759346726 100644 --- a/apps/web/src/locales/ar/messages.json +++ b/apps/web/src/locales/ar/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/az/messages.json b/apps/web/src/locales/az/messages.json index 4c49936c88e..a2d8974c98a 100644 --- a/apps/web/src/locales/az/messages.json +++ b/apps/web/src/locales/az/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "İki addımlı girişi qurmaq, Bitwarden hesabınızı birdəfəlik kilidləyə bilər. Geri qaytarma kodu, normal iki addımlı giriş provayderinizi artıq istifadə edə bilmədiyiniz hallarda (məs. cihazınızı itirəndə) hesabınıza müraciət etməyinizə imkan verir. Hesabınıza müraciəti itirsəniz, Bitwarden dəstəyi sizə kömək edə bilməyəcək. Geri qaytarma kodunuzu bir yerə yazmağınızı və ya çap etməyinizi və onu etibarlı bir yerdə saxlamağınızı məsləhət görürük." }, + "yourSingleUseRecoveryCode": { + "message": "İki addımlı giriş provayderinizə müraciəti itirdiyiniz halda, iki addımlı girişi söndürmək üçün təkistifadəlik geri qaytarma kodunu istifadə edə bilərsiniz. Bitwarden tövsiyə edir ki, geri qaytarma kodunuzu bir yerə yazıb güvənli bir yerdə saxlayın." + }, "viewRecoveryCode": { "message": "Geri qaytarma koduna bax" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Hesabınıza normal iki addımlı giriş üsulları ilə müraciət edə bilmirsinizsə, hesabınızdakı bütün iki addımlı provayderləri söndürmək üçün iki addımlı giriş üzrə geri qaytarma kodunuzu istifadə edə bilərsiniz." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Təkistifadəlik geri qaytarma kodunuzu istifadə edərək aşağıda giriş edin. Bu, hesabınızdakı bütün iki addımlı provayderləri söndürəcək." + }, "recoverAccountTwoStep": { "message": "İki addımlı giriş ilə hesabı geri qaytarın" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Şifrələmə açarı güncəlləməsi davam edə bilmir" }, + "editFieldLabel": { + "message": "$LABEL$ - düzəliş et", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "$LABEL$ - yenidən sırala. Ox düyməsi ilə elementi yuxarı və ya aşağı daşıyın.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Şifrələmə açarınızı güncəlləyərkən qovluqlarınızın şifrəsi açıla bilmədi. Güncəlləmənin davam etməsi üçün qovluqlarınız silinməlidir. Davam etsəniz, heç bir seyf elementi silinməyəcək." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "$SERVICENAME$ maskalı e-poçt hesab kimliyi alına bilmir.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Platformanız üçün icra bələdçisini istifadə edərək Bitwarden üçün cihaz idarəetməsini konfiqurasiya edin." }, + "desktopRequired": { + "message": "Masaüstü tələb olunur" + }, + "reopenLinkOnDesktop": { + "message": "Bu keçidi e-poçtunuzdan masaüstündə yenidən açın." + }, "integrationCardTooltip": { "message": "$INTEGRATION$ icra bələdçisini başlat.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Təşkilat adı 50 xarakterdən çox ola bilməz." }, + "openingExtension": { + "message": "Bitwarden brauzer uzantısı açılır" + }, + "somethingWentWrong": { + "message": "Nəsə səhv getdi..." + }, + "openingExtensionError": { + "message": "Bitwarden brauzer uzantısı açılarkən xəta ilə üzləşdik. İndi açmaq üçün düyməyə klikləyin." + }, + "openExtension": { + "message": "Uzantını aç" + }, + "doNotHaveExtension": { + "message": "Bitwarden brauzer uzantısı yoxdur?" + }, + "installExtension": { + "message": "Uzantını quraşdır" + }, + "openedExtension": { + "message": "Brauzer uzantısı açıldı" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Bitwarden brauzer uzantısı uğurla açıldı. Riskli parollarınıza nəzər sala bilərsiniz." + }, + "openExtensionManuallyPart1": { + "message": "Bitwarden brauzer uzantısı açılarkən xəta ilə üzləşdik. Alət çubuğundan", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "Bitwarden ikonunu açın.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Abunəliyiniz tezliklə yenilənəcək. Kəsintisiz xidməti təmin etmək və yeniləməni $RENEWAL_DATE$ tarixindən əvvəl təsdiqləmək üçün $RESELLER$ ilə əlaqə saxlayın.", "placeholders": { diff --git a/apps/web/src/locales/be/messages.json b/apps/web/src/locales/be/messages.json index 8dcb31a1d0f..899afce6a06 100644 --- a/apps/web/src/locales/be/messages.json +++ b/apps/web/src/locales/be/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Уключэнне двухэтапнага ўваходу можа цалкам заблакіраваць доступ да ўліковага запісу Bitwarden. Код аднаўлення дае магчымасць атрымаць доступ да вашага ўліковага запісу ў выпадку, калі вы не можаце скарыстацца звычайным спосабам пастаўшчыка двухэтапнага ўваходу (напрыклад, вы згубілі сваю прыладу). Падтрымка Bitwarden не зможа вам дапамагчы, калі вы згубіце доступ да свайго ўліковага запісу. Мы рэкамендуем вам запісаць або раздрукаваць код аднаўлення і захоўваць яго ў надзейным месцы." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Паглядзець код аднаўлення" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Калі вы не можаце атрымаць доступ да свайго ўліковага запісу з дапамогай двухэтапнага ўваходу, то вы можаце скарыстацца кодам аднаўлення, каб адключыць усіх пастаўшчыкоў двухэтапнага ўваходу для вашага ўліковага запісу." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Аднавіць двухэтапны ўваход уліковага запісу" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/bg/messages.json b/apps/web/src/locales/bg/messages.json index c985e4eb74e..975f167c2a3 100644 --- a/apps/web/src/locales/bg/messages.json +++ b/apps/web/src/locales/bg/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Включването на двустепенна идентификация може завинаги да предотврати вписването ви в абонамента към Битуорден. Кодът за възстановяване ще ви позволи да достъпите абонамента дори и да имате проблем с доставчика на двустепенна идентификация (напр. ако изгубите устройството си). Дори и екипът по поддръжката към няма да ви помогне в такъв случай. Силно препоръчваме да отпечатате или запишете кодовете и да ги пазете на надеждно място." }, + "yourSingleUseRecoveryCode": { + "message": "Вашият еднократен код за възстановяване може да бъде използван, за да изключите двустепенното удостоверяване, в случай че нямате достъп до доставчика си за двустепенно вписване. Битуорден препоръчва да запишете кода си за възстановяване и да го пазите на сигурно място." + }, "viewRecoveryCode": { "message": "Извеждане на кодовете за възстановяване" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Ако не може да достъпите абонамента си с нормалната двустепенна идентификация, може да ползвате код за възстановяване, за да я изключите." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Впишете се по-долу с еднократния си код за възстановяване. Така ще изключите доставчиците на двустепенно удостоверяване за акаунта си." + }, "recoverAccountTwoStep": { "message": "Възстановяване на абонамент с двустепенна идентификация" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Актуализирането на шифриращия ключ не може да продължи" }, + "editFieldLabel": { + "message": "Редактиране на $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Преместване на $LABEL$. Използвайте стрелките, за да преместите елемента нагоре или надолу.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Ако актуализирате шифроващия ключ, папките Ви няма да могат да бъдат дешифрирани. За да продължите с промяната, папките трябва да бъдат изтрити. Елементите в трезора няма да бъдат изтрити, ако продължите." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ отказа заявката Ви. Свържете се с доставчика на услугата за съдействие.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ отказа заявката Ви: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Не може да бъде получен идентификатор на маскиран чрез е-поща акаунт от $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Настройте управлението на устройства в Битуорден, като използвате ръководството за внедряване за платформата си." }, + "desktopRequired": { + "message": "Трябва да сте на компютър" + }, + "reopenLinkOnDesktop": { + "message": "Отворете тази връзка от е-пощата си на компютър." + }, "integrationCardTooltip": { "message": "Стартиране на ръководството за внедряване за $INTEGRATION$.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Името на организацията не може да бъде по-дълго от 50 знака." }, + "openingExtension": { + "message": "Отваряне на добавката за браузър на Битуорден" + }, + "somethingWentWrong": { + "message": "Нещо се обърка…" + }, + "openingExtensionError": { + "message": "Добавката за браузър на Биуторден не успя да се отвори. Натиснете бутона, за да я отворите сега." + }, + "openExtension": { + "message": "Отваряне на добавката" + }, + "doNotHaveExtension": { + "message": "Нямате ли добавката за браузър на Битуорден?" + }, + "installExtension": { + "message": "Инсталиране на добавката" + }, + "openedExtension": { + "message": "Добавката за браузъра е отворена" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Добавката за браузър на Биуторден се отвори. Сега може да прегледате паролите си в риск." + }, + "openExtensionManuallyPart1": { + "message": "Добавката за браузър на Биуторден не успя да се отвори. Отворете я с иконката на Битуорден", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "от лентата с инструменти.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Вашият абонамент ще бъде подновен скоро. За да подсигурите, че услугата няма да има прекъсвания, свържете се с $RESELLER$ и потвърдете подновяването преди $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/bn/messages.json b/apps/web/src/locales/bn/messages.json index c2b6fdf4671..022c178e3e1 100644 --- a/apps/web/src/locales/bn/messages.json +++ b/apps/web/src/locales/bn/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "পুনরুদ্ধার কোড দেখুন" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/bs/messages.json b/apps/web/src/locales/bs/messages.json index a4750d36eac..f7d879c6474 100644 --- a/apps/web/src/locales/bs/messages.json +++ b/apps/web/src/locales/bs/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/ca/messages.json b/apps/web/src/locales/ca/messages.json index b9e8f0f2336..a2811e59ee3 100644 --- a/apps/web/src/locales/ca/messages.json +++ b/apps/web/src/locales/ca/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Si habiliteu l'inici de sessió en dues passes, pot bloquejar-vos de manera definitiva el compte de Bitwarden. Un codi de recuperació us permet accedir al vostre compte en cas que no pugueu utilitzar el proveïdor d'inici de sessió en dues passes (p. Ex. Perdre el dispositiu). El suport de Bitwarden no podrà ajudar-vos si perdeu l'accés al vostre compte. Us recomanem que escriviu o imprimiu el codi de recuperació i el mantingueu en un lloc segur." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Mostra el codi de recuperació" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Si no podeu accedir al vostre compte a través dels vostres mètodes d'inici de sessió de dues passes, podeu utilitzar el codi de recuperació de l'inici de sessió en dues passes per desactivar tots els proveïdors del vostre compte." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recupera l'inici de sessió en dues passes del compte" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/cs/messages.json b/apps/web/src/locales/cs/messages.json index 4fa1a50512c..e9f6ab05b39 100644 --- a/apps/web/src/locales/cs/messages.json +++ b/apps/web/src/locales/cs/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Nastavením dvoufázového přihlášení můžete sami sobě znemožnit přihlášení k Vašemu účtu. Obnovovací kód umožňuje přístup do Vašeho účtu i v případě, pokud již nemůžete použít svůj normální způsob dvoufázového přihlášení (např. ztráta zařízení). Pokud ztratíte přístup ke svému účtu, nebude Vám schopna pomoci ani zákaznická podpora Bitwardenu. Doporučujeme si proto kód pro obnovení zapsat nebo vytisknout a uložit jej na bezpečném místě." }, + "yourSingleUseRecoveryCode": { + "message": "Jednorázový kód pro obnovení lze použít k vypnutí dvoufázového přihlašování v případě, že ztratíte přístup ke svému poskytovateli dvoufázového přihlašování. Bitwarden doporučuje, abyste si kód pro obnovení zapsali a uložili na bezpečném místě." + }, "viewRecoveryCode": { "message": "Zobrazit kód pro obnovení" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Nemůžete-li přistoupit ke svému účtu pomocí běžné metody dvoufázového přihlášení, můžete pro vypnutí všech dvoufázových ověření ve Vašem účtu použít kód pro obnovení dvoufázového přihlášení." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Přihlaste se níže pomocí jednorázového kódu pro obnovení. Tím vypnete všechny dvoufázové poskytovatele na svém účtu." + }, "recoverAccountTwoStep": { "message": "Obnovit dvoufázové přihlášení k účtu" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Aktualizace šifrovacího klíče nemůže pokračovat" }, + "editFieldLabel": { + "message": "Upravit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Změnit pořadí $LABEL$. Použijte šipky pro posunutí položky nahoru nebo dolů.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Při aktualizaci šifrovacího klíče se nepodařilo dešifrovat Vaše složky. Chcete-li pokračovat v aktualizaci, musí být Vaše složky smazány. Pokud budete pokračovat, nebudou smazány žádné položky trezoru." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ odmítl Váš požadavek. Kontaktujte svého poskytovatele služeb o pomoc.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ odmítl Váš požadavek: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nelze získat maskované ID e-mailového účtu $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Nastaví správu zařízení pro Bitwarden pomocí implementačního průvodce pro Vaši platformu." }, + "desktopRequired": { + "message": "Je vyžadována desktopová aplikace" + }, + "reopenLinkOnDesktop": { + "message": "Znovu otevřete tento odkaz z Vašeho e-mailu na počítači." + }, "integrationCardTooltip": { "message": "Spustí průvodce implementací $INTEGRATION$.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Název organizace nesmí přesáhnout 50 znaků." }, + "openingExtension": { + "message": "Otevírání rozšíření Bitwarden pro prohlížeč" + }, + "somethingWentWrong": { + "message": "Něco se pokazilo..." + }, + "openingExtensionError": { + "message": "Měli jsme potíže s otevřením rozšíření Bitwarden pro pohlížeč. Klepněte na tlačítko pro jeho otevření." + }, + "openExtension": { + "message": "Otevřít rozšíření" + }, + "doNotHaveExtension": { + "message": "Nemáte rozšíření Bitwarden pro prohlížeč?" + }, + "installExtension": { + "message": "Nainstalovat rozšíření" + }, + "openedExtension": { + "message": "Otevřeno rozšíření prohlížeče" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Rozšíření Bitwarden pro prohlížeč bylo úspěšně otevřeno. Nyní můžete zkontrolovat Vaše riziková hesla." + }, + "openExtensionManuallyPart1": { + "message": "Měli jsme potíže s otevřením rozšíření Bitwarden pro pohlížeč. Klepněte na ikonu Bitwarden", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "na panelu nástrojů.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Vaše předplatné se brzy obnoví. Chcete-li zajistit nepřerušenou službu, kontaktujte $RESELLER$ pro potvrzení obnovení před $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/cy/messages.json b/apps/web/src/locales/cy/messages.json index 01c4f390ddc..0f14ecc1acd 100644 --- a/apps/web/src/locales/cy/messages.json +++ b/apps/web/src/locales/cy/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/da/messages.json b/apps/web/src/locales/da/messages.json index bd357b4cba4..a1f410a1077 100644 --- a/apps/web/src/locales/da/messages.json +++ b/apps/web/src/locales/da/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Opsætning af totrins-login kan permanent låse en bruger ude af sin Bitwarden-konto. En gendannelseskode muliggør kontoadgang, såfremt den normale totrins-loginudbyder ikke længere kan bruges (f.eks. ved tab af en enhed). Bitwarden-supporten kan ikke hjælpe ved mistet kontoadgang. Det anbefales at nedskrive/udskrive gendannelseskoden samt gemme denne et sikkert sted." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Vis gendannelseskode" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Kan man ikke tilgå sin konto via de normale totrins-login metoder, kan man bruge sin totrins-login gendannelseskode til at deaktivere alle totrinsudbydere på sin konto." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Gendan totrins-login på konto" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Krypteringsnøgleopdatering kan ikke fortsætte" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Under opdatering af krypteringsnøglen kunne de relevante mapper ikke dekrypteres. For at fortsætte opdateringen skal mapperne slettes. Ingen boks-emner slettes, hvis der fortsættes." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Kan ikke få $SERVICENAME$ maskeret e-mailkonto-ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Opsæt enhedshåndtering for Bitwarden vha. implementeringsvejledningen for den aktuelle platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Start $INTEGRATION$-implementeringsguiden.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organisationsnavn må ikke overstige 50 tegn." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Abonnementet fornyes snart. For at sikre uafbrudt tjeneste, kontakt $RESELLER$ inden $RENEWAL_DATE$ for at bekræfte fornyelsen.", "placeholders": { diff --git a/apps/web/src/locales/de/messages.json b/apps/web/src/locales/de/messages.json index ffc65be543c..583c33c859c 100644 --- a/apps/web/src/locales/de/messages.json +++ b/apps/web/src/locales/de/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Durch die Aktivierung der Zwei-Faktor-Authentifizierung kannst du dich dauerhaft aus deinem Bitwarden-Konto aussperren. Ein Wiederherstellungscode ermöglicht es dir, auf dein Konto zuzugreifen, falls du deinen normalen Zwei-Faktor-Anbieter nicht mehr verwenden kannst (z.B. wenn du dein Gerät verlierst). Der Bitwarden-Support kann dir nicht helfen, wenn du den Zugang zu deinem Konto verlierst. Wir empfehlen dir, den Wiederherstellungscode aufzuschreiben oder auszudrucken und an einem sicheren Ort aufzubewahren." }, + "yourSingleUseRecoveryCode": { + "message": "Dein einmal benutzbarer Wiederherstellungscode kann benutzt werden, um die Zwei-Faktor-Authentifizierung auszuschalten, wenn du Zugang zu deinen Zwei-Faktor-Anbietern verlierst. Bitwarden empfiehlt dir, den Wiederherstellungscode aufzuschreiben und an einem sicheren Ort aufzubewahren." + }, "viewRecoveryCode": { "message": "Wiederherstellungscode anzeigen" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Falls du nicht mit deinen normalen Zwei-Faktor-Anmeldemethoden auf dein Konto zugreifen kannst, nutze deinen Zwei-Faktor-Wiederherstellungscode, um alle Zwei-Faktor-Anbieter für dein Konto zu deaktivieren." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Melde dich unten mit deinem einmal benutzbaren Wiederherstellungscode an. Dadurch werden alle Zwei-Faktor-Anbieter deines Kontos deaktiviert." + }, "recoverAccountTwoStep": { "message": "Zwei-Faktor-Authentifizierung wiederherstellen" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Aktualisierung des Verschlüsselungsschlüssels kann nicht fortgesetzt werden" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Beim Aktualisieren deines Verschlüsselungsschlüssels konnten deine Ordner nicht entschlüsselt werden. Um mit der Aktualisierung fortzufahren, müssen deine Ordner gelöscht werden. Es werden keine Tresor-Einträge gelöscht, wenn du fortfährst." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Maskierte E-Mail-Konto-ID für $SERVICENAME$ konnte nicht abgerufen werden.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Konfiguriere die Geräteverwaltung für Bitwarden mithilfe der Implementierungsanleitung für deine Plattform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "$INTEGRATION$-Implementierungsanleitung starten.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Der Name der Organisation darf 50 Zeichen nicht überschreiten." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Dein Abonnement wird bald verlängert. Um einen ununterbrochenen Betrieb zu gewährleisten, kontaktiere $RESELLER$ um deine Verlängerung vor dem $RENEWAL_DATE$ zu bestätigen.", "placeholders": { diff --git a/apps/web/src/locales/el/messages.json b/apps/web/src/locales/el/messages.json index ea5f11e9162..800a75f655f 100644 --- a/apps/web/src/locales/el/messages.json +++ b/apps/web/src/locales/el/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Η ενεργοποίηση σύνδεσης δύο βημάτων μπορεί να κλειδώσει οριστικά το λογαριασμό σας από το Bitwarden. Ένας κωδικός ανάκτησης σάς επιτρέπει να έχετε πρόσβαση στον λογαριασμό σας σε περίπτωση που δεν μπορείτε πλέον να χρησιμοποιήσετε τη σύνδεση δύο βημάτων (π. χ. χάνετε τη συσκευή σας). Η υποστήριξη πελατών του Bitwarden δεν θα είναι σε θέση να σας βοηθήσει αν χάσετε την πρόσβαση στο λογαριασμό σας. Συνιστούμε να γράψετε ή να εκτυπώσετε τον κωδικό ανάκτησης και να τον φυλάξετε σε ασφαλές μέρος." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Προβολή Κωδικού Ανάκτησης" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Εάν δεν μπορείτε να αποκτήσετε πρόσβαση στο λογαριασμό σας μέσω των συνήθων μεθόδων σύνδεσης δύο βημάτων, μπορείτε να χρησιμοποιήσετε τον κωδικό ανάκτησης σύνδεσης δύο βημάτων για να απενεργοποιήσετε όλους τους παροχείς δύο βημάτων στο λογαριασμό σας." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Ανάκτηση Λογαριασμού Σύνδεσης Δύο Βημάτων" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Δεν είναι δυνατή η συνέχιση της ενημέρωσης του κλειδιού κρυπτογράφησης" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/en_GB/messages.json b/apps/web/src/locales/en_GB/messages.json index 24aa0b675ab..7ce120a5a19 100644 --- a/apps/web/src/locales/en_GB/messages.json +++ b/apps/web/src/locales/en_GB/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organisation name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/en_IN/messages.json b/apps/web/src/locales/en_IN/messages.json index f4e4756b393..ce343c79dc9 100644 --- a/apps/web/src/locales/en_IN/messages.json +++ b/apps/web/src/locales/en_IN/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (e.g. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organisation name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/eo/messages.json b/apps/web/src/locales/eo/messages.json index a864ee99590..866725be144 100644 --- a/apps/web/src/locales/eo/messages.json +++ b/apps/web/src/locales/eo/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Ebligi du-paŝan ensaluton povas konstante elŝlosi vin el via Bitwarden-konto. Rekuperiga kodo permesas vin aliri vian konton, se vi ne plu povas uzi vian normalan du-paŝan ensalutan provizanton (ekz. vi perdas Bitwarden-subteno ne povos helpi vin se vi perdos aliron al via konto. Ni rekomendas al vi skribi aŭ presi la reakiran kodon kaj konservi ĝin en sekura loko. " }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Rigardi Rekuperan Kodon" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Se vi ne povas aliri vian konton per viaj normalaj du-ŝtupaj ensalutaj metodoj, vi povas uzi vian du-ŝtupan ensalutan rekuperan kodon por malŝalti ĉiujn du-ŝtupajn provizantojn en via konto." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Senpaneigi la du-faktoran aŭtentigon de la konto" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/es/messages.json b/apps/web/src/locales/es/messages.json index 3ed9b7964f8..aafc978916b 100644 --- a/apps/web/src/locales/es/messages.json +++ b/apps/web/src/locales/es/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Habilitar la autenticación en dos pasos puede impedirte acceder permanentemente a tu cuenta de Bitwarden. Un código de recuperación te permite acceder a la cuenta en caso de que no puedas usar más tu proveedor de autenticación en dos pasos (ej. si pierdes tu dispositivo). El soporte de Bitwarden no será capaz de asistirte si pierdes acceso a tu cuenta. Te recomendamos que escribas o imprimas este código y lo guardes en un lugar seguro." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Ver código de recuperación" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Si no puedes acceder a tu cuenta utilizando tus métodos normales de autenticación en dos pasos, puedes utilizar el código de recuperación de autenticación en dos pasos para deshabilitar todos los proveedores de tu cuenta." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recuperar autenticación en dos pasos" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/et/messages.json b/apps/web/src/locales/et/messages.json index ede248d2b93..4184b8b3002 100644 --- a/apps/web/src/locales/et/messages.json +++ b/apps/web/src/locales/et/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Kaheastmelise kinnitamine aktiveerimine võib luua olukorra, kus sul on võimatu oma Bitwardeni kontosse sisse logida. Näiteks kui kaotad oma nutiseadme. Taastamise kood võimaldab aga kontole ligi pääseda ka olukorras, kus kaheastmelist kinnitamist ei ole võimalik läbi viia. Sellistel juhtudel ei saa ka Bitwardeni klienditugi sinu kontole ligipääsu taastada. Selle tõttu soovitame taastekoodi välja printida ja seda turvalises kohas hoida." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Vaata taastamise koodi" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Kui sa ei pääse oma kontole ühegi kaheastmeliste kinnitamise meetodi abiga ligi, saad selle välja lülitada. Selleks kasuta kaheastmelise kinnitamise tühistamise koodi." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Taasta kaheastmelise kinnitamise ligipääs" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/eu/messages.json b/apps/web/src/locales/eu/messages.json index 0b230da1545..c5024aba2cd 100644 --- a/apps/web/src/locales/eu/messages.json +++ b/apps/web/src/locales/eu/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Bi urratseko saio hasiera gaitzeak betirako blokea dezake Bitwarden kontura sartzea. Berreskuratze-kode baten bidez, zure kontura sar zaitezke, bi urratseko saio hasierako hornitzailea erabili ezin baduzu (adb. gailua galtzen baduzu). Bitwarden-ek ezingo dizu lagundu zure konturako sarbidea galtzen baduzu. Berreskuratze-kodea idatzi edo inprimatzea eta leku seguruan edukitzea gomendatzen dugu." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Berreskuratze-kodea" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Bi urratseko saio hasiera bidez zure kontura ezin bazara sartu, bi urratseko saio hasierako berreskuratze kodea erabil dezakezu zure kontuan bi urratseko hornitzaile guztiak desgaitzeko." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Berreskuratu bi urratseko saio hasieradun kontua" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/fa/messages.json b/apps/web/src/locales/fa/messages.json index cfcf12c7907..08c4b96b82c 100644 --- a/apps/web/src/locales/fa/messages.json +++ b/apps/web/src/locales/fa/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "راه‌اندازی ورود دو مرحله‌ای می‌تواند برای همیشه حساب Bitwarden شما را قفل کند. یک کد بازیابی به شما امکان می‌دهد در صورتی که دیگر نمی‌توانید از ارائه‌دهنده‌ی ورود دو مرحله‌ای معمولی خود استفاده کنید (به عنوان مثال: دستگاه خود را گم می‌کنید) به حساب خود دسترسی پیدا کنید. اگر دسترسی به حساب خود را از دست بدهید، پشتیبانی Bitwarden نمی‌تواند به شما کمک کند. توصیه می‌کنیم کد بازیابی را یادداشت یا چاپ کنید و آن را در مکانی امن نگهداری کنید." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "نمایش کد بازیابی" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "اگر نمی‌توانید از طریق روش‌های ورود دو مرحله‌ای معمولی به حساب خود دسترسی پیدا کنید، می‌توانید از کد بازیابی ورود به سیستم دو مرحله‌ای خود برای خاموش کردن همه ارائه‌دهندگان دو مرحله‌ای در حساب خود استفاده کنید." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "بازیابی حساب ورود دو مرحله ای" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/fi/messages.json b/apps/web/src/locales/fi/messages.json index 00d56fdb1c1..6ed4374a3f4 100644 --- a/apps/web/src/locales/fi/messages.json +++ b/apps/web/src/locales/fi/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Kaksivaiheisen kirjautumisen käyttöönotto voi lukita sinut ulos Bitwarden-tililtäsi pysyvästi. Palautuskoodi mahdollistaa pääsyn tilillesi myös silloin, kun et voi käyttää normaaleja kaksivaiheisen kirjautumisen todentajiasi (esim. kadotat todennuslaitteesi tai se varastetaan). Bitwardenin asiakaspalvelukaan ei voi auttaa sinua, jos menetät pääsyn tillesi. Suosittelemme, että kirjoitat palautuskoodin muistiin tai tulostat sen ja säilytät sitä turvallisessa paikassa (esim. kassakaapissa tai pankin tallelokerossa)." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Näytä palautuskoodi" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Jos et pääse tilillesi käyttämilläsi kaksivaiheisen kirjautumisen todentajilla, voit kaksivaiheisen kirjautumisen palautuskoodillasi poistaa kaikki tilillesi määritetyt todentajat käytöstä." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Vapauta tili kaksivaiheisesta kirjautumisesta" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Salausavaimen päivitystä ei voida jatkaa" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Kansioidesi salausta ei voitu purkaa salausavaimesi päivityksen aikana. Jatkaaksesi päivitystä kansiosi on poistettava. Holvin kohteita ei poisteta, jos jatkat." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "$SERVICENAME$ -palvelun peittämän sähköpostitilin tunnistetta ei saatu.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/fil/messages.json b/apps/web/src/locales/fil/messages.json index 42b4882bf20..eccf45207bc 100644 --- a/apps/web/src/locales/fil/messages.json +++ b/apps/web/src/locales/fil/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Maaaring permanente kang ma-lock out sa account mo dahil sa dalawang-hakbang na pag-log in. Pwede kang gumamit ng code pang-recover sakaling hindi mo na magamit ang normal mong provider ng dalawang-hakbang na pag-log in (halimbawa: nawala ang device mo). Hindi ka matutulungan ng Bitwarden support kung mawalan ka ng access sa account mo. Mainam na isulat o i-print mo ang mga code pang-recover at itago ito sa ligtas na lugar." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Tingnan ang code pang-recover" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Kung hindi mo ma access ang iyong account sa pamamagitan ng iyong normal na dalawang hakbang na mga pamamaraan sa pag login, maaari mong gamitin ang iyong dalawang hakbang na code sa pagbawi ng pag login upang patayin ang lahat ng dalawang hakbang na provider sa iyong account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Bawiin ang account dalawang hakbang na pag login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/fr/messages.json b/apps/web/src/locales/fr/messages.json index a5a55255c28..c650a471d1e 100644 --- a/apps/web/src/locales/fr/messages.json +++ b/apps/web/src/locales/fr/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "La configuration d'un système d'authentification à deux facteurs peut définitivement vous verrouiller l'accès à votre compte Bitwarden. Un code de récupération vous permet d'accéder à votre compte dans le cas où vous ne pourriez plus utiliser votre fournisseur normal d'authentification à deux facteurs (exemple : vous perdez votre appareil). L'assistance de Bitwarden ne pourra pas vous aider si vous perdez l'accès à votre compte. Nous vous recommandons de noter ou d'imprimer le code de récupération et de le conserver en lieu sûr." }, + "yourSingleUseRecoveryCode": { + "message": "Votre code de récupération à usage unique peut être utilisé pour désactiver la connexion en deux étapes si vous perdez l'accès à votre fournisseur de connexion en deux étapes. Bitwarden vous recommande d'écrire le code de récupération et de le conserver dans un endroit sûr." + }, "viewRecoveryCode": { "message": "Voir le code de récupération" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Si vous ne pouvez pas accéder à votre compte par les méthodes normales d'authentification à deux facteurs, vous pouvez utiliser votre code de récupération d'authentification à deux facteurs pour désactiver tous les fournisseurs à deux facteurs sur votre compte." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Connectez-vous ci-dessous en utilisant votre code de récupération à usage unique. Cela désactivera tous les fournisseurs en deux étapes de votre compte." + }, "recoverAccountTwoStep": { "message": "Récupérer l'authentification à deux facteurs" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "La mise à jour de la clé de chiffrement ne peut pas continuer" }, + "editFieldLabel": { + "message": "Modifier $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Réorganiser $LABEL$. Utilisez la touche fléchée pour déplacer l'élément vers le haut ou vers le bas.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Lors de la mise à jour de votre clé de chiffrement, vos dossiers n'ont pas pu être déchiffrés. Pour continuer avec la mise à jour, vos dossiers doivent être supprimés. Aucun élément du coffre ne sera supprimé si vous continuez." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Impossible d'obtenir l'ID du compte de courriel masqué $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configurez la gestion des appareils pour Bitwarden en utilisant le guide d'implémentation pour votre plateforme." }, + "desktopRequired": { + "message": "Ordinateur de bureau requis" + }, + "reopenLinkOnDesktop": { + "message": "Réouvrez ce lien à partir de votre courriel sur un bureau." + }, "integrationCardTooltip": { "message": "Lancez le guide d'implémentation $INTEGRATION$.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Le nom de l'organisation ne doit pas dépasser 50 caractères." }, + "openingExtension": { + "message": "Ouverture de l'extension de navigateur Bitwarden" + }, + "somethingWentWrong": { + "message": "Quelquechose n'a pas fonctionné..." + }, + "openingExtensionError": { + "message": "Nous avons eu des difficultés à ouvrir l'extension de navigateur Bitwarden. Cliquez sur le bouton pour l'ouvrir maintenant." + }, + "openExtension": { + "message": "Ouvrir l'extension" + }, + "doNotHaveExtension": { + "message": "Vous n'avez pas l'extension de navigateur Bitwarden?" + }, + "installExtension": { + "message": "Installer l'extension" + }, + "openedExtension": { + "message": "Extension de navigateur ouverte" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Ouverture réussie de l'extension du navigateur Bitwarden. Vous pouvez maintenant revoir vos mots de passe à risque." + }, + "openExtensionManuallyPart1": { + "message": "Nous avons eu des difficultés à ouvrir l'extension de navigateur Bitwarden. Ouvrez l'icône Bitwarden", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "de la barre d'outils.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Votre abonnement sera renouvelé bientôt. Pour assurer un service ininterrompu, contactez $RESELLER$ pour confirmer votre renouvellement avant le $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/gl/messages.json b/apps/web/src/locales/gl/messages.json index f5cd301fc5f..d2d01c797ce 100644 --- a/apps/web/src/locales/gl/messages.json +++ b/apps/web/src/locales/gl/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/he/messages.json b/apps/web/src/locales/he/messages.json index 27ea87bcfe4..96065b2c9be 100644 --- a/apps/web/src/locales/he/messages.json +++ b/apps/web/src/locales/he/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "שים לב: שימוש לא נכון בכניסה דו-שלבית עשוי לגרום לך להנעל ללא גישה לחשבון Bitwarden שלך. מומלץ לשמור קוד שחזור לגישה לחשבון שלך למקרה שלא תוכל להשתמש בספק הכניסה הדו-שלבית (לדוגמא: איבדת את הפלאפון או את מפתח החומרה שלך). גם צוות התמיכה של Bitwarden לא יוכל לעזור לך במקרה שתאבד גישה לחשבון שלך. אנו ממליצים שתכתוב או תדפיס את קודי השחזור ותשמור אותם במקום בטוח." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "צפה בקוד שחזור" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "אם אין באפשרות לגשת לחשבונך דרך השיטות הדו-שלביות הרגילות, תוכל להשתמש בקוד לשחזור האימות הדו שלבי בכדי לבטל את כל ספקי האימות הדו שלבי בחשבונך." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "שחזר כניסה דו שלבית לחשבון" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/hi/messages.json b/apps/web/src/locales/hi/messages.json index 266a868e435..ee4f9c1ed9f 100644 --- a/apps/web/src/locales/hi/messages.json +++ b/apps/web/src/locales/hi/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/hr/messages.json b/apps/web/src/locales/hr/messages.json index a847caf7644..0f8e1175c0f 100644 --- a/apps/web/src/locales/hr/messages.json +++ b/apps/web/src/locales/hr/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Uključivanje prijave dvostrukom autentifikacijom može ti trajno onemogućiti pristup Bitwarden računu. Kôd za oporavak ti omogućuje pristup računu u slučaju kada više ne možeš koristiti redovnog pružatelja prijave dvostrukom autentifikacijom (npr. izgubiš svoj uređaj). Bitwarden podrška neće ti moći pomoći ako izgubiš pristup svojem računu. Savjetujemo da zapišeš ili ispišeš kôd za oporavak i spremiš ga na sigurno mjesto." }, + "yourSingleUseRecoveryCode": { + "message": "Tvoj jednokratni kôd za oporavak može se koristiti za isključivanje prijave dvostruke autentifikacije u slučaju da izgubiš pristup svom davatelju usluge dvostruke autentifikacije. Bitwarden preporučuje da zapišeš kôd za oporavak i čuvaš ga na sigurnom mjestu." + }, "viewRecoveryCode": { "message": "Kôd za oporavak" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Ako ne možeš pristupiti računu koristeći svoje redovne načine prijave dvostrukom autentifikacijom, možeš iskoristiti svoj kôd za oporavak kako bi se u potpunosti onesposobili svi pružatelji prijave dvostrukom autentifikacijom na tvojem računu." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Prijavi se pomoću jednokratnog kôda za oporavak. Ovo će isključiti sve pružatelje usluga dvostruke autentifikacije na tvom računu." + }, "recoverAccountTwoStep": { "message": "Oporavi račun prijave dvostrukom autentifikacijom" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Ažuriranje ključa za šifriranje ne može se nastaviti" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Prilikom ažuriranja tvojeg ključa za šifriranje, mape se nisu mogle dešifrirati. Za nastavak ažuriranja, tvoje mape moraju biti izbrisane. Nijedna stavka iz trezora neće biti izbrisana ako nastaviš." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nije moguće dobiti $SERVICENAME$ maskirani ID računa e-pošte.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Konfiguriraj upravljanje uređajima za Bitwarden pomoću vodiča za implementaciju za svoju platformu." }, + "desktopRequired": { + "message": "Potrebno stolno računalo" + }, + "reopenLinkOnDesktop": { + "message": "Otvori ovu poveznicu na stolnom računalu." + }, "integrationCardTooltip": { "message": "Pokreni vodič za implementaciju $INTEGRATION$.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Naziv organizacije ne može biti duži od 50 znakova." }, + "openingExtension": { + "message": "Otvaranje Bitwarden proširenja preglednika" + }, + "somethingWentWrong": { + "message": "Dogodila se greška..." + }, + "openingExtensionError": { + "message": "Nismo mogli otvoriti Bitwarden proširenje preglednika. Klikni na tipku za otvaranje." + }, + "openExtension": { + "message": "Otvori proširenje" + }, + "doNotHaveExtension": { + "message": "Nemaš Bitwarden proširenje preglednika?" + }, + "installExtension": { + "message": "Instaliraj proširenje" + }, + "openedExtension": { + "message": "Proširenje preglednika otvoreno" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Uspjšeno otvoreno Bitwarden proširenje preglednika. Sada možeš pregledati svoje rizične lozinke." + }, + "openExtensionManuallyPart1": { + "message": "Nismo mogli otvoriti Bitwarden proširenje preglednika. Otvori Bitwarden ikonu", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "na alatnoj traci.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Tvoja će se pretplata uskoro obnoviti. Za neprekinutu uslugu, kontaktiraj $RESELLER$ za potvrdu obnove prije $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/hu/messages.json b/apps/web/src/locales/hu/messages.json index bdc55b96d3c..6530ecb7c96 100644 --- a/apps/web/src/locales/hu/messages.json +++ b/apps/web/src/locales/hu/messages.json @@ -764,7 +764,7 @@ } }, "copySuccessful": { - "message": "A másolás sikeres volt." + "message": "A másolás sikeres volt" }, "copyValue": { "message": "Érték másolása", @@ -1000,16 +1000,16 @@ "message": "A bejelentkezési munkamenet lejárt." }, "restartRegistration": { - "message": "Regisztráció újra kezdése" + "message": "Regisztráció újrakezdése" }, "expiredLink": { - "message": "A hivatkozás lejárt." + "message": "A hivatkozás lejárt" }, "pleaseRestartRegistrationOrTryLoggingIn": { "message": "Please restart registration or try logging in." }, "youMayAlreadyHaveAnAccount": { - "message": "Lehet hogy már rendelkezik fiókkal." + "message": "Lehet hogy már rendelkezel fiókkal" }, "logOutConfirmation": { "message": "Biztosan szeretnénk kijelentkezni?" @@ -1311,7 +1311,7 @@ "message": "Email cím" }, "yourVaultIsLockedV2": { - "message": "A széf zárolva van." + "message": "A széf zárolva van" }, "yourAccountIsLocked": { "message": "A fiók zárolva van." @@ -1484,7 +1484,7 @@ "message": "YubiKey OTP biztonsági kulcs" }, "yubiKeyDesc": { - "message": "YubiKey használata a fiók eléréséhez. Működik a YubiKey 4, 4 Nano, 4C, és NEO eszközökkel." + "message": "Használj YubiKey 4, 5 vagy NEO eszközt." }, "duoDescV2": { "message": "Adjuk meg a Duo Security által generált kódot.", @@ -1504,7 +1504,7 @@ "message": "Biztonsági kulcs" }, "webAuthnDesc": { - "message": "Használjunk bármilyen WebAuthn engedélyezett biztonsági kulcsot a saját fiók eléréséhez." + "message": "Használd az eszközöd biometrikus azonosítását vagy egy FIDO2 kompatibilis biztonsági kulcsot." }, "webAuthnMigrated": { "message": "(FIDO-ból áthelyezve)" @@ -1757,7 +1757,7 @@ "message": "Nincs megjeleníthető elem" }, "nothingGeneratedRecently": { - "message": "Mostanában nem lett semmi generálva." + "message": "Nem generáltál semmit mostanában" }, "clear": { "message": "Kiürítés", @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "A kétlépcsős bejelentkezés engedélyezése véglegesen kizárhatja a felhasználót a Bitwarden fiókból. A helyreállítási kód lehetővé teszi a fiókjához való hozzáférést abban az esetben, ha már nem tudjuk használni a szokásos kétlépcsős bejelentkezési szolgáltatást (pl. készülék elvesztése). A Bitwarden támogatás nem tud segíteni abban az esetben, ha elveszítjük a hozzáférést a fiókhoz. Célszerű leírni vagy kinyomtatni a helyreállítási kódot és azt biztonságos helyen tartani." }, + "yourSingleUseRecoveryCode": { + "message": "Az egyszer használatos helyreállítási kóddal kikapcsolhatjuk a kétlépcsős bejelentkezést abban az esetben, ha elveszítjük a hozzáférést a kétlépcsős bejelentkezési szolgáltatóhoz. A Bitwarden azt javasolja, hogy írjuk le a helyreállítási kódot és tartsuk biztonságos helyen." + }, "viewRecoveryCode": { "message": "Helyreállító kód megtekintése" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Ha nem férünk hozzá a fiókhoz a normál kétlépcsős bejelentkezési módokkal, használhatjuk a kétlépcsős bejelentkezés helyreállító kódot a fiókra vonatkozó összes kétlépcsős szolgáltató kikapcsolásához." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Jelentkezzünk be lentebb az egyszer használatos helyreállítási kóddal. Ezzel kikapcsoljuk az összes kétlépcsős szolgáltatót a fiókban." + }, "recoverAccountTwoStep": { "message": "Fiók kétlépcsős bejelentkezés helyreállítása" }, @@ -4320,7 +4326,7 @@ "message": "Állítsunk be helykorlátot az előfizetéshez. Ha elérjük ezt a korlátot, nem tudunk új felhasználókat meghívni." }, "limitSmSubscriptionDesc": { - "message": "Állítsunk be egy korlátot a Secrets Manger előfizetéshez. Ha elérjük ezt a korlátot, nem tudunk új tagokat meghívni." + "message": "Állíts be egy korlátot a Secrets Manger előfizetéshez. Ha eléred ezt a korlátot, nem tudsz új tagokat meghívni." }, "maxSeatLimit": { "message": "Maximális helykorlát (opcionális)", @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "$LABEL$ szerkesztése", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "$LABEL$ átrendezése. A nyílbillentyűkkel mozgassuk az elemet felfelé vagy lefelé.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -4664,7 +4688,7 @@ "message": "A széfben régi mellékletek vannak, amelyeket javítani kell a fiók titkosító kulcsának fordítása előtt." }, "yourAccountsFingerprint": { - "message": "Fók ujjnyomat kifejezés", + "message": "Fiók ujjlenyomat kifejezés", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "fingerprintEnsureIntegrityVerify": { @@ -5534,19 +5558,19 @@ "message": "Maintain tight control over machine and human access to secrets with SSO integrations, event logs, and access rotation." }, "tryItNow": { - "message": "Try it now" + "message": "Próbáld ki most" }, "sendRequest": { - "message": "Send request" + "message": "Kérelem küldése" }, "addANote": { - "message": "Add a note" + "message": "Jegyzet hozzáadása" }, "bitwardenSecretsManager": { "message": "Bitwarden Secrets Manager" }, "moreProductsFromBitwarden": { - "message": "More products from Bitwarden" + "message": "További Bitwarden termékek" }, "requestAccessToSecretsManager": { "message": "Request access to Secrets Manager" @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ elutasította a kérést. Vegyük fel a kapcsolatot szolgáltatóval segítségért.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ elutasította a kérést: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nem lehet beolvasni $SERVICENAME$ maszkolt email fiók azonosítót.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -7146,13 +7194,13 @@ "message": "Hiba történt a Duo szolgáltatáshoz csatlakozáskor. Használjunk másik kétlépcsős bejelentkezési módot vagy kérjünk segítséget a Duotól." }, "launchDuoAndFollowStepsToFinishLoggingIn": { - "message": "Indítsuk el a DUO-t és kövessük a lépéseket a bejelentkezés befejezéséhez." + "message": "Indítsd el a Duo-t és kövesd a lépéseket a bejelentkezés befejezéséhez." }, "duoRequiredByOrgForAccount": { - "message": "A fiókhoz kétlépcsős DUO bejelentkezés szükséges." + "message": "A fiókhoz kétlépcsős Duo bejelentkezés szükséges." }, "launchDuo": { - "message": "DUO indítása" + "message": "Duo indítása" }, "turnOn": { "message": "Bekapcsolás" @@ -8226,7 +8274,7 @@ "message": "Gyenge és kiszivárgott mesterjelszó" }, "weakAndBreachedMasterPasswordDesc": { - "message": "Gyenge jelszó lett azonosítva és megtalálva egy adatvédelmi incidens során. A fók védelme érdekében használjunk erős és egyedi jelszót. Biztosan használni szeretnénk ezt a jelszót?" + "message": "Gyenge jelszó lett azonosítva és megtalálva egy adatvédelmi incidens során. A fiók védelme érdekében használjunk erős és egyedi jelszót. Biztosan használni szeretnénk ezt a jelszót?" }, "characterMinimum": { "message": "Legalább $LENGTH$ karakter", @@ -8690,7 +8738,7 @@ "message": "Van már saját fiók?" }, "toggleSideNavigation": { - "message": "Toggle side navigation" + "message": "Navigációs sáv ki/bekapcsolása" }, "skipToContent": { "message": "Ugrás a tartalomra" @@ -8808,23 +8856,23 @@ "description": "Used as a form field label for a textarea input on the offboarding survey." }, "missingFeatures": { - "message": "Missing features", + "message": "Hiányzó funkciók", "description": "An option for the offboarding survey shown when a user cancels their subscription." }, "movingToAnotherTool": { - "message": "Moving to another tool", + "message": "Más eszközre váltok", "description": "An option for the offboarding survey shown when a user cancels their subscription." }, "tooDifficultToUse": { - "message": "Too difficult to use", + "message": "Túl bonyolult", "description": "An option for the offboarding survey shown when a user cancels their subscription." }, "notUsingEnough": { - "message": "Not using enough", + "message": "Ritkán használtam", "description": "An option for the offboarding survey shown when a user cancels their subscription." }, "tooExpensive": { - "message": "Too expensive", + "message": "Túl drága", "description": "An option for the offboarding survey shown when a user cancels their subscription." }, "freeForOneYear": { @@ -8846,7 +8894,7 @@ "message": "Sikeres" }, "restrictedGroupAccess": { - "message": "Nem adhadjuk magunkat a csoporthoz." + "message": "Nem adhatod saját magadat csoportokhoz." }, "cannotAddYourselfToCollections": { "message": "Nem adhadjuk magunkat a gyűjteményhez." @@ -9155,7 +9203,7 @@ "message": "Deleting a provider is permanent and irreversible. Enter your master password to confirm the deletion of the provider and all associated data." }, "deleteProviderName": { - "message": "Cannot delete $ID$", + "message": "$ID$ nem törölhető", "placeholders": { "id": { "content": "$1", @@ -9191,17 +9239,17 @@ "message": "Hiba történt a célmappa hozzárendelése során." }, "integrationsAndSdks": { - "message": "Integrations & SDKs", + "message": "Integráció és fejlesztői környezet", "description": "The title for the section that deals with integrations and SDKs." }, "integrations": { - "message": "Integrations" + "message": "Integráció" }, "integrationsDesc": { "message": "Automatically sync secrets from Bitwarden Secrets Manager to a third-party service." }, "sdks": { - "message": "SDKs" + "message": "Fejlesztői környezetek" }, "sdksDesc": { "message": "Use Bitwarden Secrets Manager SDK in the following programming languages to build your own applications." @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Az eszközkezelés konfigurálása a Bitwarden számára a platform megvalósítási útmutatója segítségével." }, + "desktopRequired": { + "message": "Asztali gép szükséges" + }, + "reopenLinkOnDesktop": { + "message": "Nyissuk meg újra ezt a hivatkozást az emailből az asztali gépen." + }, "integrationCardTooltip": { "message": "$INTEGRATION$ megvalósítási útmutató elindítása.", "placeholders": { @@ -9304,13 +9358,13 @@ "message": "Create a new client organization to manage as a Provider. Additional seats will be reflected in the next billing cycle." }, "selectAPlan": { - "message": "Select a plan" + "message": "Előfizetés kiválasztása" }, "thirtyFivePercentDiscount": { - "message": "35% Discount" + "message": "35% engedmény" }, "monthPerMember": { - "message": "month per member" + "message": "hónap/fő" }, "monthPerMemberBilledAnnually": { "message": "hónap tagonként éves számlázással" @@ -9319,7 +9373,7 @@ "message": "Seats" }, "addOrganization": { - "message": "Add organization" + "message": "Szervezet hozzáadása" }, "createdNewClient": { "message": "Successfully created new client" @@ -9624,7 +9678,7 @@ "description": "This will be displayed as part of a larger sentence. The whole sentence reads: 'Notice: Later this month, client vault privacy will be improved and provider members will no longer have direct access to client vault items. For questions, please contact Bitwarden support'." }, "contactBitwardenSupport": { - "message": "contact Bitwarden support.", + "message": "vedd fel a kapcsolatot a Bitwarden ügyfélszolgálattal.", "description": "This will be displayed as part of a larger sentence. The whole sentence reads: 'Notice: Later this month, client vault privacy will be improved and provider members will no longer have direct access to client vault items. For questions, please contact Bitwarden support'. 'Bitwarden' should not be translated" }, "sponsored": { @@ -9836,13 +9890,13 @@ "message": "Kulcs algoritmus" }, "sshPrivateKey": { - "message": "Private key" + "message": "Személyes kulcs" }, "sshPublicKey": { - "message": "Public key" + "message": "Nyilvános kulcs" }, "sshFingerprint": { - "message": "Fingerprint" + "message": "Ujjlenyomat" }, "sshKeyFingerprint": { "message": "Ujjlenyomat" @@ -9914,7 +9968,7 @@ "message": "Bitwarden jelszókezelő" }, "secretsManagerComplimentaryPasswordManager": { - "message": "Your complimentary one year Password Manager subscription will upgrade to the selected plan. You will not be charged until the complimentary period is over." + "message": "A kiegészítő egyéves Jelszókezelő előfizetésed a kiválasztott csomagra frissül. A díjmentes időszak lejártáig nem számítunk fel díjat." }, "fileSavedToDevice": { "message": "A fájl mentésre került az eszközre. Kezeljük az eszközről a letöltéseket." @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "A szervezet neve nem haladhatja meg az 50 karaktert." }, + "openingExtension": { + "message": "A Bitwarden böngésző bővítmény megnyitása" + }, + "somethingWentWrong": { + "message": "Valami hiba történt." + }, + "openingExtensionError": { + "message": "Probléma merült fel a Bitward böngésző bővítmény megnyitásakor. Kattintsunk a gombra a megnyitáshoz." + }, + "openExtension": { + "message": "Bővítmény megnyitása" + }, + "doNotHaveExtension": { + "message": "Nincs a Bitwarden böngésző bővítmény?" + }, + "installExtension": { + "message": "Bővítmény telepítése" + }, + "openedExtension": { + "message": "Megnyitottuk a böngésző bővítményt." + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Sikeresen megnyitottuk a Bitwarden böngésző bővítményt. Mostantól áttekinthetjük a veszélyeztetett jelszavakat." + }, + "openExtensionManuallyPart1": { + "message": "Probléma merült fel a Bitward böngésző bővítmény megnyitásakor. Nyissuk meg a Bitwarden ikont", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "az eszköztárból.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Az előfizetés hamarosan megújul. A folyamatos szolgáltatás biztosítása érdekében lépjünk kapcsolatba $RESELLER$ viszonteladóval és erősítsük meg a megújítást $RENEWAL_DATE$ előtt.", "placeholders": { diff --git a/apps/web/src/locales/id/messages.json b/apps/web/src/locales/id/messages.json index 565cb743eab..0e2d1d70b85 100644 --- a/apps/web/src/locales/id/messages.json +++ b/apps/web/src/locales/id/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Dengan mengaktifkan login dua-langkah, Anda bisa terkunci dari akun Bitwarden secara permanen. Jika Anda tidak bisa menggunakan provider login dua-langkah di kondisi normal (misal karena perangkat Anda hilang), Anda bisa menggunakan kode pemulihan untuk mengakses akun tersebut. Bitwarden sama sekali tidak dapat membantu jika Anda kehilangan akses ke akun Anda. Oleh karena itu, kami menyarankan Anda untuk menulis atau mencetak kode pemulihan dan menyimpannya di tempat yang aman." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Lihat Kode Pemulihan" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Jika Anda tidak dapat mengakses akun Anda melalui metode masuk dua langkah biasa, Anda dapat menggunakan kode pemulihan masuk dua langkah untuk menonaktifkan semua penyedia dua langkah di akun Anda." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Pulihkan Akun Dua Langkah Masuk" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/it/messages.json b/apps/web/src/locales/it/messages.json index d05dec8e603..9280af0b531 100644 --- a/apps/web/src/locales/it/messages.json +++ b/apps/web/src/locales/it/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Impostare la verifica in due passaggi potrebbe bloccarti permanentemente fuori dal tuo account Bitwarden. Un codice di recupero ti permette di accedere al tuo account il caso non potessi più usare il tuo solito metodo di verifica in due passaggi (per esempio se perdi il telefono). L'assistenza clienti di Bitwarden non sarà in grado di aiutarti se perdi l'accesso al tuo account. Scrivi o stampa il tuo codice di recupero e conservalo in un luogo sicuro." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Visualizza codice di recupero" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Se non puoi accedere al tuo account usando i normali metodi di verifica in due passaggi, usa il tuo codice di recupero per disattivarli tutti dal tuo account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Ripristina verifica in due passaggi dell'account" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Non è possibile procedere con l'aggiornamento della chiave di cifratura" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Quando si aggiorna la chiave di cifratura, le cartelle non possono essere decifrate. Per continuare con l'aggiornamento, le cartelle devono essere eliminate. Nessun elemento della cassaforte verrà eliminato se si procede." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ ha rifiutato la tua richiesta. Contatta il tuo fornitore di servizi per assistenza.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ ha respinto la tua richiesta: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Impossibile ottenere l'ID dell'account email mascherato di $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/ja/messages.json b/apps/web/src/locales/ja/messages.json index dbe3ceb6eaf..6c2f09ca83e 100644 --- a/apps/web/src/locales/ja/messages.json +++ b/apps/web/src/locales/ja/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "2段階認証を有効にすると Bitwarden アカウントから永久に閉め出されてしまうことがあります。リカバリーコードがあれば、通常の2段階認証プロバイダを使えなくなったとき (デバイスの紛失等) でもアカウントにアクセスできます。アカウントにアクセスできなくなっても Bitwarden はサポート出来ないため、リカバリーコードを書き出すか印刷し安全な場所で保管しておくことを推奨します。" }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "リカバリーコードを確認" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "もし通常の二段階認証の方法でアカウントにアクセスできなくなった場合、リカバリーコードにより全ての二段階認証プロバイダを無効化することができます。" }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "二段階認証ログインの回復" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "暗号化キーの更新を続行できません" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "暗号化キーを更新する際、フォルダーを復号できませんでした。 アップデートを続行するには、フォルダーを削除する必要があります。続行しても保管庫のアイテムは削除されません。" }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "$SERVICENAME$ マスク済みメールアカウント ID を取得できませんでした。", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/ka/messages.json b/apps/web/src/locales/ka/messages.json index 92c64db7f56..9ccfd60a86c 100644 --- a/apps/web/src/locales/ka/messages.json +++ b/apps/web/src/locales/ka/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/km/messages.json b/apps/web/src/locales/km/messages.json index 7e6f614b9c8..7b49603230e 100644 --- a/apps/web/src/locales/km/messages.json +++ b/apps/web/src/locales/km/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/kn/messages.json b/apps/web/src/locales/kn/messages.json index 83d0f5f6b89..188fef85b46 100644 --- a/apps/web/src/locales/kn/messages.json +++ b/apps/web/src/locales/kn/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "ಎರಡು-ಹಂತದ ಲಾಗಿನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದರಿಂದ ನಿಮ್ಮ ಬಿಟ್‌ವಾರ್ಡನ್ ಖಾತೆಯಿಂದ ನಿಮ್ಮನ್ನು ಶಾಶ್ವತವಾಗಿ ಲಾಕ್ ಮಾಡಬಹುದು. ನಿಮ್ಮ ಸಾಮಾನ್ಯ ಎರಡು-ಹಂತದ ಲಾಗಿನ್ ಪೂರೈಕೆದಾರರನ್ನು ನೀವು ಇನ್ನು ಮುಂದೆ ಬಳಸಲಾಗದಿದ್ದಲ್ಲಿ ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಪ್ರವೇಶಿಸಲು ಮರುಪಡೆಯುವಿಕೆ ಕೋಡ್ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ (ಉದಾ. ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ). ನಿಮ್ಮ ಖಾತೆಗೆ ನೀವು ಪ್ರವೇಶವನ್ನು ಕಳೆದುಕೊಂಡರೆ ಬಿಟ್‌ವಾರ್ಡನ್ ಬೆಂಬಲವು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಮರುಪಡೆಯುವಿಕೆ ಕೋಡ್ ಅನ್ನು ಬರೆಯಲು ಅಥವಾ ಮುದ್ರಿಸಲು ಮತ್ತು ಅದನ್ನು ಸುರಕ್ಷಿತ ಸ್ಥಳದಲ್ಲಿ ಇರಿಸಲು ನಾವು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "ಮರುಪಡೆಯುವಿಕೆ ಕೋಡ್ ವೀಕ್ಷಿಸಿ" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "ನಿಮ್ಮ ಸಾಮಾನ್ಯ ಎರಡು-ಹಂತದ ಲಾಗಿನ್ ವಿಧಾನಗಳ ಮೂಲಕ ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಪ್ರವೇಶಿಸಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ನಿಮ್ಮ ಖಾತೆಯ ಎಲ್ಲಾ ಎರಡು-ಹಂತದ ಪೂರೈಕೆದಾರರನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ನಿಮ್ಮ ಎರಡು-ಹಂತದ ಲಾಗಿನ್ ಮರುಪಡೆಯುವಿಕೆ ಕೋಡ್ ಅನ್ನು ನೀವು ಬಳಸಬಹುದು." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "ಖಾತೆಯನ್ನು ಮರುಪಡೆಯಿರಿ ಎರಡು-ಹಂತದ ಲಾಗಿನ್" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/ko/messages.json b/apps/web/src/locales/ko/messages.json index 7ff621bf3c1..5d6904f7c8b 100644 --- a/apps/web/src/locales/ko/messages.json +++ b/apps/web/src/locales/ko/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "2단계 로그인을 활성화하면 Bitwarden 계정을 영원히 잠글 수 있습니다. 복구 코드를 사용하면 정상적인 2단계 로그인 제공자를 더 이상 사용할 수 없는 경우(예. 장치를 잃어버렸을 때) 계정에 액세스할 수 있습니다. 계정에 접근하지 못한다면 Bitwarden 지원팀은 어떤 도움도 줄 수 없습니다. 복구 코드를 기록하거나 출력하여 안전한 장소에 보관할 것을 권장합니다." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "복구 코드" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "일반적인 2단계 로그인 방법을 통해 계정에 액세스할 수 없는 경우, 2단계 로그인 복구 코드를 사용하여 계정의 모든 2단계 제공자를 비활성화할 수 있습니다." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "계정 2단계 로그인 복구하기" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/lv/messages.json b/apps/web/src/locales/lv/messages.json index 9f7ba055ed4..e41b6372caa 100644 --- a/apps/web/src/locales/lv/messages.json +++ b/apps/web/src/locales/lv/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Divpakāpju pieteikšanās var pastāvīgi liegt piekļuvi Bitwarden kontam. Atkopšanas kods ļauj piekļūt tam gadījumā, kad vairs nav iespējams izmantot ierasto divpakāpju pieteikšanās nodrošinātāju (piemēram, ir pazaudēta ierīce). Bitwarden atbalsts nevarēs palīdzēt, ja tiks pazaudēta piekļuve kontam. Ir ieteicams, ka atkopšanas kods tiek pierakstīts vai izdrukāts un turēts drošā vietā." }, + "yourSingleUseRecoveryCode": { + "message": "Vienreizējas izmantošanas atkopes kodu var izmantot, lai izslēgtu divpakāpju pieteikšanos gadījumā, ja tiek zaudēta piekļuve savam divpakāpju pieteikšanās nodrošinātājam. Bitwarden iesaka pierakstīt atkopes kodu un glabāt to drošā vietā." + }, "viewRecoveryCode": { "message": "Skatīt atkopšanas kodu" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Ja kontam nevar piekļūt ar ierastajiem divpakāpju pieteikšanās veidiem, var izmantot atkopšanas kodu, lai atspējotu visus konta divpakāpju pieteikšanās nodrošinātājus." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Pieteikties ar vienreizējas izmantošanas atkopes kodu zemāk. Tas kontā izslēgs visus divpakāpju nodrošinātājus." + }, "recoverAccountTwoStep": { "message": "Atkopt konta divpakāpju pieteikšanos" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Šifrēšanas atslēgas atjaunināšana nav iespējama" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Šifrēšanas atslēgas atjaunināšanas laikā mapes nevarēja atšifrēt. Lai turpinātu atjaunināšanu, mapes ir jāizdzēš. Glabātavas vienumi netiks izdzēsti, ja turpināsi." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Neizdevās iegūt $SERVICENAME$ aizsegta e-pasta konta Id.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Konfigurēt ierīču pārvaldību Bitwarden, izmantojot operētājsistēmai atbilstošas ieviešanas norādes." }, + "desktopRequired": { + "message": "Nepieciešams dators" + }, + "reopenLinkOnDesktop": { + "message": "Šī saite e-pastā atkārtoti jāatver datorā." + }, "integrationCardTooltip": { "message": "Palaist $INTEGRATION$ ieviešanas norādes.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Apvienības nosaukums nevar pārsniegt 50 rakstzīmes." }, + "openingExtension": { + "message": "Atver Bitwarden pārlūka paplašinājumu" + }, + "somethingWentWrong": { + "message": "Kaut kas nogāja greizi..." + }, + "openingExtensionError": { + "message": "Mums bija sarežģījumi Bitwarden pārlūka paplašinājuma atvēršanā. Klikšķināt uz pogas, lai to tagad atvērtu." + }, + "openExtension": { + "message": "Atvērt paplašinājumu" + }, + "doNotHaveExtension": { + "message": "Nav Bitwarden pārlūka paplašinājuma?" + }, + "installExtension": { + "message": "Uzstādīt paplašinājumu" + }, + "openedExtension": { + "message": "Atvērt pārlūka paplašinājumu" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Bitwarden pārlūka paplašinājums tika veiksmīgi atvērts. Tagad var pārskatīt savas riskam pakļautās paroles." + }, + "openExtensionManuallyPart1": { + "message": "Mums bija sarežģījumi Bitwarden pārlūka paplašinājuma atvēršanā. Rīkjoslā jāatver Bitwarden ikona", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "rīkjoslā.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Abonements drīz tiks atjaunots. Lai nodrošinātu nepārtrauktu pakalpojumu, pirms $RENEWAL_DATE$ jāsazinās ar $RESELLER$, lai apstiprinātu atjaunošanu.", "placeholders": { diff --git a/apps/web/src/locales/ml/messages.json b/apps/web/src/locales/ml/messages.json index 617f3b2d8ac..94bc381b170 100644 --- a/apps/web/src/locales/ml/messages.json +++ b/apps/web/src/locales/ml/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View Recovery Code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "അക്കൗണ്ടിന്റെ രണ്ട്-ഘട്ട പ്രവേശനം വീണ്ടെടുക്കുക" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/mr/messages.json b/apps/web/src/locales/mr/messages.json index 7e6f614b9c8..7b49603230e 100644 --- a/apps/web/src/locales/mr/messages.json +++ b/apps/web/src/locales/mr/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/my/messages.json b/apps/web/src/locales/my/messages.json index 7e6f614b9c8..7b49603230e 100644 --- a/apps/web/src/locales/my/messages.json +++ b/apps/web/src/locales/my/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/nb/messages.json b/apps/web/src/locales/nb/messages.json index a804f5dfafb..c0f6ceeb19d 100644 --- a/apps/web/src/locales/nb/messages.json +++ b/apps/web/src/locales/nb/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Å skru på 2-trinnsinnlogging kan låse deg permanent ut av din Bitwarden-konto. En gjenopprettingskode gir deg tilgang til kontoen din i det tilfellet at du ikke lenger kan bruke din vanlige 2-trinnsinnloggingsleverandør (f.eks. at du mister enheten din). Bitwarden-kundestøtten vil ikke kunne hjelpe deg dersom du mister tilgang til kontoen din. Vi anbefaler at du skriver ned eller skriver ut gjenopprettingskoden og legger den på en trygg plass." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Vis gjenopprettingskode" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Hvis du ikke klarer å få tilgang til kontoen din gjennom dine vanlige 2-trinnsinnloggingsmetoder, kan du bruke din 2-trinnsinnloggingsgjenopprettingskode til å deaktivere alle 2-trinnsinnloggingsleverandører på din konto." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Få tilbake tilgangen til din kontos 2-trinnsinnlogging" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/ne/messages.json b/apps/web/src/locales/ne/messages.json index 20ceae6f33b..91d7d592689 100644 --- a/apps/web/src/locales/ne/messages.json +++ b/apps/web/src/locales/ne/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/nl/messages.json b/apps/web/src/locales/nl/messages.json index 6da0edc72c8..e3529139c0b 100644 --- a/apps/web/src/locales/nl/messages.json +++ b/apps/web/src/locales/nl/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Door aanmelden in twee stappen in te schakelen, kun je jezelf definitief buitensluiten van je Bitwarden-account. Een herstelcode geeft je toegang tot je account in het geval dat je je normale tweestapsaanmelding niet meer kunt gebruiken (bijv. als je je apparaat verliest). De Bitwarden-klantondersteuning kan je niet helpen als je de toegang tot je account verliest. We raden je met klem aan de herstelcode op te schrijven of af te drukken en op een veilige plaats te bewaren." }, + "yourSingleUseRecoveryCode": { + "message": "Met je herstelcode voor eenmalig gebruik kun je tweestapsaanmelding uitschakelen in het geval dat je toegang verliest tot je tweestapsaanmeldingsprovider. Bitwarden adviseert de herstelcode op te schrijven en op een veilige plaats te bewaren." + }, "viewRecoveryCode": { "message": "Herstelcode weergeven" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Als je geen toegang tot je account kunt krijgen via je normale tweestapsaanmeldingsmethodes, kun je met je herstelcode alle aanbieders van tweestapsaanmelding in je account uitschakelen." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log hieronder in met behulp van je eenmalige herstelcode. Dit zal alle tweestapsaanbieders op je account uitschakelen." + }, "recoverAccountTwoStep": { "message": "Tweestapsaanmelding herstellen" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Bijwerken encryptiesleutel kan niet verder gaan" }, + "editFieldLabel": { + "message": "$LABEL$ bewerken", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "$LABEL$ herschikken. Gebruik de pijltjestoets om het item omhoog of omlaag te verplaatsen.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Bij het bijwerken van je encryptiesleutel konden we je mappen niet decoderen. Om door te gaan met de update, moeten je mappen worden verwijderd. Geen kluisitems worden verwijderd als je doorgaat." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ heeft je aanvraag geweigerd. Neem contact op met je serviceprovider voor hulp.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ heeft je aanvraag geweigerd: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Kan $SERVICENAME$ gemaskeerde e-mailaccount-ID niet verkrijgen.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Apparaatbeheer voor Bitwarden configureren met behulp van de implementatiehandleiding voor jouw platform." }, + "desktopRequired": { + "message": "Desktop vereist" + }, + "reopenLinkOnDesktop": { + "message": "Open deze link opnieuw vanaf je e-mail op een desktop." + }, "integrationCardTooltip": { "message": "$INTEGRATION$ implementatiehandleiding openen.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organisatienaam mag niet langer zijn dan 50 tekens." }, + "openingExtension": { + "message": "Bitwarden-browserextensie openen" + }, + "somethingWentWrong": { + "message": "Er is iets fout gegaan..." + }, + "openingExtensionError": { + "message": "We konden de Bitwarden-browserextensie niet openen. Klik op de knop om deze nu te openen." + }, + "openExtension": { + "message": "Extensie openen" + }, + "doNotHaveExtension": { + "message": "Heb je de Bitwarden-browserextensie niet?" + }, + "installExtension": { + "message": "Extensie installeren" + }, + "openedExtension": { + "message": "Browserextensie geopend" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "De Bitwarden-browserextensie is geopend. Je kunt nu je risicovolle wachtwoorden bekijken." + }, + "openExtensionManuallyPart1": { + "message": "We konden de Bitwarden-browserextensie niet openen. Open het Bitwarden-pictogram", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "vanaf de werkbank.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Je abonnement wordt binnenkort verlengd. Neem voor $RENEWAL_DATE$ contact op met $RESELLER$ om je verlenging te bevestigen en een ononderbroken service te verzekeren.", "placeholders": { diff --git a/apps/web/src/locales/nn/messages.json b/apps/web/src/locales/nn/messages.json index 8b7682fa39c..aad4bbbf0eb 100644 --- a/apps/web/src/locales/nn/messages.json +++ b/apps/web/src/locales/nn/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/or/messages.json b/apps/web/src/locales/or/messages.json index 7e6f614b9c8..7b49603230e 100644 --- a/apps/web/src/locales/or/messages.json +++ b/apps/web/src/locales/or/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/pl/messages.json b/apps/web/src/locales/pl/messages.json index 6935f334d62..ee72a888ef9 100644 --- a/apps/web/src/locales/pl/messages.json +++ b/apps/web/src/locales/pl/messages.json @@ -217,7 +217,7 @@ "message": "Tożsamość" }, "contactInfo": { - "message": "Daje kontaktowe" + "message": "Dane kontaktowe" }, "cardDetails": { "message": "Szczegóły karty" @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Włączenie logowania dwustopniowego można trwale zablokować konto Bitwarden. Kod odzyskiwania pozwala na dostęp do konta w przypadku, gdy nie będziesz mógł skorzystać ze standardowego dostawcy logowania dwustopniowego (np. w przypadku utraty urządzenia). Pomoc techniczna Bitwarden nie będzie w stanie Ci pomóc, jeśli stracisz dostęp do swojego konta. Zalecamy zapisanie lub wydrukowanie kodu odzyskiwania i przechowywanie go w bezpiecznym miejscu." }, + "yourSingleUseRecoveryCode": { + "message": "Jednorazowy kod odzyskiwania może być użyty do wyłączenia dwuetapowego logowania w przypadku utraty dostępu do dostawcy logowania dwuetapowego. Bitwarden zaleca zapisanie kodu odzyskiwania i przechowywanie go w bezpiecznym miejscu." + }, "viewRecoveryCode": { "message": "Wyświetl kod odzyskiwania" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Jeśli nie możesz uzyskać dostępu do konta poprzez standardowe metody logowania dwustopniowego, skorzystaj z kodu odzyskiwania, aby wyłączyć wszystkich dostawców logowania dwustopniowego na swoim koncie." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Zaloguj się poniżej, używając jednorazowego kodu odzyskiwania. Spowoduje to wyłączenie wszystkich dostawców dwuetapowych na Twoim koncie." + }, "recoverAccountTwoStep": { "message": "Przywróć logowanie dwustopniowe do konta" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Aktualizacja klucza szyfrowania nie może być kontynuowana" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Podczas aktualizacji klucza szyfrowania, folderów nie można odszyfrować. Aby kontynuować aktualizację, foldery muszą zostać usunięte. Żadne elementy sejfu nie zostaną usunięte." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Nie można uzyskać ID maskowanego konta e-mail dla $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Skonfiguruj zarządzanie urządzeniem Bitwarden za pomocą instrukcji implementacyjnych dla Twojej platformy." }, + "desktopRequired": { + "message": "Wymagany komputer" + }, + "reopenLinkOnDesktop": { + "message": "Otwórz ponownie ten link z adresu e-mail na komputerze." + }, "integrationCardTooltip": { "message": "Uruchom przewodnik implementacyjny $INTEGRATION$.", "placeholders": { @@ -9936,16 +9990,16 @@ "message": "Użyj pól tekstowych dla danych takich jak pytania bezpieczeństwa" }, "hiddenHelpText": { - "message": "Użyj ukrytych pól dla danych poufnych, takich jak hasło" + "message": "Użyj ukrytych pól dla danych poufnych takich jak hasło" }, "checkBoxHelpText": { - "message": "Użyj pól wyboru, jeśli chcesz automatycznie wypełnić pole wyboru formularza, np. jak zapamiętywanie e-mail" + "message": "Użyj pól wyboru, jeśli chcesz automatycznie wypełnić pole wyboru formularza, np. zapamiętaj e-mail" }, "linkedHelpText": { "message": "Użyj powiązanego pola, gdy masz problemy z autouzupełnianiem na konkretnej stronie internetowej." }, "linkedLabelHelpText": { - "message": "Wprowadź atrybut z: html id, name, aria-label lub placeholder." + "message": "Wprowadź atrybut z HTML'a: id, name, aria-label lub placeholder." }, "uppercaseDescription": { "message": "Uwzględnij wielkie litery", @@ -9993,13 +10047,13 @@ "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": "Aby hostować Bitwarden na własnym serwerze, musisz przesłać plik licencyjny. Aby wspierać darmowe plany rodzinne i zaawansowane możliwości rozliczeniowe dla Twojej własnej organizacji, musisz skonfigurować automatyczną synchronizację w swojej własnej organizacji." + "message": "Aby hostować Bitwarden na własnym serwerze, musisz przesłać plik licencyjny. Aby wesprzeć darmowe plany rodzinne i zaawansowane możliwości rozliczeniowe dla własnej organizacji, musisz skonfigurować automatyczną synchronizację." }, "selfHostingTitleProper": { "message": "Samodzielne hostowanie" }, "claim-domain-single-org-warning": { - "message": "Rejestracja domeny włączy politykę jednej organizacji." + "message": "Zgłoszenie domeny włączy zasadę pojedynczej organizacji." }, "single-org-revoked-user-warning": { "message": "Niezgodni członkowie zostaną odwołani. Administratorzy mogą przywrócić członków po opuszczeniu wszystkich innych organizacji." @@ -10015,7 +10069,7 @@ } }, "deleteOrganizationUserWarningDesc": { - "message": "Spowoduje to trwałe usunięcie wszystkich elementów należących do $NAME$. Nie ma to wpływu na elementy w kolekcji.", + "message": "Spowoduje to trwałe usunięcie wszystkich elementów należących do $NAME$. Elementy w kolekcjach nie są objęte tą operacją.", "description": "Warning description for the delete organization user dialog", "placeholders": { "name": { @@ -10025,7 +10079,7 @@ } }, "deleteManyOrganizationUsersWarningDesc": { - "message": "Spowoduje to trwałe usunięcie wszystkich elementów należących do następujących członków. Nie ma to wpływu na elementy w kolekcji.", + "message": "Spowoduje to trwałe usunięcie wszystkich elementów należących do wybranych członków. Elementy w kolekcjach nie są objęte tą operacją.", "description": "Warning description for the bulk delete organization users dialog" }, "organizationUserDeleted": { @@ -10038,10 +10092,10 @@ } }, "organizationUserDeletedDesc": { - "message": "Użytkownik został usunięty z organizacji i wszystkie powiązane dane z tym użytkownikiem zostały usunięte." + "message": "Użytkownik został usunięty z organizacji i wszystkie powiązane dane użytkownika zostały usunięte." }, "deletedUserId": { - "message": "Usunięto użytkownika $ID$ - właściciel / administrator usunął te konto użytkownika", + "message": "Usunięto użytkownika $ID$ - właściciel / administrator usunął konto użytkownika", "placeholders": { "id": { "content": "$1", @@ -10077,22 +10131,22 @@ "message": "Usuń członków" }, "noSelectedMembersApplicable": { - "message": "Ta akcja nie ma zastosowania do żadnego z wybranych członków." + "message": "Ta akcja nie dotyczy żadnych zaznaczonych członków." }, "deletedSuccessfully": { "message": "Usunięto pomyślnie" }, "freeFamiliesSponsorship": { - "message": "Usuń darmowe sponsorowanie rodzin Bitwarden" + "message": "Usuń bezpłatny sponsoring planu rodzinnego" }, "freeFamiliesSponsorshipPolicyDesc": { - "message": "Nie zezwalaj członkom na wykupienie planu rodzin za pośrednictwem tej organizacji." + "message": "Nie zezwalaj członkom na realizację planu rodzinnego za pośrednictwem tej organizacji." }, "verifyBankAccountWithStatementDescriptorWarning": { - "message": "Płatność na rachunku bankowym jest dostępna tylko dla klientów w Stanach Zjednoczonych. Będziesz musiał zweryfikować swoje konto bankowe. Dokonamy mikrowpłaty w ciągu następnych 1-2 dni roboczych. Wprowadź kod deskryptora instrukcji z tej wpłaty na stronie rozliczeniowej organizacji, aby zweryfikować konto bankowe. Niezweryfikowanie konta bankowego spowoduje nieodebraną płatność, a subskrypcja zostanie zawieszona." + "message": "Płatność za pomocą konta bankowego jest dostępna tylko dla klientów w Stanach Zjednoczonych. Będziesz musiał/musiała zweryfikować swoje konto bankowe. W ciągu najbliższych 1-2 dni roboczych dokonamy mikrowpłaty. Wprowadź kod deskryptora z tej wpłaty na stronie rozliczeń organizacji, aby zweryfikować konto bankowe. Niezweryfikowanie konta bankowego spowoduje brak płatności i zawieszenie Twojej subskrypcji." }, "verifyBankAccountWithStatementDescriptorInstructions": { - "message": "Dokonaliśmy mikrowpłaty na Twoje konto bankowe (może to zająć 1-2 dni robocze). Wprowadź sześciocyfrowy kod zaczynający się od 'SM' znaleziony w opisie depozytu. Niezweryfikowanie konta bankowego spowoduje nieodebraną płatność, a subskrypcja zostanie zawieszona." + "message": "Dokonaliśmy mikrowpłaty na Twoje konto bankowe (może to potrwać 1-2 dni robocze). Wprowadź sześciocyfrowy kod zaczynający się od „SM”, który znajdziesz w opisie wpłaty. Niezweryfikowanie konta bankowego spowoduje brak płatności i zawieszenie Twojej subskrypcji." }, "descriptorCode": { "message": "Kod deskryptora" @@ -10143,7 +10197,7 @@ "message": "Zmień adres e-mail konta" }, "removeMembers": { - "message": "Usuń użytkowników" + "message": "Usuń członków" }, "devices": { "message": "Urządzenia" @@ -10155,25 +10209,25 @@ "message": "Twoje konto zostało zalogowane na każdym z poniższych urządzeń." }, "claimedDomains": { - "message": "Zarejestrowane domeny" + "message": "Zgłoszone domeny" }, "claimDomain": { - "message": "Zarejestruj domenę" + "message": "Zgłoś domenę" }, "reclaimDomain": { - "message": "Wyrejestruj domenę" + "message": "Odzyskaj domenę" }, "claimDomainNameInputHint": { - "message": "Przykład: mydomain.com. Subdomeny wymagają osobnych wpisów celem weryfikacji." + "message": "Przykład: mojadomena.com. Subdomeny wymagają osobnego zgłoszenia." }, "automaticClaimedDomains": { - "message": "Automatycznie zarejestrowane domeny" + "message": "Automatycznie zgłoszone domeny" }, "automaticDomainClaimProcess": { - "message": "Bitwarden spróbuje zweryfikować domenę 3 razy w ciągu pierwszych 72 godzin. Jeśli nie będzie można zweryfikować domeny, sprawdź rekord DNS na swoim serwerze i wprowadź go ręcznie. Domena zostanie usunięta z Twojej organizacji w ciągu 7 dni, jeśli nie zostanie zweryfikowana" + "message": "Bitwarden spróbuje zgłosić domenę 3 razy w ciągu pierwszych 72 godzin. Jeśli nie można zgłosić domeny, sprawdź rekord DNS w swoim serwerze i sprawdź go ręcznie. Domena zostanie usunięta z Twojej organizacji w ciągu 7 dni, jeśli nie zostanie zgłoszona." }, "domainNotClaimed": { - "message": "$DOMAIN$ nie została zweryfikowana. Sprawdź swój rekord DNS.", + "message": "$DOMAIN$ nie została zgłoszona. Sprawdź swój rekord DNS.", "placeholders": { "DOMAIN": { "content": "$1", @@ -10182,19 +10236,19 @@ } }, "domainStatusClaimed": { - "message": "Zweryfikowano" + "message": "Zgłoszono" }, "domainStatusUnderVerification": { - "message": "Podczas weryfikacji" + "message": "W trakcie weryfikacji" }, "claimedDomainsDesc": { - "message": "Zweryfikuj domenę do posiadania wszystkich kont użytkowników, których adres e-mail pasuje do domeny. Członkowie będą mogli pominąć identyfikator SSO podczas logowania. Administratorzy będą również mogli usuwać konta członków." + "message": "Zgłoś domenę, aby przejąć własność wszystkich kont członków, których adres e-mail pasuje do domeny. Członkowie będą mogli pominąć identyfikator SSO podczas logowania. Administratorzy będą również mogli usuwać konta członków." }, "invalidDomainNameClaimMessage": { - "message": "Wprowadzone dane są niepoprawne. Format: mydomain.com. Subdomeny wymagają osobnych wpisów celem weryfikacji." + "message": "Nieprawidłowy format. Format: mojadomena.com. Subdomeny wymagają osobnego zgłoszenia." }, "domainClaimedEvent": { - "message": "Zweryfikowano $DOMAIN$", + "message": "$DOMAIN$ została zgłoszona", "placeholders": { "DOMAIN": { "content": "$1", @@ -10203,7 +10257,7 @@ } }, "domainNotClaimedEvent": { - "message": "$DOMAIN$ nie została zweryfikowana", + "message": "$DOMAIN$ nie została zgłoszona", "placeholders": { "DOMAIN": { "content": "$1", @@ -10212,7 +10266,7 @@ } }, "updatedRevokeSponsorshipConfirmationForSentSponsorship": { - "message": "Jeśli usuniesz $EMAIL$, sponsorowanie tego planu rodziny nie może zostać zrealizowane. Czy na pewno chcesz kontynuować?", + "message": "Jeśli usuniesz $EMAIL$, sponsoring dla tego planu rodzinnego nie będzie mógł zostać zrealizowany. Czy na pewno chcesz kontynuować?", "placeholders": { "email": { "content": "$1", @@ -10221,7 +10275,7 @@ } }, "updatedRevokeSponsorshipConfirmationForAcceptedSponsorship": { - "message": "Jeśli usuniesz $EMAIL$, sponsorowanie tego planu rodzinnego zakończy się, a zapisana metoda płatności zostanie naliczona 40 USD + obowiązujący podatek od $DATE$. Nie będziesz w stanie wykupić nowego sponsora do dnia $DATE$. Czy na pewno chcesz kontynuować?", + "message": "Jeśli usuniesz $EMAIL$, sponsoring dla tego planu rodzinnego zakończy się, a zapisana metoda płatności zostanie obciążona kwotą 40 USD + odpowiedni podatek w dniu $DATE$. Nie będziesz mógł/mogła zrealizować nowego sponsoringu do dnia $DATE$. Czy na pewno chcesz kontynuować?", "placeholders": { "email": { "content": "$1", @@ -10234,13 +10288,45 @@ } }, "domainClaimed": { - "message": "Domena zarejestrowana" + "message": "Domena zgłoszona" }, "organizationNameMaxLength": { "message": "Nazwa organizacji nie może przekraczać 50 znaków." }, + "openingExtension": { + "message": "Otwieranie rozszerzenia przeglądarki Bitwarden" + }, + "somethingWentWrong": { + "message": "Coś poszło nie tak..." + }, + "openingExtensionError": { + "message": "Wystąpił problem z otwarciem rozszerzenia przeglądarki. Kliknij przycisk, aby go teraz otworzyć." + }, + "openExtension": { + "message": "Otwórz rozszerzenie" + }, + "doNotHaveExtension": { + "message": "Nie masz rozszerzenia Bitwarden do przeglądarki?" + }, + "installExtension": { + "message": "Zainstaluj rozszerzenie" + }, + "openedExtension": { + "message": "Otwarto rozszerzenie przeglądarki" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Pomyślnie otwarto rozszerzenie do przeglądarki. Teraz możesz przejrzeć swoje hasła zagrożone." + }, + "openExtensionManuallyPart1": { + "message": "Wystąpił problem z otwarciem rozszerzenia przeglądarki. Otwórz ikonę Bitwarden", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "z paska narzędzi.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { - "message": "Twoja subskrypcja zostanie wkrótce odnowiona. Aby zapewnić nieprzerwaną usługę, skontaktuj się z $RESELLER$ , aby potwierdzić odnowienie przed $RENEWAL_DATE$.", + "message": "Twoja subskrypcja wkrótce zostanie odnowiona. Aby zapewnić ciągłość usług, skontaktuj się z $RESELLER$, aby potwierdzić odnowienie przed $RENEWAL_DATE$.", "placeholders": { "reseller": { "content": "$1", @@ -10253,7 +10339,7 @@ } }, "resellerOpenInvoiceWarningMgs": { - "message": "Faktura za subskrypcję została wystawiona dnia $ISSUED_DATE$. Aby zapewnić nieprzerwaną usługę, skontaktuj się z $RESELLER$ , aby potwierdzić odnowienie przed dniem $DUE_DATE$.", + "message": "Faktura za Twoją subskrypcję została wystawiona $ISSUED_DATE$. Aby zapewnić ciągłość usług, skontaktuj się z $RESELLER$, aby potwierdzić odnowienie przed $DUE_DATE$.", "placeholders": { "reseller": { "content": "$1", @@ -10270,7 +10356,7 @@ } }, "resellerPastDueWarningMsg": { - "message": "Faktura za subskrypcję nie została zapłacona. Aby zapewnić nieprzerwaną usługę, skontaktuj się z $RESELLER$ , aby potwierdzić odnowienie przed $GRACE_PERIOD_END$.", + "message": "Faktura za Twoją subskrypcję nie została opłacona. Aby zapewnić ciągłość usług, skontaktuj się z $RESELLER$, aby potwierdzić odnowienie przed $GRACE_PERIOD_END$.", "placeholders": { "reseller": { "content": "$1", @@ -10283,13 +10369,13 @@ } }, "restartOrganizationSubscription": { - "message": "Subskrypcja organizacji zrestartowana" + "message": "Subskrypcja organizacji wznowiona" }, "restartSubscription": { - "message": "Zrestartuj swoją subskrypcję" + "message": "Wznów swoją subskrypcję" }, "suspendedManagedOrgMessage": { - "message": "Skontaktuj się z $PROVIDER$ w celu uzyskania pomocy.", + "message": "Skontaktuj się z $PROVIDER$, aby uzyskać pomoc.", "placeholders": { "provider": { "content": "$1", @@ -10298,16 +10384,16 @@ } }, "accountDeprovisioningNotification": { - "message": "Administratorzy mają teraz możliwość usunięcia kont członków, które należą do zarejestrowanej domeny." + "message": "Administratorzy mają teraz możliwość usuwania kont członków należących do zgłoszonej domeny." }, "deleteManagedUserWarningDesc": { - "message": "Ta akcja usunie konto członka, w tym wszystkie elementy w ich sejfie. To zastępuje poprzednią akcję Usunięcia." + "message": "Ta akcja spowoduje usunięcie konta członka, w tym wszystkich elementów w ich sejfie. Zastępuje to poprzednią akcję Usuń." }, "deleteManagedUserWarning": { - "message": "Usuń jest nową akcją!" + "message": "Usunięcie to nowa akcja!" }, "seatsRemaining": { - "message": "Pozostało $REMAINING$ miejsc z $TOTAL$ miejsc przypisanych do tej organizacji. Skontaktuj się z dostawcą, aby zarządzać subskrypcją.", + "message": "Pozostało Ci $REMAINING$ miejsc z $TOTAL$ przydzielonych do tej organizacji. Skontaktuj się z dostawcą, aby zarządzać swoją subskrypcją.", "placeholders": { "remaining": { "content": "$1", @@ -10323,13 +10409,13 @@ "message": "Istniejąca organizacja" }, "selectOrganizationProviderPortal": { - "message": "Wybierz organizację, aby dodać do portalu dostawcy." + "message": "Wybierz organizację, którą chcesz dodać do swojego portalu dostawcy." }, "noOrganizations": { - "message": "Nie ma organizacji, którą można by wyświetlić" + "message": "Brak organizacji do wyświetlenia" }, "yourProviderSubscriptionCredit": { - "message": "Subskrypcja twojego dostawcy otrzyma kredyt za pozostały czas w subskrypcji organizacji." + "message": "Twoja subskrypcja dostawcy otrzyma zwrot środków za pozostały czas subskrypcji organizacji." }, "doYouWantToAddThisOrg": { "message": "Czy chcesz dodać tę organizację do $PROVIDER$?", @@ -10344,6 +10430,6 @@ "message": "Dodano istniejącą organizację" }, "assignedExceedsAvailable": { - "message": "Przypisane miejsca przekraczają dostępne miejsca." + "message": "Przydzielone miejsca przekraczają dostępne miejsca." } } diff --git a/apps/web/src/locales/pt_BR/messages.json b/apps/web/src/locales/pt_BR/messages.json index 85efb0c1027..bd041163abd 100644 --- a/apps/web/src/locales/pt_BR/messages.json +++ b/apps/web/src/locales/pt_BR/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "A configuração de login em duas etapas pode bloqueá-lo permanentemente da sua conta no Bitwarden. Um código de recuperação permite que você acesse sua conta no caso de não poder mais usar seu provedor de login em duas etapas normalmente (exemplo: você perde seu dispositivo). O suporte do Bitwarden não será capaz de ajudá-lo se você perder o acesso à sua conta. Recomendamos que você anote ou imprima o código de recuperação e o mantenha em um lugar seguro." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Ver código de recuperação" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Se você não puder acessar sua conta por meio de seus métodos normais de login em duas etapas, poderá usar seu código de recuperação de login em duas etapas para desativar a funcionalidade de duas etapas da sua conta." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recuperar login em duas etapas da conta" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "A atualização da chave de criptografia não pode continuar" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Ao atualizar sua chave de criptografia, suas pastas não puderam ser descriptografadas. Para continuar com a atualização, suas pastas devem ser excluídas. Nenhum item de cofre será excluído se você prosseguir." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Não foi possível obter a máscara do ID da conta de email $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure o gerenciamento de dispositivos para o Bitwarden usando o guia de implementação da sua plataforma." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Inicie o guia de implementação $INTEGRATION$.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/pt_PT/messages.json b/apps/web/src/locales/pt_PT/messages.json index a9d5e461086..c4a16c2d4fe 100644 --- a/apps/web/src/locales/pt_PT/messages.json +++ b/apps/web/src/locales/pt_PT/messages.json @@ -211,7 +211,7 @@ "message": "Credenciais de início de sessão" }, "personalDetails": { - "message": "Detalhes pessoais" + "message": "Dados pessoais" }, "identification": { "message": "Identificação" @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "A configuração da verificação de dois passos pode bloquear permanentemente a sua conta Bitwarden. Um código de recuperação permite-lhe aceder à sua conta no caso de já não poder utilizar o seu fornecedor normal de verificação de dois passos (por exemplo, se perder o seu dispositivo). O suporte Bitwarden não poderá ajudá-lo se perder o acesso à sua conta. Recomendamos que anote ou imprima o código de recuperação e o guarde num local seguro." }, + "yourSingleUseRecoveryCode": { + "message": "O seu código de recuperação de utilização única pode ser utilizado para desativar a verificação de dois passos no caso de perder o acesso ao seu fornecedor de verificação de dois passos. O Bitwarden recomenda que anote o código de recuperação e o guarde num local seguro." + }, "viewRecoveryCode": { "message": "Ver código de recuperação" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Se não conseguir aceder à sua conta através dos seus métodos normais de verificação de dois passos, pode utilizar o seu código de recuperação de verificação de dois passos para desativar todos os fornecedores deste método na sua conta." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Inicie sessão abaixo utilizando o seu código de recuperação de utilização única. Esta ação desativará todos os fornecedores de verificação de dois passos da sua conta." + }, "recoverAccountTwoStep": { "message": "Recuperar a verificação de dois passos da conta" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "A atualização da chave de encriptação não pode prosseguir" }, + "editFieldLabel": { + "message": "Editar $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reordenar $LABEL$. Utilize a tecla de seta para mover o item para cima ou para baixo.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Ao atualizar a sua chave de encriptação, as suas pastas não puderam ser desencriptadas. Para continuar com a atualização, as suas pastas têm de ser eliminadas. Nenhum item do cofre será eliminado se prosseguir." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ recusou o seu pedido. Por favor, contacte o seu fornecedor de serviços para obter assistência.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ recusou o seu pedido: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Não foi possível obter o ID da conta de e-mail mascarada de $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure a gestão de dispositivos do Bitwarden utilizando o guia de implementação da sua plataforma." }, + "desktopRequired": { + "message": "É necessário um computador" + }, + "reopenLinkOnDesktop": { + "message": "Reabra este link a partir do seu e-mail num computador." + }, "integrationCardTooltip": { "message": "Lançar o guia de implementação da $INTEGRATION$.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "O nome da organização não pode exceder 50 carateres." }, + "openingExtension": { + "message": "A abrir a extensão de navegador Bitwarden" + }, + "somethingWentWrong": { + "message": "Ocorreu um erro..." + }, + "openingExtensionError": { + "message": "Tivemos problemas ao abrir a extensão de navegador Bitwarden. Clique no botão para a abrir agora." + }, + "openExtension": { + "message": "Abrir extensão" + }, + "doNotHaveExtension": { + "message": "Não tem a extensão de navegador Bitwarden?" + }, + "installExtension": { + "message": "Instalar extensão" + }, + "openedExtension": { + "message": "Extensão de navegador aberta" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Abriu com sucesso a extensão de navegador Bitwarden. Pode agora rever as suas palavras-passe em risco." + }, + "openExtensionManuallyPart1": { + "message": "Tivemos problemas ao abrir a extensão de navegador Bitwarden. Abra o ícone do Bitwarden", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "da barra de ferramentas.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "A sua subscrição será renovada em breve. Para garantir um serviço ininterrupto, contacte a $RESELLER$ para confirmar a sua renovação antes de $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/ro/messages.json b/apps/web/src/locales/ro/messages.json index 4db5a16a566..60c753ff50e 100644 --- a/apps/web/src/locales/ro/messages.json +++ b/apps/web/src/locales/ro/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Configurarea unei autentificări în două etape vă poate bloca permanent din contul Bitwarden. Un cod de recuperare vă permite să vă accesați contul în cazul în care nu mai puteți utiliza furnizorul normal de autentificare în două etape (exemplu: vă pierdeți dispozitivul). Serviciul de asistență Bitwarden nu vă va putea ajuta dacă pierdeți accesul la cont. Vă recomandăm să notați sau să imprimați codul de recuperare și să-l păstrați într-un loc sigur." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Afișare cod de recuperare" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Dacă nu puteți să vă accesați contul prin metodele obișnuite de autentificare în două etape, puteți utiliza codul de recuperare a autentificării în două etape pentru a dezactiva toți furnizorii de servicii în două etape din cont." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recuperare autentificare în două etape a contului" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/ru/messages.json b/apps/web/src/locales/ru/messages.json index 0c8ee796b4a..97a944819fd 100644 --- a/apps/web/src/locales/ru/messages.json +++ b/apps/web/src/locales/ru/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "При включении двухэтапной аутентификации вы можете навсегда потерять доступ к вашей учетной записи Bitwarden. Код восстановления позволяет получить доступ к вашему аккаунту в случае, если вы больше не можете использовать свой обычный метод двухэтапной аутентификации (например, при потере устройства). Служба поддержки Bitwarden не сможет вам помочь, если вы потеряете доступ к своему аккаунту. Мы рекомендуем вам записать или распечатать код восстановления и хранить его в надежном месте." }, + "yourSingleUseRecoveryCode": { + "message": "Одноразовый код восстановления можно использовать для отключения двухэтапной аутентификации в случае потери доступа к провайдеру двухэтапной аутентификации. Bitwarden рекомендует записать код восстановления и хранить его в надежном месте." + }, "viewRecoveryCode": { "message": "Просмотреть код восстановления" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Если вы не можете получить доступ к своему аккаунту с помощью двухэтапной аутентификации, для ее отключения вы можете использовать свой код восстановления." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Авторизуйтесь, используя одноразовый код восстановления. Это отключит всех провайдеров двухэтапной аутентификации вашего аккаунта." + }, "recoverAccountTwoStep": { "message": "Восстановить двухэтапную аутентификацию аккаунта" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Обновление ключа шифрования невозможно" }, + "editFieldLabel": { + "message": "Изменить $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Изменить порядок $LABEL$. Используйте клавиши курсора для перемещения элемента вверх или вниз.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "При обновлении ключа шифрования не удалось расшифровать папки. Чтобы продолжить обновление, папки необходимо удалить. При продолжении обновления элементы хранилища удалены не будут." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ отклонил(а) ваш запрос. Обратитесь за помощью к своему провайдеру.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ отклонил(а) ваш запрос: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Не удалось получить скрытый идентификатор email аккаунта $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Настройте управление устройствами для Bitwarden, используя руководство по внедрению для вашей платформы." }, + "desktopRequired": { + "message": "Требуется компьютер" + }, + "reopenLinkOnDesktop": { + "message": "Откройте эту ссылку из email на вашем компьютере." + }, "integrationCardTooltip": { "message": "Запустить руководство по внедрению $INTEGRATION$.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Название организации не может превышать 50 символов." }, + "openingExtension": { + "message": "Открытие расширения для браузера Bitwarden" + }, + "somethingWentWrong": { + "message": "Что-то пошло не так..." + }, + "openingExtensionError": { + "message": "У нас возникли проблемы с открытием расширения для браузера Bitwarden. Нажмите на кнопку, чтобы открыть его сейчас." + }, + "openExtension": { + "message": "Открыть расширение" + }, + "doNotHaveExtension": { + "message": "У вас нет расширения браузера Bitwarden?" + }, + "installExtension": { + "message": "Установить расширение" + }, + "openedExtension": { + "message": "Открыто расширение браузера" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Расширение для браузера Bitwarden успешно открыто. Теперь вы можете просмотреть свои пароли, подверженные риску." + }, + "openExtensionManuallyPart1": { + "message": "У нас возникли проблемы с открытием расширения для браузера Bitwarden. Нажмите на значок Bitwarden", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "на панели инструментов.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Ваша подписка скоро будет продлена. Чтобы обеспечить непрерывность сервиса, свяжитесь с $RESELLER$ для подтверждения продления до $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/si/messages.json b/apps/web/src/locales/si/messages.json index 058528cb18d..c6435961877 100644 --- a/apps/web/src/locales/si/messages.json +++ b/apps/web/src/locales/si/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/sk/messages.json b/apps/web/src/locales/sk/messages.json index bee2d072f91..c2e8bbaa148 100644 --- a/apps/web/src/locales/sk/messages.json +++ b/apps/web/src/locales/sk/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Zapnutie dvojstupňového prihlásenia vás môže natrvalo vymknúť z vášho Bitwarden účtu. Záchranný kód umožňuje prístup k vášmu kontu v prípade že už nemôžete použiť svoj normálny dvojstupňový spôsob overenia. (napríklad ak stratíte zariadenie) Zákaznícka podpora nebude schopná pomôcť vám ak stratíte prístup k účtu. Preto vám odporúčame zapísať si, alebo si vytlačiť záchranný kód a uložiť ho na bezpečnom mieste." }, + "yourSingleUseRecoveryCode": { + "message": "Váš jednorázový záchranný kód sa dá použiť na vypnutie dvojstupňového prihlasovania ak ste stratili pristúp k jeho poskytovateľovi. Bitwarden odporúča, aby ste si záchranný kód zapísali a odložili na bezpečné miesto." + }, "viewRecoveryCode": { "message": "Zobraziť záchranný kód" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Ak sa nemôžete dostať k svojmu účtu prostredníctvom normálneho dvojstupňového prihlásenia, môžete použiť záchranný kód a vypnúť dvojstupňové prihlasovanie do vášho účtu." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Nižšie sa prihláste svojím jednorazovým záchranným kódom. Vypnete tým všetky metódy dvojstupňového prihlasovania vášho účtu." + }, "recoverAccountTwoStep": { "message": "Získať prístup k účtu s dvojstupňovým prihlásením" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Aktualizácia šifrovacieho kľúča nemôže pokračovať" }, + "editFieldLabel": { + "message": "Upraviť $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Zmeniť poradie $LABEL$. Na presun položky hore alebo dole použite klávesy so šípkami.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Pri aktualizácii šifrovacieho kľúča nebolo možné dešifrovať vaše priečinky. Ak chcete pokračovať v aktualizácii, vaše priečinky sa musia odstrániť. Ak budete pokračovať, nebudú odstránené žiadne položky trezora." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "Služba $SERVICENAME$ odmietla vašu žiadosť. Obráťte sa na svojho poskytovateľa služieb a požiadajte o pomoc.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "Služba $SERVICENAME$ odmietla vašu žiadosť: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -7294,7 +7342,7 @@ "description": "Label for the search bar used to search projects." }, "project": { - "message": "Project", + "message": "Projekt", "description": "Similar to collections, projects can be used to group secrets." }, "editProject": { @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Vyžaduje sa desktop" + }, + "reopenLinkOnDesktop": { + "message": "Otvorte tento odkaz z emailu na desktope." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Meno organizácie nemôže mať viac ako 50 znakov." }, + "openingExtension": { + "message": "Otvára sa rozšírenie Bitwarden pre prehliadač" + }, + "somethingWentWrong": { + "message": "Niečo sa pokazilo..." + }, + "openingExtensionError": { + "message": "Mali sme problém otvoriť Bitwarden rozšírenie pre prehliadač. Otvoríte ho kliknutím na tlačidlo." + }, + "openExtension": { + "message": "Otvoriť rozšírenie" + }, + "doNotHaveExtension": { + "message": "Nemáte Bitwarden rozšírenie pre prehliadač?" + }, + "installExtension": { + "message": "Inštalovať rozšírenie" + }, + "openedExtension": { + "message": "Rozšírenie pre prehliadač otvorené" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Rozšírenie pre prehliadač Bitwarden úspešne otvorené. Teraz môžete skontrolovať vaše ohrozene heslá." + }, + "openExtensionManuallyPart1": { + "message": "Mali sme problém otvoriť Bitwarden rozšírenie pre prehliadač. Otvorte ikonu Bitwarden", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "na paneli nástrojov.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Vaše predplatné sa čoskoro obnoví. Aby ste si zabezpečili nepretržitú prevádzku, kontaktujte $RESELLER$ a potvrďte obnovenie pred $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/sl/messages.json b/apps/web/src/locales/sl/messages.json index c440f0cfcf1..06151a2a205 100644 --- a/apps/web/src/locales/sl/messages.json +++ b/apps/web/src/locales/sl/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Prikaži kodo za obnovitev" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/sr/messages.json b/apps/web/src/locales/sr/messages.json index 809fa21d852..eee5943a5c7 100644 --- a/apps/web/src/locales/sr/messages.json +++ b/apps/web/src/locales/sr/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Омогућавање пријаве у два корака може вас трајно закључати са вашег Bitwarden-а налога. Код за опоравак омогућава вам приступ вашем налогу у случају да више не можете да користите свог уобичајеног добављача услуге пријављивања у два корака (нпр. ако изгубите уређај). Подршка Bitwarden-а неће вам моћи помоћи ако изгубите приступ свом налогу. Препоручујемо да запишете или одштампате код за опоравак и сачувате га на сигурном месту." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Погледати шифру за опоравак" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Ако не можете да приступите свом налогу путем уобичајених метода пријављивања у два корака, можете користити свој код за опоравак пријаве да бисте онемогућили све добављаче услуга у два корака на свом налогу." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Опоравак пријаве у два корака" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Ажурирање кључа за шифровање не може да се настави" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Приликом ажурирања кључа за шифровање, ваше фасцикле нису могле да се дешифрују. Да бисте наставили са ажурирањем, ваше фасцикле морају бити избрисане. Ниједна ставка у сефу неће бити избрисана ако наставите." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Није могуће добити ИД налога маскираног имејла $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Конфигуришите управљање уређајима за Bitwarden помоћу водича за имплементацију за своју платформу." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Покренути $INTEGRATION$ водич за имплементацију.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/sr_CS/messages.json b/apps/web/src/locales/sr_CS/messages.json index ac79efe57e0..07d0fdac6de 100644 --- a/apps/web/src/locales/sr_CS/messages.json +++ b/apps/web/src/locales/sr_CS/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/sv/messages.json b/apps/web/src/locales/sv/messages.json index b7762e4c4dc..32c40bfe69c 100644 --- a/apps/web/src/locales/sv/messages.json +++ b/apps/web/src/locales/sv/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Att aktivera tvåstegsverifiering kan låsa ute dig från ditt Bitwarden-konto permanent. En återställningskod låter dig komma åt ditt konto om du inte längre kan använda din vanliga metod för tvåstegsverifiering (t.ex. om du förlorar din enhet). Bitwardens kundservice kommer inte att kunna hjälpa dig om du förlorar åtkomst till ditt konto. Vi rekommenderar att du skriver ner eller skriver ut återställningskoden och förvarar den på ett säkert ställe." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Visa återställningskod" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Om du inte kan komma åt ditt konto genom dina vanliga metoder för tvåstegsverifiering kan du använda din återställningskod för att inaktivera alla metoder för tvåstegsverifiering på ditt konto." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Återställ kontots tvåstegsverifiering" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/te/messages.json b/apps/web/src/locales/te/messages.json index 7e6f614b9c8..7b49603230e 100644 --- a/apps/web/src/locales/te/messages.json +++ b/apps/web/src/locales/te/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/th/messages.json b/apps/web/src/locales/th/messages.json index e906b3abfd1..7ebf9c29b69 100644 --- a/apps/web/src/locales/th/messages.json +++ b/apps/web/src/locales/th/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "View recovery code" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/tr/messages.json b/apps/web/src/locales/tr/messages.json index b9db895499f..663d72ebbde 100644 --- a/apps/web/src/locales/tr/messages.json +++ b/apps/web/src/locales/tr/messages.json @@ -159,7 +159,7 @@ "message": "Unmark as critical app" }, "criticalApplicationSuccessfullyUnmarked": { - "message": "Critical application successfully unmarked" + "message": "Kritik uygulama işareti başarıyla kaldırıldı" }, "whatTypeOfItem": { "message": "Bu kaydın türü nedir?" @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "İki aşamalı girişi etkinleştirmek, Bitwarden hesabınızı kalıcı olarak kilitleyebilir. Kurtarma kodunuz, iki aşamalı giriş sağlayıcınızı kullanamamanız durumunda hesabınıza erişmenize olanak sağlar (ör. cihazınızı kaybedersiniz). Hesabınıza erişiminizi kaybederseniz Bitwarden destek ekibi size yardımcı olamaz. Kurtarma kodunu not almanızı veya yazdırmanızı ve güvenli bir yerde saklamanızı öneririz." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Kurtarma kodunu göster" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Hesabınıza normalde kullandığınız iki aşamalı giriş yöntemleriyle erişemiyorsanız iki aşamalı giriş kurtarma kodunuzu kullanarak heasbınızdaki tüm iki aşamalı giriş sağlayıcılarını kapatabilirsiniz." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Hesabı iki aşamalı girişten kurtar" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Şifreleme anahtarı güncellemesine devam edilemiyor" }, + "editFieldLabel": { + "message": "$LABEL$ alanını düzenle", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/uk/messages.json b/apps/web/src/locales/uk/messages.json index 4b9b33182b7..e9f3152bd5a 100644 --- a/apps/web/src/locales/uk/messages.json +++ b/apps/web/src/locales/uk/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Увімкнення двоетапної перевірки може цілком заблокувати доступ до облікового запису Bitwarden. Код відновлення дає вам змогу отримати доступ до свого облікового запису у випадку, якщо ви не можете скористатися провайдером двоетапної перевірки (наприклад, якщо втрачено пристрій). Служба підтримки Bitwarden не зможе допомогти відновити доступ до вашого облікового запису. Ми радимо вам записати чи надрукувати цей код відновлення і зберігати його в надійному місці." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Переглянути код відновлення" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "Якщо вам не вдається отримати доступ до свого облікового запису з використанням звичайної двоетапної перевірки, ви можете скористатися своїм кодом відновлення, щоб вимкнути всіх провайдерів двоетапної перевірки для вашого облікового запису." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Відновити вхід з використанням двоетапної перевірки" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Неможливо продовжити оновлення ключа шифрування" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Не вдалося розшифрувати ваші теки під час оновлення ключа шифрування. Щоб продовжити оновлення, необхідно видалити теки. Якщо ви продовжите, записи у сховищі не будуть видалені." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Не вдалося отримати ідентифікатор замаскованої е-пошти облікового запису для $SERVICENAME$.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Налаштуйте керування пристроями для Bitwarden, використовуючи посібник із впровадження для вашої платформи." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Відкрити посібник із впровадження $INTEGRATION$.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Назва організації не може перевищувати 50 символів." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Ваша передплата невдовзі поновиться. Щоб забезпечити безперебійну роботу, зверніться до $RESELLER$ для підтвердження поновлення до $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/vi/messages.json b/apps/web/src/locales/vi/messages.json index 4b7ce90344a..926892a10de 100644 --- a/apps/web/src/locales/vi/messages.json +++ b/apps/web/src/locales/vi/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "Setting up two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (example: you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "Xem mã khôi phục" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to turn off all two-step providers on your account." }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "Recover account two-step login" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Không thể tiếp tục cập nhật khóa mã hóa" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "Khi cập nhật khóa mã hóa, các thư mục của bạn không thể được giải mã. Để tiếp tục cập nhật, các thư mục của bạn phải bị xóa. Sẽ không có mục nào bị xóa nếu bạn tiếp tục." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { diff --git a/apps/web/src/locales/zh_CN/messages.json b/apps/web/src/locales/zh_CN/messages.json index 72b3b470031..8167ce2a401 100644 --- a/apps/web/src/locales/zh_CN/messages.json +++ b/apps/web/src/locales/zh_CN/messages.json @@ -2160,7 +2160,10 @@ "message": "如果您已设置或计划设置 SSO,两步登录可能已经通过您的身份提供程序强制实施了。" }, "twoStepLoginRecoveryWarning": { - "message": "启用两步登录可能会将您永久锁定在 Bitwarden 账户之外。如果您无法使用常规的两步登录提供程序(例如您丢失了设备),则可以使用恢复代码访问您的账户。如果您失去对您账户的访问,Bitwarden 支持也无法帮助您。我们建议您记下或打印恢复代码,并将其妥善保管。" + "message": "启用两步登录可能会将您永久锁定在 Bitwarden 账户之外。当您无法使用常规的两步登录提供程序(例如您丢失了设备)时,可以使用恢复代码访问您的账户。如果您失去对您账户的访问,Bitwarden 支持也无法帮助您。我们建议您写下或打印恢复代码,并将其妥善保管。" + }, + "yourSingleUseRecoveryCode": { + "message": "当您无法访问两步登录提供程序时,您的一次性恢复代码可用于关闭两步登录。Bitwarden 建议您写下恢复代码,并将其妥善保管。" }, "viewRecoveryCode": { "message": "查看恢复代码" @@ -2170,10 +2173,10 @@ "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." }, "enable": { - "message": "启用" + "message": "开启" }, "enabled": { - "message": "已启用" + "message": "已开启" }, "restoreAccess": { "message": "恢复访问权限" @@ -2216,7 +2219,7 @@ "message": "编辑项目,隐藏密码" }, "disable": { - "message": "停用" + "message": "关闭" }, "revokeAccess": { "message": "撤销访问权限" @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "如果您无法通过常规的两步登录方式访问您的账户,您可以使用两步登录恢复代码来停用账户上的所有两步登录提供程序。" }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "在下方使用您的一次性恢复代码登录。这将停用您账户上的所有两步提供程序。" + }, "recoverAccountTwoStep": { "message": "恢复账户两步登录" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "无法继续加密密钥更新" }, + "editFieldLabel": { + "message": "编辑 $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "重新排序 $LABEL$。使用方向键向上或向下移动项目。", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "更新您的加密密钥时,无法解密您的文件夹。要继续更新,文件夹必须被删除。继续操作不会删除密码库项目。" }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ 拒绝了您的请求。请联系您的服务提供商获取协助。", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ 拒绝了您的请求:$ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "无法获取 $SERVICENAME$ 电子邮箱账户 ID。", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -6980,7 +7028,7 @@ "message": "设备验证" }, "enableDeviceVerification": { - "message": "启用设备验证" + "message": "开启设备验证" }, "deviceVerificationDesc": { "message": "登录未识别的设备时,验证码会发送到您的电子邮箱地址" @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "使用适合您平台的实施指南为 Bitwarden 配置设备管理。" }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "请在桌面端从您的电子邮件中重新打开此链接。" + }, "integrationCardTooltip": { "message": "打开 $INTEGRATION$ 实施指南。", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "组织名称不能超过 50 个字符。" }, + "openingExtension": { + "message": "正在打开 Bitwarden 浏览器扩展" + }, + "somethingWentWrong": { + "message": "出错了..." + }, + "openingExtensionError": { + "message": "我们无法打开 Bitwarden 浏览器扩展。请点击按钮立即打开。" + }, + "openExtension": { + "message": "打开扩展" + }, + "doNotHaveExtension": { + "message": "没有 Bitwarden 浏览器扩展吗?" + }, + "installExtension": { + "message": "安装扩展" + }, + "openedExtension": { + "message": "已打开浏览器扩展" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "成功打开 Bitwarden 浏览器扩展。您现在可以审查有风险的密码了。" + }, + "openExtensionManuallyPart1": { + "message": "我们无法打开 Bitwarden 浏览器扩展。请从工具栏打开 Bitwarden 图标", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "。", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "您的订阅即将续期。为确保服务不会中断,请在 $RENEWAL_DATE$ 之前联系 $RESELLER$ 确认您的续订。", "placeholders": { @@ -10289,7 +10375,7 @@ "message": "重启您的订阅" }, "suspendedManagedOrgMessage": { - "message": "联系 $PROVIDER$ 获取协助。", + "message": "联系 $PROVIDER$ 寻求帮助。", "placeholders": { "provider": { "content": "$1", diff --git a/apps/web/src/locales/zh_TW/messages.json b/apps/web/src/locales/zh_TW/messages.json index fc1bf0b63f1..19860bbbe31 100644 --- a/apps/web/src/locales/zh_TW/messages.json +++ b/apps/web/src/locales/zh_TW/messages.json @@ -2162,6 +2162,9 @@ "twoStepLoginRecoveryWarning": { "message": "啟用兩步驟登入可能會將您永久鎖定在您的 Bitwarden 帳戶外。如果您無法正常使用兩步驟登入方式(例如,您遺失了裝置),則可以使用復原碼存取您的帳戶。 如果您失去帳戶的存取權限,Bitwarden 也無法幫助您。所以我們建議您記下或列印復原碼,並將其妥善保存。" }, + "yourSingleUseRecoveryCode": { + "message": "Your single-use recovery code can be used to turn off two-step login in the event that you lose access to your two-step login provider. Bitwarden recommends you write down the recovery code and keep it in a safe place." + }, "viewRecoveryCode": { "message": "檢視復原碼" }, @@ -4172,6 +4175,9 @@ "recoverAccountTwoStepDesc": { "message": "若您無法透過一般的兩步驟登入方式存取您的帳戶,您可以使用兩步驟登入復原碼以停用帳戶上的所有兩步驟登入方式。" }, + "logInBelowUsingYourSingleUseRecoveryCode": { + "message": "Log in below using your single-use recovery code. This will turn off all two-step providers on your account." + }, "recoverAccountTwoStep": { "message": "復原帳戶的兩步驟登入" }, @@ -4463,6 +4469,24 @@ "encryptionKeyUpdateCannotProceed": { "message": "Encryption key update cannot proceed" }, + "editFieldLabel": { + "message": "Edit $LABEL$", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, + "reorderToggleButton": { + "message": "Reorder $LABEL$. Use arrow key to move item up or down.", + "placeholders": { + "label": { + "content": "$1", + "example": "Custom field" + } + } + }, "keyUpdateFoldersFailed": { "message": "When updating your encryption key, your folders could not be decrypted. To continue with the update, your folders must be deleted. No vault items will be deleted if you proceed." }, @@ -6922,6 +6946,30 @@ } } }, + "forwaderInvalidOperation": { + "message": "$SERVICENAME$ refused your request. Please contact your service provider for assistance.", + "description": "Displayed when the user is forbidden from using the API by the forwarding service.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + } + } + }, + "forwaderInvalidOperationWithMessage": { + "message": "$SERVICENAME$ refused your request: $ERRORMESSAGE$", + "description": "Displayed when the user is forbidden from using the API by the forwarding service with an error message.", + "placeholders": { + "servicename": { + "content": "$1", + "example": "SimpleLogin" + }, + "errormessage": { + "content": "$2", + "example": "Please verify your email address to continue." + } + } + }, "forwarderNoAccountId": { "message": "Unable to obtain $SERVICENAME$ masked email account ID.", "description": "Displayed when the forwarding service fails to return an account ID.", @@ -9246,6 +9294,12 @@ "deviceManagementDesc": { "message": "Configure device management for Bitwarden using the implementation guide for your platform." }, + "desktopRequired": { + "message": "Desktop required" + }, + "reopenLinkOnDesktop": { + "message": "Reopen this link from your email on a desktop." + }, "integrationCardTooltip": { "message": "Launch $INTEGRATION$ implementation guide.", "placeholders": { @@ -10239,6 +10293,38 @@ "organizationNameMaxLength": { "message": "Organization name cannot exceed 50 characters." }, + "openingExtension": { + "message": "Opening the Bitwarden browser extension" + }, + "somethingWentWrong": { + "message": "Something went wrong..." + }, + "openingExtensionError": { + "message": "We had trouble opening the Bitwarden browser extension. Click the button to open it now." + }, + "openExtension": { + "message": "Open extension" + }, + "doNotHaveExtension": { + "message": "Don't have the Bitwarden browser extension?" + }, + "installExtension": { + "message": "Install extension" + }, + "openedExtension": { + "message": "Opened the browser extension" + }, + "openedExtensionViewAtRiskPasswords": { + "message": "Successfully opened the Bitwarden browser extension. You can now review your at-risk passwords." + }, + "openExtensionManuallyPart1": { + "message": "We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, + "openExtensionManuallyPart2": { + "message": "from the toolbar.", + "description": "This will be used as part of a larger sentence, broken up to include the Bitwarden icon. The full sentence will read 'We had trouble opening the Bitwarden browser extension. Open the Bitwarden icon [Bitwarden Icon] from the toolbar.'" + }, "resellerRenewalWarningMsg": { "message": "Your subscription will renew soon. To ensure uninterrupted service, contact $RESELLER$ to confirm your renewal before $RENEWAL_DATE$.", "placeholders": { From 1d0422788484a828abe0da42c2c353b6a1f2a796 Mon Sep 17 00:00:00 2001 From: cd-bitwarden <106776772+cd-bitwarden@users.noreply.github.com> Date: Fri, 21 Feb 2025 08:45:30 -0500 Subject: [PATCH 09/20] [PM-12985] - Updating reports to use new modal for view/edit cipher (#12383) * Updating reports to use new modal for view/edit cipher * updating the location of the DefaultCipherFormCOnfigService * Test fixes * test fixes * Adding back useful code and trying to fix inactive-two-factor-report.component.spec.ts issue * suggested changes * trying to fix tests * test fix * fixing reports * Fix import path * Remove unnecessary change * Revert "Remove unnecessary change" This reverts commit 9a19dc99ed475d960b06417b7b0b4fe7e6f1162e. * PM-16995- Provide missing CipherFormConfigService * after merge fixes * more fixes * WIP * wip: fix for exposed passwords * WIP * fixing tests * removing uneeded change * lint fixes * lint fix * fixing admin console permissions * merge fix --------- Co-authored-by: --global <> Co-authored-by: Daniel James Smith Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com> Co-authored-by: Andreas Coroiu --- .../reports/pages/cipher-report.component.ts | 115 ++++++++++++------ ...exposed-passwords-report.component.spec.ts | 20 ++- .../exposed-passwords-report.component.ts | 14 ++- ...active-two-factor-report.component.spec.ts | 20 ++- .../inactive-two-factor-report.component.ts | 14 ++- .../exposed-passwords-report.component.ts | 25 +++- .../inactive-two-factor-report.component.ts | 25 +++- .../reused-passwords-report.component.ts | 25 +++- .../unsecured-websites-report.component.ts | 25 +++- .../weak-passwords-report.component.ts | 25 +++- .../reused-passwords-report.component.spec.ts | 20 ++- .../reused-passwords-report.component.ts | 14 ++- ...nsecured-websites-report.component.spec.ts | 22 +++- .../unsecured-websites-report.component.ts | 14 ++- .../weak-passwords-report.component.spec.ts | 21 +++- .../pages/weak-passwords-report.component.ts | 15 ++- .../src/app/tools/reports/reports.module.ts | 14 +++ .../vault-item-dialog.component.ts | 4 +- .../attachments-v2.component.ts | 2 +- 19 files changed, 332 insertions(+), 102 deletions(-) diff --git a/apps/web/src/app/tools/reports/pages/cipher-report.component.ts b/apps/web/src/app/tools/reports/pages/cipher-report.component.ts index 792563c4fab..8f6abec46bb 100644 --- a/apps/web/src/app/tools/reports/pages/cipher-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/cipher-report.component.ts @@ -1,24 +1,40 @@ // FIXME: Update this file to be type safe and remove this and next line // @ts-strict-ignore +import { DialogRef } from "@angular/cdk/dialog"; import { Directive, ViewChild, ViewContainerRef, OnDestroy } from "@angular/core"; -import { BehaviorSubject, Observable, Subject, firstValueFrom, switchMap, takeUntil } from "rxjs"; +import { + BehaviorSubject, + lastValueFrom, + Observable, + Subject, + firstValueFrom, + switchMap, + takeUntil, +} from "rxjs"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { Organization } from "@bitwarden/common/admin-console/models/domain/organization"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { getUserId } from "@bitwarden/common/auth/services/account.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; -import { OrganizationId } from "@bitwarden/common/types/guid"; +import { CipherId, CollectionId, OrganizationId } from "@bitwarden/common/types/guid"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { TableDataSource } from "@bitwarden/components"; -import { PasswordRepromptService } from "@bitwarden/vault"; - -import { AddEditComponent } from "../../../vault/individual-vault/add-edit.component"; -import { AddEditComponent as OrgAddEditComponent } from "../../../vault/org-vault/add-edit.component"; +import { TableDataSource, DialogService } from "@bitwarden/components"; +import { + CipherFormConfig, + CipherFormConfigService, + PasswordRepromptService, +} from "@bitwarden/vault"; + +import { + VaultItemDialogComponent, + VaultItemDialogMode, + VaultItemDialogResult, +} from "../../../vault/components/vault-item-dialog/vault-item-dialog.component"; +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; @Directive() export class CipherReportComponent implements OnDestroy { @@ -41,15 +57,18 @@ export class CipherReportComponent implements OnDestroy { currentFilterStatus: number | string; protected filterOrgStatus$ = new BehaviorSubject(0); private destroyed$: Subject = new Subject(); + private vaultItemDialogRef?: DialogRef | undefined; constructor( protected cipherService: CipherService, - private modalService: ModalService, + private dialogService: DialogService, protected passwordRepromptService: PasswordRepromptService, protected organizationService: OrganizationService, protected accountService: AccountService, protected i18nService: I18nService, private syncService: SyncService, + private cipherFormConfigService: CipherFormConfigService, + private adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { this.organizations$ = this.accountService.activeAccount$.pipe( getUserId, @@ -134,43 +153,63 @@ export class CipherReportComponent implements OnDestroy { this.loading = false; this.hasLoaded = true; } - async selectCipher(cipher: CipherView) { if (!(await this.repromptCipher(cipher))) { return; } - const type = this.organization != null ? OrgAddEditComponent : AddEditComponent; + if (this.organization) { + const adminCipherFormConfig = await this.adminConsoleCipherFormConfigService.buildConfig( + "edit", + cipher.id as CipherId, + cipher.type, + ); - const [modal, childComponent] = await this.modalService.openViewRef( - type, - this.cipherAddEditModalRef, - (comp: OrgAddEditComponent | AddEditComponent) => { - if (this.organization != null) { - (comp as OrgAddEditComponent).organization = this.organization; - comp.organizationId = this.organization.id; - } + await this.openVaultItemDialog("view", adminCipherFormConfig, cipher); + } else { + const cipherFormConfig = await this.cipherFormConfigService.buildConfig( + "edit", + cipher.id as CipherId, + cipher.type, + ); + await this.openVaultItemDialog("view", cipherFormConfig, cipher); + } + } - comp.cipherId = cipher == null ? null : cipher.id; - // eslint-disable-next-line rxjs/no-async-subscribe - comp.onSavedCipher.subscribe(async () => { - modal.close(); - await this.load(); - }); - // eslint-disable-next-line rxjs/no-async-subscribe - comp.onDeletedCipher.subscribe(async () => { - modal.close(); - await this.load(); - }); - // eslint-disable-next-line rxjs/no-async-subscribe - comp.onRestoredCipher.subscribe(async () => { - modal.close(); - await this.load(); - }); - }, - ); + /** + * Open the combined view / edit dialog for a cipher. + * @param mode - Starting mode of the dialog. + * @param formConfig - Configuration for the form when editing/adding a cipher. + * @param activeCollectionId - The active collection ID. + */ + async openVaultItemDialog( + mode: VaultItemDialogMode, + formConfig: CipherFormConfig, + cipher: CipherView, + activeCollectionId?: CollectionId, + ) { + const disableForm = cipher ? !cipher.edit && !this.organization.canEditAllCiphers : false; - return childComponent; + this.vaultItemDialogRef = VaultItemDialogComponent.open(this.dialogService, { + mode, + formConfig, + activeCollectionId, + disableForm, + }); + + const result = await lastValueFrom(this.vaultItemDialogRef.closed); + this.vaultItemDialogRef = undefined; + + // When the dialog is closed for a premium upgrade, return early as the user + // should be navigated to the subscription settings elsewhere + if (result === VaultItemDialogResult.PremiumUpgrade) { + return; + } + + // If the dialog was closed by deleting the cipher, refresh the report. + if (result === VaultItemDialogResult.Deleted || result === VaultItemDialogResult.Saved) { + await this.load(); + } } protected async setCiphers() { diff --git a/apps/web/src/app/tools/reports/pages/exposed-passwords-report.component.spec.ts b/apps/web/src/app/tools/reports/pages/exposed-passwords-report.component.spec.ts index 47e4a9d3652..23bee585219 100644 --- a/apps/web/src/app/tools/reports/pages/exposed-passwords-report.component.spec.ts +++ b/apps/web/src/app/tools/reports/pages/exposed-passwords-report.component.spec.ts @@ -4,7 +4,6 @@ import { mock, MockProxy } from "jest-mock-extended"; import { of } from "rxjs"; import { I18nPipe } from "@bitwarden/angular/platform/pipes/i18n.pipe"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; @@ -14,7 +13,10 @@ import { FakeAccountService, mockAccountServiceWith } from "@bitwarden/common/sp import { UserId } from "@bitwarden/common/types/guid"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; + +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { ExposedPasswordsReportComponent } from "./exposed-passwords-report.component"; import { cipherData } from "./reports-ciphers.mock"; @@ -25,10 +27,12 @@ describe("ExposedPasswordsReportComponent", () => { let auditService: MockProxy; let organizationService: MockProxy; let syncServiceMock: MockProxy; + let adminConsoleCipherFormConfigServiceMock: MockProxy; const userId = Utils.newGuid() as UserId; const accountService: FakeAccountService = mockAccountServiceWith(userId); beforeEach(() => { + let cipherFormConfigServiceMock: MockProxy; syncServiceMock = mock(); auditService = mock(); organizationService = mock(); @@ -55,8 +59,8 @@ describe("ExposedPasswordsReportComponent", () => { useValue: accountService, }, { - provide: ModalService, - useValue: mock(), + provide: DialogService, + useValue: mock(), }, { provide: PasswordRepromptService, @@ -70,6 +74,14 @@ describe("ExposedPasswordsReportComponent", () => { provide: I18nService, useValue: mock(), }, + { + provide: CipherFormConfigService, + useValue: cipherFormConfigServiceMock, + }, + { + provide: AdminConsoleCipherFormConfigService, + useValue: adminConsoleCipherFormConfigServiceMock, + }, ], schemas: [], }).compileComponents(); diff --git a/apps/web/src/app/tools/reports/pages/exposed-passwords-report.component.ts b/apps/web/src/app/tools/reports/pages/exposed-passwords-report.component.ts index 1a0d4043b74..900ff3703f0 100644 --- a/apps/web/src/app/tools/reports/pages/exposed-passwords-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/exposed-passwords-report.component.ts @@ -1,6 +1,5 @@ import { Component, OnInit } from "@angular/core"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; @@ -9,7 +8,10 @@ import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.servi import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { CipherType } from "@bitwarden/common/vault/enums"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; + +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { CipherReportComponent } from "./cipher-report.component"; @@ -26,20 +28,24 @@ export class ExposedPasswordsReportComponent extends CipherReportComponent imple protected cipherService: CipherService, protected auditService: AuditService, protected organizationService: OrganizationService, + dialogService: DialogService, accountService: AccountService, - modalService: ModalService, passwordRepromptService: PasswordRepromptService, i18nService: I18nService, syncService: SyncService, + cipherFormConfigService: CipherFormConfigService, + adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { super( cipherService, - modalService, + dialogService, passwordRepromptService, organizationService, accountService, i18nService, syncService, + cipherFormConfigService, + adminConsoleCipherFormConfigService, ); } diff --git a/apps/web/src/app/tools/reports/pages/inactive-two-factor-report.component.spec.ts b/apps/web/src/app/tools/reports/pages/inactive-two-factor-report.component.spec.ts index 033b88ea34f..da2395ef1b3 100644 --- a/apps/web/src/app/tools/reports/pages/inactive-two-factor-report.component.spec.ts +++ b/apps/web/src/app/tools/reports/pages/inactive-two-factor-report.component.spec.ts @@ -4,7 +4,6 @@ import { MockProxy, mock } from "jest-mock-extended"; import { of } from "rxjs"; import { I18nPipe } from "@bitwarden/angular/platform/pipes/i18n.pipe"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -14,7 +13,10 @@ import { FakeAccountService, mockAccountServiceWith } from "@bitwarden/common/sp import { UserId } from "@bitwarden/common/types/guid"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; + +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { InactiveTwoFactorReportComponent } from "./inactive-two-factor-report.component"; import { cipherData } from "./reports-ciphers.mock"; @@ -24,10 +26,12 @@ describe("InactiveTwoFactorReportComponent", () => { let fixture: ComponentFixture; let organizationService: MockProxy; let syncServiceMock: MockProxy; + let adminConsoleCipherFormConfigServiceMock: MockProxy; const userId = Utils.newGuid() as UserId; const accountService: FakeAccountService = mockAccountServiceWith(userId); beforeEach(() => { + let cipherFormConfigServiceMock: MockProxy; organizationService = mock(); organizationService.organizations$.mockReturnValue(of([])); syncServiceMock = mock(); @@ -49,8 +53,8 @@ describe("InactiveTwoFactorReportComponent", () => { useValue: accountService, }, { - provide: ModalService, - useValue: mock(), + provide: DialogService, + useValue: mock(), }, { provide: LogService, @@ -68,6 +72,14 @@ describe("InactiveTwoFactorReportComponent", () => { provide: I18nService, useValue: mock(), }, + { + provide: CipherFormConfigService, + useValue: cipherFormConfigServiceMock, + }, + { + provide: AdminConsoleCipherFormConfigService, + useValue: adminConsoleCipherFormConfigServiceMock, + }, ], schemas: [], }).compileComponents(); diff --git a/apps/web/src/app/tools/reports/pages/inactive-two-factor-report.component.ts b/apps/web/src/app/tools/reports/pages/inactive-two-factor-report.component.ts index 52c52041c9d..819be73b8be 100644 --- a/apps/web/src/app/tools/reports/pages/inactive-two-factor-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/inactive-two-factor-report.component.ts @@ -2,7 +2,6 @@ // @ts-strict-ignore import { Component, OnInit } from "@angular/core"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -12,7 +11,10 @@ import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.servi import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { CipherType } from "@bitwarden/common/vault/enums"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; + +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { CipherReportComponent } from "./cipher-report.component"; @@ -28,21 +30,25 @@ export class InactiveTwoFactorReportComponent extends CipherReportComponent impl constructor( protected cipherService: CipherService, protected organizationService: OrganizationService, + dialogService: DialogService, accountService: AccountService, - modalService: ModalService, private logService: LogService, passwordRepromptService: PasswordRepromptService, i18nService: I18nService, syncService: SyncService, + cipherFormConfigService: CipherFormConfigService, + adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { super( cipherService, - modalService, + dialogService, passwordRepromptService, organizationService, accountService, i18nService, syncService, + cipherFormConfigService, + adminConsoleCipherFormConfigService, ); } diff --git a/apps/web/src/app/tools/reports/pages/organizations/exposed-passwords-report.component.ts b/apps/web/src/app/tools/reports/pages/organizations/exposed-passwords-report.component.ts index 7658da2e793..4f523dbf7ba 100644 --- a/apps/web/src/app/tools/reports/pages/organizations/exposed-passwords-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/organizations/exposed-passwords-report.component.ts @@ -4,7 +4,6 @@ import { Component, OnInit } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { firstValueFrom } from "rxjs"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; import { getOrganizationById, @@ -17,13 +16,27 @@ import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.servi import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { PasswordRepromptService, CipherFormConfigService } from "@bitwarden/vault"; +// eslint-disable-next-line no-restricted-imports +import { RoutedVaultFilterBridgeService } from "../../../../vault/individual-vault/vault-filter/services/routed-vault-filter-bridge.service"; +import { RoutedVaultFilterService } from "../../../../vault/individual-vault/vault-filter/services/routed-vault-filter.service"; +import { AdminConsoleCipherFormConfigService } from "../../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { ExposedPasswordsReportComponent as BaseExposedPasswordsReportComponent } from "../exposed-passwords-report.component"; @Component({ selector: "app-org-exposed-passwords-report", templateUrl: "../exposed-passwords-report.component.html", + providers: [ + { + provide: CipherFormConfigService, + useClass: AdminConsoleCipherFormConfigService, + }, + AdminConsoleCipherFormConfigService, + RoutedVaultFilterService, + RoutedVaultFilterBridgeService, + ], }) // eslint-disable-next-line rxjs-angular/prefer-takeuntil export class ExposedPasswordsReportComponent @@ -35,23 +48,27 @@ export class ExposedPasswordsReportComponent constructor( cipherService: CipherService, auditService: AuditService, - modalService: ModalService, + dialogService: DialogService, organizationService: OrganizationService, protected accountService: AccountService, private route: ActivatedRoute, passwordRepromptService: PasswordRepromptService, i18nService: I18nService, syncService: SyncService, + cipherFormService: CipherFormConfigService, + adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { super( cipherService, auditService, organizationService, + dialogService, accountService, - modalService, passwordRepromptService, i18nService, syncService, + cipherFormService, + adminConsoleCipherFormConfigService, ); } diff --git a/apps/web/src/app/tools/reports/pages/organizations/inactive-two-factor-report.component.ts b/apps/web/src/app/tools/reports/pages/organizations/inactive-two-factor-report.component.ts index 8db0389108e..8a2fc333c64 100644 --- a/apps/web/src/app/tools/reports/pages/organizations/inactive-two-factor-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/organizations/inactive-two-factor-report.component.ts @@ -4,7 +4,6 @@ import { Component, OnInit } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { firstValueFrom, map } from "rxjs"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { getOrganizationById, OrganizationService, @@ -15,13 +14,27 @@ import { LogService } from "@bitwarden/common/platform/abstractions/log.service" import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; +// eslint-disable-next-line no-restricted-imports +import { RoutedVaultFilterBridgeService } from "../../../../vault/individual-vault/vault-filter/services/routed-vault-filter-bridge.service"; +import { RoutedVaultFilterService } from "../../../../vault/individual-vault/vault-filter/services/routed-vault-filter.service"; +import { AdminConsoleCipherFormConfigService } from "../../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { InactiveTwoFactorReportComponent as BaseInactiveTwoFactorReportComponent } from "../inactive-two-factor-report.component"; @Component({ selector: "app-inactive-two-factor-report", templateUrl: "../inactive-two-factor-report.component.html", + providers: [ + { + provide: CipherFormConfigService, + useClass: AdminConsoleCipherFormConfigService, + }, + AdminConsoleCipherFormConfigService, + RoutedVaultFilterService, + RoutedVaultFilterBridgeService, + ], }) // eslint-disable-next-line rxjs-angular/prefer-takeuntil export class InactiveTwoFactorReportComponent @@ -30,7 +43,7 @@ export class InactiveTwoFactorReportComponent { constructor( cipherService: CipherService, - modalService: ModalService, + dialogService: DialogService, private route: ActivatedRoute, logService: LogService, passwordRepromptService: PasswordRepromptService, @@ -38,16 +51,20 @@ export class InactiveTwoFactorReportComponent accountService: AccountService, i18nService: I18nService, syncService: SyncService, + cipherFormConfigService: CipherFormConfigService, + adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { super( cipherService, organizationService, + dialogService, accountService, - modalService, logService, passwordRepromptService, i18nService, syncService, + cipherFormConfigService, + adminConsoleCipherFormConfigService, ); } diff --git a/apps/web/src/app/tools/reports/pages/organizations/reused-passwords-report.component.ts b/apps/web/src/app/tools/reports/pages/organizations/reused-passwords-report.component.ts index a15078d48f4..1e2f5225d59 100644 --- a/apps/web/src/app/tools/reports/pages/organizations/reused-passwords-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/organizations/reused-passwords-report.component.ts @@ -4,7 +4,6 @@ import { Component, OnInit } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { firstValueFrom } from "rxjs"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { getOrganizationById, OrganizationService, @@ -16,13 +15,27 @@ import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.servi import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; +// eslint-disable-next-line no-restricted-imports +import { RoutedVaultFilterBridgeService } from "../../../../vault/individual-vault/vault-filter/services/routed-vault-filter-bridge.service"; +import { RoutedVaultFilterService } from "../../../../vault/individual-vault/vault-filter/services/routed-vault-filter.service"; +import { AdminConsoleCipherFormConfigService } from "../../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { ReusedPasswordsReportComponent as BaseReusedPasswordsReportComponent } from "../reused-passwords-report.component"; @Component({ selector: "app-reused-passwords-report", templateUrl: "../reused-passwords-report.component.html", + providers: [ + { + provide: CipherFormConfigService, + useClass: AdminConsoleCipherFormConfigService, + }, + AdminConsoleCipherFormConfigService, + RoutedVaultFilterService, + RoutedVaultFilterBridgeService, + ], }) // eslint-disable-next-line rxjs-angular/prefer-takeuntil export class ReusedPasswordsReportComponent @@ -33,22 +46,26 @@ export class ReusedPasswordsReportComponent constructor( cipherService: CipherService, - modalService: ModalService, + dialogService: DialogService, private route: ActivatedRoute, organizationService: OrganizationService, protected accountService: AccountService, passwordRepromptService: PasswordRepromptService, i18nService: I18nService, syncService: SyncService, + cipherFormConfigService: CipherFormConfigService, + adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { super( cipherService, organizationService, + dialogService, accountService, - modalService, passwordRepromptService, i18nService, syncService, + cipherFormConfigService, + adminConsoleCipherFormConfigService, ); } diff --git a/apps/web/src/app/tools/reports/pages/organizations/unsecured-websites-report.component.ts b/apps/web/src/app/tools/reports/pages/organizations/unsecured-websites-report.component.ts index a67116cc44c..156f3331d32 100644 --- a/apps/web/src/app/tools/reports/pages/organizations/unsecured-websites-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/organizations/unsecured-websites-report.component.ts @@ -5,7 +5,6 @@ import { ActivatedRoute } from "@angular/router"; import { firstValueFrom, map } from "rxjs"; import { CollectionService } from "@bitwarden/admin-console/common"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { getOrganizationById, OrganizationService, @@ -15,13 +14,27 @@ import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.servic import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; +// eslint-disable-next-line no-restricted-imports +import { RoutedVaultFilterBridgeService } from "../../../../vault/individual-vault/vault-filter/services/routed-vault-filter-bridge.service"; +import { RoutedVaultFilterService } from "../../../../vault/individual-vault/vault-filter/services/routed-vault-filter.service"; +import { AdminConsoleCipherFormConfigService } from "../../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { UnsecuredWebsitesReportComponent as BaseUnsecuredWebsitesReportComponent } from "../unsecured-websites-report.component"; @Component({ selector: "app-unsecured-websites-report", templateUrl: "../unsecured-websites-report.component.html", + providers: [ + { + provide: CipherFormConfigService, + useClass: AdminConsoleCipherFormConfigService, + }, + AdminConsoleCipherFormConfigService, + RoutedVaultFilterService, + RoutedVaultFilterBridgeService, + ], }) // eslint-disable-next-line rxjs-angular/prefer-takeuntil export class UnsecuredWebsitesReportComponent @@ -30,7 +43,7 @@ export class UnsecuredWebsitesReportComponent { constructor( cipherService: CipherService, - modalService: ModalService, + dialogService: DialogService, private route: ActivatedRoute, organizationService: OrganizationService, protected accountService: AccountService, @@ -38,16 +51,20 @@ export class UnsecuredWebsitesReportComponent i18nService: I18nService, syncService: SyncService, collectionService: CollectionService, + cipherFormConfigService: CipherFormConfigService, + adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { super( cipherService, organizationService, + dialogService, accountService, - modalService, passwordRepromptService, i18nService, syncService, collectionService, + cipherFormConfigService, + adminConsoleCipherFormConfigService, ); } diff --git a/apps/web/src/app/tools/reports/pages/organizations/weak-passwords-report.component.ts b/apps/web/src/app/tools/reports/pages/organizations/weak-passwords-report.component.ts index a476a50e736..82abc8561fb 100644 --- a/apps/web/src/app/tools/reports/pages/organizations/weak-passwords-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/organizations/weak-passwords-report.component.ts @@ -4,7 +4,6 @@ import { Component, OnInit } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { firstValueFrom } from "rxjs"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { getOrganizationById, OrganizationService, @@ -17,13 +16,27 @@ import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.servi import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; +// eslint-disable-next-line no-restricted-imports +import { RoutedVaultFilterBridgeService } from "../../../../vault/individual-vault/vault-filter/services/routed-vault-filter-bridge.service"; +import { RoutedVaultFilterService } from "../../../../vault/individual-vault/vault-filter/services/routed-vault-filter.service"; +import { AdminConsoleCipherFormConfigService } from "../../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { WeakPasswordsReportComponent as BaseWeakPasswordsReportComponent } from "../weak-passwords-report.component"; @Component({ selector: "app-weak-passwords-report", templateUrl: "../weak-passwords-report.component.html", + providers: [ + { + provide: CipherFormConfigService, + useClass: AdminConsoleCipherFormConfigService, + }, + AdminConsoleCipherFormConfigService, + RoutedVaultFilterService, + RoutedVaultFilterBridgeService, + ], }) // eslint-disable-next-line rxjs-angular/prefer-takeuntil export class WeakPasswordsReportComponent @@ -35,23 +48,27 @@ export class WeakPasswordsReportComponent constructor( cipherService: CipherService, passwordStrengthService: PasswordStrengthServiceAbstraction, - modalService: ModalService, + dialogService: DialogService, private route: ActivatedRoute, organizationService: OrganizationService, passwordRepromptService: PasswordRepromptService, i18nService: I18nService, syncService: SyncService, + cipherFormConfigService: CipherFormConfigService, protected accountService: AccountService, + adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { super( cipherService, passwordStrengthService, organizationService, + dialogService, accountService, - modalService, passwordRepromptService, i18nService, syncService, + cipherFormConfigService, + adminConsoleCipherFormConfigService, ); } diff --git a/apps/web/src/app/tools/reports/pages/reused-passwords-report.component.spec.ts b/apps/web/src/app/tools/reports/pages/reused-passwords-report.component.spec.ts index 7c895423159..cd0e21dda9b 100644 --- a/apps/web/src/app/tools/reports/pages/reused-passwords-report.component.spec.ts +++ b/apps/web/src/app/tools/reports/pages/reused-passwords-report.component.spec.ts @@ -4,7 +4,6 @@ import { MockProxy, mock } from "jest-mock-extended"; import { of } from "rxjs"; import { I18nPipe } from "@bitwarden/angular/platform/pipes/i18n.pipe"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -13,7 +12,10 @@ import { FakeAccountService, mockAccountServiceWith } from "@bitwarden/common/sp import { UserId } from "@bitwarden/common/types/guid"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; + +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { cipherData } from "./reports-ciphers.mock"; import { ReusedPasswordsReportComponent } from "./reused-passwords-report.component"; @@ -23,10 +25,12 @@ describe("ReusedPasswordsReportComponent", () => { let fixture: ComponentFixture; let organizationService: MockProxy; let syncServiceMock: MockProxy; + let adminConsoleCipherFormConfigServiceMock: MockProxy; const userId = Utils.newGuid() as UserId; const accountService: FakeAccountService = mockAccountServiceWith(userId); beforeEach(() => { + let cipherFormConfigServiceMock: MockProxy; organizationService = mock(); organizationService.organizations$.mockReturnValue(of([])); syncServiceMock = mock(); @@ -48,8 +52,8 @@ describe("ReusedPasswordsReportComponent", () => { useValue: accountService, }, { - provide: ModalService, - useValue: mock(), + provide: DialogService, + useValue: mock(), }, { provide: PasswordRepromptService, @@ -63,6 +67,14 @@ describe("ReusedPasswordsReportComponent", () => { provide: I18nService, useValue: mock(), }, + { + provide: CipherFormConfigService, + useValue: cipherFormConfigServiceMock, + }, + { + provide: AdminConsoleCipherFormConfigService, + useValue: adminConsoleCipherFormConfigServiceMock, + }, ], schemas: [], }).compileComponents(); diff --git a/apps/web/src/app/tools/reports/pages/reused-passwords-report.component.ts b/apps/web/src/app/tools/reports/pages/reused-passwords-report.component.ts index a5c1c65560b..6d70cc23875 100644 --- a/apps/web/src/app/tools/reports/pages/reused-passwords-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/reused-passwords-report.component.ts @@ -2,7 +2,6 @@ // @ts-strict-ignore import { Component, OnInit } from "@angular/core"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -10,7 +9,10 @@ import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.servi import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { CipherType } from "@bitwarden/common/vault/enums"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; + +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { CipherReportComponent } from "./cipher-report.component"; @@ -25,20 +27,24 @@ export class ReusedPasswordsReportComponent extends CipherReportComponent implem constructor( protected cipherService: CipherService, protected organizationService: OrganizationService, + dialogService: DialogService, accountService: AccountService, - modalService: ModalService, passwordRepromptService: PasswordRepromptService, i18nService: I18nService, syncService: SyncService, + cipherFormConfigService: CipherFormConfigService, + adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { super( cipherService, - modalService, + dialogService, passwordRepromptService, organizationService, accountService, i18nService, syncService, + cipherFormConfigService, + adminConsoleCipherFormConfigService, ); } diff --git a/apps/web/src/app/tools/reports/pages/unsecured-websites-report.component.spec.ts b/apps/web/src/app/tools/reports/pages/unsecured-websites-report.component.spec.ts index 337aa41b56b..ada582dbf66 100644 --- a/apps/web/src/app/tools/reports/pages/unsecured-websites-report.component.spec.ts +++ b/apps/web/src/app/tools/reports/pages/unsecured-websites-report.component.spec.ts @@ -5,7 +5,6 @@ import { of } from "rxjs"; import { CollectionService } from "@bitwarden/admin-console/common"; import { I18nPipe } from "@bitwarden/angular/platform/pipes/i18n.pipe"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -14,7 +13,10 @@ import { FakeAccountService, mockAccountServiceWith } from "@bitwarden/common/sp import { UserId } from "@bitwarden/common/types/guid"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; + +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { cipherData } from "./reports-ciphers.mock"; import { UnsecuredWebsitesReportComponent } from "./unsecured-websites-report.component"; @@ -25,14 +27,18 @@ describe("UnsecuredWebsitesReportComponent", () => { let organizationService: MockProxy; let syncServiceMock: MockProxy; let collectionService: MockProxy; + let adminConsoleCipherFormConfigService: MockProxy; const userId = Utils.newGuid() as UserId; const accountService: FakeAccountService = mockAccountServiceWith(userId); beforeEach(() => { + let cipherFormConfigServiceMock: MockProxy; organizationService = mock(); organizationService.organizations$.mockReturnValue(of([])); syncServiceMock = mock(); collectionService = mock(); + adminConsoleCipherFormConfigService = mock(); + // FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling. // eslint-disable-next-line @typescript-eslint/no-floating-promises TestBed.configureTestingModule({ @@ -51,8 +57,8 @@ describe("UnsecuredWebsitesReportComponent", () => { useValue: accountService, }, { - provide: ModalService, - useValue: mock(), + provide: DialogService, + useValue: mock(), }, { provide: PasswordRepromptService, @@ -70,6 +76,14 @@ describe("UnsecuredWebsitesReportComponent", () => { provide: CollectionService, useValue: collectionService, }, + { + provide: CipherFormConfigService, + useValue: cipherFormConfigServiceMock, + }, + { + provide: AdminConsoleCipherFormConfigService, + useValue: adminConsoleCipherFormConfigService, + }, ], schemas: [], }).compileComponents(); diff --git a/apps/web/src/app/tools/reports/pages/unsecured-websites-report.component.ts b/apps/web/src/app/tools/reports/pages/unsecured-websites-report.component.ts index 350e5c03980..11df326766b 100644 --- a/apps/web/src/app/tools/reports/pages/unsecured-websites-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/unsecured-websites-report.component.ts @@ -1,7 +1,6 @@ import { Component, OnInit } from "@angular/core"; import { CollectionService, Collection } from "@bitwarden/admin-console/common"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -9,7 +8,10 @@ import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.servi import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { CipherType } from "@bitwarden/common/vault/enums"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; + +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { CipherReportComponent } from "./cipher-report.component"; @@ -23,21 +25,25 @@ export class UnsecuredWebsitesReportComponent extends CipherReportComponent impl constructor( protected cipherService: CipherService, protected organizationService: OrganizationService, + dialogService: DialogService, accountService: AccountService, - modalService: ModalService, passwordRepromptService: PasswordRepromptService, i18nService: I18nService, syncService: SyncService, private collectionService: CollectionService, + cipherFormConfigService: CipherFormConfigService, + adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { super( cipherService, - modalService, + dialogService, passwordRepromptService, organizationService, accountService, i18nService, syncService, + cipherFormConfigService, + adminConsoleCipherFormConfigService, ); } diff --git a/apps/web/src/app/tools/reports/pages/weak-passwords-report.component.spec.ts b/apps/web/src/app/tools/reports/pages/weak-passwords-report.component.spec.ts index 3d19511a252..739deee286a 100644 --- a/apps/web/src/app/tools/reports/pages/weak-passwords-report.component.spec.ts +++ b/apps/web/src/app/tools/reports/pages/weak-passwords-report.component.spec.ts @@ -4,7 +4,6 @@ import { mock, MockProxy } from "jest-mock-extended"; import { of } from "rxjs"; import { I18nPipe } from "@bitwarden/angular/platform/pipes/i18n.pipe"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -14,7 +13,10 @@ import { PasswordStrengthServiceAbstraction } from "@bitwarden/common/tools/pass import { UserId } from "@bitwarden/common/types/guid"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; + +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { cipherData } from "./reports-ciphers.mock"; import { WeakPasswordsReportComponent } from "./weak-passwords-report.component"; @@ -25,10 +27,12 @@ describe("WeakPasswordsReportComponent", () => { let passwordStrengthService: MockProxy; let organizationService: MockProxy; let syncServiceMock: MockProxy; + let adminConsoleCipherFormConfigServiceMock: MockProxy; const userId = Utils.newGuid() as UserId; const accountService: FakeAccountService = mockAccountServiceWith(userId); beforeEach(() => { + let cipherFormConfigServiceMock: MockProxy; syncServiceMock = mock(); passwordStrengthService = mock(); organizationService = mock(); @@ -55,8 +59,8 @@ describe("WeakPasswordsReportComponent", () => { useValue: accountService, }, { - provide: ModalService, - useValue: mock(), + provide: DialogService, + useValue: mock(), }, { provide: PasswordRepromptService, @@ -70,6 +74,15 @@ describe("WeakPasswordsReportComponent", () => { provide: I18nService, useValue: mock(), }, + { + provide: CipherFormConfigService, + useValue: cipherFormConfigServiceMock, + }, + + { + provide: AdminConsoleCipherFormConfigService, + useValue: adminConsoleCipherFormConfigServiceMock, + }, ], schemas: [], }).compileComponents(); diff --git a/apps/web/src/app/tools/reports/pages/weak-passwords-report.component.ts b/apps/web/src/app/tools/reports/pages/weak-passwords-report.component.ts index c374ecd0e4a..3c9186267ca 100644 --- a/apps/web/src/app/tools/reports/pages/weak-passwords-report.component.ts +++ b/apps/web/src/app/tools/reports/pages/weak-passwords-report.component.ts @@ -2,7 +2,6 @@ // @ts-strict-ignore import { Component, OnInit } from "@angular/core"; -import { ModalService } from "@bitwarden/angular/services/modal.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -12,8 +11,10 @@ import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.servi import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { CipherType } from "@bitwarden/common/vault/enums"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { BadgeVariant } from "@bitwarden/components"; -import { PasswordRepromptService } from "@bitwarden/vault"; +import { BadgeVariant, DialogService } from "@bitwarden/components"; +import { CipherFormConfigService, PasswordRepromptService } from "@bitwarden/vault"; + +import { AdminConsoleCipherFormConfigService } from "../../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { CipherReportComponent } from "./cipher-report.component"; @@ -33,20 +34,24 @@ export class WeakPasswordsReportComponent extends CipherReportComponent implemen protected cipherService: CipherService, protected passwordStrengthService: PasswordStrengthServiceAbstraction, protected organizationService: OrganizationService, + dialogService: DialogService, protected accountService: AccountService, - modalService: ModalService, passwordRepromptService: PasswordRepromptService, i18nService: I18nService, syncService: SyncService, + cipherFormConfigService: CipherFormConfigService, + adminConsoleCipherFormConfigService: AdminConsoleCipherFormConfigService, ) { super( cipherService, - modalService, + dialogService, passwordRepromptService, organizationService, accountService, i18nService, syncService, + cipherFormConfigService, + adminConsoleCipherFormConfigService, ); } diff --git a/apps/web/src/app/tools/reports/reports.module.ts b/apps/web/src/app/tools/reports/reports.module.ts index 10849d56d9c..358768e71ee 100644 --- a/apps/web/src/app/tools/reports/reports.module.ts +++ b/apps/web/src/app/tools/reports/reports.module.ts @@ -1,10 +1,15 @@ import { CommonModule } from "@angular/common"; import { NgModule } from "@angular/core"; +import { CipherFormConfigService, DefaultCipherFormConfigService } from "@bitwarden/vault"; + import { HeaderModule } from "../../layouts/header/header.module"; import { SharedModule } from "../../shared"; import { OrganizationBadgeModule } from "../../vault/individual-vault/organization-badge/organization-badge.module"; import { PipesModule } from "../../vault/individual-vault/pipes/pipes.module"; +import { RoutedVaultFilterBridgeService } from "../../vault/individual-vault/vault-filter/services/routed-vault-filter-bridge.service"; +import { RoutedVaultFilterService } from "../../vault/individual-vault/vault-filter/services/routed-vault-filter.service"; +import { AdminConsoleCipherFormConfigService } from "../../vault/org-vault/services/admin-console-cipher-form-config.service"; import { BreachReportComponent } from "./pages/breach-report.component"; import { ExposedPasswordsReportComponent } from "./pages/exposed-passwords-report.component"; @@ -37,5 +42,14 @@ import { ReportsSharedModule } from "./shared"; UnsecuredWebsitesReportComponent, WeakPasswordsReportComponent, ], + providers: [ + { + provide: CipherFormConfigService, + useClass: DefaultCipherFormConfigService, + }, + RoutedVaultFilterService, + AdminConsoleCipherFormConfigService, + RoutedVaultFilterBridgeService, + ], }) export class ReportsModule {} diff --git a/apps/web/src/app/vault/components/vault-item-dialog/vault-item-dialog.component.ts b/apps/web/src/app/vault/components/vault-item-dialog/vault-item-dialog.component.ts index 3dc3b8f9f84..59275eb4e7c 100644 --- a/apps/web/src/app/vault/components/vault-item-dialog/vault-item-dialog.component.ts +++ b/apps/web/src/app/vault/components/vault-item-dialog/vault-item-dialog.component.ts @@ -90,7 +90,7 @@ export interface VaultItemDialogParams { /** * Function to restore a cipher from the trash. */ - restore: (c: CipherView) => Promise; + restore?: (c: CipherView) => Promise; } export enum VaultItemDialogResult { @@ -387,7 +387,7 @@ export class VaultItemDialogComponent implements OnInit, OnDestroy { } restore = async () => { - await this.params.restore(this.cipher); + await this.params.restore?.(this.cipher); this.dialogRef.close(VaultItemDialogResult.Restored); }; diff --git a/apps/web/src/app/vault/individual-vault/attachments-v2.component.ts b/apps/web/src/app/vault/individual-vault/attachments-v2.component.ts index 68bceb55985..81f14d5aa25 100644 --- a/apps/web/src/app/vault/individual-vault/attachments-v2.component.ts +++ b/apps/web/src/app/vault/individual-vault/attachments-v2.component.ts @@ -8,7 +8,7 @@ import { CipherId } from "@bitwarden/common/types/guid"; import { DialogService } from "@bitwarden/components"; import { CipherAttachmentsComponent } from "@bitwarden/vault"; -import { SharedModule } from "../../shared"; +import { SharedModule } from "../../shared/shared.module"; export interface AttachmentsDialogParams { cipherId: CipherId; From 1587f84a5cca7eb0c00b00adc7226c2cf12791c2 Mon Sep 17 00:00:00 2001 From: Oscar Hinton Date: Fri, 21 Feb 2025 14:52:01 +0100 Subject: [PATCH 10/20] [PM-17494] Minimum effort removal of bootstrap from filters (#12995) Minimum effort migration of the filters to not depend on bootstrap. This migrates the card to tailwind but keeps most of the custom css as it's not strictly required to be migrated. --- .../src/app/tools/send/send.component.html | 11 ++- .../components/vault-filter.component.html | 13 ++-- apps/web/src/scss/vault-filters.scss | 73 ++++++------------- 3 files changed, 39 insertions(+), 58 deletions(-) diff --git a/apps/web/src/app/tools/send/send.component.html b/apps/web/src/app/tools/send/send.component.html index 5a88f45cdc6..7aab50b33e5 100644 --- a/apps/web/src/app/tools/send/send.component.html +++ b/apps/web/src/app/tools/send/send.component.html @@ -22,12 +22,15 @@ {{ "sendDisabledWarning" | i18n }}
-
-
-
+
+
+
{{ "filters" | i18n }}
-
+
-
+
+
-
+
{{ "filters" | i18n }}
-
+
.show-active, + > div .show-active { + display: inline; } - - .card-body a { + } + li.active { + > button:first-of-type, + > div button:first-of-type { @include themify($themes) { - color: themed("textHeadingColor"); - font-weight: themed("linkWeight"); - } - } - .show-active { - display: none; - } - li.active { - > .show-active, - > div .show-active { - display: inline; + color: themed("linkColor"); } } - li.active { - > button:first-of-type, - > div button:first-of-type { - @include themify($themes) { - color: themed("linkColor"); - } - } - > .bwi, - > div > .bwi { - @include themify($themes) { - color: themed("linkColor"); - } + > .bwi, + > div > .bwi { + @include themify($themes) { + color: themed("linkColor"); } } } From b86e587507e083a05abf5e0a7085dcf19dd5ad41 Mon Sep 17 00:00:00 2001 From: tangowithfoxtrot <5676771+tangowithfoxtrot@users.noreply.github.com> Date: Fri, 21 Feb 2025 07:44:24 -0800 Subject: [PATCH 11/20] Fix falling back to `data.json` when keyring is available (#12760) * fix: fallback to data.json on Linux * fix: make keyring prompt more consistent for reads+writes, but less assertive when we delete credentials * fix: explicitly ignore unused return value --- .../desktop_native/core/src/password/unix.rs | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/apps/desktop/desktop_native/core/src/password/unix.rs b/apps/desktop/desktop_native/core/src/password/unix.rs index c02ef619624..a40f4d8ed43 100644 --- a/apps/desktop/desktop_native/core/src/password/unix.rs +++ b/apps/desktop/desktop_native/core/src/password/unix.rs @@ -11,6 +11,7 @@ pub async fn get_password(service: &str, account: &str) -> Result { async fn get_password_new(service: &str, account: &str) -> Result { let keyring = oo7::Keyring::new().await?; + let _ = try_prompt(&keyring).await; let attributes = HashMap::from([("service", service), ("account", account)]); let results = keyring.search_items(&attributes).await?; let res = results.first(); @@ -29,6 +30,7 @@ async fn get_password_legacy(service: &str, account: &str) -> Result { let svc = dbus::Service::new().await?; let collection = svc.default_collection().await?; let keyring = oo7::Keyring::DBus(collection); + let _ = try_prompt(&keyring).await; let attributes = HashMap::from([("service", service), ("account", account)]); let results = keyring.search_items(&attributes).await?; let res = results.first(); @@ -50,6 +52,7 @@ async fn get_password_legacy(service: &str, account: &str) -> Result { pub async fn set_password(service: &str, account: &str, password: &str) -> Result<()> { let keyring = oo7::Keyring::new().await?; + let _ = try_prompt(&keyring).await; let attributes = HashMap::from([("service", service), ("account", account)]); keyring .create_item( @@ -62,13 +65,62 @@ pub async fn set_password(service: &str, account: &str, password: &str) -> Resul Ok(()) } +/// Remove a credential from the OS keyring. This function will *not* automatically +/// prompt the user to unlock their keyring. If the keyring is locked when this +/// is called, it will fail silently. pub async fn delete_password(service: &str, account: &str) -> Result<()> { + // We need to silently fail in the event that the user's keyring was + // locked while our application was in-use. Otherwise, when we + // force a de-auth because we can't access keys in secure storage, + // kwallet will notify the user that an application is "misbehaving". This + // seems to happen because we call [delete_password] many times when a forced + // de-auth occurs to clean up old keys. + if is_locked().await? { + println!("skipping deletion of old keys. OS keyring is locked."); + return Ok(()); + } + let keyring = oo7::Keyring::new().await?; let attributes = HashMap::from([("service", service), ("account", account)]); keyring.delete(&attributes).await?; Ok(()) } +/// Sends an OS notification prompt for the user to unlock/allow the application +/// to read and write keys. +async fn try_prompt(keyring: &oo7::Keyring) -> bool { + keyring.unlock().await.is_ok() +} + +/// Keyrings on Linux cannnot be assumed to be unlocked while the user is +/// logged in to a desktop session. Therefore, before reading or writing +/// keys, you should check if the keyring is unlocked, and call +/// [try_prompt] if ignoring the lock state is not an option. +pub async fn is_locked() -> Result { + let keyring = oo7::Keyring::new().await?; + + // No simple way to check keyring lock state, so we just try to list items + let items = keyring.items().await?; + if let Some(item) = items.first() { + return match item.is_locked().await { + Ok(is_locked) => { + println!("OS keyring is locked = {is_locked}"); + Ok(is_locked) + } + Err(_) => { + println!("OS keyring is unlocked"); + Ok(false) + } + }; + } + + // assume it's locked + Ok(true) +} + +/// This will return true if a keyring is configured. However, on Linux, it does +/// NOT indicate if the keyring is _unlocked_. Use [is_locked] to check +/// the lock state before reading or writing keys. pub async fn is_available() -> Result { match oo7::Keyring::new().await { Ok(_) => Ok(true), From 9228df4e2889fb9c7aaf34a5880d04d5cfbcef59 Mon Sep 17 00:00:00 2001 From: Oscar Hinton Date: Fri, 21 Feb 2025 16:56:05 +0100 Subject: [PATCH 12/20] Remove unused CSS from browser (#13453) Cleanup browser CSS by removing unused rules. There are probably more unused CSS rules but it's not trivial to audit and we will probably remove them as part of the auth redesign. --- apps/browser/src/popup/scss/base.scss | 182 ---------- apps/browser/src/popup/scss/box.scss | 164 --------- apps/browser/src/popup/scss/environment.scss | 44 --- apps/browser/src/popup/scss/misc.scss | 9 - apps/browser/src/popup/scss/modal.scss | 356 ------------------- apps/browser/src/popup/scss/pages.scss | 245 ------------- apps/browser/src/popup/scss/popup.scss | 1 - 7 files changed, 1001 deletions(-) delete mode 100644 apps/browser/src/popup/scss/modal.scss diff --git a/apps/browser/src/popup/scss/base.scss b/apps/browser/src/popup/scss/base.scss index 554396fa038..bfa037eea23 100644 --- a/apps/browser/src/popup/scss/base.scss +++ b/apps/browser/src/popup/scss/base.scss @@ -356,86 +356,10 @@ header:not(bit-callout header, bit-dialog header, popup-page header) { } } -.no-bg { - background-color: transparent; -} - -.no-pad { - padding: 0 !important; -} - .content { padding: 15px 5px; } -.tabs { - width: 100%; - height: 55px; - border-top: 1px solid #000000; - position: absolute; - bottom: 0; - left: 0; - right: 0; - overflow: hidden; - - @include themify($themes) { - background-color: themed("tabBackgroundColor"); - border-top-color: themed("borderColor"); - } - - ul { - display: flex; - list-style: none; - padding: 0; - margin: 0; - - li { - flex: 1; - display: inline-block; - padding: 0; - margin: 0; - - a, - button { - text-align: center; - display: block; - padding: 7px 0; - text-decoration: none; - font-size: 12px; - overflow: hidden; - text-overflow: ellipsis; - width: 100%; - - @include themify($themes) { - color: themed("mutedColor"); - } - - &:hover, - &:focus { - @include themify($themes) { - background-color: themed("tabBackgroundHoverColor"); - } - } - - i { - display: block; - margin-bottom: 2px; - text-align: center; - } - } - - &.active { - a, - button { - @include themify($themes) { - color: themed("primaryColor"); - } - } - } - } - } -} - app-root { position: absolute; width: 100%; @@ -475,16 +399,6 @@ main:not(popup-page main) { display: flex; flex-flow: column; height: calc(100% - 44px); - - &.tab-page { - height: calc(100% - 99px); - } - } -} - -.tab-page { - main { - bottom: 55px; } } @@ -534,102 +448,6 @@ main:not(popup-page main) { width: 100%; } -.org-filter-content { - padding-bottom: 5px; - padding-left: 7px; - .org-filter { - @include themify($themes) { - background-color: themed("buttonBackgroundColor"); - } - border-radius: $border-radius; - padding: 6px 10px; - width: auto; - max-width: 100%; - display: flex; - align-items: center; - justify-content: space-between; - .org-filter-text-container { - // src: https://css-tricks.com/snippets/css/truncate-string-with-ellipsis/ - display: flex; - flex: 1; - min-width: 0; - - .org-filter-text-name { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - } - } -} -.vault-select { - overflow-y: auto; - display: flex; - flex-direction: column; - - @include themify($themes) { - background-color: themed("boxBackgroundColor"); - } - margin-right: 18px; - margin-top: 1px; - @include themify($themes) { - border: 1px solid themed("borderColor"); - } - border-radius: $border-radius; - button { - border: none; - background: transparent; - width: auto; - max-width: 100%; - - padding: 5px 10px; - text-align: start; - @include themify($themes) { - color: themed("textColor"); - } - - a { - @include themify($themes) { - color: themed("textColor"); - } - } - - &:hover { - @include themify($themes) { - background-color: themed("boxBackgroundHoverColor"); - } - } - - i.vault-select-prefix-icon { - margin-right: 5px; - } - i.vault-select-suffix-icon { - margin-left: 5px; - } - - .vault-select-org-text-container { - display: flex; - flex: 1; - min-width: 0; - align-items: center; - .vault-select-org-name { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - } - } - .border { - @include themify($themes) { - background: themed("borderColor"); - } - left: 10px; - width: calc(100% - 20px); - height: 1px; - position: relative; - } -} - .login-with-device { .fingerprint-phrase-header { padding-top: 1rem; diff --git a/apps/browser/src/popup/scss/box.scss b/apps/browser/src/popup/scss/box.scss index 179673279e6..1e053f6b9da 100644 --- a/apps/browser/src/popup/scss/box.scss +++ b/apps/browser/src/popup/scss/box.scss @@ -18,39 +18,6 @@ } } - .box-header-expandable { - padding: 10px 5px; - margin: 0 5px; - text-transform: uppercase; - display: flex; - width: calc(100% - 10px); - box-sizing: border-box; - align-items: center; - border-radius: $border-radius; - - @include themify($themes) { - color: themed("headingColor"); - } - - &:hover, - &:focus-visible, - &.active { - @include themify($themes) { - background-color: themed("boxBackgroundHoverColor"); - } - } - - .icon { - display: flex; - align-items: center; - margin-right: 5px; - - @include themify($themes) { - color: themed("headingColor"); - } - } - } - .box-content { @include themify($themes) { background-color: themed("backgroundColor"); @@ -200,35 +167,6 @@ } } } - - &.only-list { - margin-bottom: 0; - - .box-content { - border-bottom: none; - } - } - - &.full-list { - margin: 0; - - .box-content { - border: none; - } - } -} - -.stacked-boxes { - display: flex; - flex-direction: column; -} - -.box-section-divider { - border-top: 1px solid #000000; - - @include themify($themes) { - border-color: themed("borderColor"); - } } .box-content-row { @@ -243,10 +181,6 @@ background-color: themed("boxBackgroundColor"); } - &.no-bg { - background-color: rgba(0, 0, 0, 0) !important; - } - &:last-child { &:before { border: none; @@ -599,15 +533,6 @@ } } - .row-sub-label { - margin: 0 15px; - white-space: nowrap; - - @include themify($themes) { - color: themed("mutedColor"); - } - } - .icon { display: flex; justify-content: center; @@ -630,68 +555,6 @@ } } - &.totp { - .totp-code { - font-family: $font-family-monospace; - font-size: 1.1em; - } - - .totp-countdown { - margin: 3px 3px 0 0; - display: block; - user-select: none; - - .totp-sec { - font-size: 0.85em; - position: absolute; - line-height: 32px; - width: 32px; - text-align: center; - } - - svg { - width: 32px; - height: 32px; - transform: rotate(-90deg); - } - - .totp-circle { - fill: none; - - @include themify($themes) { - stroke: themed("totpStrokeColor"); - } - - &.inner { - stroke-width: 3; - stroke-dasharray: 78.6; - stroke-dashoffset: 0; - } - - &.outer { - stroke-width: 2; - stroke-dasharray: 88; - stroke-dashoffset: 0; - } - } - } - - &.low { - .totp-sec, - .totp-code { - @include themify($themes) { - color: themed("dangerColor"); - } - } - - .totp-circle { - @include themify($themes) { - stroke: themed("dangerColor"); - } - } - } - } - .progress { display: flex; height: 5px; @@ -740,12 +603,6 @@ } } -.truncate-box { - display: flex; - align-items: center; - gap: 5px; -} - .truncate { display: inline-block; white-space: nowrap; @@ -768,24 +625,3 @@ form { } } } - -.account-switcher-row { - @include themify($themes) { - color: themed("textColor"); - background-color: themed("boxBackgroundColor"); - } - - &:hover, - &:focus, - &.active { - @include themify($themes) { - background-color: themed("listItemBackgroundHoverColor"); - } - } - - &-details { - @include themify($themes) { - color: themed("mutedColor"); - } - } -} diff --git a/apps/browser/src/popup/scss/environment.scss b/apps/browser/src/popup/scss/environment.scss index 0fb8e0ddaba..042bcd1b450 100644 --- a/apps/browser/src/popup/scss/environment.scss +++ b/apps/browser/src/popup/scss/environment.scss @@ -45,47 +45,3 @@ html.browser_safari { border-color: #2e3440; } } - -.environment-selector-btn { - font-size: $font-size-small; - color: $text-muted; - line-height: 25px; - font-weight: 400; - padding-left: 15px; - - span { - font-weight: 600; - font-size: $font-size-small; - } -} - -.environment-selector-dialog { - @include themify($themes) { - background-color: themed("boxBackgroundColor"); - } - padding: 5px; - width: 100%; - box-shadow: - 0 2px 2px 0 rgba(0, 0, 0, 0.14), - 0 3px 1px -2px rgba(0, 0, 0, 0.12), - 0 1px 5px 0 rgba(0, 0, 0, 0.2); - border-radius: $border-radius; -} - -.environment-selector-dialog-item { - @include themify($themes) { - color: themed("textColor") !important; - } - width: 100%; - text-align: left; - padding: 0px 15px 0px 5px; - border-radius: 3px; - border: 1px solid transparent; - transition: all 0.2s ease-in-out; - - &:hover { - @include themify($themes) { - background-color: themed("listItemBackgroundHoverColor") !important; - } - } -} diff --git a/apps/browser/src/popup/scss/misc.scss b/apps/browser/src/popup/scss/misc.scss index f61d593c43f..86623e395e8 100644 --- a/apps/browser/src/popup/scss/misc.scss +++ b/apps/browser/src/popup/scss/misc.scss @@ -334,11 +334,6 @@ img, } } -app-about .modal-body > *, -app-vault-view .box-footer { - user-select: auto; -} - /* tweak for inconsistent line heights in cipher view */ .box-footer button, .box-footer a { @@ -359,10 +354,6 @@ html.force_redraw { animation: redraw 1s linear infinite; } -.rounded-circle { - border-radius: 50% !important; -} - /* override for vault icon in browser (pre extension refresh) */ app-vault-icon:not(app-vault-list-items-container app-vault-icon) > div { display: flex; diff --git a/apps/browser/src/popup/scss/modal.scss b/apps/browser/src/popup/scss/modal.scss deleted file mode 100644 index 1d86b1e880a..00000000000 --- a/apps/browser/src/popup/scss/modal.scss +++ /dev/null @@ -1,356 +0,0 @@ -@import "variables.scss"; - -$white: white; -$black: black; -$line-height-base: 14px; -$border-radius-lg: $border-radius; - -// ref: https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss - -$grid-breakpoints: ( - xs: 0, - sm: 576px, - md: 768px, - lg: 992px, - xl: 1200px, -) !default; - -$zindex-modal-backdrop: 1040 !default; -$zindex-modal: 1050 !default; - -// Padding applied to the modal body -$modal-inner-padding: 10px !default; - -$modal-dialog-margin: 0.5rem !default; -$modal-dialog-margin-y-sm-up: 1.75rem !default; - -$modal-title-line-height: $line-height-base !default; - -//$modal-content-bg: $background-color-alt !default; -$modal-content-border-color: rgba($black, 0.2) !default; -$modal-content-border-width: 1px !default; -$modal-content-box-shadow-xs: none; -$modal-content-box-shadow-sm-up: none; - -$modal-backdrop-bg: $black !default; -$modal-backdrop-opacity: 0.5 !default; -$modal-header-border-color: $border-color-dark !default; -$modal-footer-border-color: $modal-header-border-color !default; -$modal-header-border-width: $modal-content-border-width !default; -$modal-footer-border-width: $modal-header-border-width !default; -$modal-header-padding: 12px !default; - -$modal-lg: 800px !default; -$modal-md: 500px !default; -$modal-sm: 300px !default; - -$modal-transition: transform 0.3s ease-out !default; - -$close-font-size: $font-size-base * 1.5 !default; -$close-font-weight: bold !default; -$close-color: $black !default; -$close-text-shadow: 0 1px 0 $white !default; - -// ref: https://github.com/twbs/bootstrap/blob/v4-dev/scss/mixins/_breakpoints.scss - -@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) { - $min: breakpoint-min($name, $breakpoints); - - @if $min { - @media (min-width: $min) { - @content; - } - } @else { - @content; - } -} - -@function breakpoint-min($name, $breakpoints: $grid-breakpoints) { - $min: map-get($breakpoints, $name); - @return if($min != 0, $min, null); -} - -// Custom Added CSS animations - -@keyframes modalshow { - 0% { - opacity: 0; - transform: translate(0, -25%); - } - - 100% { - opacity: 1; - transform: translate(0, 0); - } -} - -@keyframes backdropshow { - 0% { - opacity: 0; - } - - 100% { - opacity: $modal-backdrop-opacity; - } -} - -// ref: https://github.com/twbs/bootstrap/blob/v4-dev/scss/_modal.scss - -// .modal-open - body class for killing the scroll -// .modal - container to scroll within -// .modal-dialog - positioning shell for the actual modal -// .modal-content - actual modal w/ bg and corners and stuff - -// Kill the scroll on the body -.modal-open { - overflow: hidden; -} - -// Container that the modal scrolls within -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: $zindex-modal; - //display: none; - overflow: hidden; - // Prevent Chrome on Windows from adding a focus outline. For details, see - // https://github.com/twbs/bootstrap/pull/10951. - outline: 0; - // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a - // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342 - // See also https://github.com/twbs/bootstrap/issues/17695 - .modal-open & { - overflow-x: hidden; - overflow-y: auto; - } -} - -// Shell div to position the modal with bottom padding -.modal-dialog { - position: relative; - width: auto; - margin: $modal-dialog-margin; - // allow clicks to pass through for custom click handling to close modal - pointer-events: none; - // When fading in the modal, animate it to slide down - .modal.fade & { - //@include transition($modal-transition); - //transform: translate(0, -25%); - animation: modalshow 0.3s ease-in; - } - //.modal.show & { - // transform: translate(0, 0); - //} - transform: translate(0, 0); -} - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - (#{$modal-dialog-margin} * 2)); -} - -// Actual modal -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog` - // counteract the pointer-events: none; in the .modal-dialog - pointer-events: auto; - //background-color: $modal-content-bg; - background-clip: padding-box; - border: $modal-content-border-width solid $modal-content-border-color; - //@include border-radius($border-radius-lg); - //@include box-shadow($modal-content-box-shadow-xs); - border-radius: $border-radius-lg; - box-shadow: $modal-content-box-shadow-xs; - // Remove focus outline from opened modal - outline: 0; - - @include themify($themes) { - background-color: themed("backgroundColorAlt"); - } -} - -// Modal background -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: $zindex-modal-backdrop; - background-color: $modal-backdrop-bg; - // Fade for backdrop - &.fade { - //opacity: 0; - animation: backdropshow 0.1s ease-in; - } - //&.show { - // opacity: $modal-backdrop-opacity; - //} - opacity: $modal-backdrop-opacity; -} - -// Modal header -// Top section of the modal w/ title and dismiss -.modal-header { - display: flex; - align-items: flex-start; // so the close btn always stays on the upper right corner - justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends - padding: $modal-header-padding $modal-inner-padding; - border-bottom: $modal-header-border-width solid $modal-header-border-color; - //@include border-top-radius($border-radius-lg); - - @include themify($themes) { - border-bottom-color: themed("borderColor"); - } - - .close { - padding: $modal-header-padding $modal-inner-padding; - // auto on the left force icon to the right even when there is no .modal-title - margin: (-$modal-header-padding) (-$modal-inner-padding) (-$modal-header-padding) auto; - } - - h5 { - font-size: $font-size-base; - font-weight: bold; - display: flex; - align-items: center; - - .bwi { - margin-right: 5px; - } - } -} - -// Title text within header -.modal-title { - margin-bottom: 0; - line-height: $modal-title-line-height; -} - -// Modal body -// Where all modal content resides (sibling of .modal-header and .modal-footer) -.modal-body { - position: relative; - // Enable `flex-grow: 1` so that the body take up as much space as possible - // when should there be a fixed height on `.modal-dialog`. - flex: 1 1 auto; - padding: $modal-inner-padding; -} - -// Footer (for actions) -.modal-footer { - display: flex; - align-items: center; // vertically center - //justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items - padding: $modal-inner-padding; - border-top: $modal-footer-border-width solid $modal-footer-border-color; - - @include themify($themes) { - border-top-color: themed("borderColor"); - } - - // Easily place margin between footer elements - button { - margin-right: 10px; - - &:last-child { - margin-right: 0; - } - } - - .right { - margin-left: auto; - display: flex; - } -} - -// Measure scrollbar width for padding body during modal show/hide -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} - -// Scale up the modal -@include media-breakpoint-up(sm) { - // Automatically set modal's width for larger viewports - .modal-dialog { - max-width: $modal-md; - margin: $modal-dialog-margin-y-sm-up auto; - } - - .modal-dialog-centered { - min-height: calc(100% - (#{$modal-dialog-margin-y-sm-up} * 2)); - } - - .modal-content { - //@include box-shadow($modal-content-box-shadow-sm-up); - box-shadow: $modal-content-box-shadow-sm-up; - } - - .modal-sm { - max-width: $modal-sm; - } -} - -@include media-breakpoint-up(lg) { - .modal-lg { - max-width: $modal-lg; - } -} - -// ref: https://github.com/twbs/bootstrap/blob/v4-dev/scss/_close.scss - -.close { - float: right; - font-size: $close-font-size; - font-weight: $close-font-weight; - line-height: 1; - color: $close-color; - text-shadow: $close-text-shadow; - opacity: 0.5; - - &:hover, - &:focus { - color: $close-color; - text-decoration: none; - opacity: 0.75; - } - // Opinionated: add "hand" cursor to non-disabled .close elements - &:not(:disabled):not(.disabled) { - cursor: pointer; - } -} - -// Additional properties for button version -// iOS requires the button element instead of an anchor tag. -// If you want the anchor version, it requires `href="#"`. -// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile - -// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type -button.close { - padding: 0; - background-color: transparent; - border: 0; - -webkit-appearance: none; -} -// stylelint-enable - -// box - -.modal-content .box { - margin-top: 20px; - - &:first-child { - margin-top: 0; - } -} diff --git a/apps/browser/src/popup/scss/pages.scss b/apps/browser/src/popup/scss/pages.scss index 2fd903fedc7..4c2daab2159 100644 --- a/apps/browser/src/popup/scss/pages.scss +++ b/apps/browser/src/popup/scss/pages.scss @@ -1,61 +1,5 @@ @import "variables.scss"; -app-sync { - main { - .btn { - margin-bottom: 10px; - } - } -} - -app-generator .generated-block { - font-size: $font-size-large; - font-family: $font-family-monospace; - margin: 8px; - padding: 8px 10px 8px 0; - display: flex; - border-radius: $border-radius; - border: 1px solid; - - @include themify($themes) { - background-color: transparent; - border-color: themed("borderColorAlt"); - } - - .generated-wrapper { - text-align: left; - width: 100%; - min-width: 0; - white-space: pre-wrap; - word-break: break-all; - padding: 15px; - border-radius: $border-radius; - - @include themify($themes) { - background-color: themed("backgroundColor"); - } - } - - .action-buttons { - display: flex; - align-self: center; - height: 100%; - margin-left: 10px; - - button { - padding: 6px; - margin: 2px; - border-radius: $border-radius; - - &:hover { - @include themify($themes) { - background-color: themed("hoverColorTransparent"); - } - } - } - } -} - app-home { position: fixed; height: 100%; @@ -148,29 +92,6 @@ body.body-full { margin: 15px 0 15px 0; } -app-options { - .box { - margin: 10px 0; - - & + .box { - margin-top: 10px; - } - } -} - -app-vault-view, -app-vault-add-edit, -app-generator, -app-vault-attachments { - .box { - margin: 15px 0 25px 0; - - & + .box { - margin-top: 25px; - } - } -} - .useBrowserlink { margin-left: 5px; margin-top: 20px; @@ -216,169 +137,3 @@ app-vault-attachments { margin-bottom: 0; } } - -app-fido2-v1 { - .auth-wrapper { - display: flex; - flex-direction: column; - padding: 12px 24px 12px 24px; - - .auth-header { - display: flex; - justify-content: space-between; - align-items: center; - - .left { - padding-right: 10px; - - .logo { - display: inline-flex; - align-items: center; - - i.bwi { - font-size: 35px; - margin-right: 3px; - @include themify($themes) { - color: themed("primaryColor"); - } - } - - span { - font-size: 45px; - font-weight: 300; - margin-top: -3px; - @include themify($themes) { - color: themed("primaryColor"); - } - } - } - } - - .search { - padding: 7px 10px; - width: 100%; - text-align: left; - position: relative; - display: flex; - - .bwi { - position: absolute; - top: 15px; - left: 20px; - - @include themify($themes) { - color: themed("labelColor"); - } - } - - input { - width: 100%; - margin: 0; - border: none; - padding: 5px 10px 5px 30px; - border-radius: $border-radius; - - &:focus { - border-radius: $border-radius; - outline: none; - } - - &[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; - appearance: none; - background-repeat: no-repeat; - mask-image: none; - -webkit-mask-image: none; - } - } - } - } - - .auth-flow { - display: flex; - align-items: flex-start; - flex-direction: column; - margin-top: 32px; - - .subtitle { - font-family: "DM Sans"; - font-size: 24px; - font-style: normal; - font-weight: 600; - line-height: 32px; - } - - .box.list { - overflow-y: auto; - } - - .box-content { - max-height: 140px; - } - - @media screen and (min-height: 501px) and (max-height: 600px) { - .box-content { - max-height: 200px; - } - } - - @media screen and (min-height: 601px) { - .box-content { - max-height: 260px; - } - } - - .box-content-row { - display: flex; - justify-content: center; - align-items: center; - margin: 0px; - padding: 0px; - margin-bottom: 12px; - - button { - min-height: 44px; - } - - .row-main { - border-radius: 6px; - padding: 5px 0px 5px 12px; - - &:focus { - @include themify($themes) { - padding: 3px 0px 3px 10px; - border: 2px solid themed("headerInputBackgroundFocusColor"); - } - } - - &.row-selected { - @include themify($themes) { - outline: none; - padding-left: 7px; - border-left: 5px solid themed("primaryColor"); - background-color: themed("headerBackgroundHoverColor"); - color: themed("headerColor"); - } - } - } - - .row-main-content { - display: flex; - flex-direction: column; - justify-content: center; - - .detail { - min-height: 15px; - display: block; - } - } - } - - .btn { - width: 100%; - font-size: 16px; - font-weight: 600; - } - } - } -} diff --git a/apps/browser/src/popup/scss/popup.scss b/apps/browser/src/popup/scss/popup.scss index 8dc2c206f87..9bec001c936 100644 --- a/apps/browser/src/popup/scss/popup.scss +++ b/apps/browser/src/popup/scss/popup.scss @@ -7,7 +7,6 @@ @import "box.scss"; @import "buttons.scss"; @import "misc.scss"; -@import "modal.scss"; @import "environment.scss"; @import "pages.scss"; @import "plugins.scss"; From 413f638b9d89b8f1eb7a7bb8574ffa515b88738a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 21 Feb 2025 11:24:25 -0500 Subject: [PATCH 13/20] [deps] Autofill: Update tldts to v6.1.77 (#13226) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- apps/cli/package.json | 2 +- package-lock.json | 18 +++++++++--------- package.json | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index 138405d1175..98d4e03597a 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -80,7 +80,7 @@ "papaparse": "5.5.2", "proper-lockfile": "4.1.2", "rxjs": "7.8.1", - "tldts": "6.1.74", + "tldts": "6.1.77", "zxcvbn": "4.4.2" } } diff --git a/package-lock.json b/package-lock.json index 901289817bf..632fadcb1d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -69,7 +69,7 @@ "qrious": "4.0.2", "rxjs": "7.8.1", "tabbable": "6.2.0", - "tldts": "6.1.74", + "tldts": "6.1.77", "utf-8-validate": "6.0.5", "zone.js": "0.14.10", "zxcvbn": "4.4.2" @@ -223,7 +223,7 @@ "papaparse": "5.5.2", "proper-lockfile": "4.1.2", "rxjs": "7.8.1", - "tldts": "6.1.74", + "tldts": "6.1.77", "zxcvbn": "4.4.2" }, "bin": { @@ -31203,21 +31203,21 @@ } }, "node_modules/tldts": { - "version": "6.1.74", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.74.tgz", - "integrity": "sha512-O5vTZ1UmmEmrLl/59U9igitnSMlprALLaLgbv//dEvjobPT9vyURhHXKMCDLEhn3qxZFIkb9PwAfNYV0Ol7RPQ==", + "version": "6.1.77", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.77.tgz", + "integrity": "sha512-lBpoWgy+kYmuXWQ83+R7LlJCnsd9YW8DGpZSHhrMl4b8Ly/1vzOie3OdtmUJDkKxcgRGOehDu5btKkty+JEe+g==", "license": "MIT", "dependencies": { - "tldts-core": "^6.1.74" + "tldts-core": "^6.1.77" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "6.1.74", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.74.tgz", - "integrity": "sha512-gTwtY6L2GfuxiL4CWpLknv9JDYYqBvKCk/BT5uAaAvCA0s6pzX7lr2IrkQZSUlnSjRHIjTl8ZwKCVXJ7XNRWYw==", + "version": "6.1.77", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.77.tgz", + "integrity": "sha512-bCaqm24FPk8OgBkM0u/SrEWJgHnhBWYqeBo6yUmcZJDCHt/IfyWBb+14CXdGi4RInMv4v7eUAin15W0DoA+Ytg==", "license": "MIT" }, "node_modules/tmp": { diff --git a/package.json b/package.json index c07b8ff9021..44733e4ab07 100644 --- a/package.json +++ b/package.json @@ -201,7 +201,7 @@ "qrious": "4.0.2", "rxjs": "7.8.1", "tabbable": "6.2.0", - "tldts": "6.1.74", + "tldts": "6.1.77", "utf-8-validate": "6.0.5", "zone.js": "0.14.10", "zxcvbn": "4.4.2" From 0bc7813b1c0da2a9879f08d1ae328cd77768db6f Mon Sep 17 00:00:00 2001 From: Jordan Aasen <166539328+jaasen-livefront@users.noreply.github.com> Date: Fri, 21 Feb 2025 08:57:06 -0800 Subject: [PATCH 14/20] [PM-18132] - Update the Appearance settings page to include click to fill setting (#13460) * Update the Appearance settings page to include click to fill setting * fix tests * fix tests * add tests * new customization options callout * use classes instead of inline styling * revert changes to index and tw-theme * remove shared module * Revert "remove shared module" This reverts commit 0b68aaae232bd4c7c3cd19a2f88038ef0fce118d. * Revert "revert changes to index and tw-theme" This reverts commit 4a05f0ca203b15bcf9edb49f564e5d4b75a337f3. * Revert "use classes instead of inline styling" This reverts commit 0e441c4284bef133aa4428b636acf70b651bd4a5. * Revert "new customization options callout" This reverts commit f3054c9b2767436708cd890fa77e3309fda94871. * remove unused code * disable margin on autofill suggestion --- apps/browser/src/_locales/en/messages.json | 6 +++ .../popup/settings/autofill.component.html | 14 +----- .../popup/settings/autofill.component.ts | 9 ---- .../settings/appearance-v2.component.html | 23 ++++++---- .../settings/appearance-v2.component.spec.ts | 44 ++++++++++++++++++- .../popup/settings/appearance-v2.component.ts | 17 +++++++ 6 files changed, 81 insertions(+), 32 deletions(-) diff --git a/apps/browser/src/_locales/en/messages.json b/apps/browser/src/_locales/en/messages.json index a3ac0cda882..1d3edd1a5a9 100644 --- a/apps/browser/src/_locales/en/messages.json +++ b/apps/browser/src/_locales/en/messages.json @@ -1029,6 +1029,9 @@ "clickToAutofillOnVault": { "message": "Click items to autofill on Vault view" }, + "clickToAutofill": { + "message": "Click items in autofill suggestion to fill" + }, "clearClipboard": { "message": "Clear clipboard", "description": "Clipboard is the operating system thing where you copy/paste data to on your device." @@ -2085,6 +2088,9 @@ "message": "to create a strong unique password", "description": "This will be used as part of a larger sentence, broken up to include the generator icon. The full sentence will read 'Use the generator [GENERATOR_ICON] to create a strong unique password'" }, + "vaultCustomization": { + "message": "Vault customization" + }, "vaultTimeoutAction": { "message": "Vault timeout action" }, diff --git a/apps/browser/src/autofill/popup/settings/autofill.component.html b/apps/browser/src/autofill/popup/settings/autofill.component.html index e8299f01166..340197f6bf3 100644 --- a/apps/browser/src/autofill/popup/settings/autofill.component.html +++ b/apps/browser/src/autofill/popup/settings/autofill.component.html @@ -120,7 +120,7 @@

{{ "autofillSuggestionsSectionTitle" | i18n }}

/> {{ "showCardsInVaultViewV2" | i18n }} - + {{ "autofillSuggestionsSectionTitle" | i18n }} {{ "showIdentitiesInVaultViewV2" | i18n }} - - - - {{ "clickToAutofillOnVault" | i18n }} - - diff --git a/apps/browser/src/autofill/popup/settings/autofill.component.ts b/apps/browser/src/autofill/popup/settings/autofill.component.ts index 884503fa360..f0b73838ba4 100644 --- a/apps/browser/src/autofill/popup/settings/autofill.component.ts +++ b/apps/browser/src/autofill/popup/settings/autofill.component.ts @@ -109,7 +109,6 @@ export class AutofillComponent implements OnInit { uriMatchOptions: { name: string; value: UriMatchStrategySetting }[]; showCardsCurrentTab: boolean = true; showIdentitiesCurrentTab: boolean = true; - clickItemsVaultView: boolean = false; autofillKeyboardHelperText: string; accountSwitcherEnabled: boolean = false; @@ -211,10 +210,6 @@ export class AutofillComponent implements OnInit { this.showIdentitiesCurrentTab = await firstValueFrom( this.vaultSettingsService.showIdentitiesCurrentTab$, ); - - this.clickItemsVaultView = await firstValueFrom( - this.vaultSettingsService.clickItemsToAutofillVaultView$, - ); } async updateInlineMenuVisibility() { @@ -421,8 +416,4 @@ export class AutofillComponent implements OnInit { async updateShowInlineMenuIdentities() { await this.autofillSettingsService.setShowInlineMenuIdentities(this.showInlineMenuIdentities); } - - async updateClickItemsVaultView() { - await this.vaultSettingsService.setClickItemsToAutofillVaultView(this.clickItemsVaultView); - } } diff --git a/apps/browser/src/vault/popup/settings/appearance-v2.component.html b/apps/browser/src/vault/popup/settings/appearance-v2.component.html index 3a05d239592..4f7f2757e0e 100644 --- a/apps/browser/src/vault/popup/settings/appearance-v2.component.html +++ b/apps/browser/src/vault/popup/settings/appearance-v2.component.html @@ -31,24 +31,31 @@ > - - - {{ "showQuickCopyActions" | i18n }} - - {{ "showNumberOfAutofillSuggestions" | i18n }} + + + {{ "showAnimations" | i18n }} + + +

{{ "vaultCustomization" | i18n }}

+ {{ "enableFavicon" | i18n }} - + + + {{ "showQuickCopyActions" | i18n }} + - - {{ "showAnimations" | i18n }} + + + {{ "clickToAutofill" | i18n }} + diff --git a/apps/browser/src/vault/popup/settings/appearance-v2.component.spec.ts b/apps/browser/src/vault/popup/settings/appearance-v2.component.spec.ts index bca83a2fba0..7d67a9458b2 100644 --- a/apps/browser/src/vault/popup/settings/appearance-v2.component.spec.ts +++ b/apps/browser/src/vault/popup/settings/appearance-v2.component.spec.ts @@ -12,6 +12,7 @@ import { MessagingService } from "@bitwarden/common/platform/abstractions/messag import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; import { ThemeType } from "@bitwarden/common/platform/enums"; import { ThemeStateService } from "@bitwarden/common/platform/theming/theme-state.service"; +import { VaultSettingsService } from "@bitwarden/common/vault/abstractions/vault-settings/vault-settings.service"; import { PopupCompactModeService } from "../../../platform/popup/layout/popup-compact-mode.service"; import { PopupHeaderComponent } from "../../../platform/popup/layout/popup-header.component"; @@ -36,7 +37,9 @@ class MockPopupHeaderComponent { selector: "popup-page", template: ``, }) -class MockPopupPageComponent {} +class MockPopupPageComponent { + @Input() loading: boolean; +} describe("AppearanceV2Component", () => { let component: AppearanceV2Component; @@ -48,12 +51,14 @@ describe("AppearanceV2Component", () => { const enableRoutingAnimation$ = new BehaviorSubject(true); const enableCompactMode$ = new BehaviorSubject(false); const showQuickCopyActions$ = new BehaviorSubject(false); + const clickItemsToAutofillVaultView$ = new BehaviorSubject(false); const setSelectedTheme = jest.fn().mockResolvedValue(undefined); const setShowFavicons = jest.fn().mockResolvedValue(undefined); const setEnableBadgeCounter = jest.fn().mockResolvedValue(undefined); const setEnableRoutingAnimation = jest.fn().mockResolvedValue(undefined); const setEnableCompactMode = jest.fn().mockResolvedValue(undefined); const setShowQuickCopyActions = jest.fn().mockResolvedValue(undefined); + const setClickItemsToAutofillVaultView = jest.fn().mockResolvedValue(undefined); const mockWidthService: Partial = { width$: new BehaviorSubject("default"), @@ -98,6 +103,13 @@ describe("AppearanceV2Component", () => { provide: PopupSizeService, useValue: mockWidthService, }, + { + provide: VaultSettingsService, + useValue: { + clickItemsToAutofillVaultView$, + setClickItemsToAutofillVaultView, + }, + }, ], }) .overrideComponent(AppearanceV2Component, { @@ -115,7 +127,10 @@ describe("AppearanceV2Component", () => { fixture.detectChanges(); }); - it("populates the form with the user's current settings", () => { + it("populates the form with the user's current settings", async () => { + fixture.detectChanges(); + await fixture.whenStable(); + fixture.detectChanges(); expect(component.appearanceForm.value).toEqual({ enableAnimations: true, enableFavicon: true, @@ -124,6 +139,7 @@ describe("AppearanceV2Component", () => { enableCompactMode: false, showQuickCopyActions: false, width: "default", + clickItemsToAutofillVaultView: false, }); }); @@ -151,5 +167,29 @@ describe("AppearanceV2Component", () => { expect(setEnableRoutingAnimation).toHaveBeenCalledWith(false); }); + + it("updates the compact mode setting", () => { + component.appearanceForm.controls.enableCompactMode.setValue(true); + + expect(setEnableCompactMode).toHaveBeenCalledWith(true); + }); + + it("updates the quick copy actions setting", () => { + component.appearanceForm.controls.showQuickCopyActions.setValue(true); + + expect(setShowQuickCopyActions).toHaveBeenCalledWith(true); + }); + + it("updates the width setting", () => { + component.appearanceForm.controls.width.setValue("wide"); + + expect(mockWidthService.setWidth).toHaveBeenCalledWith("wide"); + }); + + it("updates the click items to autofill vault view setting", () => { + component.appearanceForm.controls.clickItemsToAutofillVaultView.setValue(true); + + expect(setClickItemsToAutofillVaultView).toHaveBeenCalledWith(true); + }); }); }); diff --git a/apps/browser/src/vault/popup/settings/appearance-v2.component.ts b/apps/browser/src/vault/popup/settings/appearance-v2.component.ts index deddbd444fc..d6fca96c08c 100644 --- a/apps/browser/src/vault/popup/settings/appearance-v2.component.ts +++ b/apps/browser/src/vault/popup/settings/appearance-v2.component.ts @@ -14,6 +14,7 @@ import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.servic import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service"; import { ThemeType } from "@bitwarden/common/platform/enums"; import { ThemeStateService } from "@bitwarden/common/platform/theming/theme-state.service"; +import { VaultSettingsService } from "@bitwarden/common/vault/abstractions/vault-settings/vault-settings.service"; import { BadgeModule, CardComponent, @@ -64,6 +65,7 @@ export class AppearanceV2Component implements OnInit { enableCompactMode: false, showQuickCopyActions: false, width: "default" as PopupWidthOption, + clickItemsToAutofillVaultView: false, }); /** To avoid flashes of inaccurate values, only show the form after the entire form is populated. */ @@ -88,6 +90,7 @@ export class AppearanceV2Component implements OnInit { private destroyRef: DestroyRef, private animationControlService: AnimationControlService, i18nService: I18nService, + private vaultSettingsService: VaultSettingsService, ) { this.themeOptions = [ { name: i18nService.t("systemDefault"), value: ThemeType.System }, @@ -108,6 +111,9 @@ export class AppearanceV2Component implements OnInit { this.copyButtonsService.showQuickCopyActions$, ); const width = await firstValueFrom(this.popupSizeService.width$); + const clickItemsToAutofillVaultView = await firstValueFrom( + this.vaultSettingsService.clickItemsToAutofillVaultView$, + ); // Set initial values for the form this.appearanceForm.setValue({ @@ -118,6 +124,7 @@ export class AppearanceV2Component implements OnInit { enableCompactMode, showQuickCopyActions, width, + clickItemsToAutofillVaultView, }); this.formLoading = false; @@ -163,6 +170,16 @@ export class AppearanceV2Component implements OnInit { .subscribe((width) => { void this.updateWidth(width); }); + + this.appearanceForm.controls.clickItemsToAutofillVaultView.valueChanges + .pipe(takeUntilDestroyed(this.destroyRef)) + .subscribe((clickItemsToAutofillVaultView) => { + void this.updateClickItemsToAutofillVaultView(clickItemsToAutofillVaultView); + }); + } + + async updateClickItemsToAutofillVaultView(clickItemsToAutofillVaultView: boolean) { + await this.vaultSettingsService.setClickItemsToAutofillVaultView(clickItemsToAutofillVaultView); } async updateFavicon(enableFavicon: boolean) { From 2e96405f1509d31838ce9fa6640a771336ffb7f8 Mon Sep 17 00:00:00 2001 From: Jonathan Prusik Date: Fri, 21 Feb 2025 13:15:02 -0500 Subject: [PATCH 15/20] [PM-18219] Normalize blocked domain checks to a common util (#13416) * normalize blocked domain checks to common util * do not use currentTabIsOnBlocklist$ in showCurrentTabIsBlockedBanner$ resolution * update additional vault popup autofill service cases to use isUrlInList * cleanup and use Utils get hostname instead of tldts directly --- .../browser/src/background/main.background.ts | 18 ++--- .../browser-script-injector.service.ts | 12 ++- .../services/vault-popup-autofill.service.ts | 52 ++++++------ libs/common/src/autofill/utils.spec.ts | 79 ++++++++++++++++++- libs/common/src/autofill/utils.ts | 29 +++++++ 5 files changed, 145 insertions(+), 45 deletions(-) diff --git a/apps/browser/src/background/main.background.ts b/apps/browser/src/background/main.background.ts index 776f0570249..05495472d30 100644 --- a/apps/browser/src/background/main.background.ts +++ b/apps/browser/src/background/main.background.ts @@ -70,6 +70,7 @@ import { UserNotificationSettingsService, UserNotificationSettingsServiceAbstraction, } from "@bitwarden/common/autofill/services/user-notification-settings.service"; +import { isUrlInList } from "@bitwarden/common/autofill/utils"; import { BillingAccountProfileStateService } from "@bitwarden/common/billing/abstractions/account/billing-account-profile-state.service"; import { DefaultBillingAccountProfileStateService } from "@bitwarden/common/billing/services/account/billing-account-profile-state.service"; import { ClientType } from "@bitwarden/common/enums"; @@ -1384,18 +1385,11 @@ export default class MainBackground { const tab = await BrowserApi.getTabFromCurrentWindow(); if (tab) { - const currentUriIsBlocked = await firstValueFrom( + const currentUrlIsBlocked = await firstValueFrom( this.domainSettingsService.blockedInteractionsUris$.pipe( - map((blockedInteractionsUris) => { - if (blockedInteractionsUris && tab?.url?.length) { - const tabURL = new URL(tab.url); - const tabIsBlocked = Object.keys(blockedInteractionsUris).some((blockedHostname) => - tabURL.hostname.endsWith(blockedHostname), - ); - - if (tabIsBlocked) { - return true; - } + map((blockedInteractionsUrls) => { + if (blockedInteractionsUrls && tab?.url?.length) { + return isUrlInList(tab.url, blockedInteractionsUrls); } return false; @@ -1403,7 +1397,7 @@ export default class MainBackground { ), ); - await this.cipherContextMenuHandler?.update(tab.url, currentUriIsBlocked); + await this.cipherContextMenuHandler?.update(tab.url, currentUrlIsBlocked); this.onUpdatedRan = this.onReplacedRan = false; } } diff --git a/apps/browser/src/platform/services/browser-script-injector.service.ts b/apps/browser/src/platform/services/browser-script-injector.service.ts index c2bace669dc..a617f2215c0 100644 --- a/apps/browser/src/platform/services/browser-script-injector.service.ts +++ b/apps/browser/src/platform/services/browser-script-injector.service.ts @@ -1,6 +1,7 @@ import { firstValueFrom } from "rxjs"; import { DomainSettingsService } from "@bitwarden/common/autofill/services/domain-settings.service"; +import { isUrlInList } from "@bitwarden/common/autofill/utils"; // FIXME: Update this file to be type safe and remove this and next line // @ts-strict-ignore import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; @@ -39,23 +40,20 @@ export class BrowserScriptInjectorService extends ScriptInjectorService { } const tab = tabId && (await BrowserApi.getTab(tabId)); - const tabURL = tab?.url ? new URL(tab.url) : null; - // Check if the tab URI is on the disabled URIs list + // Check if the tab URL is on the disabled URLs list let injectionAllowedInTab = true; const blockedDomains = await firstValueFrom( this.domainSettingsService.blockedInteractionsUris$, ); - if (blockedDomains && tabURL?.hostname) { - const blockedDomainsSet = new Set(Object.keys(blockedDomains)); - - injectionAllowedInTab = !(tabURL && blockedDomainsSet.has(tabURL.hostname)); + if (blockedDomains && tab?.url) { + injectionAllowedInTab = !isUrlInList(tab?.url, blockedDomains); } if (!injectionAllowedInTab) { this.logService.warning( - `${injectDetails.file} was not injected because ${tabURL?.hostname || "the tab URI"} is on the user's blocked domains list.`, + `${injectDetails.file} was not injected because ${tab?.url || "the tab URL"} is on the user's blocked domains list.`, ); return; } diff --git a/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts b/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts index c65661fdfb2..41d76078fdb 100644 --- a/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts +++ b/apps/browser/src/vault/popup/services/vault-popup-autofill.service.ts @@ -16,10 +16,12 @@ import { import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { DomainSettingsService } from "@bitwarden/common/autofill/services/domain-settings.service"; +import { isUrlInList } from "@bitwarden/common/autofill/utils"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/platform/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service"; import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service"; +import { Utils } from "@bitwarden/common/platform/misc/utils"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { CipherRepromptType, CipherType } from "@bitwarden/common/vault/enums"; import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @@ -70,14 +72,9 @@ export class VaultPopupAutofillService { this.domainSettingsService.blockedInteractionsUris$, this.currentAutofillTab$, ]).pipe( - map(([blockedInteractionsUris, currentTab]) => { - if (blockedInteractionsUris && currentTab?.url?.length) { - const tabURL = new URL(currentTab.url); - const tabIsBlocked = Object.keys(blockedInteractionsUris).includes(tabURL.hostname); - - if (tabIsBlocked) { - return true; - } + map(([blockedInteractionsUrls, currentTab]) => { + if (blockedInteractionsUrls && currentTab) { + return isUrlInList(currentTab?.url, blockedInteractionsUrls); } return false; @@ -89,13 +86,18 @@ export class VaultPopupAutofillService { this.domainSettingsService.blockedInteractionsUris$, this.currentAutofillTab$, ]).pipe( - map(([blockedInteractionsUris, currentTab]) => { - if (blockedInteractionsUris && currentTab?.url?.length) { - const tabURL = new URL(currentTab.url); - const tabIsBlocked = Object.keys(blockedInteractionsUris).includes(tabURL.hostname); + map(([blockedInteractionsUrls, currentTab]) => { + if (blockedInteractionsUrls && currentTab?.url?.length) { + const tabHostname = Utils.getHostname(currentTab.url); + + if (!tabHostname) { + return false; + } + + const tabIsBlocked = isUrlInList(currentTab.url, blockedInteractionsUrls); const showScriptInjectionIsBlockedBanner = - tabIsBlocked && !blockedInteractionsUris[tabURL.hostname]?.bannerIsDismissed; + tabIsBlocked && !blockedInteractionsUrls[tabHostname]?.bannerIsDismissed; return showScriptInjectionIsBlockedBanner; } @@ -108,20 +110,22 @@ export class VaultPopupAutofillService { async dismissCurrentTabIsBlockedBanner() { try { const currentTab = await firstValueFrom(this.currentAutofillTab$); - const currentTabURL = currentTab?.url.length && new URL(currentTab.url); - - const currentTabHostname = currentTabURL && currentTabURL.hostname; + const currentTabHostname = currentTab?.url.length && Utils.getHostname(currentTab.url); if (!currentTabHostname) { return; } - const blockedURIs = await firstValueFrom(this.domainSettingsService.blockedInteractionsUris$); - const tabIsBlocked = Object.keys(blockedURIs).includes(currentTabHostname); + const blockedURLs = await firstValueFrom(this.domainSettingsService.blockedInteractionsUris$); + + let tabIsBlocked = false; + if (blockedURLs && currentTab?.url?.length) { + tabIsBlocked = isUrlInList(currentTab.url, blockedURLs); + } if (tabIsBlocked) { void this.domainSettingsService.setBlockedInteractionsUris({ - ...blockedURIs, + ...blockedURLs, [currentTabHostname as string]: { bannerIsDismissed: true }, }); } @@ -129,7 +133,7 @@ export class VaultPopupAutofillService { // eslint-disable-next-line @typescript-eslint/no-unused-vars } catch (e) { throw new Error( - "There was a problem dismissing the blocked interaction URI notification banner", + "There was a problem dismissing the blocked interaction URL notification banner", ); } } @@ -147,11 +151,9 @@ export class VaultPopupAutofillService { } return this.domainSettingsService.blockedInteractionsUris$.pipe( - switchMap((blockedURIs) => { - // This blocked URI logic will be updated to use the common util in PM-18219 - if (blockedURIs && tab?.url?.length) { - const tabURL = new URL(tab.url); - const tabIsBlocked = Object.keys(blockedURIs).includes(tabURL.hostname); + switchMap((blockedURLs) => { + if (blockedURLs && tab?.url?.length) { + const tabIsBlocked = isUrlInList(tab.url, blockedURLs); if (tabIsBlocked) { return of([]); diff --git a/libs/common/src/autofill/utils.spec.ts b/libs/common/src/autofill/utils.spec.ts index 554dc973b48..93f515aa338 100644 --- a/libs/common/src/autofill/utils.spec.ts +++ b/libs/common/src/autofill/utils.spec.ts @@ -1,6 +1,13 @@ +import { NeverDomains } from "@bitwarden/common/models/domain/domain-service"; + import { CardView } from "../vault/models/view/card.view"; -import { normalizeExpiryYearFormat, isCardExpired, parseYearMonthExpiry } from "./utils"; +import { + isCardExpired, + isUrlInList, + normalizeExpiryYearFormat, + parseYearMonthExpiry, +} from "./utils"; function getExpiryYearValueFormats(currentCentury: string) { return [ @@ -281,3 +288,73 @@ describe("parseYearMonthExpiry", () => { }); }); }); + +describe("isUrlInList", () => { + let mockUrlList: NeverDomains; + + it("returns false if the passed URL list is empty", () => { + const urlIsInList = isUrlInList("", mockUrlList); + + expect(urlIsInList).toEqual(false); + }); + + it("returns true if the URL hostname is on the passed URL list", () => { + mockUrlList = { + ["bitwarden.com"]: { bannerIsDismissed: true }, + ["duckduckgo.com"]: null, + [".lan"]: null, + [".net"]: null, + ["localhost"]: null, + ["extensions"]: null, + }; + + const testPages = [ + "https://www.bitwarden.com/landing-page?some_query_string_key=1&another_one=1", + " https://duckduckgo.com/pro ", // Note: embedded whitespacing is intentional + "https://network-private-domain.lan/homelabs-dashboard", + "https://jsfiddle.net/", + "https://localhost:8443/#/login", + "chrome://extensions/", + ]; + + for (const pageUrl of testPages) { + const urlIsInList = isUrlInList(pageUrl, mockUrlList); + + expect(urlIsInList).toEqual(true); + } + }); + + it("returns false if no items on the passed URL list are a full match for the page hostname", () => { + const urlIsInList = isUrlInList("https://paypal.com/", { + ["some.packed.subdomains.sandbox.paypal.com"]: null, + }); + + expect(urlIsInList).toEqual(false); + }); + + it("returns false if the URL hostname is not on the passed URL list", () => { + const testPages = ["https://archive.org/", "bitwarden.com.some.otherdomain.com"]; + + for (const pageUrl of testPages) { + const urlIsInList = isUrlInList(pageUrl, mockUrlList); + + expect(urlIsInList).toEqual(false); + } + }); + + it("returns false if the passed URL is empty", () => { + const urlIsInList = isUrlInList("", mockUrlList); + + expect(urlIsInList).toEqual(false); + }); + + it("returns false if the passed URL is not a valid URL", () => { + const testPages = ["twasbrillingandtheslithytoves", "/landing-page", undefined]; + + for (const pageUrl of testPages) { + const urlIsInList = isUrlInList(pageUrl, mockUrlList); + + expect(urlIsInList).toEqual(false); + } + }); +}); diff --git a/libs/common/src/autofill/utils.ts b/libs/common/src/autofill/utils.ts index a77ea8a715d..3078e15bce2 100644 --- a/libs/common/src/autofill/utils.ts +++ b/libs/common/src/autofill/utils.ts @@ -1,3 +1,6 @@ +import { NeverDomains } from "@bitwarden/common/models/domain/domain-service"; +import { Utils } from "@bitwarden/common/platform/misc/utils"; + import { CardView } from "../vault/models/view/card.view"; import { @@ -329,3 +332,29 @@ export function parseYearMonthExpiry(combinedExpiryValue: string): [Year | null, return [parsedYear, parsedMonth]; } + +/** + * Takes a URL string and a NeverDomains object and determines if the passed URL's hostname is in `urlList` + * + * @param {string} url - representation of URL to check + * @param {NeverDomains} urlList - object with hostname key names + */ +export function isUrlInList(url: string = "", urlList: NeverDomains = {}): boolean { + const urlListKeys = urlList && Object.keys(urlList); + + if (urlListKeys.length && url?.length) { + let tabHostname; + try { + tabHostname = Utils.getHostname(url); + } catch { + // If the input was invalid, exit early and return false + return false; + } + + if (tabHostname) { + return urlListKeys.some((blockedHostname) => tabHostname.endsWith(blockedHostname)); + } + } + + return false; +} From b956297433c7012df7cfa743c583eddcf4f7f9b7 Mon Sep 17 00:00:00 2001 From: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com> Date: Fri, 21 Feb 2025 13:25:15 -0500 Subject: [PATCH 16/20] feat(LoginComponent): [PM-18408] - fix extension scrollbars showing up when unwanted (#13512) --- libs/auth/src/angular/login/login.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/auth/src/angular/login/login.component.html b/libs/auth/src/angular/login/login.component.html index c7837db74f2..b04a54da425 100644 --- a/libs/auth/src/angular/login/login.component.html +++ b/libs/auth/src/angular/login/login.component.html @@ -11,7 +11,7 @@ -->
-
+
{{ "emailAddress" | i18n }} @@ -61,7 +61,7 @@
-
+
{{ "masterPass" | i18n }} From 53849142764563c0d991dcd7219ecdb8b5dacd73 Mon Sep 17 00:00:00 2001 From: Vijay Oommen Date: Fri, 21 Feb 2025 12:49:24 -0600 Subject: [PATCH 17/20] PM-18441 bugfix-search bar (#13513) --- .../member-access-report/member-access-report.component.html | 1 + 1 file changed, 1 insertion(+) diff --git a/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.html b/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.html index 011bc752684..6483a196a3f 100644 --- a/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.html +++ b/bitwarden_license/bit-web/src/app/tools/reports/member-access-report/member-access-report.component.html @@ -3,6 +3,7 @@ [formControl]="searchControl" [placeholder]="'searchMembers' | i18n" class="tw-grow" + *ngIf="!(isLoading$ | async)" > - {{ - licenseFormGroup.value.file ? licenseFormGroup.value.file.name : ("noFileChosen" | i18n) - }} -
- - {{ "licenseFileDesc" | i18n: "bitwarden_premium_license.json" }} - - - - diff --git a/apps/web/src/app/billing/individual/premium/premium.component.ts b/apps/web/src/app/billing/individual/premium/premium.component.ts index ec19eb02594..2934e69f0ad 100644 --- a/apps/web/src/app/billing/individual/premium/premium.component.ts +++ b/apps/web/src/app/billing/individual/premium/premium.component.ts @@ -13,7 +13,6 @@ import { TokenService } from "@bitwarden/common/auth/abstractions/token.service" import { BillingAccountProfileStateService } from "@bitwarden/common/billing/abstractions"; import { TaxServiceAbstraction } from "@bitwarden/common/billing/abstractions/tax.service.abstraction"; import { PreviewIndividualInvoiceRequest } from "@bitwarden/common/billing/models/request/preview-individual-invoice.request"; -import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -44,10 +43,6 @@ export class PremiumComponent { protected cloudWebVaultURL: string; protected isSelfHost = false; - protected useLicenseUploaderComponent$ = this.configService.getFeatureFlag$( - FeatureFlag.PM11901_RefactorSelfHostingLicenseUploader, - ); - protected estimatedTax: number = 0; protected readonly familyPlanMaxUserCount = 6; protected readonly premiumPrice = 10; 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 0a4eea57f92..263ef12ebea 100644 --- a/apps/web/src/app/billing/organizations/organization-plans.component.html +++ b/apps/web/src/app/billing/organizations/organization-plans.component.html @@ -7,36 +7,7 @@ {{ "loading" | i18n }} - -

{{ "uploadLicenseFileOrg" | i18n }}

-
- - {{ "licenseFile" | i18n }} -
- - {{ selectedFile?.name ?? ("noFileChosen" | i18n) }} -
- - {{ "licenseFileDesc" | i18n: "bitwarden_organization_license.json" }} -
- -
-
diff --git a/apps/web/src/app/billing/organizations/organization-plans.component.ts b/apps/web/src/app/billing/organizations/organization-plans.component.ts index f9f5b763a4e..84f2467b1bd 100644 --- a/apps/web/src/app/billing/organizations/organization-plans.component.ts +++ b/apps/web/src/app/billing/organizations/organization-plans.component.ts @@ -41,7 +41,6 @@ import { UpdatePaymentMethodRequest } from "@bitwarden/common/billing/models/req import { BillingResponse } from "@bitwarden/common/billing/models/response/billing.response"; import { OrganizationSubscriptionResponse } from "@bitwarden/common/billing/models/response/organization-subscription.response"; import { PlanResponse } from "@bitwarden/common/billing/models/response/plan.response"; -import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; import { EncryptService } from "@bitwarden/common/key-management/crypto/abstractions/encrypt.service"; import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -127,10 +126,6 @@ export class OrganizationPlansComponent implements OnInit, OnDestroy { isInTrialFlow = false; discount = 0; - protected useLicenseUploaderComponent$ = this.configService.getFeatureFlag$( - FeatureFlag.PM11901_RefactorSelfHostingLicenseUploader, - ); - secretsManagerSubscription = secretsManagerSubscribeFormFactory(this.formBuilder); selfHostedForm = this.formBuilder.group({ diff --git a/libs/common/src/enums/feature-flag.enum.ts b/libs/common/src/enums/feature-flag.enum.ts index 75346c0edb8..985d1453090 100644 --- a/libs/common/src/enums/feature-flag.enum.ts +++ b/libs/common/src/enums/feature-flag.enum.ts @@ -38,7 +38,6 @@ export enum FeatureFlag { SSHKeyVaultItem = "ssh-key-vault-item", SSHAgent = "ssh-agent", CipherKeyEncryption = "cipher-key-encryption", - PM11901_RefactorSelfHostingLicenseUploader = "PM-11901-refactor-self-hosting-license-uploader", TrialPaymentOptional = "PM-8163-trial-payment", SecurityTasks = "security-tasks", NewDeviceVerificationTemporaryDismiss = "new-device-temporary-dismiss", @@ -99,7 +98,6 @@ export const DefaultFeatureFlagValue = { [FeatureFlag.SSHKeyVaultItem]: FALSE, [FeatureFlag.SSHAgent]: FALSE, [FeatureFlag.CipherKeyEncryption]: FALSE, - [FeatureFlag.PM11901_RefactorSelfHostingLicenseUploader]: FALSE, [FeatureFlag.TrialPaymentOptional]: FALSE, [FeatureFlag.SecurityTasks]: FALSE, [FeatureFlag.NewDeviceVerificationTemporaryDismiss]: FALSE,