Skip to content

RI-8275 i18n: migrate Vector Search#6190

Open
valkirilov wants to merge 3 commits into
mainfrom
fe/feature/RI-8275/i18n-vector-search
Open

RI-8275 i18n: migrate Vector Search#6190
valkirilov wants to merge 3 commits into
mainfrom
fe/feature/RI-8275/i18n-vector-search

Conversation

@valkirilov

@valkirilov valkirilov commented Jul 10, 2026

Copy link
Copy Markdown
Member

What

Route the entire Vector Search page (pages/vector-search/**) through i18next with Bulgarian translations, under the vectorSearch.* namespace (list, create-index flow, query page, query library, welcome + state screens).

Note: The PR looks huge, but it's just replacing hardcoded strings with their respective translations.

Testing

  • yarn type-check (no new errors), yarn i18n:check (en/bg parity 665/665), yarn lint:ui.
  • Full pages/vector-search jest suite (723 tests) + the browser make-searchable modal suite pass.
  • Manually: open Vector Search (list / create index / query), append ?lang=bg; empty bg values fall back to English.

Note

Low Risk
Large but mechanical string extraction with no auth, data, or API behavior changes; main risk is missing keys or stale module-scope strings if a getter is skipped.

Overview
Adds English and Bulgarian locale entries for the Vector Search experience (vectorSearch.*) plus related query library / index toasts (notification.*).

Vector Search UI no longer uses hardcoded copy: components call useTranslation, i18n.t, or <Trans> for labels, tooltips, onboarding, modals, and empty states. Shared field-type help text in create-redisearch-index/constants.ts now references descriptionKey keys instead of inline English strings (also used outside Vector Search).

Runtime getters replace many module-level string tables (column headers, validation messages, onboarding steps, sample-data options, fallback pages) so text follows the active language instead of freezing at import time. Index list row actions can expose a separate label while keeping stable name ids for tests.

Specs that asserted fixed English constants were updated to resolve strings through i18n or the new getters.

Reviewed by Cursor Bugbot for commit 0155d39. Bugbot is set up for automated code reviews on this repo. Configure here.

valkirilov and others added 3 commits July 10, 2026 12:13
Route the Vector Search index list area through i18n under vectorSearch.list.*
with Bulgarian translations: header + info popover, create-index menu,
delete-index confirmation, column headers/tooltips, empty states, and the
row-action labels. Column headers/tooltips and row-action labels resolve at
render time; a `label` field on IndexListAction keeps `name` stable for test ids.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…I-8275)

Route the Vector Search create-index flow and query page through i18n with
Bulgarian translations.

Create-index flow → vectorSearch.{createIndex,fieldType,onboarding,sampleData,
selectKeyOnboarding}.*: page header/footer/toolbar/content, index-name editor,
confirm-key-change modal, field-type modal + list (labels/tooltips/descriptions/
validation), onboarding, pick-sample-data, select-key onboarding. Shared
field-type descriptions (create-redisearch-index/constants.ts, also used by the
browser make-searchable modal) under vectorSearch.fieldType.desc.*.

Query page → vectorSearch.{query,queryLibrary,commandView}.*: editor actions/
tooltips/tabs/placeholder/Monaco onboarding, query library + save/delete modals,
command view, page header/breadcrumb. Group-command label uses count-based
plurals.

Create-index and query-library toasts go under notification.*. Module-level
constants resolve at render time; Redis tokens left untranslated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Route the remaining Vector Search screens through i18n with Bulgarian
translations, completing pages/vector-search coverage:

- welcome screen, no-search-results
- index details + info side panel (labels, column headers, tooltips)
- RQE-not-available / version-not-supported / upgrade banner / search-page
  fallback
- keys browser (select-key, scan counters, supported-types info)

Module-level constants resolve at render time via getters; scan counters use
<Trans> to preserve testid spans; Redis type tokens (HASH/JSON) and the
document title left untranslated per convention.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@valkirilov valkirilov requested a review from a team as a code owner July 10, 2026 12:48
@valkirilov valkirilov self-assigned this Jul 10, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 0155d39. Configure here.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0155d39f5a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage - Frontend unit tests

St.
Category Percentage Covered / Total
🟢 Statements 83.87% 27187/32414
🟡 Branches 69.68% 11578/16615
🟡 Functions 79.27% 7284/9189
🟢 Lines 84.35% 26477/31390

Test suite run success

7763 tests passing in 860 suites.

Report generated by 🧪jest coverage report action from 0155d39

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant