Initial TTRPG character meta-builder with visual sheet editor.
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>
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
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];
|
||||
}
|
||||
Reference in New Issue
Block a user