Add Arabic numeral preferences and update locale handling#3544
Add Arabic numeral preferences and update locale handling#3544alti3 wants to merge 2 commits intoquran:mainfrom
Conversation
- Introduced preferences for selecting Arabic numeral systems (Eastern and Western) in settings. - Updated `QuranSettingsFragment` to handle numeral system changes. - Enhanced `AyahPlaybackFragment` to format numbers based on selected numeral system. - Refactored `QuranUtils` to support locale-based numeral formatting. - Updated UI components to reflect new preferences and ensure proper display of Arabic numerals.
|
jazakumAllah khairan for the pr
wdyt? |
Would you need extra permission to read user's/device locale? |
nope - see this post for more details |
- Updated `QuranUtils`, `AyahMarkerDrawer`, and `QuranLineByLineWrapperView` to use a more flexible locale construction method for Arabic, allowing for better handling of regional variations. - Replaced hardcoded locale tags with dynamic locale builders to enhance compatibility with different Arabic numeral systems. - Ensured consistent locale handling across components for improved user experience.
nicely written article, mashallah |
What changed
Verification
Source read |
ahmedre
left a comment
There was a problem hiding this comment.
جزاكم الله خيراً
I think the code looks good and this makes sense. I was on the fence about whether or not we need a setting but a good counter-argument is that we have a setting for arabic mode anyway, so it probably makes sense. I just need to test before merging.
one question for you - we don't draw the ayah numbers on all page types (ex 1405 pages, tajweed pages, etc) - should we point out that in the setting description that it may not apply to all page types to avoid people being confused?
also, I didn't test it yet but does this also update the page number, rub3 / juz' info, etc?
Implemented an Arabic numeral choice in Arabic mode, with Eastern/Western options and runtime locale wiring.
What I changed
Validation
like :common:translation:generateReleaseTranslationsDatabaseInterface, :common🔖generateReleaseBookmarksDatabaseInterface, and line-by-line DB interface generation).