Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Bug]: No RTL support - Persian/Arabic/Hebrew text renders left-to-right

Open
#131 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
52/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
css, html, javascript

Research direction

Start by tracing the Settings interface-language picker and the locale helper referenced in the renderer bundle at out/renderer/assets, including its existing document.documentElement.lang assignment. Check the renderer’s layout CSS and code, terminal, and file-path surfaces; done means RTL locales are selectable, the root direction and mirrored layout work, and code-related content remains LTR.

Written by the indexing model from the issue text.

Description

GUI version

0.1.46

Operating system

Linux (Debian/Ubuntu)

Reproduction steps
  1. Open Command Code Desktop.
  2. Go to Settings → General → Language and open the Interface language picker. Only English and 简体中文 are offered.
  3. Type Persian (or any other RTL-script language such as Arabic or Hebrew) into the chat composer, or paste it into an agent message.
  4. Observe the direction/alignment of the text and how it mixes with Latin text and code.
Expected behavior
  • RTL-script text (Persian/Arabic/Hebrew) should render right-aligned with correct bidirectional ordering.
  • When an RTL interface language is selected, the app layout should flip to RTL (i.e. <html dir="rtl">), and mirrored UI (sidebar, icons that indicate direction, popovers, etc.) should follow.
  • Code blocks and inline code should stay LTR even inside RTL content.
Actual behavior
  • Interface languages are limited to en and zh (UZ = ["en","zh"] in the renderer bundle), so there is no Persian/RTL locale.
  • The root element never receives a dir attribute. The locale helper only sets document.documentElement.lang (C2[e].htmlLang, e.g. en, zh-Hans) and there is no [dir=rtl] / logical-property CSS in the renderer bundle.
  • As a result, Persian text typed into the composer and messages is laid out left-to-right and mixed Persian/Latin/code content breaks bidi ordering (punctuation and numbers jump to the wrong side).
Proposed fix
  1. Add RTL locales (at minimum fa, plus ar, he, ur) to the interface-language list in Settings.
  2. Mirror the layout when the active language direction is RTL: set document.documentElement.dir = i18next.dir(lng) (i18next already returns "rtl" for these languages) alongside the existing lang assignment.
  3. Use CSS logical properties (margin-inline-start, padding-inline, inset-inline, text-align: start/end) instead of hard-coded left/right, and add [dir=rtl] overrides where mirroring is needed.
  4. Force dir="ltr" on code blocks / inline code / terminal and file-path surfaces so code stays readable.
Screenshots, recordings, or sanitized logs

Not attached. The behavior is reproducible from the steps above; the code references (UZ = ["en","zh"], no dir assignment, no [dir=rtl] rules) are from the installed renderer bundle at out/renderer/assets.

Safety check
  • I removed credentials and private project information from this report.
Dominant language
Shell
Stars
85
Forks
5
Avg merge
2h 46m
Merged PRs (30d)
1

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from CommandCodeAI/desktop

All issues in CommandCodeAI/desktop

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.