You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[FEATURE]: add translation files for remaining RTL languages (Farsi, Urdu, Pashto, etc.) #34697
I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
PR #32247 just updated the RTL direction map to support all 11 RTL-script languages — Arabic, Farsi, Urdu, Pashto, Sorani Kurdish, Hebrew, Yiddish, Sindhi, Uyghur, Divehi, and Dari. The infrastructure is ready: once a locale is registered, the app automatically flips to RTL layout via rtl.css.
However there are no actual translation files yet for any of these languages except Arabic. So users speaking Farsi, Urdu, Hebrew, etc. still cannot use the app in their language even though RTL support is technically already there.
What I think needs to happen:
Add translation files in packages/app/src/i18n/, packages/ui/src/i18n/, and packages/desktop/src/renderer/i18n/ for each RTL language
Register each new locale in the LOCALES arrays and locale detection matchers
No recognized issue template was used. This project requires one of: Bug Report, Feature Request, or Question.
Feature request titles must start with [FEATURE]: — the current title uses feat: (a commit message convention, not an issue title format).
The feature request template requires a verification checkbox confirming the feature has not been previously suggested, which is missing here.
The content appears AI-generated (structured tables, precise file paths, and numbered implementation steps in a formulaic style are not acceptable substitutes for a genuine user request).
Please edit this issue to use the proper Feature Request template and address the above within 2 hours, or it will be automatically closed.
This issue might be a duplicate of existing issues. Please check:
changed the title [-]feat: add translation files for remaining RTL languages (Farsi, Urdu, Pashto, etc.)[/-][+][FEATURE]: add translation files for remaining RTL languages (Farsi, Urdu, Pashto, etc.)[/+]on Jul 1, 2026
This issue is specifically about adding UI translation files for all RTL languages that currently have none — the RTL infrastructure is done in PR #32247, this is about the translations themselves.
Checks for any Arabic character within the first 30 characters of the text:
Arabic found → RTL
No Arabic → LTR
Solves mixed-language cases:
"This is a long English sentence... مع عربي في النهاية" → LTR (Arabic after 48 chars)
"Hello مرحبا" → RTL (Arabic within first 30)
2. Prompt Input
Uses only 3 characters instead of 30 — switches to RTL instantly when the user types the first Arabic character.
3. List Containers (<ol>, <ul>)
These are skipped — they inherit direction from their parent (the Arabic paragraph). Individual <li> elements get direction based on their own content.
4. Locking Code & Links LTR
When an element is RTL, all code and anchor elements inside are forced LTR:
I've already implemented a complete Hebrew (he) translation with full RTL support that addresses exactly what this issue requests for one of the RTL languages.
The implementation includes:
Translation files in packages/app/src/i18n/he.ts, packages/ui/src/i18n/he.ts, packages/desktop/src/renderer/i18n/he.ts, packages/console/app/src/i18n/he.ts, and packages/stats/app/src/i18n/he.ts
Hebrew registered in all LOCALES arrays and locale detection matchers
Full RTL support with dir="rtl" handling in the language context
Hebrew-specific plural form handling (one, two, other)
434 translated strings with proper technical terminology
7 translated documentation files including getting started guide, CLI reference, and troubleshooting
Hebrew glossary file with RTL guidance
This is available in PR #39423. Since the RTL infrastructure is already in place (as mentioned in this issue), the Hebrew translation can serve as a complete example for the other RTL languages (Farsi, Urdu, Pashto, etc.).
Would you like me to update this issue to track the remaining RTL languages, with Hebrew marked as completed?
@toyro396133 Thanks for opening this PR! This is something I’d really like to see merged, and I’m sure others would benefit from it as well. Hopefully this helps show there’s real interest in having this implemented.
Activity
github-actions commentedon Jul 1, 2026
This issue does not fully meet our contributing guidelines.
What needs to be fixed:
[FEATURE]:— the current title usesfeat:(a commit message convention, not an issue title format).Please edit this issue to use the proper Feature Request template and address the above within 2 hours, or it will be automatically closed.
This issue might be a duplicate of existing issues. Please check:
If you believe this was flagged incorrectly, please let a maintainer know.
[-]feat: add translation files for remaining RTL languages (Farsi, Urdu, Pashto, etc.)[/-][+][FEATURE]: add translation files for remaining RTL languages (Farsi, Urdu, Pashto, etc.)[/+]hbx12 commentedon Jul 1, 2026
Thanks for the feedback. I have:
[FEATURE]:✓This issue is specifically about adding UI translation files for all RTL languages that currently have none — the RTL infrastructure is done in PR #32247, this is about the translations themselves.
github-actions commentedon Jul 1, 2026
Thanks for updating the issue! It now meets our contributing guidelines. We'll take a look.
NXR8 commentedon Jul 16, 2026
RTL OpenCode — Arabic RTL Support System
A system that adds Right-to-Left (RTL) text support to the OpenCode Desktop app while keeping code blocks LTR.
How It Works
1. Arabic Detection
Checks for any Arabic character within the first 30 characters of the text:
Solves mixed-language cases:
2. Prompt Input
Uses only 3 characters instead of 30 — switches to RTL instantly when the user types the first Arabic character.
3. List Containers (
<ol>,<ul>)These are skipped — they inherit direction from their parent (the Arabic paragraph). Individual
<li>elements get direction based on their own content.4. Locking Code & Links LTR
When an element is RTL, all code and anchor elements inside are forced LTR:
5. MutationObserver for Streaming
Monitors DOM changes with:
Re-attaches the
inputevent listener on the prompt input when React re-renders it.Console Snippet
Testing
allow pastingin the Consoletoyro396133 commentedon Jul 29, 2026
I've already implemented a complete Hebrew (he) translation with full RTL support that addresses exactly what this issue requests for one of the RTL languages.
The implementation includes:
This is available in PR #39423. Since the RTL infrastructure is already in place (as mentioned in this issue), the Hebrew translation can serve as a complete example for the other RTL languages (Farsi, Urdu, Pashto, etc.).
Would you like me to update this issue to track the remaining RTL languages, with Hebrew marked as completed?
Amlaach commentedon Jul 29, 2026
@toyro396133 Thanks for opening this PR! This is something I’d really like to see merged, and I’m sure others would benefit from it as well. Hopefully this helps show there’s real interest in having this implemented.
israel-Life commentedon Jul 29, 2026
@toyro396133 I would also be very happy to have a Hebrew interface.
You saw that there is PR that adds Hebrew #39423
github-actions commentedon Sep 28, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.