1. Forum
  2. >
  3. Topic: Arabic
  4. >
  5. My technical review of the Ar…


My technical review of the Arabic course

Greetings. I'm a native speaker of Persian, which shares the same script and the same coding challenges as Arabic. I'm looking forward to having a Persian course in Duolingo and the Arabic course can help us see where we are and what we need to improve. I'm myself a web developer and well aware of the difficulties in developing apps for right-to-left languages. So, thanks Duolingo team for what you've done so far for Arabic :)

Edit 2019-07-01: I created a custom theme for Duolingo Arabic to address some of the issues discussed here.

  • The font size translates into 19-44 pixels (varies from question to question). I've been helping people learn Persian for many years and I know these sizes aren't large enough for most learners. For a native speaker, even 15 pixels is enough but learners need much larger fonts. Browser zooming doesn't help much. Advanced users can use browser extensions like Stylish to customize the look but that's another story.

  • No font has been specified for Arabic. Duolingo is using DIN Round for Latin script, which is a modern beautiful font but for Arabic, they have left it to the default font found on the user's system! On Windows, this means Times New Roman, Segoe UI or Arial. None of them are optimal! As for Persian, Tahoma used to be the preferred system font but we're in 2019 and now, there are better fonts for Arabic and Persian. Noto has good fonts e.g. Noto Naskh Arabic. For Persian, I highly recommend Vazir. Vazir supports Arabic too but Arabic and Persian are typically written in different styles. You can witness this, for example, in Arabic Wikipedia vs. Persian Wikipedia.

  • Specifying a font makes Arabic texts look the same across different operating systems just as it is now for Duolingo languages written in Latin script.

  • Modern fonts like Noto or Vazir, render diacritics better and make texts more legible for Arabic learners.

  • Modern fonts support more weights e.g. 500, which is actually the default font weight in Duolingo for Latin script. Most system fonts don't support this weight and texts are rendered as 400. An Arabic/Persian text having the weight 500 looks more elegant and legible.

  • Sorry, this one is too technical: instead of inline CSS (span dir="rtl" style="font-size: x"), please use a CSS class both for styling and also indicating the language e.g. class="rtl lang-ar" or class="rtl lang-fa" (Hebrew is also rtl but it has a different script. That's why I think it's necessary to have lang-x classes). Arabic/Persian texts usually need a higher "line height". If we have a CSS class, we can define the line-height in a CSS rule rather than repeating it inline for every instance (style="font-size: x; line-height: y"). A CSS class also allows advanced users to use tools like Stylish to customize the look and feel (and share it with others).

That's it for now :) I'll update this post if I notice more points.

June 29, 2019



I hope this thread gets to Duolingo!


Sorry out of topic, but i really want to know: what is the name of the flower in your profile picture?


The original artwork seems to be this, which appears to be an ox-eye daisy.
I was hoping it would at least turn out to be a member of the Verbenaceae, but no such luck...


stunning...and others on that link...thanks


Looks like aster


It's in the aster family.


Excellent advice. I hope they will enlarge the fonts for Arabic. I appreciate that a native speaker of Persian admits that for foreign learners the script is to small. Sometimes some native speakers of the languages that use this script take it as an insult.


Yeah agree with you!


Will duolingo please make a priority out of a solution to this tiny letter sizes? This post seems to lay out well what needs to be done. It is really impossible to see the vowel markings clearly. I am reduced somethings to copying the text elsewhere where I can enlarge it. It is a shame to have all the work that went into adding the vowel markings go to waste because there is no way to display them.


For now, please try Control+ to enlarge, e.g. in Firefor and Chrome, or use your index and thumb to enlarge on a phone.


Sorry but can’t enlarge on my tablet using thumb and index. It is “frozen”.


I don't know what OS your tablet uses, but you should investigate your Accessibility settings.

On my android phone, I went to Settings -> Accessibility, and then selected the "Magnification" option. This put a permanent button on my home row that I can press, and then tap the screen, and it zooms way in. In this mode I can move the area of zoom, or increase it with the pinch gesture.

It's worth seeing if your tablet has something similar.


@BillDe Try the theme I posted here


Yes. All of your comments have been great and helped a lot. My remaining problem is when I am on my android and I am just carrying a magnifying glass with me for that. Really appreciate all of your posts!


