Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Fcmam5/oktob.js

مكتبة جافاسكريبت تقوم باستبدال الأحرف اللاتنية عند الكتابة بأحرف عربية (والعكس) مع واجهة برمجة مرنة
https://github.com/Fcmam5/oktob.js

Last synced: 3 months ago
JSON representation

مكتبة جافاسكريبت تقوم باستبدال الأحرف اللاتنية عند الكتابة بأحرف عربية (والعكس) مع واجهة برمجة مرنة

Awesome Lists containing this project

README

        

# oktob.js


**أُكْتُبْ** مكتبة جافاسكربت مستوحاة من مشروع DidYouMeanJS ومن موقع التسجيل للحج التابع لوزارة الداخلية الجزائرية.

مهمّة المكتبة الأساسية هي استبدال الأحرف اللاتنية بما يقابلها من الأحرف العربية حسب تخطيط لوحة المفاتيح (والعكس، أي التحويل من الأحرف العربية إلى الإنجليزية). مثلا عند كتابة الحرف `a` وحسب تخطيط `AZERTY` يتم استبداله بـ `ض` .

المكتبة تحتوي على API يجعلها مرنة وذات تخصيص واستعمال واسع، إن كنت ترى أنها تحتاج إلى مزيد من التحسين أو إلى دعم تخطيطات للوحات مفاتيح أخرى، ﻻ تتردد في المساهمة أو فتح Issue.

## المميزات

* تحويل مدخلات لوحة المفاتيح من اللاتنية (إنجليزية، فرنسية..) إلى العربية حسب خيار تخطيط لوحة المفاتيح
* تحويل المدخلات من العربية إلى اللاتنية حسب خيار تخطيط لوحة المفاتيح
* تحويل الأرقام من العربية إلى الهندية (مثلا من ۵ إلى 5)
* التوفّر على API للمرونة ولاستخدام أوسع
* خاصيّة تجاهل أو تمكين التشكيل

### تخطيطات لوحات المفاتيح المدعومة

* AZERTY
* QWERTY

إن كنت ترى أن هناك تخطيطا يجب أن يُدعم، ﻻ تتردد بالمساهمة أو بفتح Issue حتى يتم دعمه في أقصر الآجال.

## التثبيت

### npm

`npm i -S oktob.js`

### عبر وسم script

```html

```

## مهام يجب معالجتها

- في حالة استعمال جهاز أندرويد أو أيفون، هل يبقى نفس التخطيط؟ أم علينا معالجته بصفته حالة خاصة (إضافة `azerty-mobile` بصفته خيارا منفصلا).
- كتابة دالّة للتحقق الآلي من نوع تخطيط لوحة المفاتيح، أو استعمال مكتبات جاهزة.
- كتابة Unit test.

## الواجهة البرمجية (API)

* QWERTY
* `replaceEnCharsQWERTY(text)` تحويل النص من الإنجليزية إلى العربية حسب تخطيط QWERTY
* `replaceArCharsQWERTY(text)` تحويل النص من العربية إلى الإنجليزية حسب تخطيط QWERTY
* AZERTY
* `replaceEnCharsAZERTY(text)` تحويل النص من الإنجليزية إلى العربية حسب تخطيط AZERTY
* `replaceArCharsAZERTY(text)` تحويل النص من العربية إلى الإنجليزية حسب تخطيط AZERTY

* API
* `getKbLayout()` تُرتجع اسم تخطيط لوحة المفاتيح حسب الإعدادات الحالية
* `setKbLayout(kbLayoutName)` تعديل الإعدادات بتمرير تخطيط لوحة مفاتيح جديد (من بين التخطيطات التي تدعمها المكتبة)

## License


هذا المشروع تحت رخصة رخصة جنو العمومية (الإصدار الثالث).

This project is licensed under the GNU GPL v3.0 License - see the [LICENSE](./LICENSE) file for details