fix(i18n): eliminate all raw translation key leaks across admin pages
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> - Audited every 'key | translate' and translateService.t() usage under features/admin against en/ru/hy; 37 static keys and 8 dynamic namespaces were missing and rendered as raw keys - Added full adminTransactions namespace (was entirely absent), adminUsers table/invite/session keys with scopeValue/statusValue/invitationStatus maps, adminMonitoring section titles and categoryValue/queueStatus/webhookStatus/levelValue maps, adminAnalytics.topProducts, adminProducts.variants/archived - Resolved leaf/object key conflicts: dynamic 'adminMonitoring.category.*' renamed to categoryValue.*, 'adminTransactions.type.*' to typeValue.* so the leaf labels translate correctly - Monitoring event severity now translated (levelValue) instead of raw English enum - Merchant wording over technical: 'Background queues', 'Webhook deliveries', 'Activity log', 'Running smoothly/Slowed down/Stopped' - Verified zero missing keys in en/ru/hy via AST-level key extraction
This commit is contained in:
@@ -1530,6 +1530,8 @@ export const hy: Translations = {
|
||||
addVariant: 'Ավելացնել տարբերակ',
|
||||
variantName: 'Տարբերակի անուն',
|
||||
variantsHint: 'Յուրաքանչյուր տարբերակ այս ապրանքի առանձին գնվող տարբերակ է (օր․՝ չափս կամ գույն)՝ իր գնով և մնացորդով։',
|
||||
variants: 'Տարբերակներ',
|
||||
archived: 'Արխիվում',
|
||||
seoExplain: 'Սա այն է, ինչ երևում է որոնման արդյունքներում․ հստակ վերնագիրն ու նկարագրությունը օգնում են գտնել այս ապրանքը։',
|
||||
searchTitle: 'Որոնման վերնագիր',
|
||||
searchTitleHint: 'Վերնագիրը, որ երևում է որոնման արդյունքներում։ Պահեք կարճ։',
|
||||
@@ -1585,10 +1587,98 @@ export const hy: Translations = {
|
||||
emptyTitle: 'Օգտատերեր չեն գտնվել',
|
||||
emptyDescription: 'Հրավիրեք գործընկերոջ՝ սկսելու համար։',
|
||||
invitationsEmptyTitle: 'Սպասող հրավերներ չկան',
|
||||
title: 'Թիմ',
|
||||
name: 'Անուն',
|
||||
email: 'Էլ. փոստ',
|
||||
scope: 'Աշխատանքային տարածք',
|
||||
role: 'Դեր',
|
||||
roles: 'Դերեր',
|
||||
lastLogin: 'Վերջին մուտք',
|
||||
sessions: 'Ակտիվ նստաշրջաններ',
|
||||
currentSession: 'Ընթացիկ նստաշրջան',
|
||||
invite: 'Հրավիրել անդամ',
|
||||
sendInvite: 'Ուղարկել հրավեր',
|
||||
revoke: 'Չեղարկել',
|
||||
passwordlessHint: 'Անդամները մուտք են գործում Telegram-ով — գաղտնաբառեր պետք չեն։',
|
||||
confirmSuspend: 'Արգելափակե՞լ այս անդամին։ Մուտքը կփակվի անմիջապես։',
|
||||
scopeValue: {
|
||||
marketplace: 'Խանութ',
|
||||
office: 'Բեք-օֆիս',
|
||||
},
|
||||
statusValue: {
|
||||
active: 'Ակտիվ',
|
||||
invited: 'Հրավիրված',
|
||||
suspended: 'Արգելափակված',
|
||||
},
|
||||
invitationStatus: {
|
||||
pending: 'Սպասում է',
|
||||
accepted: 'Ընդունված',
|
||||
expired: 'Ժամկետանց',
|
||||
revoked: 'Չեղարկված',
|
||||
},
|
||||
},
|
||||
adminTransactions: {
|
||||
search: 'Գործարքների որոնում',
|
||||
type: 'Տեսակ',
|
||||
method: 'Վճարման եղանակ',
|
||||
fraud: 'Խարդախության ստուգում',
|
||||
flagged: 'Նշված',
|
||||
retry: 'Կրկնել',
|
||||
audit: 'Պատմություն',
|
||||
emptyTitle: 'Գործարքներ չեն գտնվել',
|
||||
emptyDescription: 'Փորձեք այլ ֆիլտր կամ որոնման բառ։',
|
||||
status: {
|
||||
all: 'Բոլոր կարգավիճակները',
|
||||
pending: 'Մշակվում է',
|
||||
success: 'Հաջողված',
|
||||
failed: 'Ձախողված',
|
||||
retried: 'Կրկնված',
|
||||
},
|
||||
typeValue: {
|
||||
all: 'Բոլոր տեսակները',
|
||||
payment: 'Վճարում',
|
||||
refund: 'Վերադարձ',
|
||||
qr_payment: 'QR վճարում',
|
||||
},
|
||||
},
|
||||
adminMonitoring: {
|
||||
eventsEmptyTitle: 'Իրադարձություններ չեն գտնվել',
|
||||
eventsEmptyDescription: 'Փորձեք այլ կատեգորիայի ֆիլտր կամ որոնման բառ։',
|
||||
health: 'Վիճակի ստուգումներ',
|
||||
queues: 'Ֆոնային հերթեր',
|
||||
depth: 'Սպասման մեջ',
|
||||
webhooks: 'Վեբհուքերի առաքում',
|
||||
endpoint: 'Ստացող',
|
||||
event: 'Իրադարձություն',
|
||||
events: 'Ակտիվության մատյան',
|
||||
category: 'Կատեգորիա',
|
||||
level: 'Կարևորություն',
|
||||
message: 'Նկարագրություն',
|
||||
categoryValue: {
|
||||
all: 'Բոլոր կատեգորիաները',
|
||||
audit: 'Ադմինի գործողություններ',
|
||||
security: 'Անվտանգություն',
|
||||
login: 'Մուտք',
|
||||
failed_login: 'Ձախողված մուտք',
|
||||
api: 'API',
|
||||
error: 'Սխալ',
|
||||
warning: 'Զգուշացում',
|
||||
},
|
||||
queueStatus: {
|
||||
healthy: 'Աշխատում է կայուն',
|
||||
degraded: 'Դանդաղել է',
|
||||
down: 'Կանգնած է',
|
||||
},
|
||||
webhookStatus: {
|
||||
delivered: 'Առաքված',
|
||||
failed: 'Ձախողված',
|
||||
pending: 'Սպասում է',
|
||||
},
|
||||
levelValue: {
|
||||
info: 'Տեղեկություն',
|
||||
warning: 'Զգուշացում',
|
||||
error: 'Սխալ',
|
||||
},
|
||||
systemState: 'Համակարգի վիճակ',
|
||||
backendConnectivity: 'Բեքենդ',
|
||||
connected: 'Կապակցված է',
|
||||
@@ -1603,6 +1693,7 @@ export const hy: Translations = {
|
||||
adminAnalytics: {
|
||||
topProductsEmptyTitle: 'Այս ժամանակահատվածում ապրանքների վաճառք չկա',
|
||||
topProductsEmptyDescription: 'Փորձեք ընտրել ավելի լայն ամսաթվերի միջակայք։',
|
||||
topProducts: 'Թոփ ապրանքներ',
|
||||
print: 'Տպել',
|
||||
tabsLabel: 'Վերլուծության բաժիններ',
|
||||
tab: {
|
||||
|
||||
Reference in New Issue
Block a user