This has a solution too. Instead of using Duolingo's Android app, open Firefox on your cell phone/tablet and log into Duolingo. This way, you're using the Web version of Duolingo on your Android device. Now do the same process (install Stylish and my custom theme) and your problem should be gone :) The screen is smaller but it's quite like studying Duolingo on your laptop/PC


I had the same problem using the app on android, until I found a solution in another comment.

On Android devices, if you go to Settings, then Accessibility, there are a bunch of options including "Magnification". This puts a magnify button on the home bar (next to home, back button, etc). If you tap this button and then tap the screen, it will zoom way in on that part of the screen. It actually makes the diacritics readable! Then you tap the button to zoom back out again.

You can also set it to use an alternative system of triple-tapping the screen to trigger the zoom.

Hope this helps, it's been a life-saver for me. (But this does not mean that Duolingo shouldn't bother to fix the actual problem!!)


I agree with you, fonts are really small for a beginner, and I think the tips are so unsatisfying. I like to learn something deeper about languages and the Arabic course can't give me these "deeper things" but I try to complete the course and then I will try to write something detailed about the course.


Please note that the course is labelled "beta". It has been made available so that users can test it and give feedback. There will be more lessons and tips as it grows out of beta phase.


إِن شاء الله


I have been waiting a while for this to launch and I'm psyched! I agree about the font size. Wasn't a big deal until I realized that it is really hard to me to get quick at recognizing the diacritical marks (hope I got that word right). I'd also love if the words were voiced as often as possible. With a new script, I constantly feel like I am trying to learn 4 things at once (letters, sounds, words/meaning, and grammar). I am hoping things click if I plow through it, but it is akin to when I was learning greek, only in greek, there aren't 4 different versions of each letter!


I've tackled different scripts. I understand how you feel. Focus on letters and sounds for now. Try to write some words of your native/favorite language(s) in Arabic letters (e.g. this same "mareado", "otra", "vez"). This helps letters stick better in your mind. And then, when you feel comfortable with letters and sounds, focus on vocab and grammar. Good luck!


And please make the tree longer, seems too short


It's in beta though


WOW I hope they will follow your tips and change the letters for bigger! Everybody complain about this size too small so maybe they will listen to us?!


My man are you looking for a job lol angel.co/comuno en.comuno.org/subscribe


These days Iran is more isolated than ever. Can't accept international jobs because of the sanctions :( I didn't know this site. Thanks for letting me know about it. Saved its link for later when I relocate abroad :)


Very unfortunate, not even informal jobs? You couldn't work as a contractor or a consultant? Let me know when you are in a position to consider an offer if you are interest, you seem very knowledgeable, and it seems like you would be an invaluable addition to our team. My email is yesid@comuno.org I would love to chat with you


Thank you for this! I hope they will increase the font size and the course length!


The course is a beta version. They'll add more skills and lessons and will hopefully, fix font problems too


eamal jayyid!


You could easily write a simple script to address all of these in 30 minutes. Do it man. I'm not learning Arabic (I already speak it) and you seem to relate to learners more and would understand what they need.


OK :) I'll try to write a theme with Stylish. I don't know how much I can improve it though. I can only tweak what is outputted to users. A lingot for your encouragement


I had dificults whit the size of the font too. And the zoom of the screem doesn't works well.


I completely agree with your comments on font size. There are scientific studies which show the difficulty of reading Arabic depending on font type and font size, even for native speakers. For learners a large font and a simple font type is paramount, as many characters (esp. in the middle position) look nearly the same and are only different by number and position of dots above and below the characters, which leads to a high degree of confusability for learners.


Completely agree, a bigger arabic font is necessary. I have to do a lot of zooming in order to see the diacritics.


I appreciate your making these suggestions. The Arabic type is too small. I have a minor suggestion and a question. "Pretty" for "jamiil" does not work in all English situations. We'd never say "pretty weather." Duo should substitute beautiful. Also look at the verb which I think Duo writes 2aHibba for 1st person singular. Shouldn't it be 2aHibbu?


"Pretty" and "beautiful" both work in the great majority of the cases, and everywhere I have looked both are accepted. If duolingo were to attempt to make all word translations succeed in every situation they would not have any words.


I'm fine with having both accepted. In the program as I receive it, there is little choice, so one tends not to stray from the default words but accept the unnatural. To do otherwise in most of these language trees is likely to be marked incorrect. For example, here "The weather in Scotland is rainy" was not accepted, only "the weather is rainy in Scotland."


