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 <noreply@anthropic.com>
This commit is contained in:
sdarbinyan
2026-07-19 23:04:51 +04:00
parent e2d97d1ee9
commit 1c3926332f
4 changed files with 12 additions and 0 deletions

View File

@@ -1318,6 +1318,7 @@ export const en: Translations = {
column_total: 'Total', column_total: 'Total',
column_created: 'Placed', column_created: 'Placed',
status: { status: {
all: 'All statuses',
pending: 'Pending', pending: 'Pending',
processing: 'Packing', processing: 'Packing',
shipped: 'Shipping', shipped: 'Shipping',
@@ -1706,6 +1707,8 @@ export const en: Translations = {
revoke: 'Revoke', revoke: 'Revoke',
passwordlessHint: 'Team members sign in with Telegram - no passwords to manage.', passwordlessHint: 'Team members sign in with Telegram - no passwords to manage.',
confirmSuspend: 'Suspend this team member? They will lose access immediately.', confirmSuspend: 'Suspend this team member? They will lose access immediately.',
suspend: 'Suspend',
reactivate: 'Reactivate',
scopeValue: { scopeValue: {
marketplace: 'Storefront', marketplace: 'Storefront',
office: 'Back office', office: 'Back office',

View File

@@ -1313,6 +1313,7 @@ export const hy: Translations = {
column_total: 'Գումար', column_total: 'Գումար',
column_created: 'Ստեղծված է', column_created: 'Ստեղծված է',
status: { status: {
all: 'Բոլոր կարգավիճակները',
pending: 'Սպասման մեջ', pending: 'Սպասման մեջ',
processing: 'Փաթեթավորում', processing: 'Փաթեթավորում',
shipped: 'Առաքվում է', shipped: 'Առաքվում է',
@@ -1701,6 +1702,8 @@ export const hy: Translations = {
revoke: 'Չեղարկել', revoke: 'Չեղարկել',
passwordlessHint: 'Անդամները մուտք են գործում Telegram-ով — գաղտնաբառեր պետք չեն։', passwordlessHint: 'Անդամները մուտք են գործում Telegram-ով — գաղտնաբառեր պետք չեն։',
confirmSuspend: 'Արգելափակե՞լ այս անդամին։ Մուտքը կփակվի անմիջապես։', confirmSuspend: 'Արգելափակե՞լ այս անդամին։ Մուտքը կփակվի անմիջապես։',
suspend: 'Արգելափակել',
reactivate: 'Վերականգնել',
scopeValue: { scopeValue: {
marketplace: 'Խանութ', marketplace: 'Խանութ',
office: 'Բեք-օֆիս', office: 'Բեք-օֆիս',

View File

@@ -1313,6 +1313,7 @@ export const ru: Translations = {
column_total: 'Сумма', column_total: 'Сумма',
column_created: 'Оформлен', column_created: 'Оформлен',
status: { status: {
all: 'Все статусы',
pending: 'Ожидает', pending: 'Ожидает',
processing: 'Сборка', processing: 'Сборка',
shipped: 'Доставляется', shipped: 'Доставляется',
@@ -1701,6 +1702,8 @@ export const ru: Translations = {
revoke: 'Отозвать', revoke: 'Отозвать',
passwordlessHint: 'Участники входят через Telegram — пароли не нужны.', passwordlessHint: 'Участники входят через Telegram — пароли не нужны.',
confirmSuspend: 'Заблокировать этого участника? Доступ будет закрыт немедленно.', confirmSuspend: 'Заблокировать этого участника? Доступ будет закрыт немедленно.',
suspend: 'Заблокировать',
reactivate: 'Восстановить',
scopeValue: { scopeValue: {
marketplace: 'Витрина', marketplace: 'Витрина',
office: 'Бэк-офис', office: 'Бэк-офис',

View File

@@ -1317,6 +1317,7 @@ export interface Translations {
column_total: string; column_total: string;
column_created: string; column_created: string;
status: { status: {
all: string;
pending: string; pending: string;
processing: string; processing: string;
shipped: string; shipped: string;
@@ -1714,6 +1715,8 @@ export interface Translations {
revoke: string; revoke: string;
passwordlessHint: string; passwordlessHint: string;
confirmSuspend: string; confirmSuspend: string;
suspend: string;
reactivate: string;
scopeValue: { scopeValue: {
marketplace: string; marketplace: string;
office: string; office: string;