// i18n: translations for RU and KZ
const I18N = {
  ru: {
    brand_sub: 'ЖК · мангальная зона',
    nav_book: 'Забронировать',
    hero_eyebrow: 'Бронирование мангальной зоны',
    hero_title_1: 'Уважаемые',
    hero_title_em: 'соседи,',
    hero_title_2: 'у нас есть мангальная зона',
    hero_lede: 'Благодаря стараниям Мужского чата в нашем дворе появилась мангальная зона — в некотором смысле гордость ЖК Nexpo Union. На эту и другие цели по облагораживанию общего дома мы собирали из личных средств. Надеемся, тем, кто пользовался, понравилось проводить там досуг.',
    meta_fee_label: 'Взнос',
    meta_fee_val: '2 000 ₸',
    meta_window_label: 'Окно брони',
    meta_window_val: '3 месяца',
    meta_slot_label: '',
    meta_slot_val: '',

    cal_section: 'Календарь',
    cal_kicker: 'Выберите дату',
    legend_free: 'свободно',
    legend_busy: 'занято',
    legend_partial: 'частично занято',
    legend_sel: 'выбрано',
    legend_past: 'недоступно',
    prev: 'Предыдущий месяц',
    next: 'Следующий месяц',
    weekdays: ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'],
    months: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
    monthsGen: ['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'],
    weekdaysLong: ['понедельник','вторник','среда','четверг','пятница','суббота','воскресенье'],

    form_title: 'Новая бронь',
    form_sub: 'Заполните форму',
    field_selected: 'Выбрано',
    field_clear: 'сбросить',
    field_pickdate: 'Сначала выберите дату в календаре',
    field_name: 'Имя',
    field_name_ph: 'Асанов Асан Асанұлы',
    field_phone: 'Телефон',
    field_phone_ph: '+7 ___ ___ __ __',
    field_apt: 'Квартира',
    field_apt_ph: '42',
    fee_label: 'Взнос',
    fee_val: '2 000 ₸',
    fee_tip_title: 'Куда идёт взнос?',
    fee_tip_body: 'Деньги идут на поддержание мангала: покупку нового инвентаря, чистящих щёток, скребков и моющего средства. Оплата — Kaspi на +7 708 538 2500.',
    submit: 'Забронировать',
    submit_busy: 'Эта дата уже занята',
    form_hint: 'Подтверждение с реквизитами откроется после отправки',

    err_name: 'Укажите имя',
    err_phone: 'Некорректный номер',
    err_apt: 'Квартира от 1 до 300',

    modal_pay_eyebrow: 'Бронь принята',
    modal_pay_title_1: 'Осталось перевести',
    modal_pay_title_em: '2000 ₸',
    modal_pay_body: 'Мы держим за вами дату. Переведите взнос на Kaspi — и всё, готово. Без оплаты бронь сохраняется 24 часа.',
    modal_pay_label: 'Kaspi · по номеру телефона',
    modal_pay_amount: 'Сумма',
    modal_pay_amount_val: '2 000 ₸',
    modal_pay_why: 'Зачем взнос?',
    modal_pay_why_body: 'Деньги идут на поддержание мангала: покупку нового инвентаря, чистящих щёток, скребков и моющего средства. Порядок — общая забота.',
    copy: 'Копировать',
    copied: 'Скопировано',
    modal_done: 'Понятно',
    modal_my: 'Мои брони',

    busy_eyebrow: 'Дата занята',
    busy_title_1: 'Эта дата',
    busy_title_em: 'уже забронирована',
    busy_body: 'Выберите другой день — или посмотрите, кто забронировал этот:',
    busy_pick: 'Выбрать другую дату',

    gallery_title: 'Зона',
    gallery_kicker: 'Фотогалерея',
    gallery_captions: ['Беседка с гирляндой', 'Стол на 10 персон', 'Выход из лифта', 'Общий план', 'Вид на город'],
    gallery_placeholder: 'фото будет добавлено',

    rules_title: 'Правила',
    rules_kicker: 'Пользование зоной',
    rules: [
      { t: 'Время', b: 'Мангальная зона работает с 11:00 до 23:00. После 23:00 — тишина ради соседей.' },
      { t: 'Уголь и дрова', b: 'Приносите свои. Не используйте жидкость для розжига — только сухой розжиг. Рекомендуем использовать брикеты вместо обычного древесного угля: от них меньше дыма, и они дольше держат высокую температуру.' },
      { t: 'Чистота', b: 'После мероприятия — уберите стол и вынесите мусор в контейнер у выхода. Щётка и скребок — в ящике.' },
    ],

    my_title: 'Мои брони',
    my_kicker: 'Проверить',
    my_search: 'Номер квартиры',
    my_search_cta: 'Найти',
    my_empty: 'Бронирований по этой квартире нет',
    my_status_paid: 'Оплачено',
    my_status_pending: 'Ждём оплату',
    my_cancel: 'Отменить',
    my_confirm_cancel: 'Отменить бронь?',

    toast_booked: 'Бронь создана',
    toast_cancelled: 'Бронь отменена',
    toast_copied: 'Номер скопирован',

    footer_rights: '© 2026 Nexpo Union · Мужской чат',
    footer_support: 'Поддержка: +7 708 538 2500',
  },
  kz: {
    brand_sub: 'ТҮК · мангал аймағы',
    nav_book: 'Брондау',
    hero_eyebrow: 'Мангал аймағын брондау',
    hero_title_1: 'Құрметті',
    hero_title_em: 'көршілер,',
    hero_title_2: 'бізде мангал аймағы бар',
    hero_lede: 'Ер-азаматтар чатының арқасында аулада мангал аймағы пайда болды — Nexpo Union ТҮК-тің мақтанышы. Бұған және жалпы үйді көркейтудің басқа да мақсаттарына өз қаражатымыздан жинадық. Пайдаланғандарға уақыт өткізу ұнаған болар деген үміттеміз.',
    meta_fee_label: 'Жарна',
    meta_fee_val: '2 000 ₸',
    meta_window_label: 'Мерзім',
    meta_window_val: '3 ай',
    meta_slot_label: '',
    meta_slot_val: '',

    cal_section: 'Күнтізбе',
    cal_kicker: 'Күнді таңдаңыз',
    legend_free: 'бос',
    legend_busy: 'бос емес',
    legend_partial: 'ішінара бос емес',
    legend_sel: 'таңдалды',
    legend_past: 'өткен',
    prev: 'Алдыңғы ай',
    next: 'Келесі ай',
    weekdays: ['дс', 'сс', 'ср', 'бс', 'жм', 'сб', 'жк'],
    months: ['Қаңтар','Ақпан','Наурыз','Сәуір','Мамыр','Маусым','Шілде','Тамыз','Қыркүйек','Қазан','Қараша','Желтоқсан'],
    monthsGen: ['қаңтар','ақпан','наурыз','сәуір','мамыр','маусым','шілде','тамыз','қыркүйек','қазан','қараша','желтоқсан'],
    weekdaysLong: ['дүйсенбі','сейсенбі','сәрсенбі','бейсенбі','жұма','сенбі','жексенбі'],

    form_title: 'Жаңа бронь',
    form_sub: 'Форманы толтырыңыз',
    field_selected: 'Таңдалды',
    field_clear: 'тазалау',
    field_pickdate: 'Алдымен күнтізбеден күнді таңдаңыз',
    field_name: 'Аты',
    field_name_ph: 'Асанов Асан Асанұлы',
    field_phone: 'Телефон',
    field_phone_ph: '+7 ___ ___ __ __',
    field_apt: 'Пәтер',
    field_apt_ph: '42',
    fee_label: 'Жарна',
    fee_val: '2 000 ₸',
    fee_tip_title: 'Жарна не үшін?',
    fee_tip_body: 'Ақша мангалды күтіп-ұстауға жұмсалады: жаңа құрал-саймандар, щёткалар, скребоктар және жуғыш құрал сатып алу. Төлем — Kaspi: +7 708 538 2500.',
    submit: 'Брондау',
    submit_busy: 'Бұл күн бос емес',
    form_hint: 'Төлем деректері жіберілгеннен кейін көрсетіледі',

    err_name: 'Атыңызды жазыңыз',
    err_phone: 'Телефон дұрыс емес',
    err_apt: 'Пәтер 1-ден 300-ге дейін',

    modal_pay_eyebrow: 'Бронь қабылданды',
    modal_pay_title_1: 'Қалғаны — аудару',
    modal_pay_title_em: '2 000 ₸',
    modal_pay_body: 'Күн сізге бекітілді. Жарнаны Kaspi арқылы аударыңыз — бәрі дайын. Төлемсіз бронь 24 сағатқа сақталады.',
    modal_pay_label: 'Kaspi · телефон бойынша',
    modal_pay_amount: 'Сома',
    modal_pay_amount_val: '2 000 ₸',
    modal_pay_why: 'Жарна не үшін?',
    modal_pay_why_body: 'Ақша мангалды күтіп-ұстауға жұмсалады: жаңа құрал-саймандар, щёткалар, скребоктар және жуғыш құрал сатып алу.',
    copy: 'Көшіру',
    copied: 'Көшірілді',
    modal_done: 'Түсінікті',
    modal_my: 'Менің брондарым',

    busy_eyebrow: 'Күн бос емес',
    busy_title_1: 'Бұл күн',
    busy_title_em: 'брондалған',
    busy_body: 'Басқа күн таңдаңыз — немесе осы күнді кім брондағанын қараңыз:',
    busy_pick: 'Басқа күн таңдау',

    gallery_title: 'Аймақ',
    gallery_kicker: 'Фотогалерея',
    gallery_captions: ['Гирляндалы беседка', '10 адамдық үстел', 'Лифттен шығу', 'Жалпы көрініс', 'Қала көрінісі'],
    gallery_placeholder: 'фото қосылады',

    rules_title: 'Ережелер',
    rules_kicker: 'Пайдалану',
    rules: [
      { t: 'Уақыт', b: 'Мангал аймағы 11:00-ден 23:00-ге дейін жұмыс істейді. 23:00-ден кейін — тыныштық.' },
      { t: 'Көмір мен ағаш', b: 'Өзіңізбен ала келіңіз. Сұйық жандырғыш пайдаланбаңыз — тек құрғақ отын. Кәдімгі ағаш көмірдің орнына брикеттерді қолдануды ұсынамыз: олардан түтін аз шығады және жоғары температураны ұзақ ұстайды.' },
      { t: 'Тазалық', b: 'Қолданғаннан кейін үстелді тазалап, қоқысты контейнерге тастаңыз. Щётка мен скребок — жәшікте.' },
    ],

    my_title: 'Менің брондарым',
    my_kicker: 'Тексеру',
    my_search: 'Пәтер нөмірі',
    my_search_cta: 'Іздеу',
    my_empty: 'Бұл пәтерге бронь жоқ',
    my_status_paid: 'Төленген',
    my_status_pending: 'Төлем күтілуде',
    my_cancel: 'Болдырмау',
    my_confirm_cancel: 'Бронды болдырмау?',

    toast_booked: 'Бронь жасалды',
    toast_cancelled: 'Бронь болдырылмады',
    toast_copied: 'Нөмір көшірілді',

    footer_rights: '© 2026 Nexpo Union · Ерлер чаты',
    footer_support: 'Қолдау: +7 708 538 2500',
  },
};

function useI18n() {
  const [lang, setLang] = React.useState(() => localStorage.getItem('mangal.lang') || 'kz');
  React.useEffect(() => {
    localStorage.setItem('mangal.lang', lang);
    document.documentElement.lang = lang;
  }, [lang]);
  const t = I18N[lang];
  return { lang, setLang, t };
}

Object.assign(window, { I18N, useI18n });
