مشکل بسیاری از وبلاگنویس های ایرانی، دیدگاه های پینگلیش (فینگلیش : mesle in) است که بازدیدکنندگان برای نوشته های آنها ارسال می کنند. این کامنت ها علاوه بر اینکه بر اساس ساختار “راست به چپ” وبلاگ فارسی، بدشکل دیده می شوند، سخت خوانده می شوند و اغلب ظاهر قسمت نظرات وبلاگ را ناخوشایند می کنند. چند سایت ( + و + ) وجود دارند که عمل نویسه گردانی (Transliteration) – پینگلیش به فارسی – را انجام می دهند. اما آیا می توان بازدیدکننده ی وبلاگ را مجبور به استفاده از آن سایت ها کرد؟! پاسخ این سوال بدون تعلل، منفی است! بازدیدکننده ی ایرانی، سایت شما را هم به سختی باز کرده است. پس هر کمکی هست، باید همین جا صورت گیرد. اما چاره ی این مشکل در وبلاگ های فارسی چیست ؟!
هر دو سایتی که در بالا معرفی شده اند، (API (Application Program Interface مناسبی برای اینکار تهیه کرده اند. با تمام احترامی که برای سایت وطنیِ نخست و کار کم نظیرشان قائلم، با توجه به سادگی کار و اطمینان بیشتر در سرویس رسانی، ترجیح می دهم از نویسه گردانِ سایت دوم ( که دوست عزیزمان گوگل است!) استفاده کنم.
من اسکریپت گوگل را به نحوی ویرایش کردم که قسمت “نام” و “متن” در نظرات را شامل شود. در این صورت پس از انجام مراحلی که توضیح خواهم داد، قابلیت های زیر به قسمت “ارسال نظرات” وبلاگتان اضافه می شود :
– در صورتی که “نام” به صورت پینگلیش نوشته شود، با زدن یک فاصله (Space) بعد از آن، به فارسی تبدیل می شود.
– اگر “متن” دیدگاه به صورت پینگلیش نوشته شود، پس از زدن فاصله بعد از هر کلمه، خود به خود به فارسی تبدیل می شود.
– در صورتی که نیاز باشد یک یا چند کلمه ی انگلیسی داخل متن باشد، کافیست ctrl+g را فشار دهید و انگلیسی تایپ کنید. در این صورت نوشته هایی که پس از این کار تایپ می کند، به فارسی تبدیل نمی شوند. پس از اتمام کلمه های انگلیسی، با فشردن مجدد ctrl+g، نویسه گردانی دوباره فعال می شود و کلمات پینگلیش به فارسی تبدیل می شوند.
– اشتباه های نویسه گردانی را به سادگی اصلاح کنید! مثال : فرض کنید به صورت پینگلش نوشته اید “in name ro bekhun”. این نوشته به این صورت برگردان می شود : “این نام رو بخون”. در صورتی که منظور شما از “name” کلمه ی “نامه” بوده است، کافیست بر روی برگردان آن (یعنی کلمه ی “نام”) کلیک کنید تا حالت های دیگر برگردان را به شما نشان دهد. در این صورت می توانید به راحتی “نام” را به “نامه” اصلاح کنید.
حال نحوه ی انجام این کار برای وبلاگ های وردپرسی (WordPress) را توضیح می دهم :
– وارد قسمت ویرایش پوسته در وبلاگ وردپرس تان شوید.
– فایل comments.php را برای ویرایش انتخاب کنید. ( یا هر فایل دیگری که شامل قسمت “فرم ارسال نظر” در وبلاگتان است)
– این خطوط برنامه را در بالاترین قسمت فایل (یعنی از ابتدای فایل) به آن اضافه کنید :
<script type="text/javascript" src="http://www.google.com/jsapi">
</script>
<script type="text/javascript">
google.load("elements", "1", {
packages: "transliteration"
});
function onLoad() {
var options = {
sourceLanguage: 'en',
destinationLanguage: ['fa'],
shortcutKey: 'ctrl+g',
transliterationEnabled: true
};
var control =
new google.elements.transliteration.TransliterationControl(options);
var ids = [ "author", "comment" ];
control.makeTransliteratable(ids);
}
google.setOnLoadCallback(onLoad);
</script>
– در کد بالا، در این قسمت می توانید فیلد هایی که نویسه گردانی می شوند تغییر دهید :
var ids = [ “author“, “comment” ]
در واقع author مشخصه (id) فیلدی است که “نام” ارسال کننده ی نظر را شامل می شود. این فیلد در اغلب پوسته های وردپرس به همین نام است. در غیر این صورت داخل فایل comments.php کمی جستجو کنید و چیزی مانند این را بیابید :
<input type=”text” name=”author” id=”author” value=”<?php
echo $comment_author; ?>”
واژه ی comment نیز مشخصه (id) فیلدی است که متن دیدگاه را شامل می شود، این فیلد نیز اغلب به همین نام است. در غیر این صورت، چیزی مشابه این را جستجو کنید :
<p><textarea name=”comment” id=”comment” class=”replyarea”></textarea></p>
توجه کنید که تا زمانی که مشخصه های فیلد ها را درست وارد اسکریپت فوق نکنید، این نویسه گردان کار نخواهد کرد. همچنین دقت کنید که فیلد های نویسه گردان را در اسکریپت نویسه گردان اصلاح کنید. نه اینکه id های فایل comments.php را تغییر دهید! (نگویید “تابلوه دیگه” ، انسان گاهی اشتباه می کند)
– کار تمام است! فایل comments.php را به روز رسانی کنید و از نویسه گردان وبلاگتان لذت ببرید!
پی نوشت ۱ : من سعی کرده ام در توضیحی مختصر، کار با نویسه گردان را در قسمت نظرات خود تفسیر کنم که قابل استفاده برای بازدیدکنندگان باشد. اگر پیشنهاد و تفسیر بهتری سراغ داشته باشید، حتماً استقبال می کنم :)
پی نوشت ۲ : من این نویسه گردان را با اینترنت اکسپلورر و فایرفاکس امتحان کردم و کار کرد! اگر از مرورگر دیگری استفاده می کنید و نویسه گردان وبلاگ من برای شما کار می کند، لطفاً همین جا اطلاع دهید تا بقیه نیز بدانند.
سلام.
من از مرورگر Opera 10 استفاده میکنم. متاسفانه کار نمیکنه!
@کاوشگر, سلام. من همین الان با Opera 10 امتحانش کردم و متاسفانه کار نکرد! فکر کنم مشکل تو اینه که اپرا زیاد جاوا اسکریپت دوست نداره!
به هر حال ممنون که اطلاع دادید:)
ظاهراً از این روش برای وبلاگ خودتون هم استفاده کردید. خوشحال میشم اگه به این مطلب لینک بدید تا بقیه ی دوستان وبلاگ نویس هم امتحان کنن و تجربه شون رو بگن :)
@سینا, آقا سینا به شما هم لینک دادم! ;)
چه کردی سینا. وبلاگت جهانی شده …عالی بود
@عباس هوشمند, مرسی عباس :) راستی امتحان کردی ؟
جهانی؟ :D بیشتر توضیح بده ;)
من از chrome استفاده می کنم و جواب نمیده.
ctrl g رو که می زنم فایند می آد و حرف بعدی w رو تو صفحه می گرده. فکر کنم bug خود کروم باشه (chrome 4) . نمی شه بی خیال ctrl g بشید؟
@ebrahim, راستش با کروم رو هنوز خودم امتحان نکردم، به زودی تست می کنم :) ولی فکر کنم مشکل ctrl+g رو بشه حل کرد … تو خط ۱۱ از اسکریپت، فکر کنم بتونید یه shortkey دیگه واسش تعریف کنید. مثلاً ctrl+8 ! اگه امتحان کردید، لطفاً نتیجه اش رو به من هم بگید :)
سلام این کد یک مشگل در نمیشه بهش ۲ تا ID داد
var ids = [ “author”, “comment” ]
میشه یک تستش بکنید ؟
من با یکی تونستم درستش کنم ولی وقتی ۲ تا میزارم ارور میده
@SHahab, من الان بهش همین دوتا ID رو دادم و کار میکنه :) قسمت نام و متن کامنت ها برای من فعال شدن.
@سینا, بله شما درست میگفتید برای کار کردن باید هر دو فیاد وجود داشته باشد مرسی از این آموزش
من در اینجا باید از شما بسیار زیاد تشکر کنم که این اسکریپت جالب رو طراحی کردین!!! کلی حال دیدی بابا…… ایول داش سینا!!!
واقعا عالیه ! ممنون ! این متنی رو هم که می بینین فینگلیش نوشتم و فارسی شد بدون غلط املایی !
سلام دستت درد نکنه
من متاسفانه وقتی با Fierfox3.5.5امتحانش میکنم جواب نمیده ولی با ۷ عالیه
@کوروش, اتفاقاً منم با همین ورژن فایرفاکس ازش استفاده می کنم و کار میکنه. احتمالاً کاری کردید که جاوااسکریپت کار نمی کنه تو فایرفاکس تون :)
سلام آقا سینا
خوبی؟
جدیدا زیاد میام اینجا، نمیدونم چرا خوشم اومده!
همچین چشامو گرفته. چند میفروشی بلاگت رو؟ :دی
خواستم نظر بزارم که نامردی نکرده باشم :)
دستت درد نکنه کار کرد واسه منم
خودتم یه امتحان کن ببین کار می کنه واسه من؟
فقط اینکه:
جدای از اینکه این “نام” و “متن نظر” هر کردم در قالب های مختلف ID های مختلفی واسشون تعریف شده، قالب من واسه “نام” comment-name تعریف کرده بود ولی واسه متن اصلی نظر هیچ ID ای تعریف نکرده بود!!!!
و مجبور شدم خودم واسش تعریف کنم و اون رو به متغیر های کد اضافه کنم
روش اضافه کردن این متغیر رو برای اونایی که تعریف نشده، مثل قالب من هم اضافه کنی برای بقیه ی دوستان هم میتونه مفید باشه :)
البته من آماتور هستم و شاید تعریفش واسم جالب بود، حتما بقیه راحت این کارو با قالبشون کردن ؛)
ضمنا این کد واسه زبان های مختلف هم فک کنم کار کنه. فقط باید قسمت زبان هاش رو تغییر داد
ممنون بابت معرفی این کد
موفق باشی
@mEhdi, خیلی ممنونم… :]
سلام عزیز خیلی جالب هستش دمت گرم خوشم اومد.
منم این متن و انگلیسی نوشتم کاملا درسته.
یا علی
به وب منم سر بزن
سایت ایرانیه بهتره کلماتی که آواهای نزدیک به هم دارند را گوگل قاطی می کنه مثالش قسطنطنیه
salaaaam. man reza hastam va mikham in systemo emtehanesh konam
salam .
رو فایرفاکس من جواب نداد .