/awesome-arabic

A curated list of awesome projects and dev/design resources for supporting Arabic computational needs.

Awesome Arabic Awesome

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

Javascript

  • 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.
  • 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.

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.

LESS

  • bi-app-less - writing bi-directional stylesheets in less

Text rendering

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

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

Arabic text vocalization

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.

Others

GIT

Dictionaries

  • Arabeyes - Arabic Tech dictionary.
  • 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

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

  • LinuxAC - Linux Arabic Community
  • iSecur1ty - Arabs Security and Ethical hacking community.

ebooks

  • [TODO]

Miscellaneous

Useful libraries or tools that don't fit in the categories above.

Contributing

Your contributions are welcome, just send me a Pull Request!.