- Updated `generateUUID` function for improved readability and performance. - Deleted `logger.ts`, `other.ts`, `request.ts`, `storage.ts`, `tansParams.ts`, and `validate.ts` as they were no longer needed. - Simplified TypeScript configuration by removing unnecessary paths and aliases. - Enhanced Vite configuration for better project structure and maintainability.
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
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 '@runtime/locales/messages'
|
|
|
|
const messages: Record<string, RuntimeMessageTree> = 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;
|
|
}
|