Files
helexa/helexa.ai/src/i18n/resources/bg/common.json
rob thijssen 7a6f252fe0
All checks were successful
CI / Format (push) Successful in 40s
CI / CUDA type-check (push) Successful in 1m39s
CI / Clippy (push) Successful in 2m50s
CI / Test (push) Successful in 6m34s
CI / Build cortex SRPM (push) Has been skipped
CI / Publish cortex to COPR (push) Has been skipped
CI / Build neuron SRPM (push) Has been skipped
CI / Publish neuron to COPR (push) Has been skipped
CI / Bump version in source (push) Has been skipped
feat(F1): theming + 33-language i18n + usage-ordered language selector
Ports the reference site's visual + i18n foundation into helexa.ai and
adds the deliberate usage-ordered language picker.

- Ported from ~/git/helexa-ai/helexa.ai: src/layout (ThemeProvider/theme,
  localStorage + data-theme, light/dark), src/App.css (cyan/hot-pink accents,
  system fonts), src/i18n (index + languages + translation-priority +
  resources for 33 languages × common/home/chat), Footer, DirectionalIcon,
  public assets, and the check-i18n-* scripts.
- getLanguageOptionsByUsage() (in translation-priority.ts): orders the
  selector by the TRANSLATION_PRIORITY ranking (≈ native-speaker usage),
  deduping repeated entries and appending any unranked supported language —
  NOT alphabetical, the marketing-driven choice that foregrounds helexa's
  international grounding. RTL preserved.
- Header: usage-ordered language dropdown (autonym + secondary label in the
  current language), theme toggle, and new nav — `/` (chat), `/mission`,
  and a Login/Register auth cluster stubbed until F4. New nav keys
  (mission/login/register/account/logout) injected into all 33 common.json
  with English placeholders so key-parity holds.
- App composes ThemeProvider → BrowserRouter → Header + routes + Footer
  (placeholders for `/` and `/mission`); main.tsx loads i18n.

Validated: npm run lint, typecheck, build all green; npm run i18n:check
reports all keys consistent across the 33 languages. (Build emits a
chunk-size advisory — code-splitting is deferred to F6 polish.) Staged with
explicit paths; no node_modules/dist.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F6o3ddqmYNh9kzdwq6eowh
2026-06-23 11:01:04 +03:00

64 lines
1.6 KiB
JSON

{
"app": {
"name": "helexa.ai"
},
"nav": {
"home": "Начало",
"docs": "Документация",
"chat": "Чат",
"mission": "Mission",
"login": "Sign in",
"register": "Sign up",
"account": "Account",
"logout": "Sign out"
},
"theme": {
"toggle": {
"toLight": "Превключване към светла тема",
"toDark": "Превключване към тъмна тема"
}
},
"lang": {
"bg": "български",
"de": "немски",
"el": "гръцки",
"en": "английски",
"es": "испански",
"et": "естонски",
"fr": "френски",
"he": "иврит",
"it": "италиански",
"nl": "Нидерландски",
"da": "Датски",
"fi": "Фински",
"no": "Норвежки",
"sv": "Шведски",
"ar": "Арабски",
"fa": "персийски",
"sw": "суахили",
"ha": "хауза",
"am": "амхарски",
"yo": "йоруба",
"zu": "зулу",
"ma": "дариджа",
"ig": "игбо",
"ka": "грузински",
"kk": "казахски",
"om": "оромо",
"so": "сомалийски",
"ti": "тигриња",
"uz": "узбекски",
"wo": "волоф",
"pl": "полски",
"pt": "португалски",
"ro": "румънски",
"ru": "руски",
"sr": "сръбски",
"tr": "турски",
"uk": "украински"
},
"footer": {
"copyright": "© {{year}} helexa.ai"
}
}