arabic_name_transliterator 0.0.2
arabic_name_transliterator: ^0.0.2 copied to clipboard
A comprehensive Flutter package to transliterate Arabic names (Saudi, Egyptian) to English with a large database of common names and automatic transliteration for unknown names.
Arabic Name Transliterator #
حزمة Flutter شاملة لترجمة الأسماء العربية (سعودية ومصرية) إلى الإنجليزية بدقة عالية.
المميزات #
- ✅ قاعدة بيانات شاملة: تحتوي على آلاف الأسماء الشائعة في السعودية ومصر مع ترجمتها الصحيحة
- ✅ ترجمة تلقائية: إذا لم يكن الاسم موجوداً في القاعدة، يتم ترجمته تلقائياً باستخدام خوارزمية ذكية
- ✅ سهولة الاستخدام: واجهة برمجية بسيطة وواضحة
- ✅ دعم الأسماء المركبة: يدعم الأسماء المكونة من عدة كلمات
- ✅ دقة عالية: ترجمة صحيحة للأسماء الشائعة بناءً على الاستخدام الفعلي
التثبيت #
أضف الحزمة إلى ملف pubspec.yaml:
dependencies:
arabic_name_transliterator: ^0.0.1
ثم قم بتشغيل:
flutter pub get
الاستخدام #
مثال أساسي - ترجمة اسم واحد #
import 'package:arabic_name_transliterator/arabic_name_transliterator.dart';
void main() {
// ترجمة اسم موجود في القاعدة
String result1 = ArabicNameTransliterator.transliterate('محمد');
print(result1); // Output: Mohammed
// ترجمة اسم موجود في القاعدة
String result2 = ArabicNameTransliterator.transliterate('فاطمة');
print(result2); // Output: Fatima
// ترجمة اسم غير موجود (يتم ترجمته تلقائياً)
String result3 = ArabicNameTransliterator.transliterate('أحمد علي');
print(result3); // Output: Ahmed Ali
}
مثال - ترجمة أسماء متعددة #
List<String> names = ['محمد', 'أحمد', 'علي', 'فاطمة', 'مريم'];
List<String> translated = names.map((name) =>
ArabicNameTransliterator.transliterate(name)
).toList();
print(translated);
// Output: [Mohammed, Ahmed, Ali, Fatima, Maryam]
مثال - التحقق من وجود الاسم #
// التحقق من وجود الاسم في القاعدة
bool exists = ArabicNameTransliterator.hasCommonName('محمد');
print(exists); // Output: true
bool notExists = ArabicNameTransliterator.hasCommonName('اسمغيرموجود');
print(notExists); // Output: false
مثال - الحصول على الترجمة مباشرة #
// الحصول على الترجمة مباشرة (يرجع null إذا لم يكن موجوداً)
String? translation = ArabicNameTransliterator.getCommonName('فاطمة');
print(translation); // Output: Fatima
String? translation2 = ArabicNameTransliterator.getCommonName('غيرموجود');
print(translation2); // Output: null
مثال - استخدام في Flutter Widget #
import 'package:flutter/material.dart';
import 'package:arabic_name_transliterator/arabic_name_transliterator.dart';
class NameCard extends StatelessWidget {
final String arabicName;
const NameCard({Key? key, required this.arabicName}) : super(key: key);
@override
Widget build(BuildContext context) {
final englishName = ArabicNameTransliterator.transliterate(arabicName);
return Card(
child: ListTile(
title: Text(arabicName),
subtitle: Text(englishName),
),
);
}
}
// الاستخدام:
// NameCard(arabicName: 'محمد')
مثال - ترجمة أسماء مركبة #
// أسماء مركبة (مكونة من عدة كلمات)
print(ArabicNameTransliterator.transliterate('عبدالله'));
// Output: Abdullah
print(ArabicNameTransliterator.transliterate('عبدالرحمن'));
// Output: Abdulrahman
print(ArabicNameTransliterator.transliterate('محمد علي أحمد'));
// Output: Mohammed Ali Ahmed
الأسماء المدعومة #
الحزمة تحتوي على قاعدة بيانات شاملة تضم:
- أسماء رجالية سعودية ومصرية: محمد، أحمد، علي، خالد، عبدالله، وغيرها الكثير
- أسماء نسائية سعودية ومصرية: فاطمة، عائشة، مريم، سارة، نورا، وغيرها الكثير
- أسماء مركبة: عبدالرحمن، عبدالعزيز، عبدالملك، وغيرها
إذا لم يكن الاسم موجوداً في القاعدة، يتم ترجمته تلقائياً باستخدام خوارزمية ذكية تضمن دقة الترجمة.
المساهمة #
نرحب بمساهماتكم! إذا كان لديكم أسماء إضافية أو تحسينات، يرجى فتح Issue أو Pull Request.
الترخيص #
هذه الحزمة متاحة تحت رخصة MIT. راجع ملف LICENSE للتفاصيل.
الدعم #
إذا واجهت أي مشاكل أو لديك اقتراحات، يرجى فتح Issue على GitHub.
ملاحظة: هذه الحزمة مصممة خصيصاً للأسماء السعودية والمصرية الشائعة. للأسماء من دول عربية أخرى، قد تحتاج إلى التحقق من الترجمة يدوياً.