arabic_name_transliterator 0.6.0
arabic_name_transliterator: ^0.6.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.
A powerful Flutter package for accurate transliteration of Arabic names (Saudi & Egyptian) into English. Includes a large curated database + an intelligent fallback algorithm for names not in the list.
✨ Features
🔠 Accurate transliteration engine (smart algorithm for unseen names)
📚 Large verified name database (Saudi & Egyptian most common names)
🔄 Bidirectional transliteration (Arabic ↔ English)
🧩 Multi-word name support (e.g., عبدالرحمن، محمد علي أحمد)
⚡ Simple, developer-friendly API
🔍 Check if a name exists in the common names list
💡 High accuracy based on real-world usage
📦 Installation
Add to your pubspec.yaml:
dependencies: arabic_name_transliterator: ^0.6.0
Then run:
flutter pub get
🚀 Usage 🔹 Transliterate a single name import 'package:arabic_name_transliterator/arabic_name_transliterator.dart';
void main() { print(ArabicNameTransliterator.transliterate('محمد')); // Mohammed print(ArabicNameTransliterator.transliterate('فاطمة')); // Fatima print(ArabicNameTransliterator.transliterate('أحمد علي')); // Ahmed Ali }
🔹 Transliterate a list of names List
print(translated); // [Mohammed, Ahmed, Ali, Fatima]
🔹 Check if the name exists in the database bool exists = ArabicNameTransliterator.hasCommonName('محمد'); // true bool notExists = ArabicNameTransliterator.hasCommonName('اسمغيرموجود'); // false
🔹 Get the stored translation (without fallback) String? translation = ArabicNameTransliterator.getCommonName('فاطمة'); // Fatima
String? t2 = ArabicNameTransliterator.getCommonName('غيرموجود'); // null
🔹 Use inside a Flutter Widget class NameCard extends StatelessWidget { final String arabicName;
const NameCard({super.key, required this.arabicName});
@override Widget build(BuildContext context) { final englishName = ArabicNameTransliterator.transliterate(arabicName);
return Card(
child: ListTile(
title: Text(arabicName),
subtitle: Text(englishName),
),
);
} }
🔹 Multi-word / compound names
print(ArabicNameTransliterator.transliterate('عبدالله'));
// Abdullah
print(ArabicNameTransliterator.transliterate('عبدالرحمن'));
// Abdulrahman
print(ArabicNameTransliterator.transliterate('محمد علي أحمد')); // Mohammed Ali Ahmed
🔹 Reverse Transliteration (English to Arabic) print(ArabicNameTransliterator.reverseTransliterate('Mohammed')); // محمد print(ArabicNameTransliterator.reverseTransliterate('Fatima')); // فاطمة print(ArabicNameTransliterator.reverseTransliterate('Ahmed Ali')); // أحمد علي
🔹 Check if English name exists in the database bool exists = ArabicNameTransliterator.hasEnglishName('Mohammed'); // true bool notExists = ArabicNameTransliterator.hasEnglishName('UnknownName'); // false
🔹 Get the Arabic translation (without fallback) String? arabicName = ArabicNameTransliterator.getArabicName('Fatima'); // فاطمة
String? arabicName2 = ArabicNameTransliterator.getArabicName('UnknownName'); // null
📖 دليل شامل للترجمة العكسية
للحصول على دليل كامل عن الترجمة العكسية مع أمثلة عملية، راجع: REVERSE_TRANSLITERATION_GUIDE.md
يتضمن:
- ✅ دعم الأسماء من الهويات السعودية (ABDULMAJEED, ALHARBI)
- ✅ الترجمة الحرفية (ahmad, muhammad, fatimah)
- ✅ أمثلة عملية في Flutter
- ✅ حالات استخدام شائعة
📘 Supported Names
The package includes thousands of verified names:
👨🦱 Male Names (Saudi & Egyptian)
Examples: محمد، أحمد، علي، خالد، عبدالله …etc
👩 Female Names (Saudi & Egyptian)
Examples: فاطمة، عائشة، مريم، سارة، نورا …etc
🧩 Compound Names
عبدالرحمن، عبدالعزيز، عبدالملك …etc
If a name is not found in the database, a smart transliteration algorithm is applied automatically.
🤝 Contributing
Contributions are welcome! If you have more names to add or want to improve the algorithm, feel free to open an Issue or Pull Request.
📄 License
Distributed under the MIT License. See the LICENSE file for more details.
💬 Support
If you encounter any issues or have suggestions, please open an Issue on GitHub.
👨💻 Author & Developer #
Yousef Gamal Romieh #
For questions, suggestions, or collaboration opportunities, feel free to reach out!