arabic_name_transliterator 0.3.0 copy "arabic_name_transliterator: ^0.3.0" to clipboard
arabic_name_transliterator: ^0.3.0 copied to clipboard

A comprehensive Flutter package for bidirectional transliteration of Arabic names (Saudi, Egyptian) ↔ English with a large database of common names and automatic transliteration for unknown names.

example/example.dart

import 'package:arabic_name_transliterator/arabic_name_transliterator.dart';

void main() {
  print('=== أمثلة على استخدام حزمة Arabic Name Transliterator ===\n');

  // ========== مثال 1: ترجمة أسماء موجودة في القاعدة ==========
  print('1. ترجمة أسماء موجودة في القاعدة:');
  print('   محمد → ${ArabicNameTransliterator.transliterate('محمد')}');
  print('   فاطمة → ${ArabicNameTransliterator.transliterate('فاطمة')}');
  print('   أحمد → ${ArabicNameTransliterator.transliterate('أحمد')}');
  print('   عائشة → ${ArabicNameTransliterator.transliterate('عائشة')}');
  print('   خالد → ${ArabicNameTransliterator.transliterate('خالد')}');
  print('   مريم → ${ArabicNameTransliterator.transliterate('مريم')}\n');

  // ========== مثال 2: ترجمة أسماء غير موجودة (ترجمة تلقائية) ==========
  print('2. ترجمة أسماء غير موجودة (ترجمة تلقائية):');
  print('   إذا كان الاسم غير موجود في القاعدة، يتم ترجمته تلقائياً حرف بحرف:');
  print('   غيرموجود → ${ArabicNameTransliterator.transliterate('غيرموجود')}');
  print('   اسم جديد → ${ArabicNameTransliterator.transliterate('اسم جديد')}');
  print(
      '   ملاحظة: الناتج قد لا يكون دقيقاً مثل الأسماء الموجودة في القاعدة\n');

  // ========== مثال 3: ترجمة أسماء مركبة ==========
  print('3. ترجمة أسماء مركبة:');
  print('   عبدالله → ${ArabicNameTransliterator.transliterate('عبدالله')}');
  print(
      '   عبدالرحمن → ${ArabicNameTransliterator.transliterate('عبدالرحمن')}');
  print(
      '   محمد علي → ${ArabicNameTransliterator.transliterate('محمد علي')}\n');

  // ========== مثال 3.5: ترجمة أسماء رباعية وطويلة ==========
  print('3.5. ترجمة أسماء رباعية وطويلة:');
  print(
      '   محمد علي أحمد خالد → ${ArabicNameTransliterator.transliterate('محمد علي أحمد خالد')}');
  print(
      '   فاطمة أحمد محمد علي → ${ArabicNameTransliterator.transliterate('فاطمة أحمد محمد علي')}');
  print(
      '   عبدالله محمد علي أحمد → ${ArabicNameTransliterator.transliterate('عبدالله محمد علي أحمد')}\n');

  // ========== مثال 4: التحقق من وجود الاسم ==========
  print('4. التحقق من وجود الاسم في القاعدة:');
  print(
      '   هل "محمد" موجود؟ ${ArabicNameTransliterator.hasCommonName('محمد')}');
  print(
      '   هل "اسمغيرموجود" موجود؟ ${ArabicNameTransliterator.hasCommonName('اسمغيرموجود')}\n');

  // ========== مثال 5: الحصول على الترجمة مباشرة ==========
  print('5. الحصول على الترجمة مباشرة:');
  final translation = ArabicNameTransliterator.getCommonName('فاطمة');
  print('   ترجمة "فاطمة": $translation');
  final translation2 = ArabicNameTransliterator.getCommonName('غيرموجود');
  print('   ترجمة "غيرموجود": $translation2');
  print('   ملاحظة: إذا كان الاسم غير موجود، يرجع null\n');

  // ========== مثال 8: الفرق بين transliterate و getCommonName ==========
  print('8. الفرق بين transliterate() و getCommonName():');
  print(
      '   transliterate() - يعمل دائماً (يرجع ترجمة تلقائية إذا لم يكن موجوداً):');
  print(
      '     "غيرموجود" → ${ArabicNameTransliterator.transliterate('غيرموجود')}');
  print('   getCommonName() - يرجع null إذا لم يكن موجوداً:');
  print(
      '     "غيرموجود" → ${ArabicNameTransliterator.getCommonName('غيرموجود')}');
  print('   نصيحة: استخدم transliterate() إذا أردت ترجمة دائماً،');
  print(
      '          استخدم getCommonName() إذا أردت التحقق من وجود الاسم أولاً\n');

  // ========== مثال 6: ترجمة قائمة من الأسماء ==========
  print('6. ترجمة قائمة من الأسماء:');
  final names = ['محمد', 'أحمد', 'علي', 'فاطمة', 'مريم', 'خالد'];
  final translated = names
      .map(
          (name) => '${name} → ${ArabicNameTransliterator.transliterate(name)}')
      .toList();
  translated.forEach((item) => print('   $item'));
  print('');

  // ========== مثال 7: الترجمة العكسية (من الإنجليزية إلى العربية) ==========
  print('7. الترجمة العكسية (من الإنجليزية إلى العربية):');
  print(
      '   Mohammed → ${ArabicNameTransliterator.reverseTransliterate('Mohammed')}');
  print(
      '   Fatima → ${ArabicNameTransliterator.reverseTransliterate('Fatima')}');
  print('   Ahmed → ${ArabicNameTransliterator.reverseTransliterate('Ahmed')}');
  print('   Ali → ${ArabicNameTransliterator.reverseTransliterate('Ali')}');
  print(
      '   Khalid → ${ArabicNameTransliterator.reverseTransliterate('Khalid')}');
  print(
      '   Ahmed Ali → ${ArabicNameTransliterator.reverseTransliterate('Ahmed Ali')}');
  print(
      '   Mohammed Ali Ahmed → ${ArabicNameTransliterator.reverseTransliterate('Mohammed Ali Ahmed')}\n');

  // ========== مثال 8: التحقق من وجود الاسم الإنجليزي ==========
  print('8. التحقق من وجود الاسم الإنجليزي في القاعدة:');
  print(
      '   هل "Mohammed" موجود؟ ${ArabicNameTransliterator.hasEnglishName('Mohammed')}');
  print(
      '   هل "UnknownName" موجود؟ ${ArabicNameTransliterator.hasEnglishName('UnknownName')}\n');

  // ========== مثال 9: الحصول على الترجمة العربية مباشرة ==========
  print('9. الحصول على الترجمة العربية مباشرة:');
  final arabicName = ArabicNameTransliterator.getArabicName('Fatima');
  print('   ترجمة "Fatima": $arabicName');
  final arabicName2 = ArabicNameTransliterator.getArabicName('UnknownName');
  print('   ترجمة "UnknownName": $arabicName2');
  print('   ملاحظة: إذا كان الاسم غير موجود، يرجع null\n');

  // ========== مثال 10: استخدام في تطبيق Flutter ==========
  print('10. مثال على الاستخدام في Flutter:');
  print('''
   import 'package:flutter/material.dart';
   import 'package:arabic_name_transliterator/arabic_name_transliterator.dart';
   
   class NameTranslator extends StatelessWidget {
     @override
     Widget build(BuildContext context) {
       // الترجمة من العربية إلى الإنجليزية
       final arabicName = 'محمد';
       final englishName = ArabicNameTransliterator.transliterate(arabicName);
       
       // الترجمة العكسية من الإنجليزية إلى العربية
       final englishInput = 'Mohammed';
       final arabicOutput = ArabicNameTransliterator.reverseTransliterate(englishInput);
       
       return Column(
         children: [
           Text('$arabicName = $englishName'),
           Text('$englishInput = $arabicOutput'),
         ],
       );
     }
   }
  ''');
}
3
likes
0
points
206
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter package for bidirectional transliteration of Arabic names (Saudi, Egyptian) ↔ English with a large database of common names and automatic transliteration for unknown names.

License

unknown (license)

Dependencies

flutter

More

Packages that depend on arabic_name_transliterator