رومن اردو سے تحریری اردو میں تبدیلی کے لیے ایک ٹول

نبیل

تکنیکی معاون
السلام علیکم،
کئی سال قبل میں نے گوگل ٹرانسلٹریشن اے پی آئی کا استعمال کرکے رومن اردو سے یونیکوڈ اردو حاصل کرنے کا ایک طریقہ نکالا تھا۔ گوگل کے ٹرانسلیشن اے پی آئی کو بند کرنے کے باعث اب یہ طریقہ کام نہیں کرتا ہے۔ حال ہی میں اردو سپیچ ریکگنیشن پر تحقیق کے سلسلے میں اردو سے رومن متبادلات کی ایک لغت کی ضرورت پیش آ رہی ہے۔ اس لغت کو حاصل کرنے کا ایک طریقہ پہلے سے موجود رومن اردو الفاظ کو یونیکوڈ اردو میں کنورٹ کرکے ایک الٹی سمت میں استعمال کرنا بھی ہے۔ میرے ذہن میں رومن اردو کو یونیکوڈ اردو میں آسانی سے تبدیل کرنے کا ایک طریقہ آیا تھا جس پر میں نے کچھ تجربات کیے اور اس پوسٹ میں انہی تجربات کے نتائج پیش کر رہا ہوں۔

اصل میں اس طریقے کا خیال مجھے گوگل کے ان پٹ ٹولز کو دیکھ کر آیا۔ میں نے سوچا کہ اگر گوگل کے اردو ٹرانسلٹریشن والے کی بورڈ کو استعمال کرکے کسی ایڈیٹر ونڈو میں رومن الفاظ کی ٹائپنگ کو simulate کیا جائے تو اس سے بھی مطلوبہ نتائج حاصل کیے جا سکتے ہیں۔ اسی آئیڈیا کو ذہن میں رکھتے ہوئے میں نے ایک سادہ سا پروگرام لکھا جس کے استعمال کی تفصیل ذیل میں ہے۔

طریقہ استعمال

Roman2Urdu پروگرام استعمال کرنے سے قبل چیک کر لیں کہ آپ کے ونڈوز سسٹم پر گوگل کا اردو ٹرانسلٹریشن والا کی بورڈ انسٹال ہوا ہوا ہو۔ پروگرام رن کرنے پر آپ کو دو ٹیکسٹ ایڈیٹر نظر آئیں گے۔اوپر والے ٹیکسٹ ایڈیٹر میں رومن اردو ٹیکسٹ کاپی کریں۔ اس کے بعد ذیل کی تصویر کے مطابق اردو کی بورڈ منتخب کریں:

upload_2015-10-9_13-22-50.png

اس کے بعد Convert کو کلک کریں تو نیچے والی ونڈو میں تبدیل شدہ متن ظاہر ہونا شروع ہو جائے گا جیسا کہ ذیل میں دکھایا گیا ہے:

transliteration.gif


پرانی ٹرانسلٹریشن سے تقابل کیا جائے تو قدرے بہتری نظر آتی ہے۔ مثال کے طور پر London تبدیلی کے بعد لندن ہی بنتا ہے لونڈوں نہیں۔ :)

میں یہ پروگرام بمعہ سورس کوڈ یہاں فراہم کر رہا ہوں تاکہ اس میں مزید ڈیویلپمنٹ کے لیے آئیڈیاز اکٹھے کیے جا سکیں۔ سورس میں ویژوئل سٹوڈیو 2013 کا سولیوشن شامل ہے۔ اس وقت اس پروگرام میں رومن اردو سے یونیکوڈ اردو میں تبدیلی مکمل طور پر گوگل کی ٹرانسلٹریشن کے ذریعے کی جاتی ہے اور فی الوقت اس میں الگ سے کوئی ذہانت شامل نہیں ہے۔ میرا ارادہ ہے کہ رومن اردو سے یونیکوڈ اردو میں بہتر تبدیلی کے لیے املا کی پڑتال اور گرامر چیک جیسی فیچرز شامل کی جائیں۔ علاوہ ازیں ٹرانسلٹریشن سے نئے سیکھے گئے الفاظ کو تصحیح کے بعد ایک ڈیٹابیس میں شامل کیا جائے گا اور اس ڈیٹابیس کو اگلی مرتبہ ٹرانسلٹریشن پراسیس میں ترجیح حاصل ہوگی۔ اس طرح یہ ڈیٹابیس بتدریج بڑھتی جائے گی اور ٹرانسلٹریشن میں بتدریج بہتری آتی رہے گی۔آپ سب کی آراء کا انتظار رہے گا۔

