نمایش اعداد و تاریخ بصورت فارسی
سلام دوستان و همکاران گرامی، بنده می خواستم اعداد توی سایتم و همینطور تاریخ با اعداد فاسی نوشته بشه (مثل همین سایت) فونتی که تو CSS تعریف کردم Yekan هست. نمیدونم مشکل فونت هست یا چیز دیگه که این اتفاق نمی افته ، ممنون می شم دوستان کمک کنند.
6 پاسخ
ami-nej عزیز پست سوالی که قبلا بهش ارجاعتون دادم دقیقا مربوط به کار شماست و خیلی هم ساده مشکل حل میشه. من خودم php کارم و از همین کد استفاده می کنم:
@font-face { font-family: 'BYekan'; src: url('fonts/BYekan.ttf') format("truetype"), url('fonts/BYekan.eot') format("eot"), url('fonts/BYekan.woff') format("woff"), url('fonts/BYekan.svg') format("svg"); } p{ font-family: BYekan; }
ضمنا بهتره تمامی پسوندهای فونت مورد نظرتون رو داشته باشید و در آدرس دهی url ها دقت کنید.
با سلام.
برای اینکه اعداد فارسی نشون داده بشن ، و نخواید کد خاصی بنویسید ، باید font انتخابیتون از اعداد فارسی پشتیبانی کنه
سلام، برای نمایش اعداد فارسی میتونید از قطعه کد زیر استفاده کنید (این کد در وب سایت ITPRO هم استفاده شده):
$.fn.replaceDigits = function() { var map = [ "&\#1632;", "&\#1633;", "&\#1634;", "&\#1635;", "&\#1636;", "&\#1637;", "&\#1638;", "&\#1639;", "&\#1640;", "&\#1641;" ]; $(this).each(function() { $(this).html($(this).html().replace( /\d(?=[^<>]*(<|$))/g, function($0) { return map[$0] } )); }); }
کد بالا یه پلاگین ساده jQuery تعریف میکنه، حالا قسمت هایی از صفحه که باید اعدادش فارسی نمایش بده بهشون کلاسی مثل replace-digits بدید:
<span class="replace-digits">15200</span>
بعد با کد زیر میتونید تمام قسمت هایی که این کلاس رو دارند به اعداد فارسی تبدیل کنید:
$('.replace-digits').replaceDigits();
Prober عزیز سلام
مهندس بنده دقیقا از چنین فونت فیسی توی css استفاده کردم منتها با فونت iransans. مشکلی از بابت اعمال فونت نیست چراکه مطمئنا فونت سایت تغییر کرده و کاملا مشهوده. مشکل فقط اعداد هست که بصورت انگلیسیه.
البته شما توی این کدی که محبت کرده اید از فونت byekan استفاده نمودید. این فونت تمام تعداد رو فارسی نشون میده. حتی اعدادی که مایلید انگلیسی نشون داده بشه. با این حال اگر براتون مقدوره یه لینک برای دانلود این فونت بزارید تا یه تستی بزنم.
خیلی ممنون و موفق باشید.
مشابه این سوال قبلا در انجمن پرسیده شده(لینک زیر):
ممنون مهندس
-
مشکل اینجاست که من دارم تو یه cms کار می کنم که با php نوشته شده. اگه بخوام دستی تمام خروجی های دیتابیس رو ادیت کنم خیلی سخته. می خواستم ببینم راهکار ساده تری وجود داره یا خیر.
ببینید مثلا فونت byekan برای وب همه اعداد رو فارسی نشون میده چه انگلیسی تایپ بشن چه فارسی چه خروجی بانک اطلاعاتی باشه.
اما من دارم از فونت iransans استفاده می کنم. که ظاهرا این خاصیت رو نداره. البته از تابع زیر برای فارسی کردن چند جا استفاده کردم:
function fa_digits($text){ $persian_digits = array('۰','۱','۲','۳','۴','۵','۶','۷','۸','۹'); $english_digits = array('0','1','2','3','4','5','6','7','8','9'); $text = str_replace($english_digits, $persian_digits, $text); return $text;
}
اما همونطور که گفتم چند صد تا جا نمیتونم برم اعمال تغییرات کنم. دوستان طراح وب راهکاری دارند یا خیر
مهندس الان یعنی شما هر جا که خواستین مطلبی نمایش داده بشه از این کلاس استفاده کردین؟
با تشکر