M2: Admin i18n fájlok oldalakra bontása (lazy loading) #375

Closed
opened 2026-06-30 21:44:21 +02:00 by kincses · 3 comments
Owner

Mérföldkő: Frontend Admin i18n Restruktúrálás
Cél: A monolit en.json (902 sor) és hu.json (804 sor) fájlok szétbontása oldal-specifikus részfájlokra, lehetővé téve a Nuxt i18n lazy loading bekapcsolását

🔗 Függőségek (Dependencies)

  • Bemenet (Mikre támaszkodik): M1 common szekció; a jelenlegi nuxt.config.ts i18n konfiguráció (lazy: false)
  • Kimenet (Mik támaszkodnak rá): M3 (nyelvválasztó dropdown) - a moduláris fájlstruktúra szükséges az új nyelvek skálázható hozzáadásához

📝 Elemzés

Jelenleg nuxt.config.ts: lazy: false, ami azt jelenti, hogy induláskor a teljes 800+ soros JSON betöltődik. A javaslat szerint 14 oldal-specifikus fájlra kell bontani (permissions, packages, garages, garages-details, garages-analytics, garages-employees, garages-fleet, badges, competitions, config, dashboard, leaderboard, ledger, levels, params, point_rules, seasons, users, user_detail, providers, common). Minden oldal csak a saját fordításait tölti be. Ez csökkenti a kezdeti bundle méretet és gyorsítja az első festést (FCP).

**Mérföldkő:** Frontend Admin i18n Restruktúrálás **Cél:** A monolit en.json (902 sor) és hu.json (804 sor) fájlok szétbontása oldal-specifikus részfájlokra, lehetővé téve a Nuxt i18n lazy loading bekapcsolását ### 🔗 Függőségek (Dependencies) - **Bemenet (Mikre támaszkodik):** M1 common szekció; a jelenlegi nuxt.config.ts i18n konfiguráció (lazy: false) - **Kimenet (Mik támaszkodnak rá):** M3 (nyelvválasztó dropdown) - a moduláris fájlstruktúra szükséges az új nyelvek skálázható hozzáadásához ### 📝 Elemzés Jelenleg nuxt.config.ts: lazy: false, ami azt jelenti, hogy induláskor a teljes 800+ soros JSON betöltődik. A javaslat szerint 14 oldal-specifikus fájlra kell bontani (permissions, packages, garages, garages-details, garages-analytics, garages-employees, garages-fleet, badges, competitions, config, dashboard, leaderboard, ledger, levels, params, point_rules, seasons, users, user_detail, providers, common). Minden oldal csak a saját fordításait tölti be. Ez csökkenti a kezdeti bundle méretet és gyorsítja az első festést (FCP).
kincses added the Status: To DoType: Refactor labels 2026-06-30 21:44:21 +02:00
kincses added Status: In Progress and removed Status: To Do labels 2026-06-30 22:01:49 +02:00
kincses started working 2026-06-30 22:01:50 +02:00
Author
Owner

▶️ Munka megkezdve: 2026-06-30 22:01:49

▶️ **Munka megkezdve:** 2026-06-30 22:01:49
kincses added Status: Done and removed Status: In Progress labels 2026-06-30 22:07:37 +02:00
kincses worked for 5 minutes 2026-06-30 22:07:37 +02:00
Author
Owner

Munka befejezve: 2026-06-30 22:07:37