والسلام

توجہ برائے:
فاتح
رانا
ابرارحسین
سید ذیشان
ابن سعید
 

Attachments

  • Roman2Urdu.zip
    22.2 KB · مناظر: 88
  • Roman2Urdu_src.zip
    30.4 KB · مناظر: 69
کچھ ایسا ہی طریقہ ہم نے اس رومن سے اردو مبدل میں استعمال کیا تھا جس میں ہم نے ان کے ٹرانسلٹریشن سرور کا استعمال کیا تھا لیکن ٹائپنگ سمولیٹ کرنے کے بجائے ایک ایک لفظ کے متبادلات کے لیے اجاکس ریکوئیسٹ بھیج کر۔ نیز یہ کہ ہر منفرد لفظ کے لیے محض ایک ہی دفعہ متبادلات حاصل کیے جاتے تھے خواہ وہ لفظ متن میں کتنی بار ہی کیوں نہ آیا ہو۔ ارادہ تھا کہ حاصل شدہ مواد کو براؤزر کے لوکل اسٹوریج میں محفوظ کر کے دوبارہ استعمال کے قابل بنا دیا جائے گا یا کسی ریموٹ سرور پر بھیج کر ڈیٹا جمع کرنے کا ذریعہ۔ :) :) :)

متعلقہ جاوا اسکرپٹ درج ذیل ہے:

PHP:
var clock;
var dict = {};

