chore: sync react localization from platform-localization#273
chore: sync react localization from platform-localization#273platform-localization-pr-bot[bot] wants to merge 1 commit into
Conversation
|
| "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", |
There was a problem hiding this 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".
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.|
test closing as it is not needed |
Automated localization sync from
platform-localization.62d7111e95bd7d7326698ea2a4446375408c70f1Distribute React LocalizationGreptile Summary
This is an automated localization sync from
platform-localizationthat updatespackages/ui/src/i18n/locales/en.json. The sync cleans up two duplicate keys (noLanguageSearchResults,languageSearchAriaLabel) and movesbooksHeadingto the end, but also removesversionSearchAriaLabel— a key that is still actively consumed by a component.\"versionSearchAriaLabel\": \"Search Bible versions\"is deleted fromen.jsonwhilebible-version-picker.tsxstill callst('versionSearchAriaLabel')for anaria-label; sinceenis the i18n fallback locale, all supported languages will render the raw key string instead of a human-readable label.\"noLanguageSearchResults\"and\"languageSearchAriaLabel\"are correctly removed (originals remain at the top of the file).\"booksHeading\"is moved to the last position;fr.jsonandes.jsonretain 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
versionSearchAriaLabelfrom 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
versionSearchAriaLabelis restored before merging.Important Files Changed
versionSearchAriaLabel(still used in bible-version-picker.tsx), movesbooksHeadingto 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)%%{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)Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "chore: sync react localization" | Re-trigger Greptile