Arabic Romanization

also known as Transliteration

by brainsengineering

HTML

<textarea id="arText" name="arText" rows="20"  onKeyUp="aralat()" class="cadrarab"></textarea> 
<div id="output">

</div>

JavaScript

const arSequence="شلاؤيثبلاهتنمةىخحضقسفعرصءغئ";
const transliteration="šlāuʾīṯblāhtnmẗiẖḥḍqsfʿrṣʾġʾi";
const latinSequence="abcdefghijklmnopqrstuvwxyz";

const enText="abc123";
const arText="شلاؤ123";

let strLength = enText.length
console.log(enText.length,arText.length,arSequence.length,transliteration.length,latinSequence.length);

for(let i=0; i<strLength;i++)
{
  console.log(enText.charAt(i),arText.charAt(i));
}
console.log(aralat(arText));

function aralat(e){

console.log(e);
car = " " + document.getElementById("arText").value;
// marbouta
car = car.replace(/ة/g, "ẗ"); // ah ou 
car = car.replace(/ا/g, "ā");
car = car.replace(/آ/g, "\u02beā");
car = car.replace(/Ø¡/g, "\u02be");
car = car.replace(/Ø¥/g, "i");
car = car.replace(/Ø£/g, "\u02bea"); // ou u ?
car = car.replace(/ؤ/g, "u\u02be");
car = car.replace(/ئ/g, "ʾi");


car = car.replace(/ب/g, "b");
car = car.replace(/ت/g, "t");
car = car.replace(/ث/g, "ṯ");
car = car.replace(/ج/g, "ǧ");
car = car.replace(/ح/g, "ḥ");
car = car.replace(/خ/g, "ẖ");
car = car.replace(/د/g, "d");
car = car.replace(/ذ/g, "ḏ");
car = car.replace(/ر/g, "r");
car = car.replace(/ز/g, "z");
car = car.replace(/س/g, "s");
car = car.replace(/Ø´/g, "Å¡");
car = car.replace(/ص/g, "ṣ");
car = car.replace(/ض/g, "ḍ");
car = car.replace(/Ø·/g, "á¹­");
car = car.replace(/ظ/g, "ẓ");
car = car.replace(/ع/g, "ʿ");
car = car.replace(/غ/g, "ġ");
car = car.replace(/ف/g, "f");
car = car.replace(/Ù‚/g, "q");
car = car.replace(/Ùƒ/g, "k");
car = car.replace(/Ù„/g, "l");
car = car.replace(/Ù…/g, "m");
car = car.replace(/Ù†/g, "n");
car = car.replace(/Ù‡/g, "h");
car = car.replace(/Ùˆ/g, "Å«");
car = car.replace(/ÙŠ/g, "Ä«");

// cas du a initial
car = car.replace(/ \u02be/g, " ");
// pb car = car.replace(/-\u02be/g, "-");
car = car.replace(/ ā/g, " a");
car = car.replace(/ al/g, " al-");
car = car.replace(/\n\u02be/g, "\n");
car = car.replace(/\nā/g, "\na");
car = car.replace(/\nal/g, "\nal-");

//...