تبدیل کامنت پینگلیش به فارسی برای وردپرس : خداحافظ پینگلیش !
پنجشنبه, مهر ۱۶, ۱۳۸۸ ۱۸:۵۶مشکل بسیاری از وبلاگنویس های ایرانی، دیدگاه های پینگلیش (فینگلیش : 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 را به روز رسانی کنید و از نویسه گردان وبلاگتان لذت ببرید!
پی نوشت ۱ : من سعی کرده ام در توضیحی مختصر، کار با نویسه گردان را در قسمت نظرات خود تفسیر کنم که قابل استفاده برای بازدیدکنندگان باشد. اگر پیشنهاد و تفسیر بهتری سراغ داشته باشید، حتماً استقبال می کنم :)
پی نوشت ۲ : من این نویسه گردان را با اینترنت اکسپلورر و فایرفاکس امتحان کردم و کار کرد! اگر از مرورگر دیگری استفاده می کنید و نویسه گردان وبلاگ من برای شما کار می کند، لطفاً همین جا اطلاع دهید تا بقیه نیز بدانند.
نوشته های مرتبط :
۱۷ ديدگاه براي “تبدیل کامنت پینگلیش به فارسی برای وردپرس : خداحافظ پینگلیش !”
- نظر شما پس از بررسی، منتشر خواهد شد. در صورتی که تمایل دارید نظرتان به صورت خصوصی باقی مانده و منتشر نشود، لطفاً ذکر کنید.
- لطفاً فارسی بنویسید.
- اگر نمی توانید فارسی تایپ کنید، پینگلیش بنویسید. نوشته ی شما پس از نوشتن هر کلمه به صورت خودکار به فارسی تبدیل می شود. در صورتی که نیاز دارید چیزی را انگلیسی تایپ کنید و تبدیل به فارسی نشود، ctrl+g را زده و سپس انگلیسی تایپ کنید. لازم به ذکر است که با تکرار این عمل، دوباره می توانید مانند قبل پینگلیش بنویسید.
- در صورتی که دیدگاه شما در مورد این نوشته نیست از صفحه ارتباط با من استفاده کنید.











