From 1db63ac99d131394243a502521821d37b7d0d77c Mon Sep 17 00:00:00 2001 From: sdarbinyan Date: Wed, 15 Jul 2026 20:25:12 +0400 Subject: [PATCH] fix(i18n): add missing actionUsers/Monitoring/Analytics dashboard keys Quick Actions rendered raw i18n keys instead of translated labels for the Users/Monitoring/Analytics actions. Also reverts useMockData back to its pre-session value (false) after manual local verification. Adds docs/KNOWN-ISSUES.md to track bugs found during manual QA, deferred for a batch fix after the sprint. --- docs/KNOWN-ISSUES.md | 29 +++++++++++++++++++++++++++++ src/app/i18n/en.ts | 3 +++ src/app/i18n/hy.ts | 3 +++ src/app/i18n/ru.ts | 3 +++ src/app/i18n/translations.ts | 3 +++ 5 files changed, 41 insertions(+) create mode 100644 docs/KNOWN-ISSUES.md diff --git a/docs/KNOWN-ISSUES.md b/docs/KNOWN-ISSUES.md new file mode 100644 index 0000000..7171c66 --- /dev/null +++ b/docs/KNOWN-ISSUES.md @@ -0,0 +1,29 @@ +# Known Issues (fix after sprint wrap-up) + +Running list of bugs spotted during manual verification, deferred until the +current sprint's feature work is done. Add to this list as more are found; +don't fix inline unless asked. + +## Open + +(none currently) + +## Fixed + +1. **Quick Actions: 3 untranslated raw i18n keys.** + `dashboard.actionUsers`, `dashboard.actionMonitoring`, + `dashboard.actionAnalytics` rendered as literal key strings instead of + translated labels on the admin dashboard's Quick Actions section, because + `admin-dashboard.facade.ts` referenced them but they were never added to + `translations.ts`/`en.ts`/`ru.ts`/`hy.ts`. + - Found: 2026-07-15, manual browser verification of + `/:lang/backoffice/dashboard?devBypassAdmin=true`. + - Fixed: 2026-07-15, added the 3 keys to the interface + all 3 locales. + +## Notes (not bugs, just flag before shipping) + +- `src/environments/environment.ts`: `useMockData` was temporarily flipped to + `true` during this session's manual verification (so Categories/Products + dashboard cards showed mock counts instead of erroring against a + nonexistent local `/api/backoffice/*` backend), then reverted back to + `false` afterward - matches its pre-session value. diff --git a/src/app/i18n/en.ts b/src/app/i18n/en.ts index b0f3977..b394cc4 100644 --- a/src/app/i18n/en.ts +++ b/src/app/i18n/en.ts @@ -670,6 +670,9 @@ export const en: Translations = { actionTransactions: 'Transactions', actionOrders: 'Orders', actionMediaLibrary: 'Media Library', + actionUsers: 'Users & Permissions', + actionMonitoring: 'Monitoring', + actionAnalytics: 'Analytics', actionPreviewMarketplace: 'Preview Marketplace', activityTitle: 'Recent Activity', activityEmpty: 'No activity yet. Save or publish a change to see it here.', diff --git a/src/app/i18n/hy.ts b/src/app/i18n/hy.ts index 0946630..fd28137 100644 --- a/src/app/i18n/hy.ts +++ b/src/app/i18n/hy.ts @@ -670,6 +670,9 @@ export const hy: Translations = { actionTransactions: 'Գործարքներ', actionOrders: 'Պատվերներ', actionMediaLibrary: 'Մեդիագրադարան', + actionUsers: 'Օգտատերեր և իրավունքներ', + actionMonitoring: 'Մոնիտորինգ', + actionAnalytics: 'Վերլուծություն', actionPreviewMarketplace: 'Դիտել մարքեթփլեյսը', activityTitle: 'Վերջին ակտիվություն', activityEmpty: 'Դեռ ակտիվություն չկա։ Պահպանեք կամ հրապարակեք փոփոխություն՝ այն այստեղ տեսնելու համար։', diff --git a/src/app/i18n/ru.ts b/src/app/i18n/ru.ts index 79ca537..b9166af 100644 --- a/src/app/i18n/ru.ts +++ b/src/app/i18n/ru.ts @@ -670,6 +670,9 @@ export const ru: Translations = { actionTransactions: 'Транзакции', actionOrders: 'Заказы', actionMediaLibrary: 'Медиатека', + actionUsers: 'Пользователи и права', + actionMonitoring: 'Мониторинг', + actionAnalytics: 'Аналитика', actionPreviewMarketplace: 'Просмотр маркетплейса', activityTitle: 'Недавняя активность', activityEmpty: 'Пока нет активности. Сохраните или опубликуйте изменение, чтобы увидеть его здесь.', diff --git a/src/app/i18n/translations.ts b/src/app/i18n/translations.ts index 6f88316..d41701b 100644 --- a/src/app/i18n/translations.ts +++ b/src/app/i18n/translations.ts @@ -668,6 +668,9 @@ export interface Translations { actionTransactions: string; actionOrders: string; actionMediaLibrary: string; + actionUsers: string; + actionMonitoring: string; + actionAnalytics: string; actionPreviewMarketplace: string; activityTitle: string; activityEmpty: string;