bober-bbq-bot/docs
byrsapty 3e8314925c Add i18n scaffolding: bot/notification locale support + bilingual cart/checkout
Backend: dependency-free t(key, locale) helper (bober_bbq/utils/i18n.py) in
the spirit of Setting.get(), a new TelegramUser.locale column (migrated via
the existing _add_column_if_missing pattern) populated from Telegram's
language_code on first contact, and order-status notification messages
(notify_customer.py) plus the bot's /start welcome translated to en as proof.

Webapp: a ~30-line I18nProvider/useI18n context (webapp/src/i18n/) with a
per-locale translations dict, auto-detecting locale from a saved choice,
Telegram's language_code, or the browser, with a manual UA/EN switcher in
the header. CartPage and CheckoutPage are fully bilingual end-to-end as the
representative slice; the rest of the app is unchanged Ukrainian-only.

Documented in docs/I18N.md: how to add strings/languages, and the explicit
boundary of what's translated today vs. left for later (admin panel is
intentionally untouched).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 13:35:47 +03:00
..
DEPLOYMENT.md Edit supplier deliveries after the fact; downloadable Excel/PDF statements 2026-08-26 20:17:48 +03:00
I18N.md Add i18n scaffolding: bot/notification locale support + bilingual cart/checkout 2026-08-27 13:35:47 +03:00
OPEN_QUESTIONS.md Add i18n scaffolding: bot/notification locale support + bilingual cart/checkout 2026-08-27 13:35:47 +03:00