mohand.es گفته است :
مهر ۱۶م, ۱۳۸۸ در ۷:۰۸ ب.ظ
تبدیل کامنت پینگلیش به فارسی برای وردپرس : خداحافظ پینگلیش !…
مشکل بسیاری از وبلاگنویس های ایرانی، دیدگاه های پینگلیش (فینگلیش : mesle in) است که بازدیدکنندگان برای نوشته های آنها ارسال می کنند. این کامنت ها علاوه بر اینکه بر اساس ساختار “راست به چپ” وبلاگ فارسی، بدشکل دیده می شوند، سخت خوانده می شوند و اغلب ظاهر…
کاوشگر گفته است :
مهر ۱۸م, ۱۳۸۸ در ۱۱:۳۰ ق.ظ
سلام.
من از مرورگر Opera 10 استفاده میکنم. متاسفانه کار نمیکنه!
سینا پاسخ در تاريخ مهر ۱۸م, ۱۳۸۸ ۳:۲۰ ب.ظ:
@کاوشگر, سلام. من همین الان با Opera 10 امتحانش کردم و متاسفانه کار نکرد! فکر کنم مشکل تو اینه که اپرا زیاد جاوا اسکریپت دوست نداره!
به هر حال ممنون که اطلاع دادید:)
ظاهراً از این روش برای وبلاگ خودتون هم استفاده کردید. خوشحال میشم اگه به این مطلب لینک بدید تا بقیه ی دوستان وبلاگ نویس هم امتحان کنن و تجربه شون رو بگن :)
کاوشگر پاسخ در تاريخ مهر ۱۹م, ۱۳۸۸ ۱۲:۰۸ ب.ظ:
@سینا, آقا سینا به شما هم لینک دادم! ;)
عباس هوشمند گفته است :
مهر ۲۰م, ۱۳۸۸ در ۱۰:۰۲ ق.ظ
چه کردی سینا. وبلاگت جهانی شده …عالی بود
سینا پاسخ در تاريخ مهر ۲۱م, ۱۳۸۸ ۱۲:۲۹ ق.ظ:
@عباس هوشمند, مرسی عباس :) راستی امتحان کردی ؟
جهانی؟ :D بیشتر توضیح بده ;)
ebrahim گفته است :
مهر ۲۰م, ۱۳۸۸ در ۹:۰۶ ب.ظ
من از chrome استفاده می کنم و جواب نمیده.
ebrahim گفته است :
مهر ۲۰م, ۱۳۸۸ در ۹:۰۹ ب.ظ
ctrl g رو که می زنم فایند می آد و حرف بعدی w رو تو صفحه می گرده. فکر کنم bug خود کروم باشه (chrome 4) . نمی شه بی خیال ctrl g بشید؟
سینا پاسخ در تاريخ مهر ۲۱م, ۱۳۸۸ ۱۲:۳۳ ق.ظ:
@ebrahim, راستش با کروم رو هنوز خودم امتحان نکردم، به زودی تست می کنم :) ولی فکر کنم مشکل ctrl+g رو بشه حل کرد … تو خط ۱۱ از اسکریپت، فکر کنم بتونید یه shortkey دیگه واسش تعریف کنید. مثلاً ctrl+8 ! اگه امتحان کردید، لطفاً نتیجه اش رو به من هم بگید :)
www.baang.ir گفته است :
مهر ۲۲م, ۱۳۸۸ در ۵:۴۹ ب.ظ
تبدیل کامنت پینگلیش به فارسی برای وردپرس…
مشکل بسیاری از وبلاگنویس های ایرانی، دیدگاه های پینگلیش (فینگلیش : mesle in) است که بازدیدکنندگان برای نوشته های آنها ارسال می کنند. این کامنت ها علاوه بر اینکه بر اساس ساختار “راست به چپ” وبلاگ فارسی، بدشکل دیده می شوند، سخت خوانده می شوند و اغلب ظاهر…
SHahab گفته است :
مهر ۲۵م, ۱۳۸۸ در ۹:۴۲ ق.ظ
سلام این کد یک مشگل در نمیشه بهش ۲ تا ID داد
var ids = [ "author", "comment" ]
میشه یک تستش بکنید ؟
من با یکی تونستم درستش کنم ولی وقتی ۲ تا میزارم ارور میده
سینا پاسخ در تاريخ مهر ۲۵م, ۱۳۸۸ ۶:۵۵ ب.ظ:
@SHahab, من الان بهش همین دوتا ID رو دادم و کار میکنه :) قسمت نام و متن کامنت ها برای من فعال شدن.
SHahab پاسخ در تاريخ آبان ۲م, ۱۳۸۸ ۷:۰۵ ب.ظ:
@سینا, بله شما درست میگفتید برای کار کردن باید هر دو فیاد وجود داشته باشد مرسی از این آموزش
مجتبی گفته است :
آبان ۱م, ۱۳۸۸ در ۷:۵۹ ب.ظ
من در اینجا باید از شما بسیار زیاد تشکر کنم که این اسکریپت جالب رو طراحی کردین!!! کلی حال دیدی بابا…… ایول داش سینا!!!
علیرضا الله دادی گفته است :
آبان ۱۵م, ۱۳۸۸ در ۳:۱۰ ب.ظ
واقعا عالیه ! ممنون ! این متنی رو هم که می بینین فینگلیش نوشتم و فارسی شد بدون غلط املایی !
کوروش گفته است :
آذر ۱۲م, ۱۳۸۸ در ۳:۴۷ ق.ظ
سلام دستت درد نکنه
من متاسفانه وقتی با Fierfox3.5.5امتحانش میکنم جواب نمیده ولی با ۷ عالیه
سینا پاسخ در تاريخ آذر ۱۲م, ۱۳۸۸ ۱۰:۱۲ ب.ظ:
@کوروش, اتفاقاً منم با همین ورژن فایرفاکس ازش استفاده می کنم و کار میکنه. احتمالاً کاری کردید که جاوااسکریپت کار نمی کنه تو فایرفاکس تون :)