1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-22 04:14:04 +00:00

wip typesafe i18n

This commit is contained in:
William Martin
2024-11-20 10:08:28 -05:00
parent 9429ae1d06
commit 3be558ac0e
18 changed files with 99 additions and 38 deletions

View File

@@ -1,10 +1,14 @@
import * as fs from "fs";
import * as path from "path";
import { I18nService as BaseI18nService } from "@bitwarden/common/platform/services/i18n.service";
import { BaseI18nService } from "@bitwarden/common/platform/services/i18n.service";
import { GlobalStateProvider } from "@bitwarden/common/platform/state";
export class I18nService extends BaseI18nService {
import CliMessages from "../../locales/en/messages.json";
type CliMessages = typeof CliMessages;
export class CliI18nService extends BaseI18nService<CliMessages> {
constructor(
systemLanguage: string,
localesDirectory: string,

View File

@@ -166,7 +166,7 @@ import {
import { flagEnabled } from "../platform/flags";
import { CliPlatformUtilsService } from "../platform/services/cli-platform-utils.service";
import { ConsoleLogService } from "../platform/services/console-log.service";
import { I18nService } from "../platform/services/i18n.service";
import { CliI18nService } from "../platform/services/i18n.service";
import { LowdbStorageService } from "../platform/services/lowdb-storage.service";
import { NodeApiService } from "../platform/services/node-api.service";
import { NodeEnvSecureStorageService } from "../platform/services/node-env-secure-storage.service";
@@ -189,7 +189,7 @@ export class ServiceContainer {
secureStorageService: NodeEnvSecureStorageService;
memoryStorageService: MemoryStorageService;
memoryStorageForStateProviders: MemoryStorageServiceForStateProviders;
i18nService: I18nService;
i18nService: CliI18nService;
platformUtilsService: CliPlatformUtilsService;
keyService: KeyService;
tokenService: TokenService;
@@ -331,7 +331,7 @@ export class ServiceContainer {
storageServiceProvider,
);
this.i18nService = new I18nService("en", "./locales", this.globalStateProvider);
this.i18nService = new CliI18nService("en", "./locales", this.globalStateProvider);
this.singleUserStateProvider = new DefaultSingleUserStateProvider(
storageServiceProvider,

View File

@@ -11,6 +11,7 @@
"allowJs": true,
"sourceMap": true,
"baseUrl": ".",
"resolveJsonModule": true,
"paths": {
"@bitwarden/common/spec": ["../../libs/common/spec"],
"@bitwarden/admin-console/common": ["../../libs/admin-console/src/common"],