function trans() {
    var prompt = "تبدیلی ہو رہی ہے۔۔۔";
    var rom = $('#roman').val();
    var rw = $.unique(rom.match(/\w+/g));
    $('#urdu').val(prompt + ' ' + rw.length);
    $.each(rw, function(i, w) {
        if (!dict[w]) {
            translitrate(w);
        }
    });
    clock = setInterval(function() {
        var t = eval('"' + rom.replace(/\r\n/g, "\n").replace(/\n/g, "######").replace(/\"/g, "@@@@@@").replace(/\'/g, "&&&&&&").replace(/(\w+)/g, "\"+dict['$1']+\"") + '"').replace(/######/g, "\n").replace(/@@@@@@/g, '"').replace(/&&&&&&/g, "'");
        if (c = t.match(/undefined/g)) {
            $('#urdu').val(prompt + ' ' + c.length);
        } else {
            clearInterval(clock);
            $('#urdu').val(t);
        }
    }, 1000);
}

function translitrate(w) {
    $.ajax({
        url: 'https://www.google.com/inputtools/request',
        dataType: 'jsonp',
        jsonp: 'cb',
        data: {
            text: w,
            ime: "transliteration_en_ur",
            num: 5,
            cp: 0,
            cs: 1,
            ie: "utf-8",
            oe: "utf-8",
            app: "richlab"
        },
        success: function(data) {
            try {
                dict[w] = data[1][0][1][0];
            } catch (err) {
                dict[w] = w;
            }
            if (dict[w] == undefined) {
                dict[w] = w;
            }
        }
    });
}
 
آخری تدوین:

فاتح

لائبریرین
السلام علیکم،
کئی سال قبل میں نے گوگل ٹرانسلٹریشن اے پی آئی کا استعمال کرکے رومن اردو سے یونیکوڈ اردو حاصل کرنے کا ایک طریقہ نکالا تھا۔ گوگل کے ٹرانسلیشن اے پی آئی کو بند کرنے کے باعث اب یہ طریقہ کام نہیں کرتا ہے۔ حال ہی میں اردو سپیچ ریکگنیشن پر تحقیق کے سلسلے میں اردو سے رومن متبادلات کی ایک لغت کی ضرورت پیش آ رہی ہے۔ اس لغت کو حاصل کرنے کا ایک طریقہ پہلے سے موجود رومن اردو الفاظ کو یونیکوڈ اردو میں کنورٹ کرکے ایک الٹی سمت میں استعمال کرنا بھی ہے۔ میرے ذہن میں رومن اردو کو یونیکوڈ اردو میں آسانی سے تبدیل کرنے کا ایک طریقہ آیا تھا جس پر میں نے کچھ تجربات کیے اور اس پوسٹ میں انہی تجربات کے نتائج پیش کر رہا ہوں۔

اصل میں اس طریقے کا خیال مجھے گوگل کے ان پٹ ٹولز کو دیکھ کر آیا۔ میں نے سوچا کہ اگر گوگل کے اردو ٹرانسلٹریشن والے کی بورڈ کو استعمال کرکے کسی ایڈیٹر ونڈو میں رومن الفاظ کی ٹائپنگ کو simulate کیا جائے تو اس سے بھی مطلوبہ نتائج حاصل کیے جا سکتے ہیں۔ اسی آئیڈیا کو ذہن میں رکھتے ہوئے میں نے ایک سادہ سا پروگرام لکھا جس کے استعمال کی تفصیل ذیل میں ہے۔

طریقہ استعمال

Roman2Urdu پروگرام استعمال کرنے سے قبل چیک کر لیں کہ آپ کے ونڈوز سسٹم پر گوگل کا اردو ٹرانسلٹریشن والا کی بورڈ انسٹال ہوا ہوا ہو۔ پروگرام رن کرنے پر آپ کو دو ٹیکسٹ ایڈیٹر نظر آئیں گے۔اوپر والے ٹیکسٹ ایڈیٹر میں رومن اردو ٹیکسٹ کاپی کریں۔ اس کے بعد ذیل کی تصویر کے مطابق اردو کی بورڈ منتخب کریں:

View attachment 1300

اس کے بعد Convert کو کلک کریں تو نیچے والی ونڈو میں تبدیل شدہ متن ظاہر ہونا شروع ہو جائے گا جیسا کہ ذیل میں دکھایا گیا ہے:

transliteration.gif


پرانی ٹرانسلٹریشن سے تقابل کیا جائے تو قدرے بہتری نظر آتی ہے۔ مثال کے طور پر London تبدیلی کے بعد لندن ہی بنتا ہے لونڈوں نہیں۔ :)

میں یہ پروگرام بمعہ سورس کوڈ یہاں فراہم کر رہا ہوں تاکہ اس میں مزید ڈیویلپمنٹ کے لیے آئیڈیاز اکٹھے کیے جا سکیں۔ سورس میں ویژوئل سٹوڈیو 2013 کا سولیوشن شامل ہے۔ اس وقت اس پروگرام میں رومن اردو سے یونیکوڈ اردو میں تبدیلی مکمل طور پر گوگل کی ٹرانسلٹریشن کے ذریعے کی جاتی ہے اور فی الوقت اس میں الگ سے کوئی ذہانت شامل نہیں ہے۔ میرا ارادہ ہے کہ رومن اردو سے یونیکوڈ اردو میں بہتر تبدیلی کے لیے املا کی پڑتال اور گرامر چیک جیسی فیچرز شامل کی جائیں۔ علاوہ ازیں ٹرانسلٹریشن سے نئے سیکھے گئے الفاظ کو تصحیح کے بعد ایک ڈیٹابیس میں شامل کیا جائے گا اور اس ڈیٹابیس کو اگلی مرتبہ ٹرانسلٹریشن پراسیس میں ترجیح حاصل ہوگی۔ اس طرح یہ ڈیٹابیس بتدریج بڑھتی جائے گی اور ٹرانسلٹریشن میں بتدریج بہتری آتی رہے گی۔آپ سب کی آراء کا انتظار رہے گا۔

