The opportunity to use an external editor is a standard part of the Arduino IDE. There is a box to tick in the Preferences. When that box is ticked you can't edit stuff in the IDE. Instead you edit the file in whatever program editing program you like (I use Gedit on Linux) and when you click Verify or Upload in the IDE it takes the latest version of the file that was saved by the editor.
Apart from that I doubt if I have much help to offer. I was thinking of you writing a PC program (in whatever language you know) which has a list of Arduino key words in Arabic and English (probably saved in a text file so you can easily add to the list). Then the program would go word by word through the Arabic program file and if any word matches an Arabic word in the list it would replace it with the English equivalent. Presumably it would be just as easy to go from English to Arabic.
I can see all sorts of complications including such simple things as how do you distinguish one word from the next? What happens if a student miss-spells a word? How do you deal with (for example) myservo.write() where the first part (myservo) can be anything the student wants but the second part is a keyword? And should the order of the pair be swapped in Arabic?
Another issue to consider is how the student will get feedbaack if his/her code fails to compile. The Arduino IDE will list the errors by reference to the English code.
...R