Technikai Összefoglaló:
M2: Admin i18n fájlok oldalakra bontása (lazy loading) - Kész. A monolit en.json (985 sor) és hu.json (887 sor) 44 oldal-specifikus alfájlra bontva (22 EN + 22 HU). nuxt.config.ts: lazy: false → lazy: true. Nuxt production build: Sikeres (Client: 8321ms, Server: 7254ms). Érintett fájlok: frontend_admin/nuxt.config.ts, frontend_admin/i18n/locales/en.json, frontend_admin/i18n/locales/hu.json, frontend_admin/i18n/locales/en/.json (22 fájl), frontend_admin/i18n/locales/hu/.json (22 fájl)

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-06-30 22:07:37 **Technikai Összefoglaló:** M2: Admin i18n fájlok oldalakra bontása (lazy loading) - Kész. A monolit en.json (985 sor) és hu.json (887 sor) 44 oldal-specifikus alfájlra bontva (22 EN + 22 HU). nuxt.config.ts: lazy: false → lazy: true. Nuxt production build: ✅ Sikeres (Client: 8321ms, Server: 7254ms). Érintett fájlok: frontend_admin/nuxt.config.ts, frontend_admin/i18n/locales/en.json, frontend_admin/i18n/locales/hu.json, frontend_admin/i18n/locales/en/*.json (22 fájl), frontend_admin/i18n/locales/hu/*.json (22 fájl) ⏱️ *Az idő rögzítve.*
Author
Owner

#375 kártya végrehajtva: M2 - Admin i18n fájlok oldalakra bontása (lazy loading)

Elvégzett feladatok

  1. Monolit i18n fájlok elemzéseen.json (985 sor) és hu.json (887 sor) teljes tartalmának feltérképezése

  2. 44 oldal-specifikus alfájl létrehozása (22 EN + 22 HU):

    • en/ mappa: badges.json, competitions.json, config.json, dashboard.json, gamification_user_detail.json, gamification_users.json, garages-analytics.json, garages-details.json, garages-employees.json, garages-fleet.json, garages.json, leaderboard.json, ledger.json, levels.json, packages.json, params.json, permissions.json, point_rules.json, providers.json, seasons.json, user_detail.json, users.json
    • hu/ mappa: azonos struktúrájú magyar fordításokkal
  3. Eredeti fájlok redukálásaen.json és hu.json csak a common szekciót tartalmazzák (89-89 sor)

  4. Lazy loading bekapcsolásanuxt.config.ts: lazy: falselazy: true

  5. Production build verifikációdocker exec sf_admin_frontend npx nuxt build Sikeres

    • Client build: 8321ms
    • Server build: 7254ms
    • Nincs hiba, nincs warning
  6. Dokumentációhistory.md frissítve

  7. Gitea #375 lezárva

## ✅ #375 kártya végrehajtva: M2 - Admin i18n fájlok oldalakra bontása (lazy loading) ### Elvégzett feladatok 1. **Monolit i18n fájlok elemzése** — [`en.json`](frontend_admin/i18n/locales/en.json) (985 sor) és [`hu.json`](frontend_admin/i18n/locales/hu.json) (887 sor) teljes tartalmának feltérképezése 2. **44 oldal-specifikus alfájl létrehozása** (22 EN + 22 HU): - `en/` mappa: `badges.json`, `competitions.json`, `config.json`, `dashboard.json`, `gamification_user_detail.json`, `gamification_users.json`, `garages-analytics.json`, `garages-details.json`, `garages-employees.json`, `garages-fleet.json`, `garages.json`, `leaderboard.json`, `ledger.json`, `levels.json`, `packages.json`, `params.json`, `permissions.json`, `point_rules.json`, `providers.json`, `seasons.json`, `user_detail.json`, `users.json` - `hu/` mappa: azonos struktúrájú magyar fordításokkal 3. **Eredeti fájlok redukálása** — [`en.json`](frontend_admin/i18n/locales/en.json) és [`hu.json`](frontend_admin/i18n/locales/hu.json) csak a `common` szekciót tartalmazzák (89-89 sor) 4. **Lazy loading bekapcsolása** — [`nuxt.config.ts`](frontend_admin/nuxt.config.ts): `lazy: false` → `lazy: true` 5. **Production build verifikáció** — `docker exec sf_admin_frontend npx nuxt build` ✅ Sikeres - Client build: 8321ms - Server build: 7254ms - Nincs hiba, nincs warning 6. **Dokumentáció** — [`history.md`](.roo/history.md) frissítve 7. **Gitea #375 lezárva** ✅
Sign in to join this conversation.