Awesome Arabic
A curated list of awesome projects, libraries, tools, fonts, and dev/design resources that are trying to enhance/support the Arabic language computational needs and improve its presence on the web.
Programming Languages
C/C++
- libitl2 - A library for Islamic calendar and prayer times.
- [Qt]: ArabicNumberToWord, Convert numbers and amounts from numeric to Arabic words.
Go (Golang)
- goarabic - a Go Lang package for dealing with Arabic text.
- ara - Command line tool that displays Arabic text in terminal.
Java
- NumberToArabicWords - Arabic numbers to words.
- RemoveTashkeel.java - Removes Arabic diacritics (tashkeel تشكيل) from any file almost instantly.
- Prayer Times - Desktop application shows you the times of Muslim prayer and set an alarm (Athan) to remind you.
- Azkar - Desktop Application shows notification for Azkar that pops-up every specific time, Calculating Muslim prayer times (for any location), and Morning and Nights Azkar with reminder.
Javascript
- I18n - A Repository to provide arabic translation for technical terms.
- arabicString - A Javascript library that extends the native String object with methods to help when dealing with Arabic strings for node and the browser.
- Arli - JavaScript tools for an Arabic development.
- bidiweb - Determine the base direction of paragraphs and adjust them accordingly.
- Hijri Converter - Convert between Hijri (Um Alqura) and Gregorian NPM.
- Hijri.js - A tool for Hijri calender (based on Umm al-Qura calculations) in Javascript.
- jsastem - JavaScript Arabic Stemmer.
- moment-hijri - A Hijri calendar (based on Umm al-Qura calculations) plugin for moment.js.
- n2words - Convert numerical numbers to written numbers, in arabic (and other languages).
- aln9 - A lightweight markup language designed for Arabic text.
- circular-arabic - Write Arabic words in a circle or arc using the Canvas element
- Oktob.js - Force typing in Arabic letters (ex: replaces "a" with "ض" for AZERTY keyboard scheme)
- TafgeetJS - An NPM module to convert currency digits into written Arabic words.
- Accents - Provides a simple package check or remove accents from a string use CLI or function, Support multi languages.
PHP
- Ar-PHP - A set of PHP classes developed to enhance Arabic web applications by providing set of tools includes stem-based searching, translitiration, soundex, Hijri calendar, charset detection and converter, spell numbers, keyboard language, Muslim prayer time, auto-summarization, and more...
- The PHP League Website in Arabic.
Laravel 5.x
- arabicdatetime - Easy and useful tool to get arabic date with arabic characters for laravel 5.1.
Wordpress
- Arabic-Webfonts - WordPress plugin which allow you to add Arabic fonts easily to any theme without coding.
Python
- ar2en - Renames Arabic files and directories into English recursively.
- Arabish - Arabic transliteration in Python. Similar to Yamli.com, Google Ta3reeb, and Microsoft Maren.
- date-extractor - Extracts dates from text in Arabic and other languages
- hijra - Hijri Islamic Calendar utils in python.
- PyArabic - Arabic text tools for Python.
- pyarabicshaping - Port of GNU FriBidi's Arabic shaping to Python.
- pyIslam - Python library to calculate prayer times, hijri date, qiblah direction and more.
- python-arabic-reshaper - Reconstruct Arabic sentences to be used in applications that don't support Arabic.
- ATKSPY - Python wrapper for Microsoft Arabic toolkit service, it provides transliterator, speller, SARF, pos tagger, parser, NER, and even a Colloquial to Arabic Converter.
Ruby
- Manshar - Arabic social publishing platform.
CSS & RTL
CSS frameworks and resources that support RTL layout.
- Bootstrap 2.x & 3.x RTL.
- Bootstrap 3 RTL - RTL Theme for Bootstrap v3.x.
- Bootstrap 4 RTL - RTL Theme for Bootstrap v4.x.
- Foundation 5 - A CSS framework that natively supports RTL layouts.
- MaterializeCSS - MaterializeCSS supports RTL layouts.
- UIkit - A lightweight and modular front-end framework that supports RTL layouts.
LESS
- bi-app-less - writing bi-directional stylesheets in less
Text rendering
- https://github.com/harfbuzz/harfbuzz - A Text shaping engine
- https://github.com/HOST-Oman/libraqm - A library for complex text layout
Fonts
Freely available Arabic Fonts.
- Amiri Font - a classical Arabic typeface in Naskh style for typesetting books and other running text.
- Flat font - arabic font (Only Regular weight is available for free)..
- Jozoor font - Jozoor arabic font (Only Regular weight is available for free).
- sahl-naskh - A fork of Droid Arabic Naskh font fixing some of the issues in the original font.
Browser Extensions
- Wudooh (وضوح) - Chrome and Firefox extension that makes Arabic script clearer
- Fahm - Arabic pop-up dictionary extension for Google Chrome
Markdown
- Simple Markdown Editor - Write Markdown in Arabic.
- SimpleMDE - Markdown Editor (RTL) - A simple, beautiful, and embeddable JavaScript Markdown editor. Delightful editing for beginners and experts alike. Features built-in autosaving and spell checking.
Natural Language Processing
Libraries for working with Arabic language text and data.
Morphological Tools
- UralicNLP - An open-source Python library for lemmatization, morphological analysis and generation for Arabic and other languages.
- Qutuf قطوف - An Arabic Morphological analyzer and Part-Of-Speech tagger. The Core of a Framework for Arabic Language Processing as an Expert System.
- AlKhalil Morpho Sys 2 - A robust Arabic morpho-syntactic analyzer.
- MADA+TOKAN - A Toolkit for Arabic Tokenization, Diacritization, Morphological Disambiguation, POS Tagging, Stemming and Lemmatization.
- MADAMIRA - A new version of MADA
- SAMA - Standard Arabic Morphological Analyzer (crucial to obtain the latest version of SAMA for analysis purposes)
- BAMA - Buckwalter's Morphological Analyzer BAMA 2.0.
- AraMorph - Arabic Morphological analyzer.
Stemmers & Roots
- Apache Lucene Arabic Light Stemmer A lucene analyzer that implements light-stemming as specified by: Light Stemming for Arabic Information Retrieval.
- arabicstemmer - Snowball-based light stemmer algorithm for Arabic, aimed mainly to improve search.
- Khoja Stemmer - Shereen Khoja Arabic stemmer (java). Another implementation exists for the same algorithm (java as well).
- Arabic RootFinder - Root finding using Jupyter Notebook, Scikit-learn, and neural network in Keras.
Arabic text vocalization
- Shakkelha - Open source Arabic text diacritization recurrent neural network software written in Python, website: https://shakkelha.herokuapp.com.
- Mishkal - Arabic text vocalization software written in Python, website: http://tahadz.com/mishkal.
Verb conjugation
- Arabic-Conjugator - Conjugates MSA verbs given three root letters, verb form, tense, and pronoun.
- Qutrub - FOSS Arabic verbs conjugator
Spell Checkers
- YaraSpell - simplified Arabic spell checker.
- Aya Spell - spellchecking (hunspell-ar), thesaurus (thesaurus-ar) and Morphological lexicon (Grammar-ar).
Calligraphy
- Calliar - Online Handwritten Dataset for Arabic Calligraphy.
Others
- Arabic NLP - Collection of various Arabic NLP and Text Processing Scripts and Utilities.
- arabic_nlp - Tools to normalise and derive sentiment from Arabic text.
- Minteeq - مِنطيق - Opensource/free Arabic text to speech solution based on eSpeak.
- Python NLTK
- Ruby-based nlp_arabic - A ruby gem that contains Natural Language Processing tools for Arabic.
- Ya (ي) Language - An open source programming language in which you can code python in Arabic language.
- Shakkala Project مشروع شكّالة - A neural network for Arabic text vocalization to automatically form Arabic characters.
- Arabic Keyboard - Online Arabic keyboard. Beautiful clean design, no ads.
- Arabic Speech Corpus - Database for automated Arabic speech.
- Tarmeez - binary data format for etymological Arabic system.
GIT
- Ar cheat-sheet - Git Cheat Sheet in Arabic.
- ArabicGit - Learn Git in Arabic.
- simple-guide - A simple guide in Arabic to get started using Git.
Dictionaries
- Arabeyes - Arabic Tech dictionary.
- arabterm - Extract of arabterm.org technical dictionnaries. 150k+ entries in arabic, english, french, and german.
- en_ar_dict - English Arabic dictionary written in python and Qt4 (pyside).
- FuzzyArabicDict - a dictionary app that allows you to look up Arabic words in transliteration.
- Nibras - French-Arabic tech terms for students.
Data
Data, databases and content related or useful to Arabic projects.
Voice Corpus
- Arabic Speech Corpus - South Levantine Arabic (Damascian accent) speech corpus. Package contains 1813 .wav files containing spoken utterances accompanied with files containing the text utterances and phoneme labels
Verb conjugation
- LABR - Large Scale Arabic Book Reviews Dataset.
- Large Arabic Resources For Sentiment Analysis.
- Arabic Stop Words - Long list of Arabic stop words combined from different sources.
Arabic Text Diacritization
- Arabic Text Diacritization Corpus - Arabic text diacritization corpus with comparisons for different systems.
- Arabic Text Diacritization Corpus Extension - Arabic text diacritization corpus extension.
Arabic Captions
- Arabic COCO - MS COCO Dataset Captions translated in Arabic using Google's Advanced Cloud Translation API.
Awesome content
-
ar-python - Learn Python in Arabic.
-
Colors Lab - UX/UI philosophy in Arabic.
-
Hsoub Academy - Hight quality tutorials about programing, DevOps, UX and Design, Freelancing...
-
Hsoub I/O - The Arabic Reddit-like.
-
informatic-ar - Arabic content about programming concepts, algorithms, AI ..etc.
-
Ruby 3arabi - Learn Ruby in Arabic.
Communities
ebooks
- Nextjs-Arabic-Handbook - كتيّب تعلم Next.js بالعربية
Miscellaneous
Useful libraries or tools that don't fit in the categories above.
- SemVer (Semantic Versioning) specs in Arabic.
- Thawab - Thawab Arabic/Islamic encyclopedia system.
- Alpine.js 2.x documentation in Arabic - ترجمة توثيق مكتبة Alpine.js باللغة العربية.
- Yamli - A Smart Arabic Keyboard that allows users to type Arabic without an Arabic keyboard
Contributing
Your contributions are welcome, just send me a Pull Request!.