[PR #12023] feat(i18n): Add RTL support for Arabic language #14037

Open
opened 2026-02-16 18:18:51 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/anomalyco/opencode/pull/12023

State: open
Merged: No


Summary

  • Add comprehensive RTL styles (~175 lines) in rtl.css
  • Auto-detect RTL locales and set document.dir in language context
  • Add RTL Tailwind utilities (rtl-flip, force-ltr, dir-isolate)
  • Convert left/right padding to logical properties (padding-inline-start)
  • Preserve LTR for code blocks, numbers, and technical content
  • Fix custom-elements.d.ts type reference paths

Changes

File Change
packages/ui/src/styles/rtl.css NEW - Complete RTL stylesheet
packages/app/src/context/language.tsx RTL detection & document.dir
packages/ui/src/styles/index.css Import rtl.css
packages/ui/src/styles/tailwind/utilities.css RTL utility classes
packages/app/src/index.css Logical padding properties
packages/app/src/custom-elements.d.ts Fix reference path
packages/enterprise/src/custom-elements.d.ts Fix reference path

Testing

When Arabic language is selected, the entire UI flips to RTL while preserving LTR for:

  • Code blocks
  • Numbers and technical content
  • Directional icons
**Original Pull Request:** https://github.com/anomalyco/opencode/pull/12023 **State:** open **Merged:** No --- ## Summary - Add comprehensive RTL styles (~175 lines) in `rtl.css` - Auto-detect RTL locales and set `document.dir` in language context - Add RTL Tailwind utilities (`rtl-flip`, `force-ltr`, `dir-isolate`) - Convert left/right padding to logical properties (`padding-inline-start`) - Preserve LTR for code blocks, numbers, and technical content - Fix `custom-elements.d.ts` type reference paths ## Changes | File | Change | |------|--------| | `packages/ui/src/styles/rtl.css` | NEW - Complete RTL stylesheet | | `packages/app/src/context/language.tsx` | RTL detection & document.dir | | `packages/ui/src/styles/index.css` | Import rtl.css | | `packages/ui/src/styles/tailwind/utilities.css` | RTL utility classes | | `packages/app/src/index.css` | Logical padding properties | | `packages/app/src/custom-elements.d.ts` | Fix reference path | | `packages/enterprise/src/custom-elements.d.ts` | Fix reference path | ## Testing When Arabic language is selected, the entire UI flips to RTL while preserving LTR for: - Code blocks - Numbers and technical content - Directional icons
yindo added the pull-request label 2026-02-16 18:18:51 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#14037