Commit Graph

18 Commits

Author SHA1 Message Date
Mohamad Tarbin
cc03275ad3 Merge pull request #132 from cm-moment/develop
feat: Add Simplified Chinese (zh-CN) localization新增简体中文(zh-CN)语言汉化包
2026-07-10 01:24:56 -04:00
cm-moment
aeed19532f feat: 新增简体中文(zh-CN)语言汉化包
1. 新增 zh-CN 简体中文国际化目录
2. 完成 chores、common、settings 页面全部文本汉化
3. 语言编码遵循 BCP47 标准,与现有多语言目录结构统一
2026-07-09 20:17:36 +08:00
Mohamad Tarbin
c43dc175d0 Merge branch 'develop' into feature/ja-localization 2026-07-07 23:01:46 -04:00
tanomitsu
08f3928ebc feat: add Japanese (ja) localization
- Add ja translations for common, settings, and chores namespaces
- Register ja in AVAILABLE_LANGUAGES so it appears in the language picker
- Import moment/locale/ja so date and relative-time formatting uses Japanese
2026-05-26 15:28:29 +09:00
Mohamad Tarbin
6ff38e8068 Merge pull request #90 from felipellc/add-pt-br-translation
feature/add-ptbr-support
2026-05-25 01:59:06 -04:00
tinect
36298893db feat: rename “Lokalisierung” to “Sprach- und Formateinstellungen”; keep “Things” untranslated 2026-04-21 09:07:06 +02:00
tinect
ca7d71eed4 feat: add German translation 2026-04-20 21:24:59 +02:00
Felipe Camargo
6b80bc5b5e Rename pt-BR locale to pt to match project convention
All existing locales use two-letter codes (ar, en, es, fr, nl) and the
crowdin.yml output path uses %two_letters_code% — using pt-BR would
conflict with any future Crowdin-imported Portuguese.

The display name stays 'Portuguese (Brazil)' / 'Português (Brasil)' so
users still see it's the Brazilian dialect.
2026-04-13 08:08:38 -07:00
Felipe Camargo
016a613fd5 Add Brazilian Portuguese (pt-BR) translation
Adds public/locales/pt-BR/ with complete translations for common,
chores, and settings namespaces. Registers pt-BR in the
AVAILABLE_LANGUAGES picker in LocalizationContext.jsx.

Tone: informal 'você' form, natural Brazilian Portuguese.
2026-04-13 07:49:34 -07:00
Mo Tarbin
fc91894336 Refactor localization handling across components
- 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.
2026-03-08 23:08:37 -04:00
Mo Tarbin
176f66b437 feat: Add French and Dutch localization support for common UI elements 2026-03-08 23:02:36 -04:00
Mo Tarbin
0a0a5bd60f feat: Add Saturday localization support in settings and update calendar type handling 2026-03-08 21:59:42 -04:00
Mo Tarbin
e5504e0bdf Complete ChoreView and Settings translation for ES and Arabic
- 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
2026-03-09 01:15:33 +00:00
Mo Tarbin
1214c17389 feat: Add RTL drawer support, translate ChoreView, and apply date format 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.
2026-03-08 16:51:18 +00:00
Mo Tarbin
a82f6b16b7 feat: Add translations for navigation and settings overview, improve 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.
2026-03-08 16:37:02 +00:00
Mo Tarbin
6d6185dc5e feat: Add comprehensive internationalization (i18n) support
- 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.
2026-03-08 15:57:57 +00:00
Mohamad Tarbin
bcd32a8616 Mobile app (#3)
* Initial Capacitor Config and plugins

* Add Android project files and resources

* Add local notification scheduling for chores

* Add NotificationAccessSnackbar component for handling notification preferences

* Add capacitor-preferences to Android project

* Update notification Snackbar

* Add local notification scheduling for chores

* Add ionic.config.json file for custom project configuration

* chore: Add environment variables for production deployment

* Add Support for IOS, pass notificaiton token(push notifications)

* Add Capacitor Device support and refactor notification handling

* Refactor GoogleAuth client IDs to use environment variables

* Remove google-services.json to enhance security by eliminating sensitive data from the repository

* Remove environment files to enhance security by eliminating sensitive data from the repository

* Rename project from fe-template to Donetick in ionic.config.json

* Remove GoogleService-Info.plist and Info.plist to enhance security by eliminating sensitive data from the repository

---------

Co-authored-by: Mo Tarbin <mohamad@Mos-MacBook-Pro.local>
2024-12-26 02:13:47 -05:00
Mo Tarbin
2657469964 move to Donetick Org, First commit frontend 2024-06-30 18:55:39 -04:00