-
-
Notifications
You must be signed in to change notification settings - Fork 3k
feat: add Dhivehi (Thaana) language support with RTL and Faruma font (@raslaan-dev) #7368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds Dhivehi (Thaana script) language support to Monkeytype with keyboard layout integration and proper RTL rendering, though only includes one word list instead of the three mentioned in the description.
Changes:
- Adds Dhivehi language with 200-word list and official keyboard layout
- Implements Thaana script rendering with RTL support and Faruma font
- Extends string utility functions to handle Thaana combining characters and punctuation equivalents
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/schemas/src/layouts.ts | Adds dhivehi layout to the schema enum |
| packages/schemas/src/languages.ts | Adds dhivehi language to the schema enum |
| frontend/static/layouts/dhivehi.json | Defines official Dhivehi keyboard layout with Thaana characters |
| frontend/static/languages/dhivehi.json | Contains 200 most common Dhivehi words with RTL and ligatures enabled |
| frontend/src/ts/utils/strings.ts | Adds Thaana character detection and matching logic for proper input handling |
| frontend/src/ts/test/words-generator.ts | Extends Arabic punctuation handling to include Dhivehi |
| frontend/src/ts/test/test-ui.ts | Adds thaanaTest CSS class when Dhivehi is selected |
| frontend/src/ts/input/helpers/validation.ts | Updates character validation to use new Thaana-aware matching |
| frontend/src/ts/constants/languages.ts | Adds dhivehi to language groups |
| frontend/src/styles/test.scss | Adds Faruma font import and Thaana-specific styling |
| frontend/vite.config.ts | Adds allowedHosts configuration |
| frontend/.npmrc | Sets engine-strict to false |
| backend/.npmrc | Sets engine-strict to false |
| SETUP_GUIDE.md | Adds comprehensive local development setup guide |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
|
Continuous integration check(s) failed. Please review the failing check's logs and make the necessary changes. |
Description
This PR adds comprehensive Dhivehi (ދިވެހި) language support to Monkeytype with word lists of varying difficulty levels, official keyboard layout, and automatic configuration for optimal typing experience.
What's Added:
Languages:
dhivehi.json- 200 most common Dhivehi words (ideal for beginners)Keyboard Layout:
Auto-Configuration:
When users select any Dhivehi language variant, the system automatically configures:
This ensures users have the correct keyboard layout and visual feedback without manual configuration.
Language Details:
dvImplementation Details:
Browser Compatibility: