khaled.alshamaa / ar-php
Set of functionalities enable Arabic website developers to serve professional search, present and process Arabic content in PHP
Fund package maintenance!
khaled-alshamaa
Installs: 1 367 979
Dependents: 18
Suggesters: 0
Security: 0
Stars: 286
Watchers: 21
Forks: 51
Open Issues: 5
Requires
- php: >=5.6.0
- ext-calendar: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: 9.*
README
Ar-PHP Project (ar-php.org)
PHP Speaks Arabic - Be Ready!
Copyright © 2006-2024 Khaled Al-Sham'aa.
Ar-PHP: Empowering Arabic Language Processing in PHP
Welcome to Ar-PHP, an open-source PHP library dedicated to simplifying Arabic language processing. Our mission is to provide developers with easy-to-use tools for professional searching, manipulating, and presenting Arabic text, enabling the creation of robust web applications that handle Arabic content effectively.
Table of Contents
Introduction
Arabic Language
Internet use has grown quickly worldwide, especially in non-English speaking regions. Between 2000 and 2022, Arabic was the fastest-growing language online, increasing by 9,350%. It has around 240 million active users making up 5.2% of internet users globally. This growth has created a demand for better Arabic web development tools, but most existing resources are geared toward English-speaking users.
[Arabic language, Internet world stats]
PHP
PHP is a widely used general-purpose scripting language that is especially suited for web development and can be embedded into HTML. PHP runs more than 75% of all the top 10 million worldwide websites a few very good examples are Facebook and Wikipedia.
[PHP language, Server-side languages report]
LGPL
The key difference between the GPL and LGPL is that the LGPL allows a library to be linked to, or used by, a program that is not licensed under the (L)GPL. This means the program can be either free or proprietary software. If the program is not a derivative work of the library, it can be distributed under any license or terms chosen by its creator.
Project History
- PHP 7/8 at GitHub.com 2020-present.
- PHP 5 at SourceForge.net 2008-2016.
- PHP 4 at PHPClasses.org 2006-2008.
Alshamaa, Khaled (2008). PHP واللغة العربية. Dar Shoaa. Retrieved from https://darshoaa.com/pHP-and-Arabic-language/.
Adoption
Ar-PHP has been successfully integrated into several projects, including:
- Bagisto: A Laravel-based e-commerce package.
- Akeneo: An open-source SaaS PIM platform for organizing product catalogs.
- LimeSurvey: A powerful open-source survey software.
- UnoPim: An open-source PIM system built on the Laravel framework.
- GPDF: An open-source HTML-to-PDF converter for PHP & Laravel applications.
- ArabKey: A tool for switching between Arabic and English keyboards.
Installation
Installation with Composer
To install this package using Composer, run the following command in your terminal:
composer require khaled.alshamaa/ar-php
Ensure that the Composer autoloader is included in your project. If your project already uses Composer's autoloading mechanism -like frameworks such as Laravel- you can skip this step. Otherwise, add the following line early in your project's initialization code:
require 'vendor/autoload.php';
Manual Download and Installation
Download the latest Ar-PHP release, extract it into your project directory, and include the library by adding:
require_once 'ar-php/src/Arabic.php';
Ensure the path matches the location of the Arabic.php file relative to your script.
Features
- Arabic Sentiment Analysis (live demo 1, live demo 2)
- English-Arabic Transliteration (live demo 1, live demo 2)
- Spell Numbers in the Arabic Idiom (live demo)
- Arabic Glyphs to Render Arabic Text (live demo)
- Arabic Keyboard Swapping Language (live demo)
- Arabic Soundex (live demo)
- Arabic Gender Guesser (live demo)
- Arabic SQL Query (live demo)
- Muslim Prayer Times & Qibla Determination (live demo)
- Arabic/Hijri Date (live demo)
- Arabic/Hijri Maketime (live demo)
- Arabic StrToTime (live demo)
- Arabic Text Standardize (live demo)
- Arabic Auto Summarize (live demo)
- Arabic Segments Identifier (live demo)
Contributing
We welcome contributions from the community! Whether it is reporting bugs, suggesting new features, or submitting pull requests, your help is valuable. Before contributing, please review our project logistics and TODO list for current tasks and priorities. If you are migrating from an older version, check out our UPGRADE guide to ensure a smooth transition. No matter what your skills and interests are, there is a place where you can participate in improving the Ar-PHP project:
- Programming: Here are some ideas for contribution: Review the To-Dos, add a feature, contribute to a core module, create an extension, and fix a bug.
- Quality Assurance: Quality Assurance (QA) is one of the most important but understated elements of any software community project. It is also something most people can do. If you want to help fix Ar-PHP bugs, and you are not a programmer, you can still help by joining the QA team.
- Writing: One of the best ways to contribute to Ar-PHP is to write tutorials, guides, HOWTOs, and FAQs. Here are some ideas for contribution: User FAQs, HOW-Tos and Tutorials, a User Guide, a Development Primer, Blog Posts, and an Article for a Magazine.
- Marketing: You can always help promote the use of Ar-PHP. Here are two ways you can help: Join the marketing events and distribute Ar-PHP and its brochures.
- Graphics and Art: Have any art skills? Then you can help us create icons, logos, banners, labels, wallpapers, screen savers, and more! These will be seen every day and used throughout the project and its products.
- Helping Users: There are two ways you can help other users: Users mailing list, and forums.
- Celebrate with us! Your task is to take a picture of yourself supporting the PHP and Arabic language project. You can go to a famous landmark, your favorite place nearby, or anywhere you think will make for a great photo. We've created some posters for you to use in your pictures. Print out one of these designs or design your own. We want to see you and your location prominently displayed in the picture, so don't let one of them dominate the photo. And we should clearly see your Ar-PHP poster too. Once you have your photos ready to submit, email them to us. Please send your photos in .jpg or .png formats and at least 1200 x 800 pixels in size.
Professional Support
As the developers of the Ar-PHP project, we can help your company leverage the maximum power of Ar-PHP to achieve your business goals. We offer professional services that span the full life cycle of Ar-PHP implementation.
- Ar-PHP Library Integration: Having trouble getting started with Ar-PHP? We can help.
- Ar-PHP Upgrades: For a smooth upgrade to a newer version of Ar-PHP, let us assist you.
- Customization and Configuration: If your business requires functionality beyond or different from that of the feature set of Ar-PHP, our team of PHP and Arabic language experts can fully tailor Ar-PHP to meet your specific business needs.
- Integration Analysis and Implementation: Arabic localization may be just a component of your entire online business operation. We have the knowledge and experience to integrate Ar-PHP with all the arms of your operation.
- Troubleshooting, Optimization, and Performance Tuning: For increased performance and bottleneck resolution let an Ar-PHP expert look under the hood of your Ar-PHP implementation and server environment.
- Consulting: At any point in the implementation of Ar-PHP you can call upon an Ar-PHP expert to verify that your implementation follows industry best practices.
- Training: Get comprehensive training for Ar-PHP.
Citation
If you would cite it in academic work, you can use this citation
K. Al-Shamaa, Ar-PHP, PHP library for website developers to process Arabic content,
https://github.com/khaled-alshamaa/ar-php, 2024
or in bibtex format
@misc{ar-php, title={Ar-PHP, PHP library for website developers to process Arabic content}, author={Al-Shamaa, Khaled}, url={https://github.com/khaled-alshamaa/ar-php}, version = {6.3.4}, year={2024} }