Arabic Autocorrect – Support for Joined Words and Common Expressions
Hi! I've been testing EFKey's Arabic autocorrection, and I've noticed a specific issue with common Arabic expressions written without spaces.
Test Results:
| Typed Input | Current Behavior |
|---|---|
| ان شاء الله | Correct form appears as a suggestion |
| انشاء الله | Correct form appears as a suggestion |
| انشاءالله | No correction or appropriate suggestion |
| ماشاءالله | No correction or appropriate suggestion |
| الحمدلله | No correction or appropriate suggestion |
Expected Behavior:
EFKey should recognize common Arabic expressions written as a single word and suggest their correctly separated forms.
For example:
- انشاءالله → إن شاء الله
- ماشاءالله → ما شاء الله
- الحمدلله → الحمد لله
- بسمالله → بسم الله
The correct spelling of the first expression is إن شاء الله, with a hamza below the Alif (إ) and spaces separating the three words.
Suggested Improvement:
Add support for Arabic multi-word autocorrection and word segmentation, allowing the prediction engine to:
- Detect common expressions typed without spaces.
- Suggest their correctly spelled and separated forms.
- Use context to avoid incorrectly splitting valid Arabic words.
- Let users accept the correction from the suggestion bar instead of automatically replacing ambiguous expressions.
Arabic prediction and personalized learning are already working well in my testing. This improvement would make autocorrection even more useful for everyday Arabic typing.
Thank you for your continued work on improving Arabic language support!
Discussion
Sign in to comment or vote.
@efko Hey! Just a friendly reminder about this ticket. Could you please take a look when you get a chance? Thanks! 😊
@Yah those joined forms (انشاءالله, ماشاءالله, الحمدلله) are valid words in the Arabic dictionary, and the keyboard never adds a missing space in Arabic, so nothing was offered. Added for build 459 (and 2.2.1 on the App Store): the bar now shows the spaced form next to what you typed, so انشاءالله offers إن شاء الله, and the space bar keeps your spelling unless you tap it. It's a LAB switch called Words without spaces, on by default, and it needs the updated Arabic dictionary that ships with that build.
Just a quick update:
I couldn’t find any available update for the Arabic dictionary, so I removed the Arabic language and downloaded it again.
Unfortunately, the issue still persists. I’m using Build 459, and “Words without spaces” is enabled in LAB, but the correctly spaced expressions still don’t appear in the suggestion bar.
Could you please check if the updated Arabic dictionary is being loaded correctly?
Thanks!
@Yah my mistake: the updated Arabic dictionary never went out, so build 459 had nothing to offer. It's published now and works on the build 459 you already have (and in 2.2.1 on the App Store). Open the EFKey app once so it downloads the new dictionary, about 25 MB, then go back to typing and انشاءالله offers إن شاء الله in the bar.
Hey! I can confirm that the original issue is now fixed after the Arabic dictionary update!
Expressions like:
are now correctly suggested in Build 459. Thanks for fixing this!
I also ran some additional tests to explore how far the “Words without spaces” feature can go.
Passed:
Not suggested:
I also imported around 2,000 Egyptian Arabic words into EFKey’s personal dictionary to see whether the feature could use learned words to recognize and split joined expressions, especially in Egyptian dialect.
However, the Egyptian expressions above still weren’t suggested.
Does “Words without spaces” currently use the personal/learned dictionary, or does it only rely on the built-in Arabic dictionary?
It would be great if the feature could also benefit from learned words, making it more useful for Arabic dialects and personalized typing.
Thanks again for your hard work! 🙌
@Yah it only used the built-in dictionary, needed the dictionary to know every word pair and stopped at three words. Fixed for build 461 (and 2.2.1 on the App Store): longer phrases like لاحولولاقوةإلابالله get offered now, and once you type a pair with a space yourself, like فين كده, the joined فينكده offers it too. Imported words on their own don't change anything, because a word list doesn't say which words go together.
I've tested the improvements in Build 461, and I can confirm that everything is now working as expected!
Longer Arabic expressions are correctly suggested, and the keyboard now recognizes joined words after learning their spaced versions.
The issue is resolved, and the fix is working perfectly on my end.
Thank you for your quick response and for continuously improving Arabic language support. Really appreciate your efforts! 🙌