Arabizi Transliterator

Made with ❤️ by @issaloubani ヾ(≧▽≦*)o

A Dart/Flutter package for transliterating Arabizi (Arabic chat alphabet) to Arabic script. This library provides functionalities to convert Latin-based Arabizi text into its corresponding Arabic script, handling both multi-character and single-character transliterations, as well as providing dictionary-based suggestions.

Features

  • Full Transliteration: Convert Arabizi words to their full Arabic phonetic equivalent, handling special characters and multi-character combinations.
  • Partial Transliteration: Convert only numbers and specific multi-character combinations, keeping other English letters intact. Useful for mixed-language texts.
  • Dictionary Suggestions: Get Arabic word suggestions based on transliterated input, with options for full, partial, or prefix-stripped matching.

Getting Started

Add the dependency

Add arabizi_transliterator to your pubspec.yaml file:

dependencies:
  arabizi_transliterator: ^1.0.0 # Use the latest version

Then, run flutter pub get in your terminal.

Usage

Import the package in your Dart file:

import 'package:arabizi_transliterator/arabizi_transliterator.dart';

Create an instance of the ArabiziTransliterator:

final transliterator = ArabiziTransliterator();

1. Full Transliteration

This method converts an Arabizi string to its full Arabic phonetic equivalent.

String arabiziText = "mar7aba";
String arabicText = transliterator.transliterateFull(arabiziText);
print(arabicText); // Output: مرحبا

arabiziText = "shukran";
arabicText = transliterator.transliterateFull(arabiziText);
print(arabicText); // Output: شكراً

arabiziText = "kifak";
arabicText = transliterator.transliterateFull(arabiziText);
print(arabicText); // Output: كيفك

2. Partial Transliteration

This method converts only numbers and specific multi-character combinations, keeping other English letters intact.

String arabiziText = "ana b7ebbak";
String arabicText = transliterator.transliteratePartial(arabiziText);
print(arabicText); // Output: انا بحبك

arabiziText = "hi 3am teshuf?";
arabicText = transliterator.transliteratePartial(arabiziText);
print(arabicText); // Output: hi عم تشوف؟

3. Getting Suggestions

This method provides Arabic word suggestions from an internal dictionary based on the transliterated input. You can specify the mode for transliteration.

  • mode: 'full' (full phonetic transliteration)
  • mode: 'partial' (only numbers and special combos replaced)
  • mode: 'strip' (default: full transliteration + prefix stripping)
// Using default 'strip' mode
List<String> suggestions = transliterator.getSuggestions("sba7");
print(suggestions); // Output: [صباح]

// Using 'full' mode
suggestions = transliterator.getSuggestions("kif", mode: 'full');
print(suggestions); // Output: [كيفك]

// Using 'partial' mode
suggestions = transliterator.getSuggestions("ma3", mode: 'partial');
print(suggestions); // Output: [مع]

Examples

For more detailed examples, please refer to the example folder in this repository.

Additional Information

Well you can always collaborate with me on this project. If you have something feel free to create a pull request or open an issue.

Or fix it yourself, I am a README after all ㄟ( ▔, ▔ )ㄏ, blame issa not me ヽ( ̄д ̄;)ノ .

Libraries

arabizi_transliterator
A library for transliterating Arabizi (Arabic chat alphabet) to Arabic script.