Skip to content

feat(i18n): add Farsi (Persian) language and RTL support#16

Closed
SaharPak wants to merge 1 commit into
junian:masterfrom
SaharPak:feat/farsi-rtl-support
Closed

feat(i18n): add Farsi (Persian) language and RTL support#16
SaharPak wants to merge 1 commit into
junian:masterfrom
SaharPak:feat/farsi-rtl-support

Conversation

@SaharPak
Copy link
Copy Markdown

@SaharPak SaharPak commented May 5, 2026

Summary

This PR adds Farsi (Persian) language support and introduces the RTL (right-to-left) infrastructure that the project currently lacks.

Changes

  • site/src/i18n/fa.yaml — Complete Farsi translation of all UI strings (landing page, resume management, toolbar, import/export, notifications)
  • site/configs/i18n.ts — Register Farsi locale with dir: "rtl" and Iran flag icon (i-circle-flags:ir)
  • site/src/app.vue — Dynamically set dir and lang attributes on <html> based on the active locale, so any future RTL locale (Arabic, Hebrew, Urdu) works automatically
  • site/src/assets/css/index.css — RTL CSS overrides for header padding and mobile toolbar panel positioning

Why this matters

  • 110M+ Persian speakers worldwide, many of whom are job seekers in diaspora communities with high English proficiency but prefer native-language UI
  • The project had zero RTL support — this PR builds the foundation so adding Arabic, Hebrew, or Urdu in the future is a one-file addition
  • Resume content stays LTR (English resumes targeting international employers), only the app shell flips

Screenshots

The changes are structural (i18n + CSS); here's what to expect:

  • Language switcher shows "فارسی" option with Iran flag
  • Switching to Farsi flips the header, toolbar, and landing page to RTL
  • Resume preview remains LTR (as intended for English-language resumes)

Testing

  1. pnpm install && pnpm -C packages build && pnpm -C site dev
  2. Switch language to فارسی via the language dropdown
  3. Verify header, landing page, and toolbar panel render correctly in RTL
  4. Verify resume editor and preview remain LTR
  5. Switch back to English — verify everything returns to LTR

Made with Cursor

- Add fa.yaml with complete Farsi translations for all UI strings
- Register Farsi locale in i18n config with dir: rtl and Iran flag icon
- Set html dir and lang attributes dynamically based on active locale
- Add RTL CSS overrides for header and toolbar panel positioning

This lays the groundwork for RTL language support (Arabic, Hebrew, Urdu)
and makes the tool accessible to Persian-speaking job seekers worldwide.

Co-authored-by: Cursor <cursoragent@cursor.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented May 5, 2026

Deploy Preview for markdown-resume-app failed.

Name Link
🔨 Latest commit 6785c4e
🔍 Latest deploy log https://app.netlify.com/projects/markdown-resume-app/deploys/69f9a493682b23000836951a

@SaharPak
Copy link
Copy Markdown
Author

SaharPak commented May 5, 2026

The Netlify deploy failure appears to be a pre-existing build configuration issue — the workspace packages need to be built before the site (pnpm -C packages build must run before pnpm --filter=site build). This isn't related to the Farsi/RTL changes in this PR. Happy to help fix the Netlify config in a separate PR if needed.

@SaharPak SaharPak closed this by deleting the head repository May 16, 2026
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.

1 participant