diff --git a/packages/common/env/package.json b/packages/common/env/package.json index cd694ddb07..803e36720d 100644 --- a/packages/common/env/package.json +++ b/packages/common/env/package.json @@ -27,4 +27,4 @@ "zod": "^3.22.4" }, "version": "0.15.0" -} \ No newline at end of file +} diff --git a/packages/common/infra/package.json b/packages/common/infra/package.json index b16510f66e..9e1430e0c1 100644 --- a/packages/common/infra/package.json +++ b/packages/common/infra/package.json @@ -74,4 +74,4 @@ } }, "version": "0.15.0" -} \ No newline at end of file +} diff --git a/packages/frontend/component/package.json b/packages/frontend/component/package.json index 934965fe7c..3ab57f7ecc 100644 --- a/packages/frontend/component/package.json +++ b/packages/frontend/component/package.json @@ -111,4 +111,4 @@ "vitest": "1.6.0" }, "version": "0.15.0" -} \ No newline at end of file +} diff --git a/packages/frontend/core/package.json b/packages/frontend/core/package.json index a15b08d639..e8fbc17943 100644 --- a/packages/frontend/core/package.json +++ b/packages/frontend/core/package.json @@ -116,4 +116,4 @@ "mime-types": "^2.1.35", "vitest": "1.6.0" } -} \ No newline at end of file +} diff --git a/packages/frontend/electron/package.json b/packages/frontend/electron/package.json index 963b562aa5..ef1a8d451d 100644 --- a/packages/frontend/electron/package.json +++ b/packages/frontend/electron/package.json @@ -95,4 +95,4 @@ "peerDependencies": { "ts-node": "*" } -} \ No newline at end of file +} diff --git a/packages/frontend/electron/renderer/shell/index.tsx b/packages/frontend/electron/renderer/shell/index.tsx index 59de48d576..9730d9909b 100644 --- a/packages/frontend/electron/renderer/shell/index.tsx +++ b/packages/frontend/electron/renderer/shell/index.tsx @@ -9,6 +9,7 @@ import { configureAppTabsHeaderModule } from '@affine/core/modules/app-tabs-head import { configureElectronStateStorageImpls } from '@affine/core/modules/storage'; import { performanceLogger } from '@affine/core/shared'; import { apis, events } from '@affine/electron-api'; +import { createI18n, setUpLanguage } from '@affine/i18n'; import { configureGlobalStorageModule, Framework, @@ -27,7 +28,14 @@ const frameworkProvider = framework.provider(); const logger = performanceLogger.namespace('shell'); -function main() { +async function loadLanguage() { + const i18n = createI18n(); + document.documentElement.lang = i18n.language; + + await setUpLanguage(i18n); +} + +async function main() { const handleMaximized = (maximized: boolean | undefined) => { document.documentElement.dataset.maximized = String(maximized); }; @@ -39,6 +47,9 @@ function main() { apis?.ui.isFullScreen().then(handleFullscreen).catch(console.error); events?.ui.onMaximized(handleMaximized); events?.ui.onFullScreen(handleFullscreen); + + await loadLanguage(); + mountApp(); } function mountApp() { @@ -58,9 +69,4 @@ function mountApp() { ); } -try { - main(); - mountApp(); -} catch (err) { - console.error('Failed to bootstrap app', err); -} +main().catch(console.error); diff --git a/tools/cli/package.json b/tools/cli/package.json index df19bd66a2..d85c103ad3 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -46,4 +46,4 @@ "dev": "node --loader ts-node/esm/transpile-only.mjs ./src/bin/dev.ts" }, "version": "0.15.0" -} \ No newline at end of file +}