/** Отображаемое имя продукта (с пробелом), не путать с `productName` сборки (`TTRPGPlayer`). */ export const APP_DISPLAY_NAME_EN = 'TTRPG Player'; export const APP_DISPLAY_NAME_RU = 'НРИ Плеер'; /** Системный идентификатор приложения (exe, AppImage, appId). */ export const APP_PRODUCT_NAME = 'TTRPGPlayer'; export const APP_BUNDLE_ID = 'com.ttrpgplayer.app'; export function appDisplayNameForLocale(localeTag: string): string { const tag = localeTag.trim().toLowerCase(); if (tag.startsWith('ru')) return APP_DISPLAY_NAME_RU; return APP_DISPLAY_NAME_EN; } /** Префикс заголовка окон: `TTRPG - Редактор`. */ export const APP_WINDOW_BRAND = 'TTRPG'; export type AppWindowKind = 'editor' | 'presentation' | 'control' | 'boot'; const WINDOW_SUFFIX: Record = { editor: { ru: 'Редактор', en: 'Editor' }, presentation: { ru: 'Презентация', en: 'Presentation' }, control: { ru: 'Пульт', en: 'Control' }, boot: { ru: 'Загрузка', en: 'Loading' }, }; export function windowChromeTitle(kind: AppWindowKind, localeTag: string): string { const tag = localeTag.trim().toLowerCase(); const suffix = tag.startsWith('ru') ? WINDOW_SUFFIX[kind].ru : WINDOW_SUFFIX[kind].en; return `${APP_WINDOW_BRAND} - ${suffix}`; }