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', houseSectionBilling: 'Billing', houseSectionUtilities: 'Utilities', houseSectionMembers: 'Members', houseSectionTopics: 'Topics', 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.', paymentsTitle: 'Payments', paymentsEmpty: 'No payment confirmations recorded for this cycle yet.', paymentLedgerRent: 'Rent payment', paymentLedgerUtilities: 'Utilities payment', 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.', purchaseReviewTitle: 'Purchases', purchaseReviewBody: 'Edit or remove purchases if the bot recorded the wrong item.', paymentsAdminTitle: 'Payments', paymentsAdminBody: 'Add, fix, or remove payment records for the current cycle.', paymentsAddAction: 'Add payment', addingPayment: 'Adding payment…', paymentKind: 'Payment kind', paymentAmount: 'Payment amount', paymentMember: 'Member', paymentSaveAction: 'Save payment', paymentDeleteAction: 'Delete payment', deletingPayment: 'Deleting payment…', purchaseSaveAction: 'Save purchase', purchaseDeleteAction: 'Delete purchase', deletingPurchase: 'Deleting purchase…', savingPurchase: 'Saving purchase…', householdSettingsTitle: 'Household settings', householdSettingsBody: 'Control household defaults and approve roommates who requested access.', topicBindingsTitle: 'Topic bindings', topicBindingsBody: 'Review which Telegram topics are currently connected for purchases, feedback, reminders, and payments.', topicPurchase: 'Purchases', topicFeedback: 'Feedback', topicReminders: 'Reminders', topicPayments: 'Payments', topicBound: 'Bound', topicUnbound: 'Unbound', 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…', saveUtilityBillAction: 'Save utility bill', deleteUtilityBillAction: 'Delete utility bill', deletingUtilityBill: 'Deleting 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: 'Дом', houseSectionBilling: 'Биллинг', houseSectionUtilities: 'Коммуналка', houseSectionMembers: 'Участники', houseSectionTopics: 'Топики', welcome: 'С возвращением', adminTag: 'Админ', residentTag: 'Житель', overviewTitle: 'Текущий цикл', overviewBody: 'Ниже можно посмотреть балансы, записи леджера и доступ к household.', totalDue: 'Итого к оплате', paidLabel: 'Оплачено', remainingLabel: 'Осталось', membersCount: 'Участники', ledgerEntries: 'Записи леджера', pendingRequests: 'Ожидают подтверждения', yourBalanceTitle: 'Твой баланс', yourBalanceBody: 'Посмотри свой баланс за текущий цикл до и после поправки на общие покупки.', baseDue: 'База к оплате', finalDue: 'Итог к оплате', householdBalancesTitle: 'Баланс household', householdBalancesBody: 'Текущий расклад по всем участникам за этот цикл.', purchasesTitle: 'Общие покупки', purchasesEmpty: 'Пока нет общих покупок в этом цикле.', utilityLedgerTitle: 'Коммунальные платежи', utilityLedgerEmpty: 'Пока нет коммунальных платежей в этом цикле.', paymentsTitle: 'Оплаты', paymentsEmpty: 'В этом цикле пока нет подтверждённых оплат.', paymentLedgerRent: 'Оплата аренды', paymentLedgerUtilities: 'Оплата коммуналки', ledgerActorFallback: 'Household', shareRent: 'Аренда', shareUtilities: 'Коммуналка', shareOffset: 'Общие покупки', ledgerTitle: 'Вошедшие операции', emptyDashboard: 'Пока нет готового billing cycle.', latestActivityTitle: 'Последняя активность', latestActivityEmpty: 'Здесь появятся последние коммунальные платежи и покупки.', purchaseReviewTitle: 'Покупки', purchaseReviewBody: 'Здесь можно исправить или удалить покупку, если бот распознал её неправильно.', paymentsAdminTitle: 'Оплаты', paymentsAdminBody: 'Добавляй, исправляй или удаляй оплаты за текущий цикл.', paymentsAddAction: 'Добавить оплату', addingPayment: 'Добавляем оплату…', paymentKind: 'Тип оплаты', paymentAmount: 'Сумма оплаты', paymentMember: 'Участник', paymentSaveAction: 'Сохранить оплату', paymentDeleteAction: 'Удалить оплату', deletingPayment: 'Удаляем оплату…', purchaseSaveAction: 'Сохранить покупку', purchaseDeleteAction: 'Удалить покупку', deletingPurchase: 'Удаляем покупку…', savingPurchase: 'Сохраняем покупку…', householdSettingsTitle: 'Настройки household', householdSettingsBody: 'Здесь можно менять язык household и подтверждать новых соседей.', topicBindingsTitle: 'Привязанные топики', topicBindingsBody: 'Проверь, какие Telegram-топики сейчас подключены для покупок, обратной связи, напоминаний и оплат.', topicPurchase: 'Покупки', topicFeedback: 'Обратная связь', topicReminders: 'Напоминания', topicPayments: 'Оплаты', topicBound: 'Привязан', topicUnbound: 'Не привязан', billingSettingsTitle: 'Настройки биллинга', settlementCurrency: 'Валюта расчёта', billingCycleTitle: 'Текущий billing cycle', billingCycleEmpty: 'Нет открытого цикла', billingCycleStatus: 'Валюта текущего цикла: {currency}', billingCycleOpenHint: 'Открой цикл перед тем, как вносить аренду и коммунальные счета.', billingCyclePeriod: 'Период цикла', openCycleAction: 'Открыть цикл', openingCycle: 'Открываем цикл…', closeCycleAction: 'Закрыть цикл', closingCycle: 'Закрываем цикл…', saveCycleRentAction: 'Сохранить аренду для цикла', savingCycleRent: 'Сохраняем аренду…', utilityCategoryLabel: 'Категория коммуналки', utilityAmount: 'Сумма коммуналки', addUtilityBillAction: 'Добавить коммунальный счёт', savingUtilityBill: 'Сохраняем счёт…', saveUtilityBillAction: 'Сохранить счёт', deleteUtilityBillAction: 'Удалить счёт', deletingUtilityBill: 'Удаляем счёт…', 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>