Repository navigation
feat: Add Persian (Farsi) locale support #157
Copy link
Copy link
Closed as not planned
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is neededi18n
Description
Persian (Farsi) is spoken by millions of users worldwide. Adding Persian locale support will make the application accessible to Persian-speaking developers and enhance the platform's global reach.
Overview
Persian (Farsi) will be added as a new supported locale with the language code fa. Like Arabic, Persian is written right-to-left (RTL), so proper RTL support must be ensured throughout the application.
Tasks
- Create a new locale file
locales/fa.jsonwith all translation keys fromlocales/en.jsontranslated to Persian. - Update
lib/i18n-core.tsto addfato thesupportedLocalesarray. - Add Persian entry to the
localeMetaobject inlib/i18n-core.tswith the following configuration:fa: { dir: "rtl", label: "فارسی" }
- Test the language switcher to ensure Persian appears in the dropdown menu.
- Verify RTL layout is applied correctly across all components (using the existing
dirproperty mechanism). - Test the application with Persian locale selected to ensure all UI elements display correctly.
Translation Keys
All translation keys from the existing English locale must be translated. The keys include:
- Application titles and subtitles
- Error messages
- UI labels and buttons
- Explanations and descriptions
- Comparison metrics
- Community contribution labels
- And more (reference
locales/en.jsonfor the complete list)
RTL Considerations
- Ensure the application respects the
dir: "rtl"setting for proper layout direction. - Test that text alignment, spacing, and component positioning work correctly in RTL mode.
- Verify that language-sensitive components (like tables, charts, and forms) display correctly in RTL.
Testing
- Language switcher displays "فارسی" correctly.
- All pages render without errors when Persian is selected.
- RTL layout is applied properly across all components.
- No layout shifts or broken styling in RTL mode.
Tip
🚀 Want to contribute?
Comment assign me to be automatically assigned to this issue via our GitHub Actions bot. Happy coding! ✨
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is neededi18n
Activity