والسلام

توجہ برائے:
فاتح
رانا
ابرارحسین
سید ذیشان
ابن سعید

یہ تو رومن سے رومن میں ہی تبدیل کر رہا ہے
roman-to-roman.png~original
 

فاتح

لائبریرین
کچھ ایسا ہی طریقہ ہم نے اس رومن سے اردو مبدل میں استعمال کیا تھا جس میں ہم نے ان کے ٹرانسلٹریشن سرور کا استعمال کیا تھا لیکن ٹائپنگ سمولیٹ کرنے کے بجائے ایک ایک لفظ کے متبادلات کے لیے اجاکس ریکوئیسٹ بھیج کر۔ نیز یہ کہ ہر منفرد لفظ کے لیے محض ایک ہی دفعہ متبادلات حاصل کیے جاتے تھے خواہ وہ لفظ متن میں کتنی بار ہی کیوں نہ آیا ہو۔ ارادہ تھا کہ حاصل شدہ مواد کو براؤزر کے لوکل اسٹوریج میں محفوظ کر کے دوبارہ استعمال کے قابل بنا دیا جائے گا یا کسی ریموٹ سرور پر بھیج کر ڈیٹا جمع کرنے کا ذریعہ۔ :) :) :)

متعلقہ جاوا اسکرپٹ درج ذیل ہے:

PHP:
var clock;
var dict = {};

function trans() {
    var prompt = "تبدیلی ہو رہی ہے۔۔۔";
    var rom = $('#roman').val();
    var rw = $.unique(rom.match(/\w+/g));
    $('#urdu').val(prompt + ' ' + rw.length);
    $.each(rw, function(i, w) {
        if (!dict[w]) {
            translitrate(w);
        }
    });
    clock = setInterval(function() {
        var t = eval('"' + rom.replace(/\r\n/g, "\n").replace(/\n/g, "######").replace(/\"/g, "@@@@@@").replace(/\'/g, "&&&&&&").replace(/(\w+)/g, "\"+dict['$1']+\"") + '"').replace(/######/g, "\n").replace(/@@@@@@/g, '"').replace(/&&&&&&/g, "'");
        if (c = t.match(/undefined/g)) {
            $('#urdu').val(prompt + ' ' + c.length);
        } else {
            clearInterval(clock);
            $('#urdu').val(t);
        }
    }, 1000);
}

function translitrate(w) {
    $.ajax({
        url: 'https://www.google.com/inputtools/request',
        dataType: 'jsonp',
        jsonp: 'cb',
        data: {
            text: w,
            ime: "transliteration_en_ur",
            num: 5,
            cp: 0,
            cs: 1,
            ie: "utf-8",
            oe: "utf-8",
            app: "richlab"
        },
        success: function(data) {
            try {
                dict[w] = data[1][0][1][0];
            } catch (err) {
                dict[w] = w;
            }
            if (dict[w] == undefined) {
                dict[w] = w;
            }
        }
    });
}
ابھی پرسوں ہی ہم اس رات کو یاد کر رہے تھے جو ہم نے آپ سے یہ کام کروانے میں کالی کی تھی۔۔۔
 

فاتح

لائبریرین
معذرت! ہمارے پاس گوگل کا اردو ٹرانسلٹریشن کی بورڈ موجود نہیں تھا اس لیے اس نے رومن کو اردو میں تبدیل نہیں کیا۔
ویسے یہ ڈیپنڈنسی ایک اضافی کام ہے جو ابن سعید والے ٹول میں نہیں کرنا پڑتا۔ :)
 

عبیدتھہیم

