Summary
Request to implement internationalization (i18n) for the Freight-Fate project and add Persian (fa) as a supported language.
Goals
- Prepare the application to support multiple languages
- Add full UI translations for Persian
- Support right-to-left (RTL) layout for proper rendering of RTL languages like Persian
Why this change matters
- Enables Persian-speaking users to use the app more effectively and opens the product to a new market and user base.
- Prepares the codebase for adding more languages in the future and increases flexibility and maintainability.
Proposed implementation (recommended tasks)
-
i18n foundation
- Select and integrate a suitable i18n library (e.g., i18next or similar) and configure basics.
- Move all user-facing text into separate resource files under /locales/{lang}/.
-
Add Persian (fa)
- Create locales/fa/ directory with translation files (JSON or project-specific format) for all UI keys.
- Review and refine translations for consistency and naturalness.
-
RTL support
- Identify parts of CSS/layout that require RTL adjustments.
- Implement necessary changes (e.g., using logical CSS properties, direction: rtl) and test key pages.
-
Date/number/units formatting
- Ensure locale-specific formatting for dates, times, numbers, and units.
- Use the Intl API or a suitable library for locale-aware formatting.
-
Fonts and typography
- Evaluate and include web fonts with good Persian glyph coverage if needed.
- Ensure proper kerning and readability across sizes.
-
Testing and quality
- Add unit/integration tests to verify presence of translation keys and fallback behavior.
- Add manual test cases for critical pages in Persian and RTL layout checks.
-
Documentation
- Add a CONTRIBUTING or README section explaining how to add new translations and naming conventions for keys.
Acceptance criteria
- Users can select Persian from settings and the entire UI renders in Persian.
- All core pages render correctly without layout breakage in RTL mode.
- No hard-coded user-facing strings remain; all strings are sourced from translation files.
- Tests for translations and RTL behavior are added and run in CI.
Initial time estimates
- Research and select i18n approach: 1-2 days
- Core implementation and initial translation files: 3-5 days
- CSS/RTL adjustments and testing: 2-4 days
- Documentation and feedback: 1-2 days
Additional notes
- If the repository already contains any templates or translation files, they should be reviewed and consolidated.
- Suggested labels: i18n, localization, enhancement, fa
- Suggested assignee: Orinks
Please create this as an issue labeled "enhancement" and assign it to the Orinks team.
Summary
Request to implement internationalization (i18n) for the Freight-Fate project and add Persian (fa) as a supported language.
Goals
Why this change matters
Proposed implementation (recommended tasks)
i18n foundation
Add Persian (fa)
RTL support
Date/number/units formatting
Fonts and typography
Testing and quality
Documentation
Acceptance criteria
Initial time estimates
Additional notes
Please create this as an issue labeled "enhancement" and assign it to the Orinks team.