Funny. I would give you a laugh emo if duolingo had them. And I will steal the example for other discussions.


Strongly agree with the font size issue. I am hoping to have more comprehensive explanation of the alphabet part.


While we're waiting for font problems to be fixed, you can use my solution


I confess, I stopped reading half-way through, but this guy sounds like he knows what he's talking about (for a change). I tried it, too - I've never studied a lick of Arabic before in my life and it was fun as all gangbusters, I might add - but I agree the Arabic text was a bit too small to appreciate the details of the new words. I found myself looking for landmarks in the words to discern the correct answers, without being able to fully appreciate every letter in the word. (FWIW, I haven't tried it on all devices, but if it could be boosted 3-4 pts, I think it would be perfect).


If you had read my post till the end, you would have seen that I had created a custom theme, which fixes the font issues :) Thanks for mentioning "reading half-way through". I edited my post and moved the solution to the top so that even half-way readers notice it :) A lingot for you ;)


Apologies if this has already been mentioned, but dir=“rtl” is needed for certain browsers (and is a standard element property). I agree that font size should still be applied with a class (probably several classes based on the different contexts).

This can still be targeted in css regardless:

.font-class[dir=“rtl”] { font-size: }

Although this obviously is only useful for browser rendering, doesn’t offer much help for users like myself who use the native mobile apps.


I would like to see a Persian course too!


Yes, as would I! I wrote Duo about that sometime ago and they curtly replied that they had nothing in the works, as if it weren't an important language.


You can still learn Persian online. Here, I've provided an introductory course, vocabulary lists and a verb conjugator. If you want to learn Persian in more depth, Easy Persian is the best place. I think every language enthusiast should learn Persian. Both because of its linguistic value and its uniquely rich literary heritage, which isn't much available in translation. It's a hoard of treasure that one must discover and enjoy its gems.


Well said, looking forward to running into these issues. I'm just glad they started with a solid sound and script set, which was the first thing I had to learn when I attempted Arabic the first time more than a decade ago. The Russian course just throws words at you hoping you'll figure out how to read.


Thank you so much for sharing this information with us


Oh thanks friend, Shukran


Weirdly the number 3 is used as a transliteration of some non English sound in the practice lessons. There must be an alternative surely?


As was explained somewhere else the number 3 (and the number 2) have a history from Arabs chats in transliteration from before unicode was available. Thus this transliterations are historically rooted and it would seem weird to an Arab to use anything else.


I agree. Once you get used to them those symbols are clear and accessible. I've also seen 9 used for 3ayn, but I think 3 is better since it looks a little like the actual character.


This pseudo transliteration is a pain in the neck. Why not concentrate on the audio and the writing? I do not see the need to learn how to write Arabic chat with Latin letters.


I think the usefulness of the Latin transliteration is in signaling a naive brain to listen for differences between similar sounding characters. Especially when all of the characters are unfamiliar, it gives their memory something more familiar to hold on to and associate with as they transition between very different scripts.


True. Doing the English for Arabs course make me have to write more Arabic. Please add more lessons to the Arabic course,


Agree about the size of the letters! Please make them bigger!


I'm glad other people are finding the script way too small. But I see that it's been at least a couple of months of these complaints and nothing has changed. How hard can it be to make this change?


Another trick that might help you if you are on windows: If you are on chrome go to chrome://settings/fonts, if you are on edge go to edge://settings/fonts, change the standard font from "times new roman" to Segoe UI (a default windows font). I don't have mac nor firefox, someone might be able to pitch in?


Oh, finally a really good and "at the point" review about how to improve the Arabic script, rather than the usual complains that no offer any solution.

As a learner, a wannabe linguist and a wannabe coder, thanks a lot, Ali! A bunch of lingots for you!


You're welcome :) Thanks for the lingots. I created a theme that fixes the font problems. You can find it here


Really nice! Thank you!


I felt thrilled with the Arabic course becoming available. My huge compliments for the team!

And indeed, I experienced the need for better legibility in some cases. E.g. in one case I could not even see a short a-vowel dash without magnifying the text by a large percentage.

مع أطيب التحيات


I think exactly the same. Thank you for the course and help with legibility if possible.

Learn Arabic in just 5 minutes a day. For free.