Files
ttrpg-character-builder/app/renderer/i18n.ts
T
Ivan Fontosh d1f180ee0a 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>
2026-09-12 14:49:31 +08:00

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];
}