Skip to content

feat(i18n): localize accessibility labels#130

Merged
os-zhuang merged 1 commit into
mainfrom
feat/i18n-a11y-labels
Jun 11, 2026
Merged

feat(i18n): localize accessibility labels#130
os-zhuang merged 1 commit into
mainfrom
feat/i18n-a11y-labels

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

i18n P4 (safe part) — accessibility labels

The screen-reader accessibilityLabels that were still hardcoded English.

New a11y namespace (goBack, clearSearch, dismiss, toolActivity, flowDiagram, stateMachineDiagram, loading{List,Dashboard,Detail,Form}); reuses common.{edit,delete,close} and ai.reasoning for the rest.

Wired: ScreenHeader (back — every screen), SearchBar (clear), BottomSheet (close), Toast (dismiss), ToolInvocations, Reasoning, SwipeableRow (edit/delete), FlowViewer + StateMachineViewer (diagrams), and the four loading skeletons. Toast / StateMachineViewer alias the hook to tr to avoid shadowing their existing t map-callback params.

All three locales at full key parity; tsc + lint clean, full suite 1337 passing.

Not included — RTL (genuinely blocked)

The audit's last item, full Arabic RTL layout, is not in this PR. It needs:

  1. A restart capability — neither expo-updates nor react-native-restart is installed, so I18nManager.forceRTL() can't take effect on native without adding a native dep + rebuild.
  2. A layout audit — flipping the many marginLeft/Right, flex-row, and absolute-position assumptions.

That's a sizable, riskier feature on its own; flagging rather than half-applying it.

🤖 Generated with Claude Code

P4 (safe part) of the i18n sweep — the screen-reader `accessibilityLabel`s that
were still hardcoded English.

New `a11y` namespace (goBack, clearSearch, dismiss, toolActivity, flowDiagram,
stateMachineDiagram, loading{List,Dashboard,Detail,Form}); reuses common.{edit,
delete,close} and ai.reasoning for the rest.

Wired: ScreenHeader (back — every screen), SearchBar (clear), BottomSheet
(close), Toast (dismiss), ToolInvocations, Reasoning, SwipeableRow (edit/delete),
FlowViewer + StateMachineViewer (diagrams), and the four loading skeletons.
Toast/StateMachineViewer alias the hook to `tr` to avoid shadowing their
existing `t` callback params.

All three locales at full key parity; tsc + lint clean, full suite 1337 passing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@os-zhuang os-zhuang merged commit ae67102 into main Jun 11, 2026
@os-zhuang os-zhuang deleted the feat/i18n-a11y-labels branch June 11, 2026 13:30
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