Перейти до вмісту

� Інтернаціоналізація (i18n) та Теми shadcn/ui — Desktop

📌 Модульний Рушій Локалізації (Chunked i18n)

У додатку реалізовано високоефективний ледачий рушій інтернаціоналізації без важких зовнішніх бібліотек:

  • Файли: apps/desktop/src/i18n/index.tsx, types.ts.
  • Підтримувані мови: Українська (uk) та English (en).
  • Розбивка на простори імен (Namespaces):
    • common.json: кнопки навігації, загальні дії (Зберегти, Скасувати, Вихід).
    • auth.json: форми входу, реєстрації, відновлення паролю.
    • home.json: дашборд, вітання, статистика.
    • plans.json: назви планів, тривалість, зворотний відлік, сповіщення блокування.
    • errors.json: централізоване відображення помилок бекенду.
flowchart LR
Component["UI Компонент\n(наприклад, PlansPage)"] -->|useTranslation(['plans'])| Hook["useTranslation Hook"]
Hook --> Loader["Ледачий Імпорт\nimport('./locales/{lang}/plans.json')"]
Loader --> Cache[("Кеш Словників")]
Cache --> T["Функція t(key, params)"]
T --> Component

🎨 Дизайн-Система Тем shadcn/ui

Додаток підтримує динамічне перемикання тем на основі CSS змінних:

  1. Режими підсвічування:
    • Dark Mode (активний за замовчуванням): глибокі контрастні темні відтінки для комфортної тривалої роботи.
    • Light Mode: світлий режим для яскравих приміщень.
  2. Палітри акцентів shadcn/ui:
    • Zinc (автентичний монохромний вигляд за замовчуванням).
    • Slate (холодні сталеві тони).
    • Stone (теплі природні відтінки).
    • Bronze (преміальний бронзовий акцент).
  3. Вибрана тема та мова автоматично зберігаються в localStorage (smartfeed_theme, smartfeed_language) і відновлюються при наступному запуску додатку.