Skip to content

Latest commit

 

History

161 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laren

Arabizi-to-Arabic transliteration engine and Fcitx5 input method for Linux. A replacement for Microsoft Maren.

Type in Latin characters (Arabizi) and get Arabic script suggestions system-wide — in any application.

ezayak  →  إزيك
7abibi  →  حبيبي
3ala    →  على
salam   →  سلام

Try the interactive demo · Wiki

Quick install

git clone https://github.com/mmaher88/laren.git && cd laren
./scripts/install.sh

This installs dependencies, builds, installs, configures Fcitx5, and enables Laren automatically. After install, switch to Laren with Ctrl+Space.

Package manager install

Arch Linux (AUR)

yay -S fcitx5-laren

Fedora

sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/mmaher88:/laren/Fedora_$(rpm -E %fedora)/home:mmaher88:laren.repo
sudo dnf install fcitx5-laren

Ubuntu

DISTRO="xUbuntu_$(lsb_release -rs)" && \
  sudo mkdir -p /etc/apt/keyrings && \
  curl -fsSL "https://download.opensuse.org/repositories/home:/mmaher88:/laren/${DISTRO}/Release.key" \
    | sudo gpg --dearmor --yes -o /etc/apt/keyrings/laren.gpg && \
  echo "deb [signed-by=/etc/apt/keyrings/laren.gpg] https://download.opensuse.org/repositories/home:/mmaher88:/laren/${DISTRO}/ /" \
    | sudo tee /etc/apt/sources.list.d/laren.list && \
  sudo apt update && sudo apt install -y fcitx5-laren

Linux Mint

Mint 22.x is based on Ubuntu 24.04. Use xUbuntu_24.04 directly:

DISTRO="xUbuntu_24.04" && \
  sudo mkdir -p /etc/apt/keyrings && \
  curl -fsSL "https://download.opensuse.org/repositories/home:/mmaher88:/laren/${DISTRO}/Release.key" \
    | sudo gpg --dearmor --yes -o /etc/apt/keyrings/laren.gpg && \
  echo "deb [signed-by=/etc/apt/keyrings/laren.gpg] https://download.opensuse.org/repositories/home:/mmaher88:/laren/${DISTRO}/ /" \
    | sudo tee /etc/apt/sources.list.d/laren.list && \
  sudo apt update && sudo apt install -y fcitx5-laren

Debian 12

DISTRO="Debian_12" && \
  sudo mkdir -p /etc/apt/keyrings && \
  curl -fsSL "https://download.opensuse.org/repositories/home:/mmaher88:/laren/${DISTRO}/Release.key" \
    | sudo gpg --dearmor --yes -o /etc/apt/keyrings/laren.gpg && \
  echo "deb [signed-by=/etc/apt/keyrings/laren.gpg] https://download.opensuse.org/repositories/home:/mmaher88:/laren/${DISTRO}/ /" \
    | sudo tee /etc/apt/sources.list.d/laren.list && \
  sudo apt update && sudo apt install -y fcitx5-laren

openSUSE Tumbleweed

sudo zypper ar https://download.opensuse.org/repositories/home:/mmaher88:/laren/openSUSE_Tumbleweed/home:mmaher88:laren.repo
sudo zypper refresh && sudo zypper install fcitx5-laren

Usage

After installing, switch input method with Ctrl+Space and start typing in Arabizi. Press Space or Enter to commit the top candidate, or a number key to pick one.

Arabic punctuation: ? automatically outputs ؟.

Emoji shortcodes: Type : to enter emoji mode, then a shortcode (e.g., :smile: → 😊, :heart: → ❤️). 2300+ GitHub/Discord-style shortcodes supported.

To configure: run fcitx5-configtool.

Arabizi mappings

Input Arabic Input Arabic
2 ء / ؤ / ئ / ق sh ش
3 ع kh خ
5 خ gh غ
7 ح th ث / ذ
8 ق dh ذ / ض
9 ص ch تش

Short vowels (a, i, u, e, o) are treated as optional to match Arabic's abjad writing system. See the wiki for the full mapping reference.

How it works

Laren uses a rule-based pipeline — no neural models, fully predictable and debuggable:

  1. Normalize — lowercase, collapse repeats, strip whitespace
  2. Expand — apply Arabizi rules to generate candidate Arabic forms
  3. Filter — look up candidates in a 375k-word Arabic dictionary (trie)
  4. Rank — score by word frequency, exact match, and recency
  5. Present — show top candidates for selection

See ARCHITECTURE.md for the full design.

Building and testing

cmake -B build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr
cmake --build build -j$(nproc)
cd build && ctest --output-on-failure

License

GPL-3.0-or-later

About

Arabizi-to-Arabic transliteration engine for Fcitx5 — a Linux replacement for Microsoft Maren

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages