PDA

View Full Version : تبدیل اعداد انگلیسی به فارسی در کل سایت



abdollahpor
شنبه 14 اسفند 1395, 21:07 عصر
درود وقت بخیر دوستان چجوری اعداد اینگلیسی رو به فارسی تغییر بدم در کل سایت تابع persiaNumber هست ولی هرچی زدم کار نکرد ساده تر اینم هست : ولی بازم کار نکرد



persian={0:'۰',1:'۱',2:'۲',3:'۳',4:'۴',5:'۵' ,6:'۶',7:'۷',8:'۸',9:'۹'};
function traverse(el){
if(el.nodeType==3){
var list=el.data.match(/[0-9]/g);
if(list!=null && list.length!=0){
for(var i=0;i<list.length;i++)
el.data=el.data.replace(list[i],persian
[list[i]]);
}
}
for(var i=0;i<el.childNodes.length;i++){
traverse(el.childNodes[i]);
}
}

adameh_bahal
جمعه 20 اسفند 1395, 08:56 صبح
خب چرا از فونت با اعداد فارسی استفاده نمیکنید؟

abdollahpor
جمعه 20 اسفند 1395, 09:35 صبح
از فونت ایران سنس استفاده میکنم نداره خودش

adameh_bahal
جمعه 20 اسفند 1395, 15:46 عصر
میتونید کد زیر رو قبل از بسته شدن تگ body داخل مسترپیج قرار بدید:

<script>


$(document).ready(function () {


ConvertNumberToPersion();
});


function ConvertNumberToPersion() {
persian = { 0: '۰', 1: '۱', 2: '۲', 3: '۳', 4: '۴', 5: '۵', 6: '۶', 7: '۷', 8: '۸', 9: '۹' };
function traverse(el) {
if (el.nodeType == 3) {
var list = el.data.match(/[0-9]/g);
if (list != null && list.length != 0) {
for (var i = 0; i < list.length; i++)
el.data = el.data.replace(list[i], persian
[list[i]]);
}
}
for (var i = 0; i < el.childNodes.length; i++) {
traverse(el.childNodes[i]);
}
}
traverse(document.body);
}


</script>

abdollahpor
جمعه 20 اسفند 1395, 16:39 عصر
درود ممنون درست شد فقط توی input ها هنوز اعداد انگلیسی وارد میشن اونو چیکارش کنم

abdollahpor
جمعه 20 اسفند 1395, 16:44 عصر
و یه مشکل دیگه اینکه بعضی باکس هارو گذاشتم اپدیت بشن یعنی تغییر داده میشن همون دایو فقط اپدیت میشه وقتی اپدیت میشه نامبر های همون دایو اعدادش انگلیسی میشن از فونت هم استفاده کردم ولی فونت ها فارسیشون نمیکنه نمیدونم چرا

adameh_bahal
جمعه 20 اسفند 1395, 17:15 عصر
میتونید توی جایی که اپدیت انجام میدید دوباره فانکشن فوق رو صدا بزنید، البنه کلا بهتر هست فانکشن کد فوق رو توی فایل اسکریپ custom تون قرار بدید و جاهایی که نیاز دارید فقط فانکشن رو صدا بزنید و دیگه کد تعریف فانکش رو دوباره تکرار نکنید.
در کل به نظرم از فونت استفاده کنید بهتر هست، مثلا فونت یکان رو میدونم فونت اعداد فارسیش موجوده...