Skip to content

Commit d8b4c0f

Browse files
kwagyemanclaude
andcommitted
docs(i18n): document RTL (he/ar) status — translated, excluded from switcher
he and ar are translated and build clean but the Shibuya theme has no RTL support (emits lang= but not dir=rtl, ships no RTL CSS), so they are kept out of the switcher and redirect until the theme/CSS is fixed. Notes what broke and the steps to enable them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent a3a35be commit d8b4c0f

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

docs/tools/i18n/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,33 @@ for the multi-language docs build. The language list, switcher, and the
77

88
All commands are run from the `docs/` directory.
99

10+
## RTL languages (he, ar) — translated but NOT in the switcher
11+
12+
Hebrew (`he`) and Arabic (`ar`) are fully translated and committed under
13+
`locale/he/` and `locale/ar/`, and they build cleanly (no markup errors). They
14+
are deliberately **left out of `conf.py`'s `html_context["languages"]` switcher
15+
and out of `static/lang-redirect.js`** because the Shibuya theme has no RTL
16+
support:
17+
18+
- The build emits `<html lang="he">` / `lang="ar"` but **never sets `dir="rtl"`**,
19+
and the theme ships **no RTL stylesheet** (no `[dir=rtl]` rules, no
20+
`:lang(he|ar)` rules). Verified: zero `dir=` attributes in the `he`/`ar` HTML.
21+
- Result: the page renders with **LTR chrome** (sidebar, navbar, text-align,
22+
next-steps/changelog cards, list indentation all on the left); only the
23+
individual Hebrew/Arabic text runs get the browser's per-run bidi. That is a
24+
broken right-to-left reading experience, not a mirrored layout.
25+
26+
To enable them later (theme/CSS work, then uncomment the two entries in
27+
`conf.py` and `lang-redirect.js`'s `SUBDIRS`/`MAP`):
28+
29+
1. Set `dir="rtl"` on `<html>` for RTL languages — override the theme's
30+
`layout.html` (or a `conf.py` hook) keyed on `language in {"he","ar"}`.
31+
2. Add RTL CSS so the layout mirrors — prefer CSS logical properties
32+
(`margin-inline-*`, `padding-inline-*`, `inset-inline-*`) or `[dir=rtl]`
33+
overrides for the navbar, sidebar, cards, and figures.
34+
3. Force `dir="ltr"` on code (`.highlight`, `code`, inline literals) and other
35+
LTR snippets so they don't reflow inside the RTL flow.
36+
1037
## Files
1138

1239
| file | role | committed? |

0 commit comments

Comments
 (0)