Open
Conversation
- Add multi-language support with i18next and react-i18next - Implement user-selectable date format preferences (5 formats) - Add time format preferences (12-hour/24-hour) - Implement RTL (right-to-left) support for Arabic, Hebrew, Persian, Urdu - Add first day of week preference - Create LocalizationContext for managing i18n settings - Add LocalizationSettings component to Settings page - Include sample translations: English, Spanish, Arabic - Configure 10 languages: en, es, fr, de, ar, he, zh, ja, pt, ru - Add translation management documentation and Crowdin config - Create date formatting utilities that respect user preferences - Add RTL CSS styles for proper layout mirroring - Update Settings and ThemeToggle components to use translations - Add comprehensive documentation (implementation guide, quick reference, translation guide) All user preferences are persisted to localStorage and apply throughout the app.
- Add LocalizationSettings to RouterContext routes - Add localization card to SettingsOverview menu - Update LocalizationSettings to use SettingsLayout - Add Language icon import Now accessible at /settings/localization
…RTL support - Add navigation translations (All Tasks, Archived, Things, etc.) - Translate NavBar menu items and logout button - Add comprehensive SettingsOverview translations - Translate upgrade card and all settings sections - Add ChoreView translations structure - Improve RTL CSS support for better card alignment - Fix flex, list, and container alignment for RTL languages Navigation drawer now shows translated menu items in user's language. Settings overview page fully translated. RTL languages (Arabic, Hebrew) now have proper alignment for sidepanel cards.
…mat preferences Navigation: - Fix drawer to slide from right in RTL languages (Arabic, Hebrew) - Add anchor prop based on isRTL flag - Drawer now properly positioned for RTL languages ChoreView Translations: - Add comprehensive Arabic and Spanish translations for ChoreView - Translate info cards (Assignment, Schedule, Statistics, Details) - Translate notification messages (Task Completed, Undo, etc.) - Translate action buttons and confirmation modals - Translate timer-related modals (Reset Timer, Clear All Time Records) Date Format Application: - Replace hardcoded moment date formats with formatDate() - Apply user's selected date format preference in ChoreView - Due date chip now respects user's date format setting - Dates display consistently according to user preference All UI text in ChoreView now translates to Arabic and Spanish. Navigation drawer slides from correct side for RTL languages.
…eView The formatDate function was being called with a boolean (true) as the format parameter, which caused moment.js to throw 'format.match is not a function' error. Changed to use formatDateTime() which properly formats both date and time.
- Add all missing translation keys to ChoreView component - Replace hardcoded strings with i18n translation calls - Complete Spanish (es) translations for ChoreView and Settings - Complete Arabic (ar) translations for ChoreView and Settings - Update ProfileSettings component with full translation support - Add translations for notifications, confirmations, and UI labels
- Updated LocalizationContext to consolidate date and time formatting functions into a single `fmt` object. - Modified ChoreCardHelpers to accept a time format parameter for due date text. - Adjusted ChoreView, RepeatSection, TimePassedCard, and other components to utilize the new `fmt` object for date and time formatting. - Enhanced HistoryCard and TimerEditModal to use the new localization functions for consistent date and time display. - Refined Settings and CircleSettings to leverage the updated localization methods for subscription and member date displays. - Improved ThingsHistory and UserActivities to format dates and times using the new localization structure. - Ensured CalendarCard and CalendarDual components utilize the new formatting functions for better readability.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces internationalization (i18n) support for the application, laying the groundwork for multi-language functionality. It adds core i18n libraries and configuration, and provides initial English and Arabic translation files for common UI elements, chores, and settings.
Internationalization Infrastructure:
i18next,i18next-browser-languagedetector,i18next-http-backend, andreact-i18nextdependencies topackage.jsonto enable i18n support in the frontend.crowdin.ymlconfiguration file for integrating with Crowdin, streamlining the translation workflow and file structure.