محفلین
محض انسٹال ہی نہیں کرنا بلکہ Convert پر کلک کرنے سے پہلے کی بورڈ سلیکٹ بھی کرنا ہے جیسے اس تصویر میں دکھایا گیا ہے:

View attachment 1300

بلک ایسے ہی کیا تھا، مگر کنورٹر کام نہیں کر رہا تھا۔

اس ٹول کے فعال کرنے کے بعد میں جہاں بھی رومن لکھ رہا تھا تو اسپیس بٹن پریس کرنے کے فوراً بعد وہ اسے اردو میں تبدیل کرلیتا۔
میں نے غیر فعال کرلیا ۔۔
 

عبیدتھہیم

محفلین
کیا یہ مُمکن نہیں کہ انپیج ۳ (یونکیوڈ) ٹیکسٹ کو رومن میں کنورٹ کیا جا سکے ؟
میں یہی چاہتا ہوں،
اور گوگل کا کیبورڈ دوبارہ انسٹال نہیں ہو رہا۔ پتہ کونہی کیا چکر ہے میڈی ونڈوز نال۔ :confused1:
 

نبیل

تکنیکی معاون
یہ ٹول رومن سے اردو میں تبدیلی کے لیے ہے نا کہ اردو سے رومن میں تبدیلی کے لیے۔ یہ ٹول اس مقصد کے لیے استعمال نہیں کیا جا سکتا۔
 

شکیب

محفلین
اس کا عکس (اردو سے رومن) بھی ہونا چاہیے۔ اور جہاں جہاں ٹرانسلٹریشن غلط ہو وہاں درست کرنے کے بعد محفوظ کرنے کا آپشن بھی ہونا چاہیے کہ جب بھی اس طرح کی اسپیلنگ آئے، اسے اسی سے بدلا جائے۔
مثلاwo کو "وو" دکھانے پرہم اسے "وہ" کریں۔۔۔اور اگلی مرتبہwo استعمال ہونے پر اسے "وہ" ہی میں کنورٹ کیا جائے۔
 

نبیل

تکنیکی معاون
اس کا عکس (اردو سے رومن) بھی ہونا چاہیے۔ اور جہاں جہاں ٹرانسلٹریشن غلط ہو وہاں درست کرنے کے بعد محفوظ کرنے کا آپشن بھی ہونا چاہیے کہ جب بھی اس طرح کی اسپیلنگ آئے، اسے اسی سے بدلا جائے۔
مثلاwo کو "وو" دکھانے پرہم اسے "وہ" کریں۔۔۔اور اگلی مرتبہwo استعمال ہونے پر اسے "وہ" ہی میں کنورٹ کیا جائے۔

اردو سے رومن کا معاملہ رومن سے اردو کے مقابلے میں کہیں پیچیدہ ہے۔لیکن ہماری کوشش ہے کہ ایک مرتبہ ایک بڑے سائز کی رومن سے اردو ڈکشنری تیار ہو جائے۔ اسی کو پھر دوسری سمت میں، یعنی اردو سے رومن کنورژن میں بھی استعمال کیا جا سکے گا۔
 

نبیل

تکنیکی معاون
اور محفوظ کرنے والا عمل جائز ہے؟ میرا مطلب ہے آسان ہے؟

جی آسان تو نہیں ہے البتہ جائز ضرور ہے۔ آپ کو اس میں غیرجائز کیا محسوس ہوا ہے؟
ہماری کوشش ہے کہ مختلف ذرائع سے رومن اردو مواد اکٹھا کرکے اس کو ٹرانسلٹریٹ کرکے اور تصحیح کے بعد ایک ڈکشنری میں محفوظ کر لیں۔ اور یہ کوئی ایک مرتبہ کا کام نہیں ہوگا بلکہ وقت کے ساتھ اس میں بہتری لائی جاتی رہےگی۔ البتہ ابتدائی نتائج سامنے آنے تک کچھ مہینے کا انتظار کرنا پڑے گا۔
 
Top