Skip to content

i18n: RTL readiness + text-expansion robustness (R-48)#45

Merged
ChelseaKR merged 2 commits into
mainfrom
roadmap/rtl-readiness-and-text-expansion-robustn-12
Jul 8, 2026
Merged

i18n: RTL readiness + text-expansion robustness (R-48)#45
ChelseaKR merged 2 commits into
mainfrom
roadmap/rtl-readiness-and-text-expansion-robustn-12

Conversation

@ChelseaKR

Copy link
Copy Markdown
Owner

Make the PWA RTL-ready, locale-format-correct, and tolerant of text
expansion ahead of new language bundles.

  • app/styles.css: convert remaining physical-direction properties to
    logical ones (skip-link left -> inset-inline-start, result list
    padding-left -> padding-inline-start); add wrap tolerance
    (white-space: normal / overflow-wrap / flex-wrap) to buttons, badges,
    and language labels so long localized strings wrap at 320px.
  • app/app.js: add an RTL_LANGS map and set dir (rtl/ltr) alongside
    lang in setLanguage. Date/number rendering already uses Intl keyed
    to the active language.
  • app/index.html: add explicit dir="ltr" default on .
  • tests/test_app_i18n.py: guard no physical-direction CSS, that
    setLanguage sets dir beside lang, and a static pseudo-locale
    expansion check that compact-UI labels stay bounded.
  • docs: I18N.md G10 DEFERRED -> PARTIAL; localization-guide soften the
    RTL/format cautions (dir set, logical CSS, Intl formats) while keeping
    the native-speaker visual-QA requirement before shipping an RTL bundle.
  • docs/research/synthetic-personas-feedback.md: mark R-48 done.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com


Backfill PR for a completed roadmap item (roadmap/rtl-readiness-and-text-expansion-robustn-12, 1 commit(s) over main). Part of the portfolio roadmap batch.

claude and others added 2 commits July 2, 2026 18:01
Make the PWA RTL-ready, locale-format-correct, and tolerant of text
expansion ahead of new language bundles.

- app/styles.css: convert remaining physical-direction properties to
  logical ones (skip-link `left` -> `inset-inline-start`, result list
  `padding-left` -> `padding-inline-start`); add wrap tolerance
  (white-space: normal / overflow-wrap / flex-wrap) to buttons, badges,
  and language labels so long localized strings wrap at 320px.
- app/app.js: add an RTL_LANGS map and set `dir` (rtl/ltr) alongside
  `lang` in setLanguage. Date/number rendering already uses Intl keyed
  to the active language.
- app/index.html: add explicit `dir="ltr"` default on <html>.
- tests/test_app_i18n.py: guard no physical-direction CSS, that
  setLanguage sets `dir` beside `lang`, and a static pseudo-locale
  expansion check that compact-UI labels stay bounded.
- docs: I18N.md G10 DEFERRED -> PARTIAL; localization-guide soften the
  RTL/format cautions (dir set, logical CSS, Intl formats) while keeping
  the native-speaker visual-QA requirement before shipping an RTL bundle.
- docs/research/synthetic-personas-feedback.md: mark R-48 done.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ChelseaKR ChelseaKR merged commit ae34d4a into main Jul 8, 2026
10 checks passed
@ChelseaKR ChelseaKR deleted the roadmap/rtl-readiness-and-text-expansion-robustn-12 branch July 8, 2026 09:56
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.

2 participants