d1f180ee0a
Offline Electron app seeds 10 system presets, supports create-from-scratch designer with palette/drag/resize/bricks, and exports .ttrpg-system.json for the player. Co-authored-by: Cursor <cursoragent@cursor.com>
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
export type Locale = 'ru' | 'en';
|
|
|
|
const messages = {
|
|
en: {
|
|
brand: 'TTRPG Character Builder',
|
|
systems: 'Systems',
|
|
characters: 'Characters',
|
|
designer: 'Sheet designer',
|
|
fill: 'Fill character',
|
|
import: 'Import',
|
|
export: 'Export',
|
|
loadPresets: 'Load presets',
|
|
newSystem: 'New system',
|
|
save: 'Save',
|
|
delete: 'Delete',
|
|
refresh: 'Refresh',
|
|
noSystem: 'Select or create a system',
|
|
attributes: 'Attributes',
|
|
derived: 'Derived',
|
|
validationOk: 'Validation passed',
|
|
validationFail: 'Validation failed',
|
|
createCharacter: 'Create character',
|
|
characterName: 'Character name',
|
|
},
|
|
ru: {
|
|
brand: 'Конструктор персонажей НРИ',
|
|
systems: 'Системы',
|
|
characters: 'Персонажи',
|
|
designer: 'Дизайнер листа',
|
|
fill: 'Заполнение',
|
|
import: 'Импорт',
|
|
export: 'Экспорт',
|
|
loadPresets: 'Загрузить пресеты',
|
|
newSystem: 'Новая система',
|
|
save: 'Сохранить',
|
|
delete: 'Удалить',
|
|
refresh: 'Обновить',
|
|
noSystem: 'Выберите или создайте систему',
|
|
attributes: 'Атрибуты',
|
|
derived: 'Производные',
|
|
validationOk: 'Валидация пройдена',
|
|
validationFail: 'Ошибки валидации',
|
|
createCharacter: 'Создать персонажа',
|
|
characterName: 'Имя персонажа',
|
|
},
|
|
} as const;
|
|
|
|
export type MessageKey = keyof typeof messages.en;
|
|
|
|
export function t(locale: Locale, key: MessageKey): string {
|
|
return messages[locale][key] ?? messages.en[key];
|
|
}
|