Skip to content

docs: add RTL layout anti-patterns audit for i18n support - #100

Closed
esafwan wants to merge 6 commits into
developfrom
fix/standardize-layout-for-i18n-rtl-support
Closed

docs: add RTL layout anti-patterns audit for i18n support#100
esafwan wants to merge 6 commits into
developfrom
fix/standardize-layout-for-i18n-rtl-support

Conversation

@esafwan

@esafwan esafwan commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Audit identifies 47 layout anti-patterns that break with dir=rtl:

  • 8 space-x-* utilities (should use gap-*)
  • 14 directional margins ml-/mr- (should use ms-/me- or gap)
  • 9 absolute positioning with left/right
  • 6 directional padding issues
  • 4 directional borders

Critical case flagged:

  • Header.tsx line 141: User menu button uses space-x-2 Pattern: div(avatar) + span(username) + svg(arrow) This creates ml-* margins that don't flip in RTL

Fix: Replace space-x-* with gap-* which auto-mirrors in RTL

claude and others added 6 commits March 19, 2026 01:32
Documents the full implementation plan for:
- i18n infrastructure in pos/src/i18n/
- Language resolution strategy
- Component refactoring to use t()
- AGENTS.MD documentation files for pos/, root, and URYMosaic/

https://claude.ai/code/session_01QhB9M6JhTa6gJRp1wfZZbv
- Add pos/src/i18n/ infrastructure: config, loader, resolve-language, t()
- Add en.json and fr.json translation files with structured namespaces
- Wire initI18n() into main.tsx before React render
- Refactor Header, OrderPanel, POSOpeningDialog, CommentDialog,
  CustomerSelect, PaymentDialog, POS, and Orders to use t()
- Create pos/AGENTS.MD: detailed POS frontend docs for AI agents
- Create AGENTS.MD (root): Frappe backend structure and navigation guide
- Create URYMosaic/AGENTS.MD: KOT display system docs for AI agents
- Create CLAUDE.MD files pointing to AGENTS.MD in each location

https://claude.ai/code/session_01QhB9M6JhTa6gJRp1wfZZbv
frappe.local.lang is already set from the user's ERPNext language preference.
Wrapping item_name and course with _() causes Frappe to look up Translation
DocType entries for the active language, so cashiers see translated item and
course names without any frontend changes.

https://claude.ai/code/session_01QhB9M6JhTa6gJRp1wfZZbv
Audit identifies 47 layout anti-patterns that break with dir=rtl:

- 8 space-x-* utilities (should use gap-*)
- 14 directional margins ml-*/mr-* (should use ms-*/me-* or gap)
- 9 absolute positioning with left/right
- 6 directional padding issues
- 4 directional borders

Critical case flagged:
- Header.tsx line 141: User menu button uses space-x-2
  Pattern: div(avatar) + span(username) + svg(arrow)
  This creates ml-* margins that don't flip in RTL

Fix: Replace space-x-* with gap-* which auto-mirrors in RTL
@swafa-as swafa-as closed this Jun 10, 2026
@swafa-as
swafa-as deleted the fix/standardize-layout-for-i18n-rtl-support branch June 10, 2026 13:23
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.

3 participants