arabic_name_transliterator 0.2.0
arabic_name_transliterator: ^0.2.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: استخدام في تطبيق Flutter ==========
print('7. مثال على الاستخدام في 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);
return Text(arabicName + ' = ' + englishName);
}
}
''');
}