Skip to content

chore: sync react localization from platform-localization#273

Closed
platform-localization-pr-bot[bot] wants to merge 1 commit into
mainfrom
chore/localization-sync-react-20260629-62d7111
Closed

chore: sync react localization from platform-localization#273
platform-localization-pr-bot[bot] wants to merge 1 commit into
mainfrom
chore/localization-sync-react-20260629-62d7111

Conversation

@platform-localization-pr-bot

@platform-localization-pr-bot platform-localization-pr-bot Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Automated localization sync from platform-localization.

  • Platform: React
  • Source ref: 62d7111e95bd7d7326698ea2a4446375408c70f1
  • Workflow: Distribute React Localization

Greptile Summary

This is an automated localization sync from platform-localization that updates packages/ui/src/i18n/locales/en.json. The sync cleans up two duplicate keys (noLanguageSearchResults, languageSearchAriaLabel) and moves booksHeading to the end, but also removes versionSearchAriaLabel — a key that is still actively consumed by a component.

  • \"versionSearchAriaLabel\": \"Search Bible versions\" is deleted from en.json while bible-version-picker.tsx still calls t('versionSearchAriaLabel') for an aria-label; since en is the i18n fallback locale, all supported languages will render the raw key string instead of a human-readable label.
  • Duplicate entries for \"noLanguageSearchResults\" and \"languageSearchAriaLabel\" are correctly removed (originals remain at the top of the file).
  • \"booksHeading\" is moved to the last position; fr.json and es.json retain it at position 26, creating a minor ordering inconsistency across locale files.

Confidence Score: 3/5

The sync should not be merged as-is: it removes an active ARIA label key from the fallback locale, which will silently degrade accessibility for all users of the Bible version search input.

The deletion of versionSearchAriaLabel from the English (fallback) locale means every supported language will lose the human-readable label on the version search input, surfacing the raw key name to screen readers. The rest of the sync (duplicate cleanup, key reorder) is safe, but this omission needs to be corrected before the change lands.

packages/ui/src/i18n/locales/en.json — verify versionSearchAriaLabel is restored before merging.

Important Files Changed

Filename Overview
packages/ui/src/i18n/locales/en.json Automated sync removes versionSearchAriaLabel (still used in bible-version-picker.tsx), moves booksHeading to end, and cleans up duplicate keys; the missing key breaks the ARIA label on the version search input.

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
    participant Component as bible-version-picker.tsx
    participant i18n as i18next (fallbackLng: en)
    participant enJSON as en.json

    Component->>i18n: t('versionSearchAriaLabel')
    i18n->>enJSON: lookup key in active locale
    enJSON-->>i18n: key not found
    i18n->>enJSON: fallback to en locale
    enJSON-->>i18n: key not found (removed in this PR)
    i18n-->>Component: returns raw key "versionSearchAriaLabel"
    Component->>Component: aria-label set to raw key string (broken)
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
    participant Component as bible-version-picker.tsx
    participant i18n as i18next (fallbackLng: en)
    participant enJSON as en.json

    Component->>i18n: t('versionSearchAriaLabel')
    i18n->>enJSON: lookup key in active locale
    enJSON-->>i18n: key not found
    i18n->>enJSON: fallback to en locale
    enJSON-->>i18n: key not found (removed in this PR)
    i18n-->>Component: returns raw key "versionSearchAriaLabel"
    Component->>Component: aria-label set to raw key string (broken)
Loading

Fix All in Claude Code Fix All in Cursor Fix All in Codex

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
packages/ui/src/i18n/locales/en.json:44-46
**Missing `versionSearchAriaLabel` key breaks accessibility**

`"versionSearchAriaLabel"` is removed from `en.json`, but it is still actively referenced in `bible-version-picker.tsx` at line 786 as `aria-label={t('versionSearchAriaLabel')}`. Since `en` is the configured `fallbackLng` in `i18n/index.ts`, removing this key from the fallback locale means every language (English included) will receive no match and i18next will fall back to rendering the raw key string `"versionSearchAriaLabel"` as the ARIA label — exposing an internal i18n key to screen-reader users instead of the intended human-readable "Search Bible versions".

Reviews (1): Last reviewed commit: "chore: sync react localization" | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

@changeset-bot

changeset-bot Bot commented Jun 29, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 2443e2b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Comment on lines 44 to 46
"noVersionsFound": "No versions found",
"noLanguageSearchResults": "We're sorry, there are no results for this search.",
"languageSearchAriaLabel": "Search languages",
"versionSearchAriaLabel": "Search Bible versions",
"noRegionalLanguagesAvailable": "No regional languages available",
"suggestedTab": "Suggested",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Missing versionSearchAriaLabel key breaks accessibility

"versionSearchAriaLabel" is removed from en.json, but it is still actively referenced in bible-version-picker.tsx at line 786 as aria-label={t('versionSearchAriaLabel')}. Since en is the configured fallbackLng in i18n/index.ts, removing this key from the fallback locale means every language (English included) will receive no match and i18next will fall back to rendering the raw key string "versionSearchAriaLabel" as the ARIA label — exposing an internal i18n key to screen-reader users instead of the intended human-readable "Search Bible versions".

Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/ui/src/i18n/locales/en.json
Line: 44-46

Comment:
**Missing `versionSearchAriaLabel` key breaks accessibility**

`"versionSearchAriaLabel"` is removed from `en.json`, but it is still actively referenced in `bible-version-picker.tsx` at line 786 as `aria-label={t('versionSearchAriaLabel')}`. Since `en` is the configured `fallbackLng` in `i18n/index.ts`, removing this key from the fallback locale means every language (English included) will receive no match and i18next will fall back to rendering the raw key string `"versionSearchAriaLabel"` as the ARIA label — exposing an internal i18n key to screen-reader users instead of the intended human-readable "Search Bible versions".

How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code Fix in Cursor Fix in Codex

@camrun91

Copy link
Copy Markdown
Collaborator

test closing as it is not needed

@camrun91 camrun91 closed this Jun 29, 2026
@camrun91 camrun91 deleted the chore/localization-sync-react-20260629-62d7111 branch June 29, 2026 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant