PDA

View Full Version : فارسی کردن صفحه کلید در یا نمایش کیبورد فارسی جهت تایپ



hamed_bostan
یک شنبه 28 اسفند 1384, 23:51 عصر
با سلام خدمت دوستان و اساتید محترم .
توی بعضی سایت ها دیدم صایت خود بخود فارسی تایپ می کنه مثل ویندوز اپلیکیشن که keyboardlayout رو عوض می کنیم یا ... و یا مثل سایت سنجش عکس یه کیبورد هست که روش که کلید می کنی باز میشه و هر کاراکتر فارسی رو که با موس روش کلید می منی توی تکست باش نشون میده . کسی میدونه چیکا رباید کرد؟

nazaninam
دوشنبه 29 اسفند 1384, 01:34 صبح
در مرحله اول باید یه فایل جاوا اسکریپت که محتوی کاراکترهای فارسی است رو توی header صفحه load کنید. اسکریپتهای مختلفی شاید واسه این کار وجود داشته باشه ولی من تا بحال از این فایل که ادیتش هم آسونه استفاده میکردم. (farsix.js)
به صورت زیر که بین <header> و <header/> باید استفاده بشه:


Code:
<script type="text/javascript" src="http://www.domain.com/farsix.js"></script>

در مرحله دوم باید بریم سراغ فرم. توی هر کدوم از input و textarea ها که نیاز به فارسی نویسی دارید باید از کد زیر استفاده کنید:

Code:
onkeypress="return convert(name,event)" dir="rtl"
که مثلا به صورت زیر خواهند شد:

Code:
<input type="text" name="inputname" onkeypress="return convert(name,event)" dir="rtl" />
<textarea name="text" rows="10" cols="70" onkeypress="return convert(name,event)" dir="rtl">something</textarea>
در مرحله سوم میریم سراغ نحوه ساخت یه دکمه برای تغییر زبان:
تا اینجای کار چیزی رو لازم نبود تغییر بدین و همش copy/paste بود. ولی از این به بعد باید به اسمها دقت کنید.
اینکه این دکمه رو کجا استفاده کنید دیگه به خودتون مربوطه. میتونه کنار input باشه... بالاش باشه یا هرجا ولی خب ترجیحا داخل فرم باشه.
این یه نمونه دکمه است:

Code:
<input type="button" onclick="change(fieldname)" value=" تغییر زبان " /> باید دقت کنید که fieldname اسم اون فیلدی میشه که قراره با زدن این دکمه زبانش عوض بشه. که میتونه input باشه یا textarea فرقی نداره. به جای اون کلمه تغییر زبان هم هرچی بخواین میتونین استفاده کنید.

مرحله آخر هم که اختیاری است، نحوه ساخت دکمه های برای تغییر جهت textarea می باشد!
شما میتونید با استفاده از این دکمه ها جهت فرم رو عوض کنید. نکات مرحله قبل رو در مورد این مرحله باید رعایت کنید. به صورت زیر:

Code:
<input type="button" onclick="Right(this.form.fieldname)" value=" <-- " />
<input type="button" onclick="Left(this.form.fieldname)" value=" --> " /> به جای اون --> یا <-- هم میتونید از هر عنوان یا علامت دیگه ای استفاده کنید. همچنین لازمه که fieldname رو درست انتخاب کنید. این نام textarea خواهد بود که این دکمه ها بر روی اون اعمال میشن.

این نکته هم برای افراد علاقمند و خوش ذوق اضافه کنم که همین کار رو میتونید روی یه عکس انجام بدین. مثلا یه icon واسه تغییر زبان بسازید و onclick رو روش اضافه کنید مثل حالت input

برای اضافه کردن کیبورد اطلاع دقیقی ندارم دوستان کمک می کنند
این متن هم از سایت پرشن تولز نوشته جناب آقا احسان گل
__________________

hamed_bostan
دوشنبه 29 اسفند 1384, 09:21 صبح
من که دهنم وا موند . دستتون درد نکنه . پیر شی خواهر

sh_mohsen taki
دوشنبه 29 اسفند 1384, 19:00 عصر
با سلام
اولا از کجا معلوم اوون خواهر باشه
دوم اینکه با این کا تنها میشه فقط توی اوون باکس فارسی نوشت و تغییر زبان معنی نداره
مگر اینکه دکمه رو کنترل کنی و پارامتر بفرستی و هر بار flag ست کنی

hamed_bostan
دوشنبه 29 اسفند 1384, 21:56 عصر
با سلام
اولا از کجا معلوم اوون خواهر باشه
دوم اینکه با این کا تنها میشه فقط توی اوون باکس فارسی نوشت و تغییر زبان معنی نداره


اولا خواهر یا برادر دستشون درد نکنه که حداقل به خودشون زحمت دادن اینهمه توضیح دادن . دوما اگر راه حل بهتری سراغ دارین بذارین خوشحال می شیم . شما غیر از این فکر می کنین؟

nazaninam
سه شنبه 01 فروردین 1385, 01:31 صبح
کافیه یک باتن بگذارید و این کار رو براتون انجام بده
در ضمن من که عرض کردم تا جایی که می تونستم کمک کنم بقیش با شما دوستان دانشمند...
اینم ببینید نمونه کاریه که با همین کد انجام شده...tehransell.com/register.aspx

hamed_bostan
سه شنبه 01 فروردین 1385, 12:10 عصر
باز هم از لطفتون ممنون

roya2002_80
سه شنبه 01 فروردین 1385, 16:31 عصر
با سلام
فایل جاوا اسکریپت زیر را به صفحه اضافه کنید:
<SCRIPT type="text/javascript">
function farsi()
{
var pagelanguage='Fa'
if (pagelanguage=='Fa')
{
if (window.event.keyCode>31 && window.event.keyCode<128 && window.event)
window.event.keyCode=' !"#$%،گ)(&#215;+و-./0123456789:ک,=.؟@ِذ}یُیلآ&#247;ـ،/’د&#215;؛َءٍف‘{ًْإ~جژچ^_پشذزیثبلا تنمئدخحضقسفعرصطغظ<|>ّ'.charCodeAt(window.event.keyCode-32);
}
}

</SCRIPT>

بعد توی هر کدوم از input و textarea ها که نیاز به فارسی نویسی دارید باید از کد زیر استفاده کنید:

Code:
onkeypress="farsi()"
که مثلا به صورت زیر خواهند شد:
<INPUT onkeypress="farsi()" id="txtNickname" style="WIDTH: 123px; HEIGHT: 22px" type="text" size="15" name="txtNickname" runat="server">

موفق باشید

nazaninam
سه شنبه 01 فروردین 1385, 23:17 عصر
حامد جان کی بورد فارسی که می خواستی....
لینک دریافت
http://www.barnamenevis.org/forum/attachment.php?attachmentid=2918&d=1142968134

hamed_bostan
چهارشنبه 02 فروردین 1385, 13:06 عصر
[quote=nazaninam]حامد جان کی بورد فارسی که می خواستی....
لینک دریافت
http://www.barnamenevis.org/forum/attachment.php?attachmentid=2918&d=1142968134[/quote
]

با سلام . من نتونستم این لینک رو باز کنم؟ چک کردین ؟ فکر کنم مشکل داره . :گریه:

nazaninam
چهارشنبه 02 فروردین 1385, 18:04 عصر
ببخشید حامد جان دوباره ارسال کردم

elias_sarband
یک شنبه 20 بهمن 1387, 10:18 صبح
دوستان اگه یه کم به خودشون زحمت می دادند راه آسونتری هم هست.
یه اسکریپت به نام FarsiType.js هست اونو از اینترنت بگیرید و اول صفحه اضافه کنید.
حالا هر کنترلی رو که می خواهید در اون فارسی تایپ بشه باید صفت Lang آن را با fa-ir ست کنید مثلا اینطوری


<input type="text" id="txt1" lang="fa-ir">
موفق باشید

assimar42
سه شنبه 23 فروردین 1390, 12:41 عصر
با تشکر من این کارو انجام دادم ولی نشد لطفا من را راهنمایی کنید