From 1c3926332fdc60c7fcbc4df2ba26258ea20965ed Mon Sep 17 00:00:00 2001 From: sdarbinyan Date: Sun, 19 Jul 2026 23:04:51 +0400 Subject: [PATCH] fix(admin): close remaining raw i18n key leaks (Orders status filter, Users suspend/reactivate) P0-8: re-verified the ~178-key admin i18n gap (docs/KNOWN-ISSUES.md item 2, docs/ADMIN-UX-AUDIT.md) is largely fixed by prior commits, but a live pass over Orders/Transactions/Users/Monitoring/Analytics found 2 remaining leaks: - adminOrders.status.all rendered literally in the Orders list's primary status filter (the bulk-action status select already excluded 'all' and was fine; the primary filter loop did not). - adminUsers.suspend / adminUsers.reactivate rendered literally on every row action button on the Users page. Added the missing keys to all 3 locales. Transactions, Monitoring, and Analytics show no raw dot-key leaks in this pass. Co-Authored-By: Claude Sonnet 5 --- src/app/i18n/en.ts | 3 +++ src/app/i18n/hy.ts | 3 +++ src/app/i18n/ru.ts | 3 +++ src/app/i18n/translations.ts | 3 +++ 4 files changed, 12 insertions(+) diff --git a/src/app/i18n/en.ts b/src/app/i18n/en.ts index f35262d..a0f9481 100644 --- a/src/app/i18n/en.ts +++ b/src/app/i18n/en.ts @@ -1318,6 +1318,7 @@ export const en: Translations = { column_total: 'Total', column_created: 'Placed', status: { + all: 'All statuses', pending: 'Pending', processing: 'Packing', shipped: 'Shipping', @@ -1706,6 +1707,8 @@ export const en: Translations = { revoke: 'Revoke', passwordlessHint: 'Team members sign in with Telegram - no passwords to manage.', confirmSuspend: 'Suspend this team member? They will lose access immediately.', + suspend: 'Suspend', + reactivate: 'Reactivate', scopeValue: { marketplace: 'Storefront', office: 'Back office', diff --git a/src/app/i18n/hy.ts b/src/app/i18n/hy.ts index 710118b..3d4cc58 100644 --- a/src/app/i18n/hy.ts +++ b/src/app/i18n/hy.ts @@ -1313,6 +1313,7 @@ export const hy: Translations = { column_total: 'Գումար', column_created: 'Ստեղծված է', status: { + all: 'Բոլոր կարգավիճակները', pending: 'Սպասման մեջ', processing: 'Փաթեթավորում', shipped: 'Առաքվում է', @@ -1701,6 +1702,8 @@ export const hy: Translations = { revoke: 'Չեղարկել', passwordlessHint: 'Անդամները մուտք են գործում Telegram-ով — գաղտնաբառեր պետք չեն։', confirmSuspend: 'Արգելափակե՞լ այս անդամին։ Մուտքը կփակվի անմիջապես։', + suspend: 'Արգելափակել', + reactivate: 'Վերականգնել', scopeValue: { marketplace: 'Խանութ', office: 'Բեք-օֆիս', diff --git a/src/app/i18n/ru.ts b/src/app/i18n/ru.ts index 898e1e2..cfe1c7b 100644 --- a/src/app/i18n/ru.ts +++ b/src/app/i18n/ru.ts @@ -1313,6 +1313,7 @@ export const ru: Translations = { column_total: 'Сумма', column_created: 'Оформлен', status: { + all: 'Все статусы', pending: 'Ожидает', processing: 'Сборка', shipped: 'Доставляется', @@ -1701,6 +1702,8 @@ export const ru: Translations = { revoke: 'Отозвать', passwordlessHint: 'Участники входят через Telegram — пароли не нужны.', confirmSuspend: 'Заблокировать этого участника? Доступ будет закрыт немедленно.', + suspend: 'Заблокировать', + reactivate: 'Восстановить', scopeValue: { marketplace: 'Витрина', office: 'Бэк-офис', diff --git a/src/app/i18n/translations.ts b/src/app/i18n/translations.ts index b646c8e..c17a8db 100644 --- a/src/app/i18n/translations.ts +++ b/src/app/i18n/translations.ts @@ -1317,6 +1317,7 @@ export interface Translations { column_total: string; column_created: string; status: { + all: string; pending: string; processing: string; shipped: string; @@ -1714,6 +1715,8 @@ export interface Translations { revoke: string; passwordlessHint: string; confirmSuspend: string; + suspend: string; + reactivate: string; scopeValue: { marketplace: string; office: string;