import { CONFIG_KEYS } from '@runtime/lib/constants' import logManager from '@electron/service/logger' import configManager from '@electron/service/config-service' import path from 'node:path' import { app } from 'electron' import { runtimeLocaleMessages, type RuntimeMessageTree } from '@electron/locales/messages' const messages: Record = runtimeLocaleMessages export function createTranslator() { return (key?: string) => { if (!key) return void 0; try { const keys = key?.split('.'); let result: any = messages[configManager.get(CONFIG_KEYS.LANGUAGE)] ?? messages.zh; for (const _key of keys) { result = result[_key]; } return result as string; } catch (e) { logManager.error('failed to translate key:', key, e); return key } } } let logo: string | void = void 0; export function createLogo() { if (logo != null) { return logo; } // Use app.getAppPath() to get the application root directory const appPath = app.getAppPath(); const iconPath = path.join(appPath, 'resources', 'icons', 'icon.ico'); logo = iconPath; return logo; }