export type Locale = 'en' | 'ru' export const dictionary = { en: { appTitle: 'Kojori House', appSubtitle: 'Shared home dashboard', loadingTitle: 'Checking your household access', loadingBody: 'Validating Telegram session and membership…', loadingBadge: 'Secure session', demoBadge: 'Demo mode', liveBadge: 'Live household', joinTitle: 'Welcome to your household', joinBody: 'You are not a member of {household} yet. Send a join request and wait for admin approval.', pendingTitle: 'Join request sent', pendingBody: 'Your request for {household} is pending admin approval.', openFromGroupTitle: 'Open this from your household group', openFromGroupBody: 'Use the join button from the household group setup message so the app knows which household you want to join.', unexpectedErrorTitle: 'Unable to load the household app', unexpectedErrorBody: 'Retry in Telegram. If this keeps failing, ask the household admin to resend the join button.', householdFallback: 'this household', joinAction: 'Join household', joining: 'Sending request…', botLinkAction: 'Open bot chat', telegramOnlyTitle: 'Open this app from Telegram', telegramOnlyBody: 'The real session gate needs Telegram mini app data. Local development falls back to a preview shell.', reload: 'Retry', language: 'Language', householdLanguage: 'Household language', savingLanguage: 'Saving…', home: 'Home', balances: 'Balances', ledger: 'Ledger', house: 'House', welcome: 'Welcome back', adminTag: 'Admin', residentTag: 'Resident', overviewTitle: 'Current cycle', overviewBody: 'Use the sections below to review balances, ledger entries, and household access.', totalDue: 'Total due', paidLabel: 'Paid', remainingLabel: 'Remaining', membersCount: 'Members', ledgerEntries: 'Ledger entries', pendingRequests: 'Pending requests', yourBalanceTitle: 'Your balance', yourBalanceBody: 'See your current cycle balance before and after shared household purchases.', baseDue: 'Base due', finalDue: 'Final due', householdBalancesTitle: 'Household balances', householdBalancesBody: 'Everyone’s current split for this cycle.', purchasesTitle: 'Shared purchases', purchasesEmpty: 'No shared purchases recorded for this cycle yet.', utilityLedgerTitle: 'Utility bills', utilityLedgerEmpty: 'No utility bills recorded for this cycle yet.', ledgerActorFallback: 'Household', shareRent: 'Rent', shareUtilities: 'Utilities', shareOffset: 'Shared buys', ledgerTitle: 'Included ledger', emptyDashboard: 'No billing cycle is ready yet.', latestActivityTitle: 'Latest activity', latestActivityEmpty: 'Recent utility and purchase entries will appear here.', householdSettingsTitle: 'Household settings', householdSettingsBody: 'Control household defaults and approve roommates who requested access.', billingSettingsTitle: 'Billing settings', settlementCurrency: 'Settlement currency', billingCycleTitle: 'Current billing cycle', billingCycleEmpty: 'No open cycle', billingCycleStatus: 'Current cycle currency: {currency}', billingCycleOpenHint: 'Open a cycle before entering rent and utility bills.', billingCyclePeriod: 'Cycle period', openCycleAction: 'Open cycle', openingCycle: 'Opening cycle…', closeCycleAction: 'Close cycle', closingCycle: 'Closing cycle…', saveCycleRentAction: 'Save current cycle rent', savingCycleRent: 'Saving rent…', utilityCategoryLabel: 'Utility category', utilityAmount: 'Utility amount', addUtilityBillAction: 'Add utility bill', savingUtilityBill: 'Saving utility bill…', utilityBillsEmpty: 'No utility bills recorded for this cycle yet.', rentAmount: 'Rent amount', rentDueDay: 'Rent due day', rentWarningDay: 'Rent warning day', utilitiesDueDay: 'Utilities due day', utilitiesReminderDay: 'Utilities reminder day', timezone: 'Timezone', saveSettingsAction: 'Save settings', savingSettings: 'Saving settings…', utilityCategoriesTitle: 'Utility categories', utilityCategoriesBody: 'Manage the categories admins use for monthly utility entry.', utilityCategoryName: 'Category name', utilityCategoryActive: 'Active', addCategoryAction: 'Add category', saveCategoryAction: 'Save category', savingCategory: 'Saving…', adminsTitle: 'Admins', adminsBody: 'Promote trusted household members so they can manage billing and approvals.', rentWeightLabel: 'Rent weight', saveRentWeightAction: 'Save rent weight', savingRentWeight: 'Saving weight…', promoteAdminAction: 'Promote to admin', promotingAdmin: 'Promoting…', residentHouseTitle: 'Household access', residentHouseBody: 'Your admins manage household settings and approvals here. You can still switch your own language above.', pendingMembersTitle: 'Pending members', pendingMembersBody: 'Approve roommates here after they request access from the group join flow.', pendingMembersEmpty: 'No pending member requests right now.', approveMemberAction: 'Approve', approvingMember: 'Approving…', pendingMemberHandle: '@{username}', balancesEmpty: 'Balances will appear here once the dashboard API lands.', ledgerEmpty: 'Ledger entries will appear here after the finance view is connected.', houseEmpty: 'Household details will appear here.' }, ru: { appTitle: 'Kojori House', appSubtitle: 'Панель общего дома', loadingTitle: 'Проверяем доступ к дому', loadingBody: 'Проверяем Telegram-сессию и членство…', loadingBadge: 'Защищённая сессия', demoBadge: 'Демо режим', liveBadge: 'Живой household', joinTitle: 'Добро пожаловать домой', joinBody: 'Ты пока не участник {household}. Отправь заявку на вступление и дождись подтверждения админа.', pendingTitle: 'Заявка отправлена', pendingBody: 'Твоя заявка в {household} ждёт подтверждения админа.', openFromGroupTitle: 'Открой приложение из группового чата', openFromGroupBody: 'Используй кнопку подключения из сообщения настройки household, чтобы приложение поняло, к какому дому ты хочешь присоединиться.', unexpectedErrorTitle: 'Не удалось открыть household app', unexpectedErrorBody: 'Попробуй снова из Telegram. Если ошибка повторяется, попроси админа ещё раз прислать кнопку подключения.', householdFallback: 'этот household', joinAction: 'Вступить в household', joining: 'Отправляем заявку…', botLinkAction: 'Открыть чат с ботом', telegramOnlyTitle: 'Открой приложение из Telegram', telegramOnlyBody: 'Настоящая проверка требует данные Telegram Mini App. Локально показывается демо-оболочка.', reload: 'Повторить', language: 'Язык', householdLanguage: 'Язык дома', savingLanguage: 'Сохраняем…', home: 'Главная', balances: 'Баланс', ledger: 'Леджер', house: 'Дом', welcome: 'С возвращением', adminTag: 'Админ', residentTag: 'Житель', overviewTitle: 'Текущий цикл', overviewBody: 'Ниже можно посмотреть балансы, записи леджера и доступ к household.', totalDue: 'Итого к оплате', paidLabel: 'Оплачено', remainingLabel: 'Осталось', membersCount: 'Участники', ledgerEntries: 'Записи леджера', pendingRequests: 'Ожидают подтверждения', yourBalanceTitle: 'Твой баланс', yourBalanceBody: 'Посмотри свой баланс за текущий цикл до и после поправки на общие покупки.', baseDue: 'База к оплате', finalDue: 'Итог к оплате', householdBalancesTitle: 'Баланс household', householdBalancesBody: 'Текущий расклад по всем участникам за этот цикл.', purchasesTitle: 'Общие покупки', purchasesEmpty: 'Пока нет общих покупок в этом цикле.', utilityLedgerTitle: 'Коммунальные платежи', utilityLedgerEmpty: 'Пока нет коммунальных платежей в этом цикле.', ledgerActorFallback: 'Household', shareRent: 'Аренда', shareUtilities: 'Коммуналка', shareOffset: 'Общие покупки', ledgerTitle: 'Вошедшие операции', emptyDashboard: 'Пока нет готового billing cycle.', latestActivityTitle: 'Последняя активность', latestActivityEmpty: 'Здесь появятся последние коммунальные платежи и покупки.', householdSettingsTitle: 'Настройки household', householdSettingsBody: 'Здесь можно менять язык household и подтверждать новых соседей.', billingSettingsTitle: 'Настройки биллинга', settlementCurrency: 'Валюта расчёта', billingCycleTitle: 'Текущий billing cycle', billingCycleEmpty: 'Нет открытого цикла', billingCycleStatus: 'Валюта текущего цикла: {currency}', billingCycleOpenHint: 'Открой цикл перед тем, как вносить аренду и коммунальные счета.', billingCyclePeriod: 'Период цикла', openCycleAction: 'Открыть цикл', openingCycle: 'Открываем цикл…', closeCycleAction: 'Закрыть цикл', closingCycle: 'Закрываем цикл…', saveCycleRentAction: 'Сохранить аренду для цикла', savingCycleRent: 'Сохраняем аренду…', utilityCategoryLabel: 'Категория коммуналки', utilityAmount: 'Сумма коммуналки', addUtilityBillAction: 'Добавить коммунальный счёт', savingUtilityBill: 'Сохраняем счёт…', utilityBillsEmpty: 'Для этого цикла пока нет коммунальных счетов.', rentAmount: 'Сумма аренды', rentDueDay: 'День оплаты аренды', rentWarningDay: 'День напоминания по аренде', utilitiesDueDay: 'День оплаты коммуналки', utilitiesReminderDay: 'День напоминания по коммуналке', timezone: 'Часовой пояс', saveSettingsAction: 'Сохранить настройки', savingSettings: 'Сохраняем настройки…', utilityCategoriesTitle: 'Категории коммуналки', utilityCategoriesBody: 'Управляй категориями, которые админы используют для ежемесячного ввода коммунальных счетов.', utilityCategoryName: 'Название категории', utilityCategoryActive: 'Активна', addCategoryAction: 'Добавить категорию', saveCategoryAction: 'Сохранить категорию', savingCategory: 'Сохраняем…', adminsTitle: 'Админы', adminsBody: 'Повышай доверенных участников, чтобы они могли управлять биллингом и подтверждениями.', rentWeightLabel: 'Вес аренды', saveRentWeightAction: 'Сохранить вес аренды', savingRentWeight: 'Сохраняем вес…', promoteAdminAction: 'Сделать админом', promotingAdmin: 'Повышаем…', residentHouseTitle: 'Доступ к household', residentHouseBody: 'Настройки household и подтверждение заявок управляются админами. Свой язык можно менять переключателем выше.', pendingMembersTitle: 'Ожидающие участники', pendingMembersBody: 'Подтверждай соседей здесь после того, как они отправят заявку через кнопку подключения.', pendingMembersEmpty: 'Сейчас нет ожидающих заявок.', approveMemberAction: 'Подтвердить', approvingMember: 'Подтверждаем…', pendingMemberHandle: '@{username}', balancesEmpty: 'Баланс появится здесь, когда подключим dashboard API.', ledgerEmpty: 'Записи леджера появятся здесь после подключения finance view.', houseEmpty: 'Детали household появятся здесь.' } } satisfies Record>