diff --git a/README.md b/README.md index 148ed40ed5..9b57df9f49 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ The Bitwarden browser extension is written using the Web Extension API and Angul **Requirements** -- [Node.js](https://nodejs.org) v8.11 or greater +- [Node.js](https://nodejs.org) v14.17 or greater - [Gulp](https://gulpjs.com/) (`npm install --global gulp-cli`) - Chrome (preferred), Opera, or Firefox browser diff --git a/jslib b/jslib index ba1a40af4e..306aef73d4 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit ba1a40af4e93c78b3312a1167e7cc16729910069 +Subproject commit 306aef73d459dfad8a7a06c32442c9ed2d56922e diff --git a/src/background/main.background.ts b/src/background/main.background.ts index 5f63542781..02dca56342 100644 --- a/src/background/main.background.ts +++ b/src/background/main.background.ts @@ -220,7 +220,8 @@ export default class MainBackground { this.eventService); this.containerService = new ContainerService(this.cryptoService); this.auditService = new AuditService(this.cryptoFunctionService, this.apiService); - this.exportService = new ExportService(this.folderService, this.cipherService, this.apiService); + this.exportService = new ExportService(this.folderService, this.cipherService, this.apiService, + this.cryptoService); this.notificationsService = new NotificationsService(this.userService, this.syncService, this.appIdService, this.apiService, this.vaultTimeoutService, () => this.logout(true), this.consoleLogService); this.environmentService = new EnvironmentService(this.apiService, this.storageService, diff --git a/src/popup/app.component.ts b/src/popup/app.component.ts index 5f42fa5a8c..6bdda290f5 100644 --- a/src/popup/app.component.ts +++ b/src/popup/app.component.ts @@ -238,7 +238,7 @@ export class AppComponent implements OnInit { iconHtml: iconClasses != null ? `` : undefined, text: msg.text, html: msg.html, - title: msg.title, + titleText: msg.title, showCancelButton: (cancelText != null), cancelButtonText: cancelText, showConfirmButton: true, @@ -256,7 +256,7 @@ export class AppComponent implements OnInit { const platformUtils = this.platformUtilsService as BrowserPlatformUtilsService; const result = await Swal.fire({ heightAuto: false, - title: msg.title, + titleText: msg.title, input: 'password', text: msg.body, confirmButtonText: this.i18nService.t('ok'), diff --git a/src/popup/app.module.ts b/src/popup/app.module.ts index b428e8e14e..a15a510868 100644 --- a/src/popup/app.module.ts +++ b/src/popup/app.module.ts @@ -82,12 +82,14 @@ import { } from '@angular/common'; import localeBe from '@angular/common/locales/be'; import localeBg from '@angular/common/locales/bg'; +import localeBn from '@angular/common/locales/bn'; import localeCa from '@angular/common/locales/ca'; import localeCs from '@angular/common/locales/cs'; import localeDa from '@angular/common/locales/da'; import localeDe from '@angular/common/locales/de'; import localeEl from '@angular/common/locales/el'; import localeEnGb from '@angular/common/locales/en-GB'; +import localeEnIn from '@angular/common/locales/en-IN'; import localeEs from '@angular/common/locales/es'; import localeEt from '@angular/common/locales/et'; import localeFa from '@angular/common/locales/fa'; @@ -100,6 +102,8 @@ import localeId from '@angular/common/locales/id'; import localeIt from '@angular/common/locales/it'; import localeJa from '@angular/common/locales/ja'; import localeKo from '@angular/common/locales/ko'; +import localeLv from '@angular/common/locales/lv'; +import localeMlIn from '@angular/common/locales/ml-IN'; import localeNb from '@angular/common/locales/nb'; import localeNl from '@angular/common/locales/nl'; import localePl from '@angular/common/locales/pl'; @@ -119,12 +123,14 @@ import localeZhTw from '@angular/common/locales/zh-Hant'; registerLocaleData(localeBe, 'be'); registerLocaleData(localeBg, 'bg'); +registerLocaleData(localeBn, 'bn'); registerLocaleData(localeCa, 'ca'); registerLocaleData(localeCs, 'cs'); registerLocaleData(localeDa, 'da'); registerLocaleData(localeDe, 'de'); registerLocaleData(localeEl, 'el'); registerLocaleData(localeEnGb, 'en-GB'); +registerLocaleData(localeEnIn, 'en-IN'); registerLocaleData(localeEs, 'es'); registerLocaleData(localeEt, 'et'); registerLocaleData(localeFa, 'fa'); @@ -137,6 +143,8 @@ registerLocaleData(localeId, 'id'); registerLocaleData(localeIt, 'it'); registerLocaleData(localeJa, 'ja'); registerLocaleData(localeKo, 'ko'); +registerLocaleData(localeLv, 'lv'); +registerLocaleData(localeMlIn, 'ml-IN'); registerLocaleData(localeNb, 'nb'); registerLocaleData(localeNl, 'nl'); registerLocaleData(localePl, 'pl'); diff --git a/src/popup/settings/settings.component.ts b/src/popup/settings/settings.component.ts index 298838e890..309df14939 100644 --- a/src/popup/settings/settings.component.ts +++ b/src/popup/settings/settings.component.ts @@ -239,7 +239,7 @@ export class SettingsComponent implements OnInit { const submitted = Swal.fire({ heightAuto: false, buttonsStyling: false, - title: this.i18nService.t('awaitDesktop'), + titleText: this.i18nService.t('awaitDesktop'), text: this.i18nService.t('awaitDesktopDesc'), icon: 'info', iconHtml: '', diff --git a/src/services/i18n.service.ts b/src/services/i18n.service.ts index 542dbb6f35..a8dac854c4 100644 --- a/src/services/i18n.service.ts +++ b/src/services/i18n.service.ts @@ -9,8 +9,8 @@ export default class I18nService extends BaseI18nService { }); this.supportedTranslationLocales = [ - 'en', 'be', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', 'es', 'et', 'fa', 'fi', 'fr', 'he', 'hr', 'hu', - 'id', 'it', 'ja', 'ko', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', 'sk', 'sr', 'sv', 'th', 'tr', 'uk', + 'en', 'be', 'bg', 'bn', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', 'en-IN', 'es', 'et', 'fa', 'fi', 'fr', 'he', 'hr', 'hu', + 'id', 'it', 'ja', 'ko', 'lv', 'ml-IN', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', 'sk', 'sr', 'sv', 'th', 'tr', 'uk', 'vi', 'zh-CN', 'zh-TW', ]; }