Files
office_translator/frontend/src/lib/i18n/messages/ru/index.ts
sepehr 50047ea8a2
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m51s
fix(ui): design critique overhaul — a11y, honest metrics, i18n repair (critique 2026-08-30)
P0 a11y: keyboard-accessible dropzone (role/tabIndex/Enter-Space), ARIA
combobox + listbox pattern for language selector, role=switch on glossary
toggle, role=status live region on notifications, aria-labels on password
toggles, visible-on-focus close buttons, RTL logical positioning (start-*).

Trust: third-party Memento promo removed from translate page, sidebar and
all 13 locales; fabricated stats (99.9%, Turbo, computed layout-integrity
bars) replaced with real measurements incl. API estimated remaining time;
silent download failure now surfaces an error notification.

Honesty: fake 100-byte file injections removed (format chips are now
informational); cancel-that-doesn't renamed 'Back to start' with hint;
Enterprise contact placeholder replaced with contact@wordly.art.

i18n: t() no longer returns raw keys (empty string + defaultValue support,
~30 dead || fallbacks now work); ~170 new keys EN+FR across new reviews/
teams namespaces, glossaries context tab, translate monitor, settings,
services, pricing, landing, fileUploader; split-key italic titles replace
lastIndexOf() surgery (zh/ja-safe); key-audit script added 0 missing.

Flow: active job persisted across refresh with polling resume (24h TTL);
client-side recent-jobs history with review links; review page linked from
complete state; settings/services added to dashboard nav; Business/
Enterprise regain glossary access (tier gate unified).

Typeset (sober-tool direction): 7.5-9px labels raised to 10-12px, /30
opacity to /45-/55, uppercase tracking reduced, trust footer legible,
country flags removed from language switcher, localized dates.

Cleanup: 5 orphaned translate components, dead site header/footer,
fossil tailwind.config.js, PipelineStepper, duplicate pill+H1 titles,
two-step confirm for cache clear, dead landing footer links.

Verified: next build exit 0, vitest 9/9, eslint 64 errors = HEAD
(no regression, -3 warnings), detector 4 -> 3 findings.
2026-08-30 21:44:53 +02:00

59 lines
1.6 KiB
TypeScript

// Auto-generated by scripts/generate_i18n_index.py
// Merges all namespace JSON files for locale "ru".
import admin from "./admin.json";
import apiKeys from "./apiKeys.json";
import auth from "./auth.json";
import checkout from "./checkout.json";
import common from "./common.json";
import context from "./context.json";
import cookieConsent from "./cookieConsent.json";
import dashboard from "./dashboard.json";
import fileUploader from "./fileUploader.json";
import forgotPassword from "./forgotPassword.json";
import glossaries from "./glossaries.json";
import landing from "./landing.json";
import langSelector from "./langSelector.json";
import layout from "./layout.json";
import login from "./login.json";
import pricing from "./pricing.json";
import profile from "./profile.json";
import providerSelector from "./providerSelector.json";
import providerTheme from "./providerTheme.json";
import register from "./register.json";
import resetPassword from "./resetPassword.json";
import services from "./services.json";
import settings from "./settings.json";
import translate from "./translate.json";
import translateComplete from "./translateComplete.json";
const messages: Record<string, string> = {
...admin,
...apiKeys,
...auth,
...checkout,
...common,
...context,
...cookieConsent,
...dashboard,
...fileUploader,
...forgotPassword,
...glossaries,
...landing,
...langSelector,
...layout,
...login,
...pricing,
...profile,
...providerSelector,
...providerTheme,
...register,
...resetPassword,
...services,
...settings,
...translate,
...translateComplete,
};
export default messages;