Session 12: i18n (10 languages, cookie-based), Africa tier .99, locale switcher, RTL Arabic (1305 tests)

This commit is contained in:
Kev
2026-06-10 22:24:40 -04:00
parent e5c45ecc8e
commit d957dee17b
27 changed files with 1834 additions and 29 deletions
+39
View File
@@ -753,3 +753,42 @@ body.tex-grain::before {
transition-duration: 0.01ms !important;
}
}
/* ─────────────────────────────────────────────────────────
RTL support (Session 12 — Arabic).
Toggled by <html dir="rtl">. The root layout server-
resolves the locale and sets the attribute; these rules
flip the few directional surfaces (nav flex direction,
sidebar drawers, list markers) without inverting the
whole grid (the Bloomberg-style data tables stay LTR
even in RTL mode — numbers read left-to-right
regardless).
───────────────────────────────────────────────────────── */
[dir="rtl"] body {
text-align: right;
}
[dir="rtl"] .nav-links,
[dir="rtl"] .nav-desktop {
flex-direction: row-reverse;
}
[dir="rtl"] .mono,
[dir="rtl"] [class*="font-mono"] {
/* Monospace numeric blocks stay LTR — financial data reads
left-to-right in every locale by convention. */
direction: ltr;
text-align: right;
unicode-bidi: isolate;
}
[dir="rtl"] .pricing-grid {
direction: rtl;
}
[dir="rtl"] .btn-primary,
[dir="rtl"] .btn-ghost {
/* Buttons stay LTR so chevrons / arrows render predictably. */
unicode-bidi: isolate;
}